像猪猪侠一样,看似憨厚,实则全能。
GG-Bond 是一个极简的 AI Agent CLI 工具,具备 ReAct 推理循环、8 个内置工具、技能系统和会话持久化。
# 交互模式
gg-bond
# 单次调用
gg-bond agent --message "帮我查看 package.json"
# JSON 格式输出(方便程序化调用)
gg-bond agent --json --message "列出当前目录的文件"
# 指定会话 ID(多轮对话复用)
gg-bond agent --message "继续上次的任务" --session-id "my_session"
# 外部注入 system prompt
gg-bond agent --message "评审这个 PR" --system-prompt "你是代码评审专家"
# 图片识别(需配置 vision,见下方说明)
gg-bond agent --message "帮我识别这张图片" --images https://example.com/screenshot.png
# 多张图片
gg-bond agent --message "对比这两张截图的差异" --images https://example.com/before.png https://example.com/after.png
# 图片 + JSON 输出
gg-bond agent --json --message "识别图片中的文字" --images https://example.com/doc.png
# 测试模式
gg-bond --test
| 参数 | 缩写 | 说明 |
|---|---|---|
agent | - | 子命令,进入单次调用模式 |
--message | -m | 发送的消息内容 |
--session-id | -s | 会话 ID(默认 cli:local) |
--system-prompt | - | 外部注入的 system prompt |
--json | - | JSON 格式输出 |
--test | - | 测试模式,发送测试消息后退出 |
多来源配置,优先级:CLI 参数 > 环境变量 (.env) > 配置文件 (gg-bond.json) > 默认值
配置文件按顺序查找:$GG_BOND_CONFIG_PATH → ./gg-bond.json → ~/.gg-bond/gg-bond.json
{
"agent": {
"defaultModel": "deepseek-chat",
"providers": {
"openai": {
"apiKey": "sk-xxx",
"baseUrl": "https://api.deepseek.com/v1"
}
}
}
}
当主模型不支持图片识别时,可配置独立的视觉模型。图片会先由 vision 模型识别为文本描述,再发给主模型处理。不配置则直接透传图片给主模型(要求主模型本身支持 vision)。
{
"agent": {
"defaultModel": "deepseek-chat",
"providers": {
"openai": { "apiKey": "sk-xxx", "baseUrl": "https://api.deepseek.com/v1" }
},
"vision": {
"model": "gpt-4o",
"provider": {
"apiKey": "sk-xxx",
"baseUrl": "https://api.openai.com/v1"
}
}
}
}
| 字段 | 说明 |
|---|---|
vision.model | 视觉模型名称,如 gpt-4o / glm-4v-plus / qwen-vl-max |
vision.provider.apiKey | 可选,不配则复用主 provider 的 apiKey |
vision.provider.baseUrl | 可选,不配则复用主 provider 的 baseUrl |
OPENAI_API_KEY=sk-xxx
LLM_BASE_URL=https://api.openai.com/v1
LLM_MODEL=gpt-4o
BRAVE_SEARCH_API_KEY=xxx # 可选,启用 Brave 搜索
VISION_MODEL=gpt-4o # 可选,视觉模型
VISION_API_KEY=sk-xxx # 可选,视觉模型独立 API Key
VISION_BASE_URL=https://api.openai.com/v1 # 可选,视觉模型独立端点
docker build -t gg-bond .
docker run -it gg-bond
docker run gg-bond agent --message "列出文件"