内容
代理 AFK
> **Claude 代码决定代理的行为。代理 AFK 允许您编辑规则。**
**代理 AFK** 是一个开源的编码代理程序,您可以实际更改它。在您离开时运行长时间的编码任务,使用任何模型,并编辑决定代理可以触摸的内容、何时停止以及如何证明工作。
> 代理 AFK 并不 代码“更智能”。它以 Claude 代码无法实现的方式属于您。
[](https://www.npmjs.com/package/agent-afk)
[](https://github.com/griffinwork40/agent-afk/actions/workflows/ci.yml)
[](https://nodejs.org/)
[](LICENSE)
[
<!-- DEMO GIF GO ▸ drop a 20–30s screen recording of AFK run (e.g. kick off `afk / `afk mint`, walk away, get the Telegram ping, come back done). Drag-and-drop the file into a GitHub issue/PR to host it on GitHub's CDN, then paste the URL as  right here. the single biggest star-conversion lever — keep it above the fold> ⭐ **喜欢一个您可以完全拥有的代理循环的想法吗?[给仓库](https://github.cominwork40/agent-afk/stargazers)** — 这其他人找到它的最快方式。
## Claude 代码 vs. 代理 AFK
| 代码 | 代理 AF|---|---|---|
| 框架 | 封闭的二进制文件-2.0 |
| 循环 |配置 | 您编辑** |
| 行为固定 | 门控、路由、代码 |
| 结果 |的默认代理 | 一个代理系统 |
模型不是产品——循环才是。代理 AFK 将循环作为代码:提示、门控技能、跟踪、、终端状态。编辑。
## 安装bash
npm install -gk
```
需要 Node ≥ 22。
烟雾
```bash
--version # 确(在登录之前有效k doctor # 环境
afk login Anthropic API密钥令牌
af "hello"
```
**已经 Code 或 Codex?** 运行 `afk —有的插件、技能和 MCP 服务器。它不会复制文件;它会实时读取源工具的目录,因此您在那里安装的任何内容都会在 AFK 中显示,无需重新运行。
## 您可以用它做什么
- **从终端聊天** — `afk chat "..."` 用于一次性,`afk具有完整工具访问权限的 REPL(Bash、文件操作、网页抓取、grep/glob、子代理)。
- **将长时间工作交给守护进程** — `afk daemon` 以无头模式运行。将其与 `telegram` 配合使用,当工作进入终端状态时,您会在手机上收到提示。
读取跟踪** — 都会写入一个追加记录,记录代理所执行的操作。`afk trace show`打印回一个人类可收据 — 工具调用、门控决策、生命周期、成本 — 不使用 `jq` 的情况下审计运行。
- **从 Telegram 给 Claude 发送消息** — `afk telegram setup` 引导您完成机器人令牌 + 允许列表设置。之后,您将拥有一个由与 REPL 相同的会话管理器支持的私有聊天界面。
-编排器** — `/mint`、`/、`/spec`、`/research`、`/ship`、`/review` 分代理波。`/mint` 接受一个功能想法规范 → 研究 → 并行化 → 验证 → 发布。 为失败的错误分叉并原因假设。
> **K 专业版:**(`/forge和校准的技能标准(`/qualify仅适用于代理 AF版,不属于开源版本。
- **跨会话内存** — Claude 在会话之间记住首选项、决策和程序。参见下面的[内存](#内存)。
- **后台子代理作业** — 使用 `mode:'background'` 分派子代理;`/bgsub` 列出正在运行和已完成的作业,`/bgsub:join <id>` 检索结果。
## 四个界面,一个会话管理器
| 命令 | 界面 |
|---|---|
| `afk chat "..."` | 一次fire & forget)回合 — 适合管道,脚本编写良好 |
| `afk`(`afk interactive` 的别名) | 具有斜杠命令、流式传输、计划模式、图像粘贴的 REPL |
| `afk daemon` | 长时间运行的无头代理,适合 cron |
| `afk telegram start` | Telegram 机器人 — 相同的工具,相同的内存,在您的手机上 |
## 配置
`agent-afk` 将其所有状态保存在 **`~/.afk/`** 下 — 会话、插件、内存、日志、设置。没有任何内容与 `~/.claude/` 共享。您可以完全删除 `~/.claude`,而 `afk` 仍然可以运行。
**本地优先,无电话-home。** 没有分析或远程遥测 — 代理 AFK 永远不会将您的提示、代码或使用情况发送到除您配置的模型提供商以外的任何地方。存在的遥测是本地 JSONL,位于 `~/.afk/` 下,您可以读取或删除它。
可选,按有用性排序:
```bash
# 选择模型 — opus | sonnet | haiku | fable (Anthropic) 或 codex (OpenAI)
AFK_MODEL=sonnet
# 启用 Telegram 机器人 + send_telegram 工具
TELEGRAM_BOT_TOKEN=1234567890:ABC...
AFK_TELEGRAM_ALLOWED_CHAT_IDS=12345678
# 每个任务的安全防护
AFK_MAX_BUDGET_USD=5.00
```
**项目范围的系统。** 在目录下放置一个 `AFK.md`,`afk` 会将其附加到内置框架提示中 — 您的指令位于基础之上,而不是替换它。不需要前置内容。
**检查已解析的内容。** `afk config` 转储实时配置。`afk doctor` 验证密钥、路径和提供商连接。
## 内存
Claude 在会话之间记住事物 — 首选项、决策、约定和可重用程序 — 无需任何手动设置。内存仅限本地存储在 `~/.afk/state/memory/` 下。
**两层存储:**
- **热内存** (`~/.afk/state/memory/HOT.md`) — 一个小的 Markdown 文件(≤ ~1,500 个标记)自动注入到未来的每个会话系统提示中。用于 Claude 始终携带的事实:您的姓名、工作风格、固定指令。容量5,250 个字符;溢出时会截断并带有标记注释。
- **事实存档** (`~/.afk/state/memory/memory.db`) — 一个无界限的 SQLite 存储,通过 FTS5 可进行全文搜索。事实按需查询,使用 `memory_search` 工具;它们不会使每个提示膨胀。
**事实类别**(写入存档时设置):
| 类别 | 放置内容 |
|---|---|
| `preference` | 工作风格、格式、工具选择 |
| `convention` | 命名规则、文件布局、团队| `decision` | 架构选择和背后的原因 |
| `learning` | 发现的错误、过去运行的经验教训 |
**会话内可用工具:**
- `memory_search` — 跨事实和程序进行全文搜索(支持 FTS5:`AND`、`ORNOT`、`"exact phrase"`、`prefix*`)。
- `memory_update` — 在存档中写入或取代事实(` "fact"`)或覆盖热内存(` "hot"`)。
- `procedure_write` — 将可逐步工作流 `~/.af/memory/procedures/`命名 Markdown 文件。_search` 搜索程序。
热内存会在会话开始时注入;`memory_search` 在运行时显式调用。会话结束钩子会自动将每个已完成的顶级会话记录到存档中 — 子会话除外。
所有四个界面(REPL、聊天、守护进程、Telegram存储 — 在中写入的内存可在所有界面中使用。
## 模型
默认模型是 `sonnet`。使用 `--model` 可以覆盖每个调用:
```bash
afk chat "explain this stack trace" --model opus
afk sonnet_1mk chat "refactor this" --model gpt-5.5
```
| | 最适合 |
|---|---|
| `fable` | 最强大的 Fable 5(Mythos 级),的推理 + 工作(1M文) |
|` | 复杂的推理规划、长上下文 `sonnet` | 日常默认 — 平衡速度和能力 |
| `haiku` | 快速、便宜、还行... |
**模型插槽** — 将任何功能层绑定到任何模型:
| 插槽 | 默认 | 备注 |
|---|---|---|
| `local` | *(空 — 您配置)* | 指向 Ollama、LM Studio 或任何 OpenAI 兼容的 shim,via `AFK_MODEL_LOCAL` + `AFK_MODEL_LOCAL_BASE_URL` |
| `small` | `claude-haiku-4-5-20251001` | 最便宜/最快的Anthropic层haiku` 别| `medium` | `claude-sonnet-4-6` | 通用默认;`sonnet` 别名 |
| `large` | `claude-opus-4-8` | 最有能力;`opus` 别名 |
参见 [`docs/model-slots.md`](docs/model-slots.md) 以获取完整的配置参考。
## 有用的命令
```bash
afk status # 连接、模型、绕过模式状态
afk doctor # 环境自检
afk config # 转储已解析的配置
afk plugin list # ~/.afk/plugins/ 下已安装的插件
afk completion zsh # shell 补全(也支持:bash、fish)
afk --help # 完整命令树
```
别名:`afk c` → `chat`,`afk i` → `interactive`,`afk s` → `status`。
## 关于权限的说明
`afk` 不会在每次工具调用前提示 — 没有每个工具的批准流程。Claude 运行 bash、读取和写入文件、获取 URL 以及调用 MCP 服务器,而不每次都询问。这是有意的 — `afk` 是为无人值守的工作而构建的,在没有人坐在前面时,权限提示只会使会话陷入僵局。
**新安装默认绕过模式。** `afk 和 `afk 在 `afk.config.json` 未设置时以 `permissionMode: "bypassPermissions"` 启动 — 代理在没有路径批准提示的情况下读取和写入**任何地方**。这等同于 Claude Code 的 `--dangerously-skip-permissions`,默认启用;仅在您信任的机器和帐户上使用 `afk`。绕过不会更改 `ask_question` — 这是模型选择询问您的问题,一个单独的轴。
**重新启用路径限制**,可以通过以下任意方式设置模式:
- 持久性:`afk config set permissionMode default`(或 `plan`),或在 `afk.config.json` 中设置 `"permissionMode": "default"`。它将保持该状态,直到您再次更改。
- 对于单个会话:在 REPL 中使用 `/bypass off`(状态行清除 `⚡ bypass`)。
启用路径限制后(`default`),文件工具(读取/写入/编辑/列出/全局搜索/ grep)针对会话工作目录**外部**的路径触发**路径批准**提示;使用 `/allow-dir <path>` 预授权路径(或在提示中回答“persist”以记住它们跨会话)。随时使用 `/bypass` 切换绕过。`afk 始终在绕下运行(无**Telegram**保持限制(`)并依赖基于钩子的强制执行。
## 故障排除
**`invalid x-api-key` / `ANTHROPIC_API_KEY not found`** — 运行 `afk doctor`。确认密钥在您的 shell 或 `~/.afk/config/afk.env` 中设置。
**`Cannot send message: session — 会或已启动一个新的会话(`afk i` 或afk chat**`Maximum — 安全防护触发。将其提高到 `--max-turns 50`**达到预算上限** — 提高 `_BUDGET` 或取消设置。
**Telegram无法启动** —k telegram status` 然后 `afk telegram logs`。最常见的原因是在设置令牌后缺少 `AFK_TELEGRAM_ALLOWED_CHAT_IDS`。
## 更新日志
最近的版本发布在 [`CHANGELOG.md`](CHANGELOG.md) 中,也可以通过 `/changelog` 在 REPL 中查看。
## 星级历史
[](https://star-history.com/#griffinwork40/agent-afk&Date Agent AFK 为时间,**[给仓库点星](.com/griffinwork40/agent-afk/stargazers)** — 这是帮助它传播到更多人的唯一最佳方式。
许可证
Agent AF **开源** 的,Apache-](LICENSE)**DX:`Apache0`)许可。
使用它,修改它,分支它,在商业或闭源产品中 标准 Apache 条件保留许可证和 [``](NOTICE),重大更改,不使用K”名称或标记来暗示
copyleft,无 CLA。
**专业版和团队附加组件**(高级技能包、团队功能、优先支持)是
在其自身条款下的单独商业产品 — 参见 [`LICENSING.md`](LIC.md)。
核心并将保持开源的。
贡献需在 [DCO://developercertificate`git commit -s`)下接受。“Agent AFK” 是 Griffin Long 的商标。 © Griffin Long。
连接信息
猜你喜欢
暂无推荐服务器