Maya Workflow Kit
The whole Maya workflow in Blender, in one install. Free and open source, Blender 4.5 – 5.2.
翻译准备中
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证制作者的介绍仅有上面的一句话。 更多详情请阅读仓库 README。 仓库 README ↗
正在加载完整 README。
查看完整 README ↗An AI job-application assistant: a Chrome extension plus a small local server that uses Claude Code to answer application questions, score job fit, find the right people to contact and draft outreach. It never submits anything. You review and press Submit.
Built in October 2026 with Claude Code.
context.md and leaves a question blank if it can't answer it honestly.hunter_api_key (checks guessed emails, 50 a month free) and github_token (higher GitHub rate limit). Results are cached per company and a credit counter keeps you inside free allowances. Phone chips open a call or WhatsApp, emails open Gmail compose; you always send yourself.TRACKER.md beside your packs) are hidden. Auto mode (off by default) finds people for the newest jobs in the background, up to a daily cap.Connections.csv and see who you know at each company, with a drafted referral ask.localhost:4777): your pipeline of prepared applications, an applications funnel (applied, replied, interview, offer) with reply rate per channel, and an outreach log.docs in server/config.json at your markdown notes (project write-ups, past achievements). Every Claude call retrieves the most relevant facts with hybrid search and adds them to the prompt, so answers use the right details instead of one fixed profile.tools/scan-boards.py): pulls live roles from Ashby, Greenhouse and Lever job boards, Wellfound (public role pages) and Himalayas, and filters them to your profile.The dashboard can also run as a static site (bun run build:site in server/, then deploy site/ to Vercel or any static host). It holds no data and runs no AI. In the browser, it talks to the Apply Kit extension, which forwards each request to the helper (server/server.ts) on your own computer, which runs Claude Code on your own login. Your profile, resume and tracker stay on your machine. The extension only accepts these requests from the sites listed in background.js (DASHBOARDS) and manifest.json.
New users set up from the dashboard's Setup tab: it checks the extension, the helper and Claude Code, and takes the profile, resume (PDF), the facts Claude may use, and saved answers. Those are saved in server/data/ (or APPLYKIT_DATA), so nobody needs to edit profile.js or context.md by hand.
Requirements: Chrome, Bun, and Claude Code logged in (the server calls claude -p, so it runs on your Claude plan, no API key needed).
git clone https://github.com/kuldeepsaini23/apply-kit
cd apply-kit
cp profile.example.js profile.js # your details (gitignored)
cp server/context.example.md server/context.md # facts + rules Claude may use (gitignored)
cp server/config.example.json server/config.json # name/email/deadline + "docs" paths for RAG (gitignored)
cd server && bun install && cd .. # local embedding model for RAG
# put your resume at ./resume.pdf (gitignored)
chrome://extensions → Developer mode → Load unpacked → this folder.bun server/server.ts (Windows: double-click start-server.cmd). The dashboard opens at http://localhost:4777.ApplyKit.exe is the same server built into one file (cd server && bun build-exe.ts), so users need neither Bun nor a terminal. It runs in the background with an icon by the clock: click it for the dashboard, right-click for the hosted site, the log, Start with Windows, Restart and Quit. It keeps its data in a data folder next to the exe, and starting it again replaces a copy that is already running. Claude Code still has to be installed and logged in. The optional notes search (RAG) is left out of the exe.
Optional: put prepared application notes as markdown files in packs/ (or set APPLYKIT_PACKS) and they show up in the dashboard pipeline.
Extension (MV3): fill.js is injected into every frame on demand. It matches each field's label to a rule (regex on label, name and placeholder), sets values with native setters plus input/change events, attaches the resume via DataTransfer, and tags open questions for Claude. background.js handles the shortcuts and messages from the dashboard; bridge.js connects the dashboard page to the extension.
Server (Bun): server/server.ts binds to 127.0.0.1 only and rejects requests from other origins. Each AI endpoint spawns claude -p with your context.md as the system prompt (no tools for answers and drafts; WebSearch/WebFetch only for people research) and parses the JSON reply.
RAG (server/rag.ts): markdown is split by heading into ~600-character chunks with overlap. Each chunk gets a BM25 keyword score and a vector embedding from all-MiniLM-L6-v2, run locally on CPU via transformers.js (no embedding API). Queries use reciprocal rank fusion of both rankings; vectors are cached until the notes change.
Retrieval eval (server/rag-eval.ts, bun run eval:rag): checks whether the right fact lands in the top 5 for a set of questions, half in the notes' own words and half paraphrased. On my notes (428 chunks, 16 questions):
| mode | recall@5 | MRR |
|---|---|---|
| BM25 only | 94% | 0.80 |
| vector only | 100% | 0.92 |
| hybrid (RRF) | 94% | 0.94 |
Smaller chunks helped: 600 characters beat 900 and 400. Hybrid ranks the right fact first most often, so it's the default.
Dashboard: plain HTML/JS, served by the same server.
MIT