code-assistant 是一款开源的、由 LLM 驱动的自主编程助手,使用 Rust 编写,提供原生 GUI、终端模式,以及面向编辑器和 MCP 客户端的集成。它会在你的代码库上运行一个自主智能体循环——读取、搜索、编辑文件并运行命令,同时让你随时了解它实际在做什么。
主要能力
- 可跟随的界面:不显示笼统的“调用了 5 个工具”,而是展示运行了哪些工具、每个工具向模型返回了什么上下文,便于在出错时定位原因。
- 保存时格式化且保持 token 高效:当项目自动格式化代码时,智能体对文件的认知会过时,后续编辑可能因不明显的原因失败。code-assistant 会运行你的格式化器,然后将模型自身的编辑与格式化结果进行协调,而不浪费 token 重新读取文件。
- 透明的文件编码与行尾:按文件存储方式读取(编码、BOM、CRLF/LF),向模型提供干净文本,再按原样写回,不会悄悄改写行尾。
- 搜索并读取文档,而不仅是代码:Word、Excel、PowerPoint、PDF 等会自动以 Markdown 形式消费,因此你可以让智能体同时处理真实文档和源代码。
- 多个 LLM 提供商:Anthropic、OpenAI、Google Vertex AI、Ollama、OpenRouter、SAP AI Core、Groq、Cerebras、Mistral 等。
- 四种工作方式:原生 GUI(基于 Zed 的 GPUI)、终端模式、无头 MCP 服务器,以及面向 Zed 等编辑器的 ACP 智能体。
- 自适应工具语法:原生函数调用、XML 标签或三脱字符块——按会话选择以适配模型。
- 实时流式传输,并带有智能过滤,阻止不安全的工具组合(例如在读取文件之前就编辑它)。
- 按项目划分会话,支持分支、持久状态,以及带附件的草稿消息。
- 子智能体、权限层级、命令沙箱,以及上下文窗口填满时自动压缩。
- MCP 客户端模式:接入外部 Model Context Protocol 服务器并使用其工具。
- 浏览器会话:智能体驱动真实浏览器(导航、读取、点击、输入)来测试 Web 应用,并提供人工介入的登录交接,使其以你的身份操作而不会看到你的凭据。
- 技能:可复用的、针对特定任务的操作手册,智能体可按需加载。
- 自动加载指引:从项目根目录读取 AGENTS.md(或 CLAUDE.md),以对齐仓库特定的指令。
使用方式 最快的试用方式是下载预构建版本,无需工具链:
- macOS:Code-Assistant-macos-aarch64.app.zip(Apple Silicon)或 Code-Assistant-macos-x86_64.app.zip(Intel)
- Linux:code-assistant-linux-x86_64.zip
- Windows:code-assistant-windows-x86_64.zip 从 Releases 页面获取最新构建。启动后,首次运行会打开设置界面。选择一个提供商(常见提供商有一键建议),粘贴 API 密钥,选择模型即可。在应用内添加项目文件夹并开始聊天。无需手动编辑 JSON 文件即可上手(如果愿意也可以,参见配置指南)。 从源码构建时,二进制文件位于 target/release/code-assistant。构建自包含的 macOS .app 包请参见配置指南。 任何模式都可以接受初始任务:code-assistant --task "Explain this codebase"。
编辑器与客户端集成
- Zed:添加到 Zed 设置中,参见 Zed 关于自定义智能体的文档。
- Claude Desktop:在设置(Developer 标签 → Edit Config)中配置。 对大多数人来说,应用内设置界面就足够了——它会为你管理提供商、模型、MCP 服务器和技能。所有内容也可以通过 JSON 文件配置,还有更多高级选项(项目设置、沙箱模式、工具语法、会话记录、CLI 标志),参见配置指南。
适用场景 适合需要在代码库上运行自主智能体循环、同时希望清楚了解其行为的开发者;适合使用多种 LLM 提供商、需要在 GUI、终端、编辑器或 MCP 客户端中工作的用户;也适合需要让智能体同时处理代码与 Word、Excel、PowerPoint、PDF 等文档,或需要浏览器测试 Web 应用的场景。
限制 资料未提供具体的收费、价格、平台支持范围、性能效果或使用步骤细节。项目欢迎贡献,代码库涉及异步 Rust、AI 智能体架构和跨平台 UI。项目列出了一些方向(并非路线图):陈旧文件的块替换、压缩工具使用失败、记忆工具、更严格的沙箱、搜索块的模糊匹配。