终端 AI 编程助手 — 开源、多 Provider、可编排
English | 简体中文
(项目处于初始阶段,版本号在正式发布前保持 0.x.x。遵循 语义化版本 2.0)
一个可扩展的终端 AI 编程助手,支持 34 个 LLM 服务商,内置 17 个开发工具
# 从源码构建(需要 Rust 1.85+)
git clone https://github.com/Ringaire/Ring-CLI.git
cd RingCLI
cargo install --path crates/ring-cli
# 或直接运行
cargo run --release# 方式一:交互式向导
ring
# 输入 /connect,选择 provider,输入 API key
# 方式二:快速连接
ring
# /connect anthropic sk-ant-xxx
# 方式三:环境变量
export ANTHROPIC_API_KEY="sk-ant-xxx"
export OPENAI_API_KEY="sk-xxx"
export DEEPSEEK_API_KEY="sk-xxx"配置文件位于 ~/.ring/config/settings.jsonc(支持注释)。
- 🤖 34 个 Provider — Anthropic / OpenAI / Gemini / DeepSeek / 智谱 / 通义千问 / MiniMax / 小米 / HuggingFace / Cloudflare 等,OpenAI OAuth2 登录
- 🛠️ 17 个内置工具 — bash、文件读写编辑、搜索、Web、LSP、TODO、会话管理
- 🎭 多 Agent 编排 — 子 agent 派生 + role-based 选模 + 视图分离
- 🔐 权限五档 — Ask(只读)→ Edit(改码)→ Plan(规划)→ Build(全开)→ Agent(自主)
- 🧠 七级思考程度 —
/effort off|minimal|low|medium|high|xhigh|max,下拉菜单 +Shift+Tab循环 - 📝 可编排 Prompt — SKILL.md 支持
$1$@${N:-default}${@:N}参数替换 - 📂 项目级配置 —
.ring/目录:SYSTEM.md / APPEND_SYSTEM.md / tool.json / mode / doc - 📦 会话持久化 — JSONL 存储 + 上下文自动压缩
- 🔌 MCP 兼容 —
tool.json/mcp_server.json/.mcp.json,多路径发现 - 🧩 Skill / Doc 系统 — SKILL.md(Markdown + frontmatter),兼容
.agents/skills/与.ring/doc/ - 🖥️ TUI 终端界面 — Ratatui + 自实现 Markdown 渲染 + 宽度感知换行
输入 / 查看:
| 命令 | 说明 |
|---|---|
/connect |
配置 provider(向导 / 快速连接 / ChatGPT OAuth2) |
/logout |
移除已存储的 provider 凭据(下拉选择 / /logout <provider>) |
/model |
模型选择器(跨 provider 分组 + 搜索) |
/mode |
权限模式选择器(ask/edit/plan/build/agent) |
/effort |
思考程度下拉菜单(off/minimal/low/medium/high/xhigh/max) |
/think |
Extended thinking(on/off [budget]) |
/thinking |
折叠/展开推理过程 |
/sessions |
会话管理 |
/compact |
压缩上下文 |
/new |
新建会话 |
/help |
完整命令列表 |
| 键 | 说明 |
|---|---|
↑ ↓ |
多行光标移动 / 历史(空输入时) |
Tab |
补全接受 / 权限模式切换 |
Shift+Tab |
循环思考程度(off→minimal→low→medium→high→xhigh→max) |
Ctrl+T |
开关 extended thinking |
Ctrl+O |
折叠/展开推理过程 |
Ctrl+↑ Ctrl+↓ |
子 agent 视图切换 |
Alt+↑ Alt+↓ |
聊天滚动 |
Alt+Enter |
多行输入 |
@path |
文件引用 |
粘贴 file:// |
自动转 @path |
| Provider | 类型 |
|---|---|
| Anthropic | 原生 SDK + OAuth2 |
| OpenAI | 原生 SDK + ChatGPT OAuth2 |
| Google Gemini | 原生 SDK |
| DeepSeek / Groq / Mistral / Together / OpenRouter / xAI | OpenAI 兼容 |
| Moonshot / SiliconFlow / Zhipu / Baidu / NVIDIA | OpenAI 兼容 |
| Cerebras / DeepInfra / Fireworks / Perplexity / Cohere | OpenAI 兼容 |
| HuggingFace / MiniMax / MiniMax-CN / Qwen / Qwen-CN | OpenAI 兼容 |
| Xiaomi / Xiaomi-AMS / Xiaomi-SGP / ZAI / ZAI-CN / Ant-Ling | OpenAI 兼容 |
| Cloudflare-Workers / Cloudflare-Gateway / Vercel-Gateway / OpenCode | OpenAI 兼容 |
| Ollama / LM Studio | 本地模型(无需 key) |
| Custom | 任意 OpenAI 兼容 API |
~/.ring/
├── config/
│ ├── settings.jsonc # 主配置(支持注释)
│ ├── providers.json # provider 覆盖
│ ├── tool.json # MCP 工具(新统一格式)
│ ├── mcp_server.json # MCP 工具(旧格式兼容)
│ ├── .mcp.json # Claude Code 兼容
│ ├── SYSTEM.md # 自定义系统提示词(替换默认)
│ └── APPEND_SYSTEM.md # 追加系统提示词
├── skills/ # 全局技能
├── doc/ # 全局文档(skill 新命名)
├── prompts/ # 提示词模板
├── mode/ # 模式定义
└── sessions/ # 会话存储(JSONL)
./.ring/
├── settings.jsonc # 项目配置
├── tool.json # 项目 MCP 工具
├── mcp_server.json # 项目 MCP 工具(旧格式)
├── .mcp.json # Claude Code 兼容
├── SYSTEM.md # 项目自定义系统提示词
├── APPEND_SYSTEM.md # 项目追加系统提示词
├── skills/ # 项目技能
├── doc/ # 项目文档
├── mode/ # 项目模式定义
│ └── {mode}.md # 模式提示词
└── workflow.json # 模型编排(规划中)
RingCLI 会自动发现并注入以下文件到系统提示词:
| 文件 | 说明 | 发现方式 |
|---|---|---|
AGENTS.md |
项目指令 | 从 cwd 向上遍历至 git 根 |
CLAUDE.md |
兼容 Pi / Claude Code | 从 cwd 向上遍历至 git 根 |
.ring/SYSTEM.md |
自定义系统提示词 | 项目级 > 全局 |
.ring/APPEND_SYSTEM.md |
追加到系统提示词末尾 | 项目级 > 全局 |
按以下顺序合并(近覆盖远):
cwd/tool.json— 工作目录新格式cwd/mcp_server.json— 工作目录旧格式cwd/.mcp.json— Claude Code 兼容(向上遍历)cwd/.ring/{tool,mcp_server,.mcp}.json— 项目.ring/~/.ring/config/{tool,mcp_server,.mcp}.json— 全局
- 多 Provider + OAuth2(34 个)
- 17 个内置工具 + MCP 兼容(多路径发现)
- 多 Agent 编排 + 视图分离
- 权限五档 + 七级思考程度
- Skill / Doc 系统(SKILL.md + 参数替换)
- 项目级
.ring/配置 + SYSTEM.md / APPEND_SYSTEM.md - 自实现 Markdown 渲染
-
.ring/mode/{mode}.md模式系统 -
.ring/workflow.json模型编排 - API Key 轮询
- 文件变更检测(Snapshot)
- VSCode 扩展
Made with ❤️ by Ringaire玲汐