用户在手机上与「秘书」对话,秘书理解意图后,通过局域网里的 opencode server 在 PC 上派活、确认权限、总结结果。
启动即扫描局域网内 opencode 机器,多机器列表,跨平台标准 mDNS 协议。
抽屉按「机器 → 项目目录 → session」组织,随时切换、新建会话。
秘书调用 run_opencode_task,不依赖脆弱的文本标记。
opencode 的 token 输出、工具调用、权限请求经 SSE 实时上屏。
手机上一键 approve / deny / 总是允许,回传 opencode。
API key 用 EncryptedSharedPreferences 加密保存。
| 角色 | 模型 / 引擎 | 用途 |
|---|---|---|
| 秘书主脑 | DeepSeek V4 Flash | 理解意图、生成 run_opencode_task 指令、总结 opencode 输出 |
| 图像理解 | SenseNova Flash-Lite | 两阶段管线:Flash-Lite 描述图片 → DeepSeek 回答 |
| 编码执行 | opencode server | 实际编码 agent,读写文件、跑命令、返回 diff |
| 权限批准 | 用户(手机上) | opencode 请求改文件/跑命令时,手机弹出 approve / deny |
Sakichan 并非一次成型。它死了两次——但每一代留下的"魂"都被下一代吸收,最终熔出一个真正有用的东西。
| 世代 | 形态 | 遗产 | 结局 |
|---|---|---|---|
| 初代 Saki | Rust CLI · 角色驱动本地编程助手(十阶段工作流 + 五大插槽) | 代理编排思想——把模型编排成团队,后来演进为秘书的双层思考 agent | ✕ 死于 opencode / Claude Code——它们已经做得更好 |
| 二代 Saki | Rust 三 crate(core + CLI + GTK4)· 泛化 AI 聊天客户端 | 确立 Metro 设计语言 + 墨绿主题 #1C5035(思考块折叠 / Markdown / 流式输出的雏形) | ✕ 死于定位不明——一个没有杀手锏的聊天客户端 |
| 三代 · Sakichan SE | Android · Kanesumi UI · opencode 秘书前端 | 初代的编排之魂 + 二代的 UI 与墨绿之魂,熔进"手机遥控 · PC 工作台"的秘书定位 | ● 活着——两个前代留下的东西都在这里有用 |
UI 基于 Kanesumi(includeBuild 组合构建接入),墨绿主题 #1C5035;网络 OkHttp + okhttp-sse;DI Koin;存储 DataStore + EncryptedSharedPreferences;minSdk 26。
目标非模仿,而是陪伴与本地优先之实用工具。
AI 应提供用户尚未想到的连接,而非放大用户原有观点。