尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證AI job application assistant: a Chrome extension that drafts truthful, personalized answers to application questions from your structured profile. Built with WXT, Next.js, FastAPI and Supabase.
翻譯準備中
取自儲存庫 README
正在載入完整 README。 以下為已儲存的摘錄。
AI job application assistant for filling application forms faster without inventing experience.
Built by DevAbby.
Ansly is a web app, FastAPI answer engine, Supabase database, and Chromium browser extension. You build a structured profile once, then the extension detects application questions, drafts grounded answers from your profile, lets you review/edit, and fills the field only when you approve.
Status: V1 is implemented, with V1.1 fill-all / ask-and-learn work in progress. See documents/ansly-product-plan.md, documents/ansly-phases.md, and documents/product-audit.md.檢視完整 README ↗AI job application assistant for filling application forms faster without inventing experience.
Built by DevAbby.
Ansly is a web app, FastAPI answer engine, Supabase database, and Chromium browser extension. You build a structured profile once, then the extension detects application questions, drafts grounded answers from your profile, lets you review/edit, and fills the field only when you approve.
Status: V1 is implemented, with V1.1 fill-all / ask-and-learn work in progress. See documents/ansly-product-plan.md, documents/ansly-phases.md, and documents/product-audit.md.
Build profile
-> open application form
-> enable Ansly on the site
-> click Ansly beside a question
-> generate or use saved answer
-> review / edit
-> fill
-> you submit manually
Ansly never auto-submits applications. It only fills after user approval.
Browser extension
- WXT + React
- field detection
- saved-answer matching
- answer popover
- fill / fill-all UI
- own Supabase session
Web app
- Next.js
- auth
- dashboard
- profile editor
- saved answers
- settings
- extension connection
LLM API
- FastAPI
- question classification
- structured profile retrieval
- grounded answer generation
- provider fallback gateway
- usage/rate limits
Supabase
- Auth
- PostgreSQL
- RLS
- profile sections
- saved answers
- usage events
The API reads profile data using the user's own JWT, so Supabase row-level security still applies. The extension receives a separate Supabase session from the web app because sharing the web session would conflict with refresh-token rotation.
ansly/
web/ Next.js web app
extension/ WXT browser extension for Chrome and Edge
llm/ FastAPI answer service and LLM gateway
packages/types/ Shared TypeScript contracts
packages/design/ Shared design tokens
supabase/ Migrations, tests, seed profile
documents/ Product plans and audits
Install dependencies:
pnpm install
uv --directory llm sync --group dev
Create env files:
cp web/.env.example web/.env
cp llm/.env.example llm/.env
cp extension/.env.example extension/.env
Set these values:
| File | Variables |
|---|---|
web/.env | NEXT_PUBLIC_SUPABASE_URL, NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY, NEXT_PUBLIC_BASE_URL |
llm/.env | SUPABASE_URL, SUPABASE_PUBLISHABLE_KEY, provider keys such as GOOGLE_API_KEY1, GROQ_API_KEY1, OPENAI_API_KEY1 |
extension/.env | WXT_SUPABASE_URL, WXT_SUPABASE_PUBLISHABLE_KEY, WXT_API_URL, WXT_WEB_URL |
Only use the Supabase publishable key in app env files. Do not put the Supabase secret/service-role key in the web app, extension, or client bundle.
Apply migrations:
pnpm supabase login
pnpm supabase link --project-ref <your-project-ref>
pnpm supabase db push
Or paste the SQL files from supabase/migrations/ into the Supabase SQL editor.
In Supabase Auth URL configuration, add:
http://localhost:3000/auth/callback
https://YOUR-WEB-DOMAIN/auth/callback
pnpm dev
Or run each app:
pnpm --filter @ansly/web dev # http://localhost:3000
pnpm --filter @ansly/llm dev # http://localhost:8000
pnpm --filter @ansly/extension dev # Chrome dev browser
pnpm --filter @ansly/extension dev:edge
Then:
/extension in the web app.You do not need to publish the extension to use it yourself.
Chrome:
pnpm --filter @ansly/extension build
Open chrome://extensions, enable Developer mode, choose Load unpacked, and select:
extension/.output/chrome-mv3
Microsoft Edge:
pnpm --filter @ansly/extension dev:edge
Open edge://extensions, enable Developer mode, choose Load unpacked, and select:
extension/.output/edge-mv3
For deployed personal use, make sure extension/.env points to deployed URLs before building:
WXT_API_URL=https://YOUR-LLM-API-DOMAIN
WXT_WEB_URL=https://YOUR-WEB-DOMAIN
pnpm check
pnpm test
Useful targeted checks:
pnpm --filter @ansly/web typecheck
pnpm --filter @ansly/web test
pnpm --filter @ansly/extension typecheck
pnpm --filter @ansly/extension test
pnpm --filter @ansly/llm test
pnpm --filter @ansly/supabase test
Web:
web/ to Vercel.NEXT_PUBLIC_SUPABASE_URL.NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY.NEXT_PUBLIC_BASE_URL to the deployed LLM/API origin.LLM API:
llm/ to your Python host.GET /health works.Extension:
WXT_API_URL and WXT_WEB_URL.See LICENSE.