内容
# 工具列表
[](https://github.com/philpof102-svg/toshi/actions/workflows/ci.yml)

一个小型 AI 伴侣,位于您的终端旁边,佩戴着社区准备的 Toshi 徽标,来自 [tinyhumansai/mascots](https://github.com/tinyhumansai/mascots)。它会监视您的 [`gitlawb/zero`](https://github.com/gitlawb/zero) 编码会话,您可以与它讨论正在发生的事情 - 更改了什么,为什么测试是红色的,接下来该怎么做 - 通过一个小的、token-cheap 上下文,而不是完整的聊天界面。
> 不是新的徽标。我们采用已经开源的 Toshi 模型([PR #2, merged](https://github.com/tinyhumansai/mascots/pull/2))
> 并给予它工具:一个 `zero` 插件 + 一个 MCP 服务器 + 一个渲染真实 Rive 徽标的侧边面板。
## 它是什么
- **运行于 `gitlawb/zero`** - Zero 是运行时(Go, MIT, MCP 客户端和服务器)。Toshi 是一个插件
(`./.zero/plugins/toshi/`) 加上一个 stdio MCP 服务器,因此任何 MCP 客户端(Claude Desktop, Cline, …)都可以调用它。
- **侧边的徽标** - `panel/index.html` 是一个 WebView,加载真实的 `toshi.riv`,来自 tinyhumans 清单文件,并驱动其状态机(idle · look_around · pointing · hand_wave · dancing · celebration,加上 eye channel)。它是面部;MCP 是大脑。
- **设计上 token-cheap** - 会话感知来自 [`DeusData/codebase-memory-mcp`](https://github.com/DeusData/codebase-memory-mcp)
(MIT):一个持久的知识图谱,存储库的 ~99% 更少的 tokens 比逐一读取文件。Toshi 询问 *它*
更改了什么,而不是重新读取树,因此大多数回合保持较小。
- **您签名,始终** - 任何货币操作仅为描述符:Toshi *准备* 交易,您签名它。无托管。
## 布局
```
toshi/
├── panel/index.html 侧边面板 WebView(渲染真实 Toshi 徽标 + 会话对话)
├── mcp/toshi-mcp.mjs MCP 服务器(toshi_status / toshi_ask / toshi_mood)+ 面板调用的 /ask 桥接
├── plugin/plugin.json gitlawb/zero 插件清单文件
├── tinyhumans/mascots.json 固定的上游清单文件(我们消费的徽标合约)
├── ATTRIBUTION.md 上游积分 + 许可证
└── LICENSE GPL-3.0(Toshi 徽标是 GPL-3.0,因此也是)
```
## 运行它
**浮动伴侣(Clippy 能量)** - 一个命令启动徽标窗口 *和* 它的脑部:
```bash
npm install # 一次
npm run toshi # 一个无边框、始终在顶部的 Toshi 浮动在右下角,覆盖任何终端
```
**从任何地方启动** (Windows · macOS · Linux)- `npm i -g .` 一次,然后在任何存储库中输入 `toshi`,它会浮动在该终端上,读取该存储库。Windows 还具有可双击的 **`toshi.bat`**。通过其头部拖动 Toshi;通过 ✕ 隐藏它。它用挥手问候您,在您询问时浮动并眨眼,反应,并在您有 *有根据* 的答案时突然庆祝。
**让其答案真实** - 为您的存储库编制索引,以便 `toshi_ask` 读取图谱而不是猜测(token-cheap):
```bash
# 获取 codebase-memory-mcp (MIT,本地,无遥测),然后:
codebase-memory-mcp cli index_repository '{"repo_path":"/abs/path/to/your/repo"}'
# 告诉 Toshi 存储库 + 二进制文件的位置(可选;默认为 cwd / PATH):
export TOSHI_REPO=/abs/path/to/your/repo
export CODEBASE_MEMORY_BIN=/abs/path/to/codebase-memory-mcp
```
在此之前,Toshi 以 **诚实演示模式** 运行 - 徽标完全活着,它 *说* 它还不能读取您的会话(带有确切的索引命令),而不是编造答案。
**给 Toshi 一个声音(可选)** - 安装 [`zero`](https://github.com/gitlawb/zero) 并使用任何提供程序运行 `zero setup`(免费/本地模型如 ollama 有效)。然后,Toshi 用 *有根据* 的答案以您的语言 *说话* -
1-3 个温暖的句子,仅从它检索的内容合成,绝不发明。没有 zero?将 Toshi 指向任何 OpenAI 兼容的端点:`TOSHI_API_URL` + `TOSHI_API_KEY` + `TOSHI_API_MODEL`。`TOSHI_LLM=off` 禁用。
## 将 CLI 放在任何地方
相同的三个文件在 **Windows, macOS 和 Linux** 上运行(所有三个 CI 证明):
| 表面 | 方法 |
|---|---|
| **任何终端(所有人)** | `npm i -g github:philpof102-svg/toshi` - 无需注册表。然后在任何存储库中输入 `toshi`:第一次调用浮动伴侣;输入 `toshi` 在 *另一个* 终端中连接该存储库(无第二个窗口)。Electron 是 **可选的** - 在无法安装的地方,`toshi` 运行脑部 + 一个浏览器面板,位于 `http://127.0.0.1:4821/panel/`。 |
| **[zero](https://github.com/gitlawb/zero) 插件** | 将此存储库放在 `./.zero/plugins/toshi/` → zero 获取 `toshi_status` / `toshi_ask` / `toshi_mood` / `toshi_watch`。 |
| **使用 zero 自动浮动** | `toshi setup` (或 `npm run zero-hook`)一次 → `sessionStart` 钩子使 Toshi 出现(监视该存储库)每次您启动 zero。`toshi setup --remove` 撤销它。 |
| **召唤 / 最小化** | `toshi show` · `toshi hide` · `toshi toggle` 从任何终端(约 4 秒后拾取)。 ─ 按钮将 Toshi 折叠成一个小的浮动头 - 点击它展开; ✕ 退出。 |
| **[openclaude](https://github.com/Gitlawb/openclaude)** | `toshi setup --mcp` 在 `~/.openclaude.json` 中注册 Toshi 的 MCP → `toshi_ask` / `toshi_status` / `toshi_mood` / `toshi_watch` 在 openclaude 内。 |
| **Claude Desktop / Cline / 任意 MCP 客户端** | `toshi setup --mcp --file <path-to-config>`,或手动:`{"command": "node", "args": ["/abs/path/toshi/mcp/toshi-mcp.mjs"]}` |
| **脚本 / 任意 HTTP** | `POST http://127.0.0.1:4820/ask {"q":"…"}` · `POST /repo {"path":"…"}` · `GET /health` |
| **浏览器(无 Electron)** | `node serve.js` → `http://127.0.0.1:4821/panel/` |
## 诚实状态
- **v0, 未审计。** 面板 + 徽标渲染是真实的;MCP 的“关于您会话的答案”是一个桥梁到 `codebase-memory-mcp` - 在信任其答案之前连接您的模型/提供程序。
- Rive 运行时和 `.riv` 加载到网络上的真实浏览器/WebView。将其用于离线使用。
- 许可证:**GPL-3.0** (上游 Toshi 徽标是 GPL-3.0;派生品必须匹配)。参见 `ATTRIBUTION.md`。
## 积分
徽标 **Toshi** 来自 [tinyhumans](https://github.com/tinyhumansai/mascots) (GPL-3.0)。会话内存来自
[codebase-memory-mcp](https://github.com/DeusData/codebase-memory-mcp) (MIT)。运行时 [gitlawb/zero](https://github.com/gitlawb/zero) (MIT)。