CivArchive
    TagComplete Neo | Forge Neo Extension - v0.1.2
    Preview 124135835

    🏷️ TagComplete Neo

    Tag autocompletion for Forge Neo — suggests Danbooru/e621 tags, LoRA/embedding names, wildcards, and chants as you type, with automatic trigger word injection and CivitAI lookup support.

    Fork of a1111-sd-webui-tagcomplete by DominikDoom, maintained here exclusively for Forge Neo. If you are not running Forge Neo, use the original extension instead.

    🎯 Features

    ⭐ = added or fixed in this Neo fork · everything else is original work by DominikDoom

    🏷️ Tag Autocompletion

    • Instant suggestions as you type, sourced from Danbooru, e621, or merged lists

    • Keyboard navigation — arrow keys, Tab, Enter, Escape, all configurable

    • Tag color coding by category, with post count for relevance

    • Alias and translation search — find tags by their alternate names or translated terms

    • Frequency sorting — remembers your most-used tags and promotes them to the top ⭐

    ➕ Extra Networks

    • LoRA and LyCORIS autocomplete triggered by <

    • Embedding autocomplete triggered by <e:

    • Thumbnail preview in the completion popup

    • Correct alias insertion — uses the same identifier Forge Neo expects (ss_output_name or filename, respecting your Extra Networks setting) so tokens never blink ⭐

    • Trigger word injection on LoRA selection — inserts activation keywords automatically

      • Fetches from CivitAI if not set locally ⭐

      • Cached by SHA256 — only re-fetched when the model file changes ⭐

      • Configurable position: Start of prompt, End of prompt, Before or After the LoRA token ⭐

    ✳️ Wildcards

    • Wildcard file autocomplete triggered by __

    • Nested folder support

    • YAML wildcard format (UMI-compatible)

    🪄 Chants

    • Prompt preset completion for longer phrase templates stored in JSON files

    • Triggered by <c: or <chant:


    📦 Installation

    1. Open Forge Neo WebUI

    2. Go to ExtensionsInstall from URL

    3. Paste: https://github.com/eduardoabreu81/sd-webui-tagcomplete-neo

    4. Click Install and reload the WebUI

    ⚠️ This extension requires Forge Neo. It will not work on Automatic1111 or Forge Classic.


    🗂️ Tag Lists

    FileSourceBest fordanbooru.csvDanbooru top-100kAnime models (SD 1.5, SDXL)e621.csve621 top-100kFurry / anthro modelsdanbooru_e621_merged.csvMerged + unified categoriesPony, NoobAI, Illustriousextra-quality-tags.csvCurated setQuality booster tagsEnglishDictionary.csvEnglish dictionaryPhotorealistic / non-booru models

    To switch lists, change Tag filename in Settings → Tag Autocomplete.

    Description

    🆕 What's New

    v0.1.2 — Bug fix batch

    • Embedding manual refresh no longer crashes — the force_reload kwarg was removed from Forge Neo; the refresh button now works cleanly

    • LoRAs always visible on startup — the previous alias update inadvertently caused LoRAs to disappear until a model was loaded; filesystem scan is now always used as the primary source

    • Symlinked embeddings supported — paths are fully resolved before comparison, so embeddings linked from outside the models/embeddings/ folder no longer crash the callback

    • Frequency database stability — fixed a potential NameError on first run when the SQLite connection itself could not be established

    v0.1.1 — LoRA alias fix

    • LoRA/LyCORIS token no longer blinks — the inserted <lora:…> token now uses the same identifier that Forge Neo expects (respects your "When adding to prompt, refer to LoRA by" setting: Alias from file or Filename) ⭐

    v0.1.0 — Forge Neo Baseline

    • Full Forge Neo compatibility — extension loads and runs correctly on Forge Neo without crashes or silent failures

    • Booru tags restored — tag suggestions now appear correctly in the prompt box

    • Reliable initialization — autocomplete activates on every WebUI launch, including the second and beyond

    • Instant embedding reload — embeddings update without restarting the WebUI

    • Trigger word auto-fetch from CivitAI — if a LoRA has no local trigger words set, the extension can look them up automatically from CivitAI ⭐

    • Trigger word cache by file hash — fetched words are saved alongside the model and only re-fetched when the file itself changes ⭐

    • "After LoRA/LyCO" insertion position — new option to place trigger words immediately after the <lora:…> token instead of only at the start or end of the prompt ⭐

    FAQ

    Comments (11)

    LopodelasMay 5, 2026· 1 reaction
    CivitAI

    Been using it for a while now and it works well, but as soon as I use the webui on my phone it starts to lag hard whenever I type in the prompt box. I took a look at the performance with dev tools on pc and it tagcomplete has big delays when throttled with at least x4. Can you take a look at it?

    dhunters
    Author
    May 7, 2026· 2 reactions

    I've worked on this, it seems better - but I'll do a few more tests before publishing it. I'll keep you posted about it

    dhunters
    Author
    May 8, 2026· 2 reactions

    v0.2.0 is on! please let me know what do you think!

    LopodelasMay 8, 2026

    @dhunters  Wow, that was quick :D It works a LOT better now but deleting text still has the biggest impact on performance. Definitely much smoother in all aspects though for sure. I'm not sure if it's my phone that's just weak but it's an S20+. Quite old nowadays. It's still laggy but not nearly as laggy as before. It's really usable now. Typing is just a little delayed, feels like 50ms delay while typing, which is miles better than before. Deleting text I'd say has a bit more delay, but when holding down the backspace, it lags a lot while it gets a a bit unpredictable how much it's deleting, so single tapping backspace is working well but holding down is problematic.

    All in all it's amazing how much better it is. Thank you for your efforts :D

    I don't know if it's possible, but is there a way to change the settings so the autocomplete detects words that without underscores ? I mean like when typing "walking towards" that it detects it as "walking_towards" which then also recommends "walking towards viewer" for example. It really gets annoying having to change text all the time because of this. If it doesn't work already, if you don't mind and if it doesn't take much time, could you take a look at this? If yes, I'd say it would be nice to have a toggle for it next to the indicator (green dot). Not sure if the toggle would create lag though. If it does crate lag, then a simple setting in the extension settings is also fine.

    Btw, you should make posts about your works on reddit. I'm sure there are people who are looking for your stuff but don't know they exist

    LopodelasMay 8, 2026

    @dhunters Also I noticed when using wildcards, normally you can click on them once to autofill from existing wildcards and then it shows all the content of the wildcard and then you can click again to instead paste the content of ot. The part where it shows the content and then pastes it when clicking again doesnt work anymore. I noticed one of my wildcard tabs vanished. It may be linked to that. I'll check it out and update

    dhunters
    Author
    May 8, 2026

    @Lopodelas I had the same issue with wildcards this week, and their extension keeps crashing since last update (I deactivated it). Since TagComplete use the wildcard system to do it, maybe is related, since I didn't test it anymore.
    Maybe... it's time for a new extension :D

    LopodelasMay 8, 2026· 1 reaction

    @dhunters I found this fork of dynamic prompts and it seems to work fine in forge neo. The wildcards manager tab also reappeared now.

    GitHub - abzaloff/sd-dynamic-prompts: A custom script for AUTOMATIC1111/stable-diffusion-webui to implement a tiny template language for random prompt generation · GitHub

    dhunters
    Author
    May 8, 2026

    @Lopodelas Hey! Glad it is feeling better.

    About backspace: I hear you on the hold to delete lag. I pushed a few tweaks that should help. The dropdown now updates instantly while backspacing with no delay, and the heavy translation handler is skipped entirely on delete. Let me know if holding backspace still feels rough on your S20+.

    About the space to underscore thing: I actually tried building this. The tricky part is mobile keyboards insert spaces one keystroke at a time, so by the time the autocomplete fires, it only sees the last word you typed. I could not get it working reliably without breaking other stuff, so I had to shelve it for now. The good news is the search already finds multi word tags when you type any word from them. Typing towards will still surface walking_towards_viewer, so it is not a total loss.

    Thanks again for testing and reporting back, really appreciate it.
    About Dymanic Prompts for Neo, I'll take a look soon! Thanks for the tip!

    LopodelasMay 8, 2026

    @dhunters Sounds nice, I'll check it out later. What about the general settings for the extension btw? I'm not so sure what settings make an impact on lag and what settings I should turn off or can leave on

    dhunters
    Author
    May 8, 2026

    Since v0.2.0 the main performance changes are automatic (indexed search, chunked loading, parallel init, batched DOM updates). You do not need to touch those.

    The only new setting that matters is Use Indexed Search. Leave it ON. It makes filtering faster, not slower.

    For lag during typing, the heaviest feature by far is Live Translation (Ruby). What it does is scan your entire prompt on every keystroke, look up every matched tag in the translation dictionary, wrap them in HTML ruby tags, and rebuild the whole overlay DOM via innerHTML. On long prompts that is easily the most expensive operation in the entire input handler. On v0.2.1 we at least skip it completely during backspace/deletes, but it still runs on normal typing.

    So if typing feels sluggish, turn Live Translation off first. Everything else (Append Comma, Wildcard Completion, Max Results) is personal preference and does not affect lag.

    LopodelasMay 10, 2026· 1 reaction

    @dhunters Sorry I got kinda caught up in some stuff and eventually forgot to get back to you. The difference is not really noticable at this point sadly. Perhaps it has something to do with my phone or my setup. Don't bother about this so much! You've done more than plenty already

    Other
    Other

    Details

    Downloads
    53
    Platform
    CivitAI
    Platform Status
    Available
    Created
    3/14/2026
    Updated
    8/12/2026
    Deleted
    -