
Where My Hug
io.github.bikemeardsley由 GitHub 帳號 bikemeardsley 發布v0.3.1更新於 Oct 29, 2026
Which parts of an ML need Hugging Face already covers. Every model and dataset checked live.
概覽
在 Hugging Face、Kaggle、Zenodo、ModelScope 與 Roboflow Universe 上,為機器學習工作的每個環節尋找模型與資料集,並即時核驗每一筆結果。
- 可以做什麼
- 執行方法:先釐清算力、授權、技術堆疊與資料四個問題,再把需求拆成多個環節並給出 USE、TUNE、TRAIN 或 WRITE 結論
- 搜尋各平台:在 Hugging Face 以四種方式檢索(下載量、趨勢、名稱關鍵字、卡片內文),其他平台則以關鍵字搜尋,並合併跨平台的重複項目
- 核驗結果:逐一回到所屬平台即時查詢,剔除不存在的項目,標示門檻、授權、過時與低使用量,並依指定算力估算模型大小
- 產出報告:列出搜到但未入選的項目,並以「從這裡開始」的建議作結
- 適用情境
- 適合為新的機器學習任務挑選模型或資料集,並希望取得目前可用、符合硬體條件的選項,而不是助理憑記憶給出的答案。也適合確認某個模型或資料集 ID 是否真實存在,以及其授權與大小。
- 執行需求
- 以 npx 啟動的本機 stdio 程序,需要 Node 22.18 以上版本。公開搜尋不需憑證;選用的 HF_TOKEN 可納入私有或需申請的 Hugging Face 儲存庫,選用的 ROBOFLOW_API_KEY 可加入 Roboflow Universe。需要能連線各平台 API 的網路。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 Where My Hug,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
Where My Hug At?
[Latest release]
[npm]
[CI tests]
[In the official MCP Registry]
[On skills.sh]
[On cursor.directory]
[Antigravity plugin]
[On Smithery]
[Where My Hug At? MCP server, quality and maintenance score on Glama]
[Hugging Face]
[Kaggle]
[Zenodo]
[ModelScope]
[Roboflow Universe]
[TypeScript]
[Node 22.18 or later]
[MIT license]
[Buy Me a Coffee]
[Donate to ALS research]
Tell your AI agent what you want a model to do. It searches Hugging Face, Kaggle, Zenodo, ModelScope and Roboflow Universe for models and datasets for each part of the job, and tells you which parts already exist: which are an exact fit, which to fine-tune, which to train, and which are just code. One model or dataset on several hubs is one finding, with every hub listed, so you take it from the one you use. Every model and dataset it names is real, checked live, and every model is sized for your hardware. It ends with where to start.
Works with Claude Code, Codex, Copilot, Cursor, Gemini CLI, Cline, Devin, Open WebUI and any other MCP client, or as an Agent Skill.
Its companion, Git for Me!, does the same for open-source repos on GitHub, GitLab and Codeberg.
Contents
- Try it
- How it works: four questions · parts · the search · verdicts · the live check · flags · sizes
- Example: recipe cards
- Install (every agent, step by step: USAGE.md)
- What leaves your machine · Limits · Security
- Development · License
Try it
Add it to your agent (Claude Code here; every other option below):
Then ask:
Where my hug at for transcribing handwritten recipe cards?
Your agent asks the few things it can't guess, splits the job into parts, and comes back with a report like the one below, every model and dataset in it looked up live moments before. It works for any job a model might do:
Where my hug at for spotting which birds visit my feeder camera?
Where my hug at for sorting support emails by how urgent they are?
Where my hug at for pulling the totals off scanned receipts?
How it works
1. Four questions first
Ask for "a model that reads handwriting" and you get whatever is popular: often too big for your GPU, under a license you can't ship, or in a format your code can't load. So before anything is named, four details come first. Your agent fills in what the conversation or your codebase already says, and asks you the rest:
"Not sure yet" is a fine answer: the picks then cover the range, and every model shows the memory it needs, so the report helps you decide.
2. Split the job
The agent breaks the need into parts, each with an input and an output (photo → text, text → fields). A part that isn't a model's job (rules, geometry, parsing, lookups) is marked WRITE: code does it exactly. Most needs have one. A model doing work that code does exactly is a cost, not a feature.
3. Search for each part
What an agent remembers of Hugging Face is as old as its training, and misses the long tail. So nothing is picked from memory. For every other part, the agent writes a search (the Hub's task tag, a few keywords, the job in a few words), and it runs four ways on Hugging Face:
The ways take turns in the results, so a niche fine-tune isn't buried under whatever is popular for the task.
Models and data live elsewhere too, so the same search covers four other hubs, for models and datasets alike, taking turns the same way:
ModelScope's search matches names, so it gets each keyword; the others get the
job in a few words. An id from one of them keeps its hub's name
(kaggle:landlord/handwriting-recognition, zenodo:1297399), so it's never
mistaken for a Hugging Face one.
The same model or dataset is often on several hubs: ModelScope carries many of Hugging Face's models under the same owner and name. It's listed once, with the others after "also on", and the report links each, so you take it from whichever hub you use. Hugging Face's id leads where it has one, since it says the most (monthly downloads, gating, who hosts it).
4. Decide each part from what turned up
The agent judges the results by what they say: task, card, downloads, age. It may add a model it knows that the search missed, but that pick ranks after the search's, and the report marks it from memory.
5. Check every pick
Every pick is looked up live on its own hub. Any that don't exist are dropped, and the agent goes back to the search for others. A pick that's on other hubs too names them, linked; picking it on two hubs gives one finding, not two. The rest are flagged for what would bite later and sized against your compute, and that report is what you see. Every id says whether it's a model or a dataset, and every dataset shows its size where the hub gives one (rows, images or bytes). It also lists what the search found that wasn't picked, so nothing it turned up is hidden. A TRAIN part whose search found models says to check them before training one. Every fact in the report (license, size, downloads, freshness) comes from the hubs themselves.
The report ends with Start here: the agent's pick of what to try first and why, and what to skip.
Under the hood it's an MCP server with three tools: where_my_hug for the
method (steps 1, 2 and 4), where_my_hug_search for step 3, and
where_my_hug_verify for step 5.
Flags
Sizes: what runs here, and what might do better
Every model shows the memory it needs to run: 2.4 bytes per parameter, half precision plus room for activations. A model to fine-tune also shows what that takes: about 1 byte per parameter with QLoRA, 16 in full. Against the compute you gave (its first "N GB"):
- The first model that fits heads its part.
- Bigger ones follow under "If you can make it work": the search's picks first, then any from memory. A stretch fits only quantized to 4 bits (0.6 bytes per parameter), or on a bigger GPU. Cloud needs more than that: the report names the providers serving it on Hugging Face, or says rented GPUs.
- A part where nothing fits still shows its bigger options. It isn't sent back for replacements, since the hardware might be found.
A model named as a dataset (or the other way round) is found under the right
kind. Licenses come from the card's metadata: license, license_name for
custom terms (reported as other (qwen-research)), or a license: tag.
Example: recipe cards
The prompt above, from a live run on 2026-10-26 for one 24 GB GPU (abridged):
Every pick there was turned up by a search: the models and one dataset on Hugging Face, the others on Kaggle and Zenodo. TrOCR is on ModelScope too, under the same name, so the report links both.
Install
Needs Node 22.18 or later. USAGE.md has step-by-step setup and links for 20+ agents: Claude Code and Desktop, Codex, Copilot (CLI and VS Code), Cursor, Windsurf, Devin, Cline, Gemini CLI, Goose, OpenCode, Zed, Junie, Kiro, Amp, Warp, Continue, LM Studio, Hermes, Mistral Vibe and Open WebUI. The quick routes:
Claude Code, Codex, Copilot CLI, as a plugin: the tools, plus a skill that knows when to reach for them. One marketplace serves all three.
Any other MCP client: a stdio server in the client's config. Most call the
key mcpServers (USAGE.md has the exceptions).
Antigravity CLI, as a plugin: agy plugin install https://github.com/bikemeardsley/where-my-hug/tree/main/plugin
Gemini CLI, as an extension: gemini extensions install https://github.com/bikemeardsley/where-my-hug
As an Agent Skill, for agents that read SKILL.md:
npx skills add bikemeardsley/where-my-hug.
HF_TOKEN (optional). Everything public works without one. To include
private or gated repos your account can see, pass a Hugging Face token as
HF_TOKEN (how, per agent); the Claude Code
plugin asks for it and keeps it in secure storage. Without a token, a private
repo looks missing, because Hugging Face answers 401 for both.
ROBOFLOW_API_KEY (optional). Kaggle, Zenodo and ModelScope are searched
without a key. To add Roboflow Universe, sign up free at
roboflow.com, copy your private API key (Settings →
API Keys), and pass it as ROBOFLOW_API_KEY, the same way as HF_TOKEN; the
Claude Code plugin asks for it too. Without it, the search says Roboflow
wasn't searched.
What leaves your machine
The search the agent writes for each part (a task tag, keywords, a few words
about the job) and the ids it picks, as GETs to huggingface.co/api, plus
your token if you set one. The same search, and the ids picked from it, also
go to the APIs of Kaggle, Zenodo, ModelScope (run by Alibaba Cloud in China)
and, with your key, Roboflow. Each key is sent
only to its own hub and never appears in a report. The need as you wrote it,
the method and the report stay between you and your agent.
Starting it with npx (as the MCP server, or the skill's shell fallback)
downloads the where-my-hug package from the npm registry, registry.npmjs.org.
Nothing is sent there but the request for the package.
Limits
- Sizes come from
safetensorsmetadata. Repos with only GGUF or.binweights show no parameter count, so they can't be sized against the compute. - License flags read the card's metadata, not the license text.
- The search finds what the Hub's own search can: names and tags, and the text of cards. A model with an unrelated name and a bare card can still be missed.
- Card text is searched through the API behind the Hub's search page, which isn't documented. If it changes, that way fails and the results say so; the other three carry on.
- The other hubs are searched by the job's few words (ModelScope by each keyword), not by task tag, and Kaggle wants every word to match, so a short, plain phrase finds most there. Their downloads are all-time, so they're never flagged little used.
- One finding across hubs means the same owner and name. A copy under another
name (Kaggle's
qwen-lm/qwen2.5-vlfor Hugging Face's Qwen) is listed on its own, for the agent to judge. - A Roboflow project is a dataset, and a model only once a version of it was trained there. Its search can't be asked for one or the other, so a model search keeps the trained projects.
Security
Report a vulnerability privately through GitHub Security Advisories, not a public issue. SECURITY.md lists what it touches: GETs to Hugging Face and the four other hubs, and nothing on your machine.
Development
npm install also builds JavaScript into build/, which is what npx runs:
Node won't strip types from a package inside node_modules.
License
MIT
來源:README.md,提交 20d74c2
工具
0版本歷史
4- v0.3.1最新Oct 29, 2026
- v0.2.1Oct 23, 2026
- v0.2.0Oct 14, 2026
- v0.1.0Oct 13, 2026
評分
已滿足適用檢查項的 50%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分