1 stable release
Uses new Rust 2024
| new 1.0.0 | Feb 9, 2026 |
|---|
#23 in #ollama
125KB
3K
SLoC
Ariste
Ariste 是一个用 Rust 编写的 AI Agent 框架,支持工具调用和多代理协作。它提供了一个强大的命令行界面,让你可以与 AI 模型进行交互式对话,并利用各种工具来完成复杂的软件工程任务。
特性
- 交互式 CLI - 提供友好的命令行界面,支持历史记录和自动补全
- 工具调用 - 内置多种工具用于文件操作、代码搜索、命令执行等
- 多代理支持 - 支持启动专门的子代理处理特定任务
- Ollama 集成 - 默认使用 Ollama 作为 LLM 提供商
- 配置灵活 - 支持自定义模型、API endpoint 等配置
支持的工具
| 工具 | 描述 |
|---|---|
Bash |
执行 shell 命令 |
Read |
读取文件内容 |
Write |
写入文件 |
Edit |
编辑文件(支持字符串替换) |
Glob |
文件模式匹配 |
Grep |
在文件中搜索内容 |
WebFetch |
获取网页内容 |
Task |
启动子代理处理复杂任务 |
TodoWrite |
任务管理和跟踪 |
安装
前置要求
- Rust (edition 2024 或更高版本)
- Ollama (用于运行本地 LLM)
从源码构建
git clone <repository-url>
cd ariste
cargo build --release
构建完成后,二进制文件位于 target/release/ariste。
配置
Ariste 会在当前工作目录下创建 .ariste 文件夹用于存储配置和历史记录。
默认配置(.ariste/config.json):
{
"provider": "ollama",
"base": "http://127.0.0.1:11434",
"model": "qwen3"
}
你可以修改此文件来使用不同的模型或 Ollama 实例。
使用方法
启动 Ariste
cargo run --bin ariste
# 或使用已构建的二进制文件
./target/release/ariste
命令
/help- 显示帮助信息/clear- 清空对话历史/quit或/exit或/q- 退出程序
示例对话
➜ ariste cargo run --bin ariste
Ariste v0.1.0
===============
Working directory: /path/to/your/project
Type your message and press Enter to send.
Use /quit to exit.
You: 请列出当前目录的所有 Rust 源文件
Ariste: [使用 Glob 工具查找文件]
You: 在 main.rs 中搜索 "println"
Ariste: [使用 Grep 工具搜索内容]
You: /q
项目结构
src/
├── agent/ # Agent 和消息处理
├── cli/ # 命令行界面和自动补全
├── config/ # 配置管理
├── llm/ # LLM 集成 (Ollama)
├── tools/ # 工具实现
├── ui/ # 用户界面组件
├── utils/ # 工具函数
├── main.rs # 主程序入口
└── lib.rs # 库入口
开发
运行测试
cargo test
代码格式化
cargo fmt
检查代码
cargo clippy
依赖
主要依赖项:
tokio- 异步运行时reqwest- HTTP 客户端tungstenite- WebSocket 支持rustyline- 命令行界面clap- 命令行参数解析serde- 序列化/反序列化colored- 终端颜色输出
完整依赖列表请参见 Cargo.toml。
许可证
本项目采用 MIT 许可证。详见 LICENSE 文件。
贡献
欢迎提交 Issue 和 Pull Request!
致谢
本项目灵感来源于 Claude Code 和其他 AI Agent 框架。
Dependencies
~14–31MB
~400K SLoC