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