# 工具参考 7 个 `bot_*` 工具。前四个只读写 `$DSH_HOME$DSH_HOME/bot/`,后三个会让数据离开本机。 --- ## `bot_status` 读当前状态:实例清单、心跳、队列、**当前生效的模型以及那个选择是从哪来的**。 无参数。 模型那一行是刻意做出来的:**「这个部署没配默认模型」和「插件够不到那个服务」看起来完全一样 —— 都只是「没有模型」—— 但修法不同。** 所以状态里把区别说出来,而不是让人去读代码猜。 --- ## `bot_remember` 记一条持久条目。 | 参数 | 必填 | 说明 | | --- | --- | --- | | `text` | ✅ | 条目正文,写成能独立成立的一句话 | | `kind` | – | `decision` / `fact` / `focus` / `note`,默认 `note` | | `source` | – | `user` / `agent` / `tool`,默认 `agent` | **`kind` 决定它落到哪个文件**:`focus` → `USER.md`(用户在意什么)、`decision` 和 `fact` → `MEMORY-CORE.md`、其余 → `notes/YYYY-MM.md`。**这不是实现细节,是策略** —— 常驻上下文的那几份只放最能改变行为的。 **`source` 是标签,不是判断**:一条保持自己标签的说法有用,同一条话穿上事实的衣服就是隐患。**你没亲自核实时填 `tool`** —— 网页可以写成命令你的样子,而一个被标为「声称」的声称,比一个穿着事实衣服的声称值钱得多。 写日期一律用绝对日期(`2026-04-28`),不要用「今天」「上周」:条目是在写完之后很久才被读到的,那时「今天」什么都不指。 **会被拒绝的写入**:身份证号、社保号、银行卡号、密码密钥、会话令牌 —— **无论设置怎么调都拒绝**,并告诉你该怎么绕(用 `bot_secret`,而不是写下来)。健康、财务、法律、家庭私事按设置处理(默认排除)。 --- ## `bot_recall` 按词检索记忆。 | 参数 | 必填 | 说明 | | --- | --- | --- | | `query` | ✅ | 检索词 | | `kinds` | – | 限定类型 | **中文按双字切分** —— 中文不写空格,按空格分词会让整个检索失效。 每条结果带 `source`(来源)、`ageDays`(多少天前,`-1` 表示算不出)、`stale`(是否超过陈旧阈值)。**`-1` 是刻意的**:未知不该被当成很新,也不该被当成很旧,它该不参与比较。 --- ## `bot_task` 任务队列。 | 参数 | 必填 | 说明 | | --- | --- | --- | | `action` | ✅ | `add` / `update` / `cancel` / `list` | | `id` | 改与撤必填 | 任务 id | | `title` | `add` 必填 | 做什么 | | `note` | – | 补充说明 | | `priority` | – | 1–5,默认 3 | | `due_at` | – | ISO 8601 时刻 | | `repeat` | – | `hour` / `day` / `week`,可钉时刻如 `day 09:00` | | `continuity` | – | `continue`(默认,带上上次结论)或 `fresh`(从零开始) | **任务状态**:`queued` / `running` / `awaiting` / `succeeded` / `failed` / `cancelled`。 `awaiting` 是**合法的中间态而不是错误分支** —— 任务停在某个边界等你回答。列表里能看到它,以及它在请求什么。 **`continuity` 两种答案都对,看是什么活**:每日摘要要拿着上一份(那才叫摘要,而不是每次重新看);每周审计要相反 —— **先读自己上次的结论,一个检查就悄悄变成了橡皮图章。** --- ## `bot_connector` 让实例经用户配置的连接对外说话。 | 参数 | 必填 | 说明 | | --- | --- | --- | | `action` | ✅ | `list` / `send` | | `id` | `send` 必填 | 连接 id | | `message` | `send` 必填 | 要发的内容 | **插件不内置任何平台**,连接由用户在设置页里填:Telegram(bot token + chat id)或一个 HTTP 端点。 只能用它有权使用的连接:每条连接有允许的实例清单,空清单表示全部。 --- ## `bot_secret` 用一次已保存的凭据。 | 参数 | 必填 | 说明 | | --- | --- | --- | | `action` | ✅ | `list` / `type` | | `name` | `type` 必填 | 凭据名 | | `desktop` | `type` 必填 | 送进哪张虚拟桌面 | | `submit` | – | 打完字是否再按一次回车 | **值不经过上下文。** 它从凭据库直接送进虚拟桌面,模型看不到它。**这就是为什么凭据不该被写进记忆** —— 写下来会把这个性质永久毁掉。 依赖 `dsh-vdesktop` 插件;没装时会明确报错,而不是静默失败。 --- ## `bot_agenda` 记下一个时刻该做什么。 | 参数 | 必填 | 说明 | | --- | --- | --- | | `action` | ✅ | `add` / `list` / `done` / `remove` | | `at` | `add` 必填 | ISO 8601 时刻,例如 `2026-10-01T18:30:00+08:00` | | `text` | `add` 必填 | 那一刻做什么 | | `id` | `done` / `remove` 必填 | 条目 id | 到点经连接器提醒。时刻必须是能解析的 ISO 8601 —— **不接受「明天下午」**,因为那句话的含义取决于它在什么时候被读到。 --- ## 相关:MCP 工具 用户配置了 MCP 服务后,那边的工具会以 `mcp__服务器__工具` 的形式出现在同一个工具列表里。 **工具名沿用生态的通行约定**,所以从别的客户端复制过来的名字在这里原样可用。调用失败不会中断任务,而是带着原因返回给模型 —— 与本地工具失败的契约一致。