S
shbernal/atsfill
Let your agent apply for you
在 GitHub 查看 ↗链接已于 2026-11-12 核查 · HTTP 200 · 打开的是厂商自己的官网
官方说明Let your agent apply for you. One CLI for every hiring system.
安装与配置
客户端配置(取自该仓库的安装命令)
{
"mcpServers": {
"shbernal-atsfill": {
"command": "uvx",
"args": ["atsfill"]
}
}
}解析自我们于 2026-10-28 抓取的该仓库 README;我们未执行过。
command/args 来自仓库写明的安装命令;不确定时请以该项目 README 为准。
VS Code(.vscode/mcp.json —— 键名是 servers)
{
"servers": {
"shbernal-atsfill": {
"command": "uvx",
"args": ["atsfill"]
}
}
}VS Code 顶层键是 <code>servers</code>,其余与上面那份相同。
Claude Code(命令行)
claude mcp add --transport stdio shbernal-atsfill -- uvx atsfill
Claude Code 不收 JSON 文件,用这条命令直接加。
配置项的键名以你的客户端为准:客户端与 CLI
- ★ 数取值
- 3 ★ · shbernal/atsfill · 取自 GitHub 搜索 API · (2026-11-13 20:00:50 核对)
- 来源明细
- 从该仓库的 GitHub 页面直接读取 · 条目类型:开源项目
- 收录与活跃
- 收录于 2026-10-28 · 最近见到 2026-11-14 · 共见到 19 次 · 被 1 个来源列出
- 评分构成
- 综合分 103 · 3 ★ · 1 个来源 · repo
- 安装
uvx atsfill
常见问题(答案都来自我们的记录)
怎么安装?
该仓库给出的安装命令是
uvx atsfill。我们的记录里它是仓库自己提供的;不保证在你的客户端上直接可用。它适合谁 / 用来做什么?
我们把它归在这些标签下: 开源项目。标签来自条目自身,不是我们强加的分类。
谁维护它、还在更新吗?
仓库
shbernal/atsfill;我们收录于 2026-10-28;最近见到 2026-11-14。这里没有"官方认证"或"质量评级"——我们只记录来源与时间。# atsfill
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
Let your agent apply for you. One CLI for every hiring system.
[![PyPI][pypi-badge]][pypi]
[![Python][python-badge]][pypi]
[![CI][ci-badge]][ci]
[![License][license-badge]][license]
Install • Quickstart • How it works • Docs
atsfill reads the application form behind a job posting, fills it with your answers, and checks what the hiring system will receive before anything is sent.
It is built for agents with a shell: every command prints one JSON document and exits with a code a script can branch on.
read lists a form's fields with their ids, types, options and whether they are required.
fill is a dry run: it fills the form, reads it back field by field, and never submits.
send fills again and submits only when every answer reads back as given.
Submitting is off until you enable it per hiring system, in a config file the agent does not write.
A posting already sent is refused unless you pass --resend.
## Supported hiring systems
Each line is a hiring system atsfill has an adapter for, and its run history: the last 30 days of runs, green when a form filled or an application went through, red when it failed.
The systems lists which ones need an account, to read the form or only to send it.
Any other system returns unsupported, so the consumer can fall back to driving a browser itself.
## Why atsfill?
An agent applying through a generic browser carries each system's quirks as prose, rereads it every run, and checks the form before submitting only because an instruction says so.
atsfill moves the quirks into one adapter per system and makes the check code: a send whose read-back differs from the answers is refused.
| | Generic browser agent | atsfill |
| System quirks | prose in the prompt | an adapter per system |
| Check before submit | an instruction | the read-back must match |
| Permission to submit | whatever the agent decides | a config file, per system |
| Double send | possible | refused without --resend |
| Output | page snapshots | one JSON result |
## Install
atsfill runs on Linux, macOS and Windows with Python 3.14, which uvx fetches if needed.
sh
uvx atsfill install-browser
This downloads the Camoufox browser build atsfill is pinned to: 1.3 GB, about 2.5 GB once unpacked.
Every push to main that passes CI is also published as a dev release; uvx --prerelease allow atsfill runs the newest.
## Quickstart
1. List the form's fields:
sh
uvx atsfill read https://job-boards.greenhouse.io/acme/jobs/1234
2. Write your answers to answers.json, keyed by field id. Files take an absolute path:
json
"firstname": "Ada",
"lastname": "Lovelace",
"email": "ada@example.com",
"resume": "/home/ada/resume.pdf"
3. Dry-run the fill. It ends ready when every answer reads back as given:
sh
uvx atsfill fill https://job-boards.greenhouse.io/acme/jobs/1234 --answers answers.json
4. Allow the system to submit in ~/.config/atsfill/config.toml:
toml
submit-allowed = ["greenhouse"]
5. Send. A submitted result carries the evidence of the send:
sh
uvx atsfill send https://job-boards.greenhouse.io/acme/jobs/1234 --answers answers.json
A dry run is not invisible: some systems save answers or the resume as they are typed.
atsfill status lists each system's side effects, whether it is allowed to submit, and its scope: the systems.
[![PyPI][pypi-badge]][pypi]
[![Python][python-badge]][pypi]
[![CI][ci-badge]][ci]
[![License][license-badge]][license]
Install • Quickstart • How it works • Docs
atsfill reads the application form behind a job posting, fills it with your answers, and checks what the hiring system will receive before anything is sent.
It is built for agents with a shell: every command prints one JSON document and exits with a code a script can branch on.
read lists a form's fields with their ids, types, options and whether they are required.
fill is a dry run: it fills the form, reads it back field by field, and never submits.
send fills again and submits only when every answer reads back as given.
Submitting is off until you enable it per hiring system, in a config file the agent does not write.
A posting already sent is refused unless you pass --resend.
## Supported hiring systems
Each line is a hiring system atsfill has an adapter for, and its run history: the last 30 days of runs, green when a form filled or an application went through, red when it failed.
The systems lists which ones need an account, to read the form or only to send it.
Any other system returns unsupported, so the consumer can fall back to driving a browser itself.
## Why atsfill?
An agent applying through a generic browser carries each system's quirks as prose, rereads it every run, and checks the form before submitting only because an instruction says so.
atsfill moves the quirks into one adapter per system and makes the check code: a send whose read-back differs from the answers is refused.
| | Generic browser agent | atsfill |
| System quirks | prose in the prompt | an adapter per system |
| Check before submit | an instruction | the read-back must match |
| Permission to submit | whatever the agent decides | a config file, per system |
| Double send | possible | refused without --resend |
| Output | page snapshots | one JSON result |
## Install
atsfill runs on Linux, macOS and Windows with Python 3.14, which uvx fetches if needed.
sh
uvx atsfill install-browser
This downloads the Camoufox browser build atsfill is pinned to: 1.3 GB, about 2.5 GB once unpacked.
Every push to main that passes CI is also published as a dev release; uvx --prerelease allow atsfill runs the newest.
## Quickstart
1. List the form's fields:
sh
uvx atsfill read https://job-boards.greenhouse.io/acme/jobs/1234
2. Write your answers to answers.json, keyed by field id. Files take an absolute path:
json
"firstname": "Ada",
"lastname": "Lovelace",
"email": "ada@example.com",
"resume": "/home/ada/resume.pdf"
3. Dry-run the fill. It ends ready when every answer reads back as given:
sh
uvx atsfill fill https://job-boards.greenhouse.io/acme/jobs/1234 --answers answers.json
4. Allow the system to submit in ~/.config/atsfill/config.toml:
toml
submit-allowed = ["greenhouse"]
5. Send. A submitted result carries the evidence of the send:
sh
uvx atsfill send https://job-boards.greenhouse.io/acme/jobs/1234 --answers answers.json
A dry run is not invisible: some systems save answers or the resume as they are typed.
atsfill status lists each system's side effects, whether it is allowed to submit, and its scope: the systems.
收录徽章(可选)
想把收录标记放进 README 就复制这行,可选,不影响收录。
[](https://anclum.com/zh/s/shbernal-atsfill/)
- 来源
- github · https://github.com/shbernal/atsfill
- 按领域浏览
- 开源项目
- Traction
- 3 ★
- 收录于
- 今天
同类推荐
所属领域与标签
每个标签都能点进去看同类的全部条目。数字是当前库里的真实条数。