Performers Toolkit

:placard: Summary Your performers, complete: a tidier header and a Stats tab on every performer page, a picture picker and editor, and a page that finds performers to link to a stash-box, empty fields, poor pictures and duplicates.
:link: Repository https://gitlab.com/allisless0/stash-plugins/-/tree/main/plugins/PerformersToolkit
:information_source: Source URL https://allisless0.gitlab.io/stash-plugins/main/index.yml
:open_book: Install How to install a plugin?

This one started as “how much do I actually watch this performer?” and grew into a clean-up tool for the whole performer list. What’s new in each version is in the replies below.

On a performer’s page

  • Under the name: watch time, their rank among your performers by watch time (“#12 of your performers”) and when you last watched them, from Stash’s own play counts. Then a row of small buttons (Stats, Picture, and Slideshow’s Play pictures) and an at a glance row: top studio, their rating against your average, career, how much is organized, what you have of them

  • Stash’s own fields, tidied into a grid, with hair and eye colour dots. Expanded: a bigger picture, their full-body picture and a short body card. It replaces the Performer Details Extended plugin

  • A Stats tab: four tiles on top, then six sections, each with a one-line takeaway:

    • Viewing: watch time, plays and O’s per month, the days and hours you watch them, what to watch next, their most watched and best rated
    • What works: the tags, co-stars and studios that work for you with them
    • Body: an outline drawn to their measurements, body shape and frame, cup sizes, where they stand in your library, performers built like them
    • Career, Library, Discover: scenes per year with their age, how complete their profile and scenes are, how much of their stash-box catalog you have, performers like them
  • A second, full-body picture per performer, shown when the pointer rests on their card

  • The Catalog tab: what their stash-box lists, as cards, with what you have and what’s missing (and a Copy button to search for the rest elsewhere). With Scenes Toolkit installed it also finds files that may be a listed scene (“Maybe yours”) and links them

  • Each part can be turned off

Pictures

  • A picker with every stash-box you use, picture sites (Babepedia, IAFD, FreeOnes and a gallery site), your scrapers, their best-rated images, the best frames of their top-rated scenes and stills, or a picture you paste or drop. Main picture or full body

  • An editor in your browser: frame the face the same way for everyone, blur, dim, grey, recolour or remove the background (with Best edges for hair), Auto light, tilt and auto-straighten, presets

  • Redo pictures in bulk through one preset, with a before / after grid to look at before anything is saved

The toolkit page: Scan, Review, Done

  • Scan (a Stash task that only reads): performers not linked to a stash-box are searched by name and aliases, on the stash-boxes you pick, in your order; linked ones have their record read for fields yours has empty; every picture is measured (missing, small, landscape)

  • Can be linked: the sure ones (one record with their name, nothing disagreeing) in one list, saved in the background or in the tab, filling empty fields too

  • May be on the stash-box: one at a time, their picture beside each record’s picture, birthdate, country, aliases and scene count

  • Empty fields to fill: one list, a tick per performer and per field

  • Possible duplicates: same stash-box record, or a name that’s the other’s alias. Merge with Stash’s own merge (press twice); the other’s names become aliases

  • Performers with nothing: delete or keep for good

  • History with Undo for links, fields and pictures (bulk runs too). Merges and deletions ask twice and are kept as records; they can’t be undone

Requirements and notes

  • Python 3 on the Stash server (Stash’s Docker image has it)

  • A stash-box endpoint (StashDB, FansDB
) set up in Stash for linking and filling

  • The picture tools are downloaded by your browser on first use (about 10 MB, plus about 44 MB for Best edges) and kept after that. Pictures never leave your browser except to be saved in Stash

  • A replaced picture is kept in Stash’s config folder (plugin-data/PerformersToolkit/originals/), so Undo can put it back, even after updating the plugin

  • With Quick Tools, P over a performer card opens the picker for them (Shift+P for the full-body picture)

  • With Insights, its Actions tab shows the to-do counts and can start the scan or the sure links in the background

  • With Suite Data, History, presets, full-body pictures and the job state are kept there

  • Follows your Stash theme: Flexoki’s colours with the Flexoki theme, your theme’s otherwise

  • It’s still young (0.12). Back up your Stash database before your first merges, deletions or bulk runs

Installation

  1. Settings > Plugins > Add Source: https://allisless0.gitlab.io/stash-plugins/main/index.yml

  2. Install Performers Toolkit, reload.

  3. Open any performer and click Stats or Picture, or click Performers Toolkit on the Performers page (or go to /performerstoolkit).

Screenshots







4 Likes

A very useful plugin; I hope you can add configuration options for the “stash-box,” as that would significantly improve compatibility.

1 Like

How to enter this mode? Oh look like it a Scrape option. I like how you offer “optimized” ratio image.

Would it be possible to extend it to “Images” that we have linked to the performer?

Performers Toolkit 0.12

A lot happened since 0.3, mostly around pictures and the performer page. Update from your plugin source, then Settings > Plugins > Reload plugins (the server part changed too; if the page says the server part is older, reload plugins once more).

@ufousox007 the stash-box choice is in: Sources > Stash-boxes lists every stash-box you have in Stash, each with a switch and up / down. The scan searches them in that order, a performer linked to any of them counts as linked, and every record in a review shows which box it’s from.

@sashi yes: the picture picker now has their own Stash images (best rated first), the best frames of their top-rated scenes, and you can paste, drop or open any picture. One of their own images can also be their full-body picture (below).

The performer page

  • The header, tidied: one quiet line (watch time, rank, last watched), a row of small buttons (Stats, Picture, and Slideshow’s Play pictures), and an at a glance row: top studio, their rating against your average, career, how much is organized, what you have of them. Point at one for its top five. It replaces the Performer Details Extended plugin, so you can uninstall that
  • Stash’s own fields are laid out as a grid with hair and eye colour dots; expanded, the picture is bigger and the empty right side shows their full-body picture and a short body card. Leave Stash’s own performer header as it is turns all of this off
  • The Stats tab, redone: four tiles on top (watch time and rank, O’s per play against your usual, whether your interest is rising, what you haven’t watched), then six sections with a one-line takeaway each: Viewing, What works, Body, Career, Library, Discover. The folded ones are only worked out when you open them
  • Body: an outline drawn to their height and measurements, body shape and frame, the cup in US / UK / EU sizes, where they stand in your library, which of their traits work for you, and performers built like them
  • A second, full-body picture: shown on the expanded header and on performer cards when the pointer rests on one. Either one of their own Stash images (just referenced) or a new picture saved in a folder you choose (setting Full-body pictures folder), scanned in and tagged with them

Pictures

  • The picker: every stash-box you use, picture sites (Babepedia, IAFD, FreeOnes and a gallery site; through your scraper for that site if you have one), your other scrapers, their best-rated images, best frames of their top-rated scenes and stills. Preview sizes S to XL, Space for a bigger look. A Main picture | Full body switch on top
  • The editor, all in your browser: Frame the face (F) frames everyone the same way, the background as it is, blurred, dimmed, grey, a colour, a gradient or removed (see-through PNG), Auto light (A) that evens out faces, tilt and Auto-straighten, Compare (C), Before (B), undo / redo
  • Best edges (hair): a matting model keeps single strands of hair and drops the bits of wall or trees next to the head. About 10 s a picture
  • Presets: save a setup under a name, 1-9 to apply, star one to have it applied whenever a picture opens
  • Redo pictures in bulk: everyone, your favourites or the Performers tab’s list through one preset, two at a time in the tab. Nothing is saved until you’ve looked: a grid of before / after, untick what you don’t want or adjust one in the editor, then Save. History undoes the whole run or one performer
  • Not see-through yet on the Performers tab, and Go through their pictures to do them one after another
  • With Quick Tools 1.17: P over a performer card (or on their page) opens the picker for them and comes back once you’ve saved; Shift+P goes straight to the full-body picture
  • With Flexoki 1.9+: Performer pictures: background puts one background behind every see-through picture, so all cards match

Smaller things

  • A Copy button on Catalog cards you don’t have: copies studio, performers and title, ready to search elsewhere
  • Replaced pictures are now kept in Stash’s config folder (plugin-data/PerformersToolkit/originals/), so updating the plugin no longer loses them and Undo keeps working
  • The face and background tools are downloaded by your browser the first time you use them (about 10 MB; Best edges about 44 MB more) and kept after that. Your pictures never leave your browser except to be saved in Stash

It now follows your Stash theme too: with Flexoki it looks the same as before, with any other theme it takes that theme’s colours.

Still young (0.12), so a database backup before big merges or bulk runs doesn’t hurt.







(All names and pictures in these are stand-ins: made-up performers and studios, free stock photos.)

3 Likes

Wow, this update is amazing. The info and stats that are now on performer pages is great. Awesome work!

Performers Toolkit 0.17

A redesign of the performer page, a better Body section, and weights from ThePornDB. Update from your plugin source, then Settings > Plugins > Reload plugins (the server part changed too).

The performer page

  • Expanded header, rearranged: who they are on the left and middle, and one Body card on the right with their full-body picture, a small figure drawn to their measurements, and height, weight, measurements, cup, hair, eyes, natural or enhanced, tattoos and piercings. On wide screens Stash’s own body fields are hidden there, so nothing shows twice. Narrow screens and phones keep Stash’s layout

  • The full-body picture keeps its own shape, nothing is cut off

  • Point at an at-a-glance fact (rating, top studio
) and its details now stay inside the window

  • On a phone: the picture beside the name, Stash’s buttons behind a menu, the facts folded into one line. The Stats tab starts much higher up

The Stats tab, redesigned

  • A row of section chips that stays on top while you scroll: Viewing, What works, Body, Career, Library, Discover, each with its takeaway; a click jumps there

  • The tiles explain themselves (“2x your usual, 1 O in 6 plays”); Interest has a small trend line

  • Charts show their values and mark the peak; a days-by-hours map names your busiest hour

  • Most O’s, Top rated and Watched most are one card with a switch, and a scene in more than one list says so

  • What works reads “2.9x your usual O rate with them” against a marked 1x line

Body

  • Their figure: a mannequin drawn from their height, bust, waist, hips and cup, front and side, to scale against a cm ruler. Tape marks at bust, waist and hips, the body shape and ratios, and a faint dotted outline of your library’s average behind it

  • Hair in their hair colour (setting The figure’s hair: shoulder, long, tied back, off)

  • Optional skin tone, read in your browser from their own main picture (setting The figure’s colour: picture). Nothing is sent anywhere; a picture where no skin can be found stays grey

  • “In your library” with percentiles, and “Built like the ones you like”

Linking and filling

  • ThePornDB too: the scan can now also look up performers who are already linked to StashDB on ThePornDB. A match counts as sure only when one record has their name, the same full birthdate and no disagreeing country or gender; the rest go to the side-by-side review. Sources > Stash-boxes has a switch per box, “Also for performers linked elsewhere” (on for ThePornDB)

  • Weight (and height, measurements, cup when yours are empty) come from ThePornDB’s own API, with the API key you already have in Stash. The key stays on the server. Linking never touches your pictures, and only empty fields are filled

  • Scan, Review and Done are clickable now, so you can go back to Scan at any time

Catalog

  • A shorter header, a bar for how much of their catalog you have, and smaller buttons on the cards

  • With Scenes Toolkit 0.9: Hide tags leaves scenes with tags you don’t want (for example Virtual Reality) out of the lists, with a “Hidden by tag” chip to still see them

Still young, so a database backup before big link runs doesn’t hurt.


the expanded header with the Body card: full-body picture, the figure, and the body facts


the Stats tab’s section chips and tiles

the Body section: their figure to scale with hair, the library average behind it, where they stand in your library

2 Likes

Not sure how I feel about the 3D style, look bit odd, compared to the previously 2D which look cleaner but missing arm lol.

Anyway, good stuff. I like how (I assume) hair color change depending on the value. I wonder if you plan to add for Eye color too and tattoo/piercing like: Sticky

Look like you do support the display of the information;

Would something like SVG style body image be something to consider? Or will that just be troublesome.


Oh wow, that editing stuff is some good s*

Just don’t like how it auto-search image at multiple website, can we get a setting to do a manual search? I don’t want to get hit with a Cloudflare or something for too much search.


Clicking inch doesn’t do anything for me
 well it seem to push the page down but I cannot tell the reason for it


Probably hide these?


Seem like duplicate measurement? I use metric.

image


Collapse arrow doesn’t work for me. Keep in mind if you can’t reproduce it, it could just be my problem (plugins conflict) so ignore it if you can’t reproduce;


Can’t we just single fill? Seem like we are forced to go through “All” when clicking this button.


Question, can you demo Full Body Image? Aside from being shown near the Cup size, I don’t see where other purpose it is for.


Did you change the style of the cup? Your screenshot is like this;

But mine is like this.


Is this Theme specific? I disable a few of my theme to go default Stash but it don’t get shown on the right side;


0 cm seem cut off for me;

Any plan to also support ‘bad’ data? For example Japanese website sometimes use:

B86 W56 H80


Could “Found” scrape also be added to the URL of the performer; that way it be easier for future search or us user to open the URL, or use other plugins such as Scraper/Gallery download.

Performers Toolkit 0.18

Update from your plugin source, then Settings > Plugins > Reload plugins (the server part changed too).

@sashi thanks for the detailed list, almost all of it is in this release: the ThePornDB error in Catalog, the cm / in switch, the doubled measurement, the cut-off “0 cm”, the fold arrows (folding near the bottom made the page jump, so it looked dead) and filling a single performer are fixed. There’s a setting to search picture sites only when you click, and one for a flat figure if you prefer the plain look. The Body card is now always on the page, and the full-body picture shows there, in Stats > Body and on a performer card when the pointer rests on it. The cup scale did change since the first post’s screenshot, and the figure is an SVG drawn from the measurements.

The performer page

  • Body card always there: full-body picture, a small figure drawn to their measurements, height, weight, measurements and cup. Right column on wide screens (expanded or collapsed), under the details on medium screens, under the name on phones. Stash’s own body fields are hidden only where the card shows the same thing
  • Hover details (rating, top studio
) stay inside the window
  • Phones: picture beside the name, Stash’s buttons behind a menu, facts in one line

Stats tab

  • Section chips that stay on top while you scroll, charts with their values written on them, one “Best of” card (Most O’s, Top rated, Watched most), and What works as “2.9x your usual O rate with them”
  • Body: a figure drawn from height, bust, waist, hips and cup, front and side, with a dotted outline of your library’s average behind it. The bust is a natural rounded shape that grows fuller rather than longer with the cup; natural and enhanced look different
  • Optional: hair in their hair colour (The figure’s hair), skin tone read in your browser from their own picture (The figure’s colour: picture; nothing is sent anywhere), and a flat look
  • cm / in switches every unit, including a ruler in feet and inches

Linking and filling

  • The scan can also look up performers already on StashDB on ThePornDB; a match counts as sure only with the same name, the same full birthdate and no disagreeing country or gender
  • Weight (and height, measurements, cup when yours are empty) from ThePornDB’s own API, with the key you already have in Stash; linking never touches your pictures and only fills empty fields
  • Fill on a single performer opens just their empty fields
  • Scan, Review and Done are clickable, so you can go back to Scan any time

Pictures



1 Like

Hmm Stash-DB type still auto search;


I like how bad data won’t work;


With the body; bad idea or something to consider? Different Ethnicity different body?


Country, I don’t think shortcode ISO is helpful as most people will only knows (maybe) their own;


Inch got cut off very slightly


Clicking these button does nothing for me still


Yeah Folding arrow still does nothing for me; I removed all plugins but this thinking there is a conflict;


FR: More hairstyle and length?! Maybe even Rapunzel long lol


I dont know the step to reproduce but Full Body image seem to disappear as I play around with setting or using Toolkits


Is it me or the neck/face lines is weird, hair should hide it shouldn’t it?


Good or bad idea? A combo/linked button where it is: BOTH


Should color be more flexible? English speaker probably use Blonde, but does the international community do:

@sashi thanks again, another good round. 0.19 is up (update from your plugin source, then Reload plugins):

  • cm / in and the fold arrows: on my side both work in a clean Stash, so I looked at what those two have in common: they’re the only controls that keep their state in the browser’s local storage. If the browser refuses that write (storage full or blocked for the site), the click redraws the same state and looks dead. They now keep the choice in memory too, and tell you once if the browser won’t store it. If it still does nothing for you: which browser, and does a private window behave the same?
  • Inch cut off: fixed, inches are whole numbers now and the labels have room
  • Neck lines through long hair: the hair now covers them
  • Hair colours: many more words, Yellow, Golden, Platinum, Chestnut and so on, plus common German, Dutch, French, Spanish, Italian, Portuguese and Japanese ones
  • Country: shown as the full name in your browser’s language instead of the code
  • Stash-boxes on a click: a second setting, Stash-boxes: search only when I click, next to the picture-site one; the “Nobody on X” lines are one line per source now
  • B86 W56 H80: read as 86-56-80 cm (with the cup if it’s there) wherever the toolkit reads the body; your stored field isn’t changed
  • Found page added to the performer: when Babepedia, FreeOnes or IAFD finds their profile, “Add to their links” saves it to their URLs (with Undo)
  • “Both”: tick two or more of the “Everyone with” chips and “Everyone with these” opens the list with all of them
  • Full-body picture disappearing: I couldn’t make it happen, but two guards are in so a failed read can’t drop it any more. If you see it again, tell me which page and whether you use Suite Data

On the body by ethnicity: I’d rather not, it would be a stereotype and wrong for a lot of people; the measurements already shape the figure. More hairstyles: noted, maybe one extra-long one at some point.

1 Like

Nice, collapse arrow workings for me now.

All good with the body style.

Did you make a decision on adding eye color to body too?

Button is also working, nice;


Bad idea or maybe not bad idea;
”Imagination”, the cup if we were to click it is may temporary use that as the Performer Cup:


Maybe I didn’t let it run or the run fail is the reason why image didn’t get added?

If this log helps;

26-10-23 23:38:48Debug Plugin returned: map[done:map[36:map[at:1.792759122316e+12 imageId:444710 made:1]] failed: waiting:]

2026-10-23 23:38:48Debug Plugin Performers Toolkit finished

2026-10-23 23:38:48Debug SLOW SQL [5.022280591s]: SELECT DISTINCT images.id FROM images INNER JOIN images_files ON images_files.image_id = images.id INNER JOIN files ON images_files.file_id = files.id INNER JOIN folders ON files.parent_folder_id = folders.id WHERE ((folders.path || ‘/’ || files.basename LIKE ?)) LIMIT 10 OFFSET 0 , args: [%fullbody-36-1792759122316.png%]

2026-10-23 23:38:43Debug Plugin Performers Toolkit started: /usr/local/bin/python /root/.stash/plugins/allisless0/PerformersToolkit/PerformersToolkit/PerformersToolkit.py

2026-10-23 23:38:43Info Scan finished (1.12171181s)

2026-10-23 23:38:43Info Adding /Full-Body/fullbody-36-1792759122316.png to gallery /Full-Body

2026-10-23 23:38:43Info /Full-Body/fullbody-36-1792759122316.png doesn’t exist. Creating new image



Look like it not removing yet
 so maybe it working fine, but I don’t do much testing today so cannot be sure.

I’m guessing you talking about this (Firefox). Browser never really asked me;


Still bit of head White Lines


Bad or Not Bad:

Add “last searched date”, that way maybe 1 year later we can “try again”. Instead if we see “2026-10-10” we probably not try our luck.

Studio logos are not displayed under “Top studios” in the stats.

1 Like

0.19.1 is up:

@zelpi studio logos under Top studios: fixed, the Stats query never asked for them. Studios without a logo keep the icon.

@sashi

  • Head lines: three separate causes (the hair behind showing through, and two edges running over hair and face). All gone now, in every hair style, shaded and flat
  • “Imagination” cup: done. Click a size on the cup scale and the figure (front, side and the small one in the header) is redrawn with it, “Preview: E cup · Reset”. Nothing is saved
  • Last searched: “Not found” now says when they were searched, and there’s a review of the ones searched over 6 months ago with “Search them again”
  • Countries: they now follow Stash’s own language setting, not the browser’s
  • Full-body picture: that log looks like a normal save (the picture was created and added). If it disappears again, tell me which page you were on
  • Eye colour on the figure: I’ll leave that out. At that size the eyes would only be a couple of pixels, so you wouldn’t really see the colour, and I worry that adding eyes would make the mannequin look a bit uncanny. The eye colour is right there in the facts and the chips
  • Firefox storage: no prompt is expected; 0.19 just stopped depending on it. Glad the arrows work now

New too: a setting Hide stash-box information for anyone who’d rather see only their own data.

1 Like

There‘s a conflict with the plugin „Performer Tags Overhaul“ from @rollainkraus - When both are activated, the Performers Page gets distorted, image and text are shifted and displaced. Can you please fix this?

Btw great plugin.

1 Like

Back again with more complaint.

Is it me or plugin conflict? Hover over heading (Studio), the popup is top left of screen, toggle on the numbers #, then it show where your mouse is;


Intentional? Why not same as Insight where these are clickable (search filter)


Can this be as a Popup as well? Currently it opening it own pages so we “cannot” go back or “Close”. Forcing user to click “Stat” button again.


No Body Measurement if no measurement. Shouldn’t it still display the empty information such as Height as that is filled in. Hair should also be added.

NO MEASUREMENT

WITH MEASUREMENT

No MEASUREMENT

1 Like

Studio Logos are displayed after last update but only partially, not as an overall picture.

added a css patch to performer tags overhaul to work with this plugin

cheers