Sno Station
Sno Station은 AI 에이전트를 하나의 팀으로 묶는 오픈소스 워크스테이션으로, 로컬 머신에서 에이전트 협업을 가능하게 함
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기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.