内容
<div align="center">
# 智能代理火焰
**高效运行 AI 编程代理,并协调多个代理。**
**单个 Rust 二进制文件,无需 Node,无运行时依赖 — 支持 Claude Code、Codex、Cursor、Windsurf、VS Code、Cline 和 Continue。**
[](LICENSE)
[](STATUS.md)
</div>
---
## 状态:测试中
agentflare 正在积极开发中。优化层(lean-ctx 集成、内存、 Caveman/Ponytail 连接)是最成熟的部分 — 已进行 CI 测试,每天都在使用。多代理协调层(任务、评审、指导、制品、交接)较新,仍在完善中:CLI 标志、MCP 工具名称和磁盘格式可能会在不进行重大版本更新的情况下发生变化。
请参阅 **[STATUS.md](STATUS.md)** 以了解哪些功能稳定,哪些仍在开发中,然后再基于特定标志或 MCP 工具签名构建自动化。
## 这是什么
agentflare 是两个功能捆绑在一个二进制文件中的工具:
**1. 优化** — 减少运行单个 AI 编程代理会话的令牌/成本开销。
| 层 | 功能 | 工具 |
|---|---|---|
| **lean-ctx** | 会话内工具 I/O — 读取、 shell 输出、搜索,高达 99% | [yvgude/lean-ctx](https://github.com/yvgude/lean-ctx) |
| **内存**(内置) | 跨会话知识 — 决策、事实、偏好,保存在会话结束时 | 自带二进制文件,SQLite + FTS5,无需单独安装 |
| **Caveman**(仅 Claude Code) | 会话冗余,约 65% | 配套插件 |
| **Ponytail**(仅 Claude Code) | 代码编写过度工程 | 配套插件 |
**2. 协调** — 一个轻量级、本地优先的后端,用于运行多个代理(或同一个代理的多个会话)以应对相同的工作量,暴露为 MCP 工具,任何支持 MCP 的代理都可以调用:
| 功能 | 用途 |
|---|---|
| **工作项**(`item`、`claim`) | 共享待办事项 — 创建/列出/搜索工作项,认领工作项以避免冲突,标记完成。 |
| **评审**(`review`) | 提交评审结果,运行共识评审,跟踪评分。 |
| **制品**(`artifact`) | 发布规格、计划和文档为版本化、可共享的页面 — 一个持久的交接面。 |
| **交接**(`handoff`) | 将上下文传递给特定的代理/运行时,地址和线程,当工作从一个代理转移到另一个代理时。 |
| **指导**(`coaching` CLI + 钩子) | 小型持续性提示显示给代理 — 目前在会话开始时,未来将根据上下文触发。 |
| **评论、标签、项目、网络钩子、channel_send** | 工作项的线程讨论、分类、跨项目视图和出站通知。 |
上述所有功能都是本地优先(支持 SQLite),无需守护进程,可通过相同的 stdio MCP 传输协议访问,agentflare 已经为优化层公开了该协议。
lean-ctx 和内置内存并不是彼此的替代品 — 一个在会话内节省令牌,另一个在会话之间节省重复解释的成本。协调层是一个不同的轴心:它不是关于单个会话的令牌账单,而是关于多个代理(或同一个代理的多个会话)之间保持同步并清洁地交接工作。
**为什么选择 Rust 而不是 Node:** Claude Code 不捆绑或要求 Node.js — 它是一个独立的编译二进制文件。任何依赖 Node.js 的插件都可能在未单独安装 Node.js 的机器上出现问题。agentflare 是一个独立的静态二进制文件;唯一的运行时依赖是 agentflare 本身。
**Claude Code 或 Cursor 没有插件市场** — `agentflare init --agent X` 直接将钩子配置写入目标自己的设置文件(Claude Code 的 `~/.claude/settings.json`,Cursor 的 `.cursor/hooks.json`)。Codex 是一个例外:其钩子系统仅通过其插件加载器激活,因此该连接作为一个小的 `.codex-plugin/` 清单文件提供。
## 指标
以下数字是每个项目自己的已发布、可复制的基准测试 — 归因,而不是混合成一个假定的综合总数,并且不被盲目接受。如果某个声明在其自己的仓库中没有支持证据,则会标记为可疑,而不是重复。以下内容仅涵盖**优化层** — 协调层还太新,无法进行类似的基准测试(请参阅 [STATUS.md](STATUS.md))。
| 工具 | 已发布声明 | 方法论 | 置信度 |
|---|---|---|---|
| lean-ctx | 98.1% 压缩(`map` 模式),96.7%(`signatures`),约 99.99% 缓存重读 | CI 测试,可复制,通过 `lean-ctx benchmark report .`,在具有 GPT-4o 分词器的 50 文件仓库中测量 | 高 — 真实,可复制,方法论已命名 |
| Caveman | 平均输出令牌减少 65%(范围 22–87%,10 个提示) | 提交到 `benchmarks/`/`evals/` — 其自身文档标记了失败模式:每回合约 1–1.5k 输入令牌开销可能使其在已经简洁的工作负载上产生负面影响(`docs/HONEST-NUMBERS.md`) | 高 — 可复制,异常透明关于限制 |
| Ponytail | 约 54% 更少的代码(94% 最佳任务上限),约 20% 更便宜,约 27% 更快,100% 安全 | 12 个真实功能任务,在 FastAPI+React 仓库中,Haiku 4.5,n=4 — 自我纠正了早期过度概括的单一结果 | 高 — 可复制,已经自我纠正一次 |
### 真实使用,一个活跃项目
不是演示 — 从维护者的自己的项目中实时拉取,构建此仓库时,用于衡量规模。不是受控基准测试;一个数据点,您的里程可能有所不同。
```
lean-ctx 34.2M 令牌已节省 92% 压缩 $88.45 已节省 (生命周期;lean-ctx 增益)
caveman 1.16M 令牌已节省(~65%) (单个会话;caveman-stats 钩子)
ponytail 记录了 23 个 `ponytail:` 快捷方式标记,无令牌数字(ponytail 不会测量每个仓库的节省)
memory 2 会话,11 个观察结果跟踪,跨 2 个项目 (agentflare memory 会话/搜索)
```
检查您自己的:`lean-ctx gain` · `/caveman-stats`(Claude Code)· `ponytail-debt` 技能 · `agentflare memory context`。不要盲目信任此表格 — 自己重新运行这些命令。
---
## 安装 CLI
**Linux/macOS**(下载预编译二进制文件,校验和验证;如果从克隆仓库中运行,则从源代码构建):
```bash
curl -fsSL https://raw.githubusercontent.com/getappz/agentflare/master/install.sh | sh
```
**Homebrew:**
```bash
brew tap getappz/agentflare
brew install agentflare
```
**Windows,从源代码构建**(无预编译二进制文件以避免 AV 启发式检测):
```powershell
git clone https://github.com/getappz/agentflare
cd agentflare
.\install.ps1
```
**Windows,Scoop**(预编译二进制文件 — 无签名,像大多数小型 Rust CLI 一样;Defender/SmartScreen 错误阳性可能,报告问题如果遇到):
```powershell
scoop bucket add agentflare https://github.com/getappz/agentflare
scoop install agentflare
```
**任何带有 Rust 的平台,无需克隆:**
```bash
cargo install --git https://github.com/getappz/agentflare
```
**卸载:**
```bash
curl -fsSL https://raw.githubusercontent.com/getappz/agentflare/master/install.sh | sh -s -- --uninstall
```
## 设置代理
每个工具运行一次命令。运行即表示同意 — 安装立即生效,无需单独确认步骤。
```bash
agentflare init --agent claude-code # 直接写入 ~/.claude/settings.json 钩子,无需市场
agentflare init --agent cursor # 直接写入 .cursor/hooks.json,无需市场
agentflare init --agent windsurf
agentflare init --agent vscode-copilot
agentflare init --agent cline
agentflare init --agent continue
```
**Codex** 是一个例外 — 其钩子系统仅通过其自己的插件加载器激活:
```
codex plugin marketplace add getappz/agentflare
codex plugin install agentflare
```
然后 `agentflare init --agent codex` 用于规则/lean-ctx 设置(Codex 的钩子连接本身来自插件清单,而不是 `init`)。
每次运行:写入规则文件(如果不存在),安装 lean-ctx(原生 `curl | sh` 或 Homebrew 安装程序)如果缺失,连接钩子/MCP,如果主机支持。检测优先 — 已经满足的组件被跳过,不会覆盖。持久内存随二进制文件本身提供 — 无需安装。
## 文档仅备用(Aider,其他 AGENTS.md 读取器)
```bash
curl -sL https://raw.githubusercontent.com/getappz/agentflare/master/AGENTS.md > AGENTS.md
```
---
## 架构
```
src/
├── paths.rs # 家目录解析(AGENTFLARE_HOME_OVERRIDE 用于测试 —
│ # dirs::home_dir() 忽略 HOME/USERPROFILE 覆盖在
│ # Windows 上,痛苦地学习)
├── state.rs # ~/.agentflare/state.json — 钩子的启用/禁用标志
├── rule_text.rs # 共享规则副本(Exa,git,lean-ctx 用法)
├── memory/ # 内置持久内存(SQLite + FTS5)
├── compact.rs # 临时 FTS5/BM25 相关性评分器(PreCompact 钩子)
├── coaching/ # 会话提示:规则存储,CRUD,CLI 呈现
├── claims.rs, review.rs # 工作项认领,评审/共识(协调层)
├── artifacts.rs, channels.rs # 制品发布,出站通知
├── mcp_server.rs, mcp_prompts.rs # MCP stdio 服务器暴露两层作为工具
├── auth.rs, auth_crypt.rs, auth_db.rs, auth_runner.rs # 认证配置文件保险库
├── components.rs # 注册表:每个条目检查 + 修复自身,主机感知
├── init.rs # `agentflare init --agent X` — 运行每个组件,
│ # 直接为 claude-code/cursor 编写钩子
├── hook.rs # `agentflare hook session-start|prompt-submit|... --agent X`
└── main.rs # clap CLI,分派到 45 个模块
.codex-plugin/ # Codex 仅 — 其钩子需要插件加载器
install.sh, install.ps1 # 安装程序(校验和验证的下载 / 本地构建)
.github/workflows/ # ci.yml(构建+测试),release.yml(标签上的跨编译)
```
添加新托管组件意味着在 `components.rs` 中添加一个条目 — `init` 和 `hook` 不会硬编码每个工具的逻辑。
---
## 创建内容
**Claude Code**: `~/.claude/rules/{exa,git,lean-ctx}.md`,`~/.claude/settings.json` 钩子部分,`~/.config/{caveman,ponytail}/config.json`,`~/.agentflare/`(包括内置内存数据库)。
**Codex**: 项目本地 `AGENTS.md`(仅当不存在时),`~/.agentflare/`。
**Cursor**: 项目本地 `.cursor/rules/agentflare.mdc`,`.cursor/hooks.json`,`~/.cursor/mcp.json`,`~/.agentflare/`。
**Windsurf/VS Code/Cline**: 项目本地规则文件(参见上表),lean-ctx 的 MCP 配置。
**Continue**: `.continue/mcpServers/agentflare.json`.
如果已经存在,则不会创建任何内容。
---
## 卸载
删除二进制文件(参见上面的安装部分),然后删除 `init` 为已设置的宿主创建的内容 — 参见上面“创建内容”。Ponytail/Caveman 插件本身保持安装(如果需要,单独卸载)。
---
<div align="center">
MIT 许可证
</div>