Skip to content

giraffe-tree/Runic

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Runic

一个基于 Rust 的 Code Agent MVP,具备工具调用能力。

概述

Runic 是一个 AI coding agent 编程助手,支持对接多种 LLM 提供商(Claude、OpenAI、Kimi、GLM 等),借助工具调用执行编码任务。它具有基于检查点的状态管理、用于外部工具的 MCP 集成,以及用于交互式会话的终端 UI。

功能特性

  • 多模型支持:对接 Claude、OpenAI、Kimi、GLM 等多种 LLM 提供商
  • 工具调用:用于文件操作、搜索和命令执行的内置工具
  • 检查点/回滚:工具执行前自动创建状态快照
  • MCP 支持:通过 Model Context Protocol 扩展功能
  • 流式响应:来自各模型 API 的实时输出
  • 终端 UI:交互式会话界面

快速开始

前置要求

  • Rust 1.70+
  • 任一支持的 LLM 提供商 API 密钥(Claude / OpenAI / Kimi / GLM 等)

设置

# 克隆仓库
git clone <repo-url>
cd runic

# 构建
cargo build --release

# 设置 API 密钥(选择你使用的提供商)
export CLAUDE_API_KEY="your-api-key"
#
export OPENAI_API_KEY="your-api-key"
#
export KIMI_API_KEY="your-api-key"
#
export GLM_API_KEY="your-api-key"

# 运行
cargo run

或使用配置文件 ~/.runic/config.toml

[model]
provider = "claude"  # 可选: claude, openai, kimi, glm
api_key = "your-api-key"
model = "claude-3-opus-20240229"  # 根据提供商选择相应模型

使用方法

# 启动交互式会话
runic

# 执行单次提示
runic --prompt "解释 src/main.rs 中的代码"

# 列出可用工具
runic --list-tools

架构

CLI → Core Agent → Session → Tools → Model API
            ↓          ↓        ↓
            └──────────┴────────┘ → UI
  • Model 层:统一的多提供商 LLM 客户端接口,支持 Claude、OpenAI、Kimi、GLM 等
  • Tools 系统:内置工具和 MCP 工具的注册表与执行器
  • Session 层:支持检查点/回滚的状态管理
  • Core Agent:支持并行工具执行的基于轮次的事件循环
  • UI 层:终端交互与渲染

开发

# 运行测试
cargo test

# 运行 clippy
cargo clippy --all-features -- -D warnings

# 格式化代码
cargo fmt

许可证

MIT

About

your first mvp agent

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages