你有没有想过,让 GPT、Claude、Gemini 坐在同一张桌子上,同时回答你的问题?
krew-cli 就是干这个的——一个多 AI 智能体协作的命令行工具。在一个终端里同时和多个大模型对话,就像主持一场 AI 圆桌会议。
三行命令,直接开聊
GitHub:github.com/zhing2006/k…
npm install -g @zhing2026/krew
krew config init
krew
config init 是交互式配置向导,一步步引导你设置 provider 和 agent,不用手写配置文件。
核心玩法
@ 寻址——像群聊一样
› @all Rust 里最好的错误处理方式是什么?
(所有 agent 依次回答)
› @opus 能详细说说 Result 类型吗?
(只有 Claude 回答)
› 继续说
(自动发给上一个回答的 agent)
#悄悄话——私聊模式
› @all 设计一个聊天应用的架构
(所有 agent 公开回答)
› #opus 你觉得 GPT 的方案有什么问题?
(只有 opus 能看到,其他 agent 看到的是占位符)
还支持多人悄悄话群组:
› #opus #gemini 你们讨论一下这两个方案的优劣
(只有 opus 和 gemini 能看到彼此的回复)
AI 对 AI——自动路由
当一个 agent 的回复里 @ 了另一个 agent,目标 agent 会被自动调度。你可以坐着看它们协作(或者吵架)。
内置工具
agent 不只是聊天机器人,它们能动手:
| 工具 | 功能 |
|---|---|
read_file | 读取文件内容 |
write_file | 创建/覆盖文件 |
edit_file | 搜索替换编辑 |
shell | 执行 shell 命令 |
glob | 文件模式匹配 |
grep | 正则内容搜索 |
fetch_url | 抓取网页内容 |
activate_skill | 激活技能指令 |
所有文件操作都限制在项目目录内,不会越界。
MCP 扩展
通过 Model Context Protocol 服务器扩展 agent 能力,支持 stdio 和 HTTP 两种传输方式:
[[mcp_servers]]
name = "filesystem"
command = "npx"
args = ["-y", "@modelcontextprotocol/server-filesystem", "."]
技能系统
定义可复用的技能包,agent 自动发现并在需要时激活:
my-skill/
├── SKILL.md # 技能定义(名称、描述、指令)
├── scripts/ # 辅助脚本
└── references/ # 参考资料
自定义斜杠命令
用 Markdown 文件定义自己的命令,支持参数替换和 bash 预处理:
---
description: 代码审查
argument-hint: <file_path>
---
请审查以下文件:$ARGUMENTS
最近的改动:
!`git diff --cached`
保存为 .krew/commands/review.md,然后在会话中 /review src/main.rs 就能用。
会话管理
- 实时持久化 —— 每条消息实时保存,崩溃也不丢
- 恢复会话 ——
/resume继续之前的对话 - 时光倒流 ——
/rewind从任意消息点分叉,原会话不受影响 - 自动压缩 —— token 接近上限时自动压缩上下文,悄悄话消息会被保留
Prompt 模式——用在脚本和 CI/CD 里
# CI 中做代码审查
git diff HEAD~1 | krew -p "@opus 检查这些改动有没有 bug"
# JSON 输出方便解析
krew -p "@all hello" --format json
更多特性
- 流式输出 —— Markdown 渲染 + 语法高亮 + 每个 agent 独立配色
- 思考过程 —— 展示模型的推理过程(可配置:low/medium/high)
- 网页搜索 —— 原生支持 OpenAI、Anthropic、Gemini 的搜索能力
- 独立采样参数 —— 每个 agent 可单独配置 temperature、top_p、max_tokens
- 项目指令 ——
AGENTS.md文件自动注入到 agent 的系统提示词 - 配置管理 ——
krew config init/add/del/list/doctor完整的配置 CRUD
支持的 Provider
| Provider | 模型示例 |
|---|---|
| OpenAI | GPT-5.4 |
| Anthropic | Claude Opus 4.6, Sonnet 4.6 |
| Gemini 3.1 Pro(含 Vertex AI) | |
| OpenAI 兼容 | OpenRouter、LiteLLM 等任意兼容 API |
实战:用 OpenRouter 接入数百个模型
OpenRouter 是一个 OpenAI 兼容的聚合平台,一个 API key 就能访问数百个模型。
方式一:交互式向导(推荐)
krew config init
=== User Configuration (Providers) ===
Add provider [1]
Select provider type:
Anthropic
OpenAI
Google
> OpenAI-Compatible
Provider name [openai-compatible]: openrouter
API key storage method:
Environment variable
> Store in config file
API key: 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
Base URL: https://openrouter.ai/api/v1
Added provider "openrouter" (OpenAI)
Add another provider? (y/N): N
--- Providers Summary ---
Name Type Key Method Base URL
------------------------------------------------------------------------
openrouter OpenAI config file https://openrouter.ai/api/v1
Initialize agent configuration for current project? [Y/n]Y
=== Project Configuration (Agents) ===
Select setup mode:
> Smart Preset
Manual Setup
Fetching available models...
Select preset:
Single Agent
> Three Agents
...
向导会自动拉取 OpenRouter 上可用的模型列表,选好就能用。
方式二:手动配置
用户配置 ~/.krew/settings.toml:
[providers.openrouter]
type = "openai"
api_key = "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"
base_url = "https://openrouter.ai/api/v1"
项目配置 .krew/settings.toml:
[settings]
reply_order = ["sonnet", "gpt"]
[[agents]]
name = "sonnet"
display_name = "Claude Sonnet"
provider = "openrouter"
model = "anthropic/claude-sonnet-4"
color = "magenta"
tools = true
[[agents]]
name = "gpt"
display_name = "GPT-4.1"
provider = "openrouter"
model = "openai/gpt-4.1"
color = "green"
tools = true
不管哪种方式,你只需要一个 OpenRouter 账号,就能同时使用 Claude 和 GPT,甚至更多模型。
技术栈
Rust + Tokio + Ratatui,单个静态链接二进制文件,零运行时依赖。支持 Windows、Linux(x64/arm64)、macOS(x64/arm64)五个平台。
GitHub:github.com/zhing2006/k…
安装:npm install -g @zhing2026/krew
欢迎 Star、提 Issue 和 PR!