#ollama #ai-agent #llm #cli

bin+lib ariste

An AI Agent framework with tool calling and multi-agent collaboration support

1 stable release

Uses new Rust 2024

new 1.0.0 Feb 9, 2026

#23 in #ollama

MIT license

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