一个用Rust编写的AI编码助手,提供命令行界面和图形用户界面,用于自主代码分析和修改。
多模态工具执行:适应不同大语言模型的能力,具有可插拔的工具调用模式——原生函数调用、XML风格标签和三重插入符号块——确保与各种AI提供商兼容。
实时流式接口:高级流处理器解析并显示从大语言模型流式传输的工具调用,并通过智能过滤防止不安全的工具组合。
基于会话的项目管理:每个聊天会话都与特定项目相关联,并维护持久状态、工作记忆和草稿消息,支持附件。
多种界面选项:可以选择基于Zed的GPUI框架构建的现代GUI、传统的终端界面或无头MCP服务器模式,以与如Claude Desktop这样的MCP客户端集成。
代理客户端协议(ACP)支持:完全兼容代理客户端协议标准,使无缝集成到兼容ACP的编辑器如Zed成为可能。参见Zed文档中的添加自定义代理设置说明。
会话压缩:在即将超出上下文空间之前,代理生成会话摘要并继续工作。
自动加载仓库指导:自动包含项目根目录下的AGENTS.md(或CLAUDE.md作为备选)到助手的系统上下文中,使其行为符合仓库特定的指令。
# 在macOS或Linux上,通过rustup安装Rust工具链:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# 在macOS上,你需要metal工具链:
xcodebuild -downloadComponent MetalToolchain
# 然后克隆仓库并构建:
git clone https://github.com/stippi/code-assistant
cd code-assistant
cargo build --release
二进制文件将在target/release/code-assistant中可用。
构建完成后,创建您的配置文件:
# 创建配置目录
mkdir -p ~/.config/code-assistant
# 复制示例配置
cp providers.example.json ~/.config/code-assistant/providers.json
cp models.example.json ~/.config/code-assistant/models.json
# 编辑文件以添加您的API密钥
# 设置环境变量或直接更新JSON文件
export ANTHROPIC_API_KEY="sk-ant-..."
export OPENAI_API_KEY="sk-..."
请参阅配置部分获取详细的设置说明。
创建~/.config/code-assistant/projects.json来定义可用项目:
{
"code-assistant": {
"path": "/Users/<username>/workspace/code-assistant",
"format_on_save": {
"**/*.rs": "cargo fmt" // 格式化项目中的所有文件,因此请确保文件已格式化
}
},
"my-project": {
"path": "/Users/<username>/workspace/my-project",
"format_on_save": {
"**/*.ts": "prettier --write {path}" // 如果格式化程序接受路径,请提供"{path}"
}
}
}
可选的format_on_save字段允许在修改后自动格式化文件。它将文件模式(使用通配符语法)映射到shell命令:
请参阅文档/自动保存格式化功能.md获取详细文档。
重要提示:
# 启动图形界面
code-assistant --ui
# 启动GUI并指定初始任务
code-assistant --ui --task "分析身份验证系统"
# 基本使用
code-assistant --task "解释这个代码库的目的"
# 使用特定模型
code-ass