1ay1/agentty · 上手攻略

  • 仓库:1ay1/agentty
  • 链接:https://github.com/1ay1/agentty
  • 分类:AI 编程工具 · 终端 Agent
  • 作者:Tom
  • 更新:2026-09-08

是什么

agentty 是一个用 C++26 编写的终端 AI 结对编程工具,以单文件静态二进制分发(16.7 MB),冷启动约 3 ms,号称是 Claude Code 的平替。核心特点:零运行时依赖(无 Node/Python/npm)、智能代码检索(Hybrid BM25 + Embeddings + GraphRAG)、支持任意 LLM 提供者(Anthropic/OpenAI/Groq/OpenRouter/Cerebras/DeepSeek/xAI/Mistral/Gemini/Fireworks/Ollama)。

项目采用 MIT 协议开源,可在 Zed 编辑器中通过 ACP 协议运行。

解决什么问题

现有主流终端编程 Agent(如 Claude Code、GPT-Reply、Aider)普遍存在三大痛点:

  1. 运行时负担重:基于 Node.js 或 Python,每次启动需加载大量依赖,冷启动慢
  2. 上下文膨胀:每次调用把整个仓库或大段代码全部发送给模型,上下文成本极高
  3. 供应商锁定:与特定云服务深度绑定,切换模型成本大

agentty 的解法:编译成单一原生二进制 + 精准代码检索(按需只取最相关片段)+ 开放式模型路由。

快速安装

一条命令安装(Linux/macOS)

curl -fsSL https://raw.githubusercontent.com/1ay1/agentty/master/install.sh | sh

手动下载

# 访问 https://github.com/1ay1/agentty/releases/latest 下载对应平台的二进制
# 下载后添加执行权限
chmod +x agentty
# 放入 PATH 或用绝对路径运行
./agentty

⚠️ 官方 release 为单二进制(无 Node/Python 依赖),首次运行会引导输入 API Key 或配置本地模型。

仓库编译(开发者)

git clone https://github.com/1ay1/agentty.git
cd agentty
# 需要 C++26 兼容的编译器(Clang 19+ 或 GCC 14+)
mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
cmake --build . --parallel

核心用法

启动与认证

agentty

首次启动会提示输入 API Key: - Anthropic Claudesk-ant-... 格式的 API Key,或使用 Claude Pro/Max OAuth 登录 - OpenAI/Groq/OpenRouter 等:对应提供商的 API Key - 本地 Ollama:无需 Key,直接运行 ollama serve 即可

模型切换

支持运行时切换模型,按 Ctrl+P 调出模型选择菜单。常用示例:

agentty -m claude-opus-4-5        # Claude(需 API Key 或 Pro/Max OAuth)
agentty --provider openai -m gpt-4o  # OpenAI GPT-4o
agentty --provider groq -m llama-3.3-70b  # Groq Llama
agentty --provider openrouter -m <model>  # OpenRouter 任意模型
agentty --provider deepseek -m deepseek-v4-pro  # DeepSeek
agentty --provider xai -m grok-4.6  # xAI Grok
agentty --provider gemini -m gemini-3.7-flash  # Google Gemini
agentty --provider ollama -m qwen2.5-coder  # 本地 Ollama,无需 Key

--provider 参数会持久化保存,下次启动默认使用。

内置工具集

工具 用途
read 读取文件
write 写入文件
edit 编辑文件(精准修改)
bash 执行 Shell 命令(在沙箱中运行)
grep 文本搜索
glob 按模式匹配文件
git Git 操作
web 网页搜索/访问
search_docs 从知识库检索(文档/技能/记忆/MCP)
search_code 语义代码搜索
task 创建子任务

⚠️ 所有 Shell 命令在 Linux 上通过 bwrap( bubblewrap)、macOS 上通过 sandbox-exec 沙箱隔离运行。文件操作拒绝访问工作区外的路径。

智能检索(RAG)体系

agentty 内置完整本地检索引擎,两大检索工具:

  • search_docs:搜索知识库(docs 文件夹 + 已安装技能 + 记忆 + 可选 MCP 资源)。从第一个问题即可使用,技能和记忆始终被索引。
  • search_code:语义搜索代码库,按语义理解查询(如"retry backoff 在哪里处理"),不需要知道具体变量名。

检索流程(每次 search_docs 调用): 1. 混合检索:BM25(关键词,Porter 词干)+ Dense Embeddings(HNSW 索引)并行检索,RRF 融合 2. 伪相关反馈(RM3):从 top 结果中提取区分性术语,追加下加权二次检索 3. 上下文检索:每个 Chunk 用所在文档标题+标题路径作为面包屑索引,跨标题搜索依然命中 4. 重排序:确定性特征融合重排(词覆盖、词距 proximity、标题匹配、余弦相似度),可选批量 Embedding Cross-Encoder 和生成式 0-10 裁判 5. MMR 多样化:贪心选择相关且不重复的命中结果 6. 压缩:将每个存活结果裁剪到最相关片段("20k 噪声 tokens" → "2k 有效 tokens") 7. 父文档扩展:将命中的精确片段与其相邻块拼接,恢复完整上下文 8. GraphRAG 扩展:构建文档图(节点=文档,边=Markdown 链接+tf·idf 共现实体),PageRank + 社区检测,取 top 命中周围四层支撑文档

启用语义检索(可选,BM25 默认即开):

ollama pull nomic-embed-text && ollama serve  # 本地 Embedding 服务
export AGENTTY_DOCS_DIR=~/my-project/docs    # 可选;技能和记忆始终被索引
agentty  # 自动检测到 Ollama 即升级为混合检索

Smart Mode(智能路由)

agentty 不会每次都调用最强最贵的模型,而是: - 强模型做规划:用高端模型处理复杂决策 - 便宜模型做执行:简单任务路由到廉价模型 - 级联重试:便宜模型失败时自动升级重试 - 跨会话学习:路由器会记住代码库特点,持续优化路由

可通过 AGENTTY_SMART_MODE=off 完全关闭智能路由。

安全功能

  • 沙箱隔离:所有 Shell 命令在严格沙箱中执行
  • 路径限制:文件工具拒绝工作区以外的路径
  • SSH 隔离:可用一条命令把整个会话通过 TLS 端到端加密中继到离线机器

典型适用场景

  1. 大型代码库重构:语义搜索精准定位,混合检索只取相关片段,上下文效率提升 80%+
  2. 本地模型优先:用 Ollama 跑 qwen2.5-coder 等本地模型,完全离线工作,零 API 费用
  3. 多模型对比:同一条任务,用 Ctrl+P 快速切换不同模型对比效果
  4. 离线安全开发:通过 SSH 隔离模式,在完全空气隔离的机器上开发
  5. 快速原型任务:sub-ms 启动,无需任何环境准备,下载即用
  6. 文档问答:本地 RAG 引擎对项目文档进行检索增强回答

坑与注意

  1. C++26 编译要求高:如需从源码编译,需要 C++26 兼容工具链(Clang 19+ / GCC 14+),普通系统默认编译器可能不支持
  2. Ollama Embedding 可选:不安装 Ollama Embedding 服务时,检索退化为纯 BM25 关键词模式,仍然可用但语义能力受限
  3. API Key 安全:首次运行时需粘贴 Key,注意终端历史记录风险;建议优先使用 Claude Pro/Max OAuth 认证
  4. 沙箱限制:部分系统命令在沙箱中可能无法执行(如需访问 /proc 等特殊路径)
  5. 发布节奏:项目用 C++26 编写,相对年轻,稳定性与生态(技能/MCP 集成)不如 Claude Code 成熟
  6. 模型支持范围:虽然支持任意 OpenAI-compatible 端点,但部分提供商的具体模型 ID 可能需要手动确认

与同类对比

agentty Claude Code Aider GPT-Reply
语言 C++26 TypeScript Python Go
二进制大小 ~16.7 MB 需 Node.js 需 Python 单一二进制
冷启动 ~3 ms 较慢(Node 加载) 较慢 较快
上下文策略 精准检索(-80%) 全量上下文 全量或按需 按需
模型支持 任意(多提供者) Anthropic 为主 任意 主要 OpenAI
RAG Hybrid BM25+Embedding+GraphRAG 基础 有限 有限
沙箱 bwrap/sandbox-exec 无(直接执行) 有限
SSH 隔离
开源 ✅ MIT ✅ GPL
Zed 集成 ✅(ACP)

agentty 的核心差异化优势:C++ 原生二进制(极快启动)+ GraphRAG 精准检索(上下文压缩)+ 完全离线 RAG 能力(不依赖云服务做检索)。

一句话推荐结论

如果你追求极致启动速度、需要本地离线 AI 编程、或希望在各种模型之间灵活切换,agentty 是目前最值得关注的开源终端编程 Agent——C++ 单二进制零依赖,GraphRAG 精准上下文,上下文成本直降 80%。