Sno Station
Sno Station is your agents' workstation: open-source software that turns the AI agents you already run into one squad on your own machine. Two heads are better than one, and they get better with every
翻訳待ち
リポジトリ情報はまだ収集していません。
No updates detected yet. GitHub releases will appear here.
An open source browser extension tool for autofilling forms for job applications
翻訳待ち
Loading the full README.
Read the full README ↗phil fills your job applications. Enter your details once; on any application click phil this application, and philform reads the form, works out what each box is asking, fills it, drafts the open-ended answers and outlines everything for you to check. It never submits.
philform is open source (AGPL-3.0) and works on forms it has never seen: there is no hand-written recipe per job site. A model reads each page's own questions and options, so a new site, or a site that changes its markup, still gets filled.
dist/chrome unpacked after ./build.sh.Your first 10 applications are free (every page of one application counts as
one). After that each fill takes three times its model cost from a wallet you
top up $5 at a time: a typical fill costs a fraction of a cent, about 400
applications per $5, and no fill can cost more than 30¢. The rules are in
src/common/wallet.js, shared by the extension and
the service.
Bring your own key for writing. Reading the form always runs through philform's service on its TypeSafe account. Writing the open-ended answers can use your own DeepSeek key instead: paste it under Settings > Written answers. Those requests then go from your browser straight to DeepSeek, billed to your DeepSeek account, and your philform wallet is charged only for reading the form. Your key stays in your browser; philform's service never sees it.
| Step | What happens | Cost |
|---|---|---|
| Read | Every frame is reduced to field descriptors; custom dropdowns are opened to read their options | Free |
| Rules | Site skills and keyword rules propose an answer per field | Free |
| Decide | One TypeSafe request for the whole form: which saved value fits each box, which of its own options each dropdown should get, which saved response answers each essay; it also checks every rule's proposal | ~0.05¢ |
| Write | DeepSeek drafts what nothing saved answers, in parallel, while the rest is filled | ~0.1–0.5¢ |
| Fill | Written with real key and pointer events, read back, retried by typing if the page rejected it | Free |
| Again | The page is read again for questions that appeared, up to three passes | As above, for new fields only |
Fill what is most likely, flag what is unsure. TypeSafe's answers are calibrated. At or above the confidence setting (default 0.6) an answer is filled normally. Between 0.35 and that it is filled as a best guess and outlined in amber, instead of leaving a required field for the user to find. A required one-line question nothing saved answers ("How many hours a week can you work?") gets a short draft, also amber. Never guessed: questions about who someone is (gender, race, veteran or disability status, age), questions that only apply after another answer ("If so, ..."), and anything the user switched off.
Notice what was missed. After a fill, the page is checked for question text inside the form that no field was read for: the sign of a widget philform does not recognise yet. It costs nothing, needs no screenshot, and the popup then asks the user to report the page. That, and the reports, are how new form designs get supported. A vision check is deliberately not run per fill: it would cost more than the fill. It is reserved for pages this check or a user flags.
Cost is metered and capped. Every call is priced from the tokens its
provider reports (src/background/cost.js). The popup shows the cost per
provider, and the price, which is three times the cost. A fill is capped at 10¢ of cost: the
writer's budget is cut to fit, and a fill that reaches the cap says so and
opens the report form. A typical fill costs 0.05–0.5¢ and takes 2–6 seconds.
Robust to the page. Design-system dropdowns (react-select, MUI, Radix, Workday prompts, select2), ARIA radios and tick boxes, unnamed radio groups, web components, suggestion boxes that must be picked from, masked inputs, cross-origin frames, and questions revealed by earlier answers. A stalled TypeSafe request is sent again after three seconds.
This is the beginning of the README. Read the rest at the original. Read the full README ↗