🤖 Google ADK · Gemini · 命令行优先

SSR Agent

一个可扩展的命令行 AI 编码与协作智能体:检索式上下文、异步事件总线、MCP 插件、技能系统,以及飞书 / 微信 / 小爱音箱多频道接入。

# 一行启动交互式 TUI
$ ssr
# 一次性提问
$ ssr ask "重构这个模块并补测试"
# 把小爱音箱接成语音频道
$ ssr channel login xiaomi --browser
$ ssr gateway install voicebox --channel xiaomi

核心功能

围绕「上下文检索 + 工具调用 + 异步协作」构建,每一块都能渐进降级,缺少可选依赖或网络时不致命。

🧠

上下文池(Context Pool)

五大类别 —— 工具 / 配置 / 技能 / 记忆 / 参考资料,配合 model2vec 嵌入索引,做经典 grep 与语义混合检索,回答前先「查」再「答」。

🛠️

工具集(Toolkit)

文件读写、run_command、后台异步终端、记忆持久化、Tavily 网络搜索、计划管理、子智能体委派 —— 都是带类型签名的纯函数。

📡

事件总线(Event Bus)

JSON-RPC 2.0 异步发布订阅。用 bus_create_handler 注册「事件处理者智能体」:每次匹配事件触发一个新回合,不阻塞主循环、不漏事件,支持一次性 / 每次、继承会话 / 隔离子智能体。

🔌

插件与 MCP

兼容 Claude-Code 插件格式,贡献 MCP 服务器并与 ~/.ssr/mcp.json 合并;通过 ${namespace.key} 共享凭据。内置 chrome-devtools。

📚

技能系统(Skills)

~/.agent / ~/.codex / ~/.gemini / ~/.claude / ~/.ssr 发现技能,并内置可一键安装的内建技能(含 review-mode)。

💬

IM / 语音频道

飞书(Lark)、微信,以及小爱音箱:轮询小米云对话历史做 ASR,先暂停播放再用 TTS 念出回答(MiIO play-text)。浏览器一键登录、缓存 passToken。

🚀

网关(Gateway)

把频道实例装成系统服务,开机自启、崩溃重启:Linux systemd 用户单元、macOS launchd、Windows pm2(带重启护栏,缺 pm2 回退计划任务)。

🗂️

会话记录(Sessions)

追加式对话流水存于 ~/.ssr/sessions/<id>.jsonl,REPL / 一次性 / 频道每一轮都被记录,/sessions 可浏览回放。

🧩

多模型 & 兼容服务

ssr models config 配置 Gemini / Anthropic / OpenAI 多模型与回退;ssr serve 暴露 OpenAI 兼容 HTTP 服务;--experimental-acp 提供 ACP 协议。

🔔

推送与协作

push_notification 可推送到飞书 / 微信 / 小爱音箱 TTS;事件总线把多个智能体 / 任务 / 外部程序连起来,可选 api-key 鉴权。

快速上手

需要 Python 环境与 GEMINI_API_KEY。安装后即可在终端使用。

安装 & 启动

# 安装(可编辑模式)
pip install -e .

# 初始化 ~/.ssr,写入 .env 模板
ssr init

# 启动交互式 TUI
ssr

# 一次性提问
ssr ask "给这个函数加上类型注解"

总线 · 频道 · 服务

# 事件总线(自带鉴权服务器)
ssr bus serve --api-key SECRET
ssr bus send task.done '{"id":42}'

# 把频道装成开机服务
ssr channel config feishu
ssr gateway install bot --channel all

# OpenAI 兼容 HTTP 服务
ssr serve --port 8000

给 LLM 的索引

本站提供 /llms.txt —— 遵循 llms.txt 规范的机器可读索引,方便其它 AI 智能体快速理解 SSR Agent 的功能与文档入口。

curl https://<your-site>.netlify.app/llms.txt