# astrbot-plugin-dsh-bridge **Repository Path**: seasmall/astrbot-plugin-dsh-bridge ## Basic Information - **Project Name**: astrbot-plugin-dsh-bridge - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-08-29 - **Last Updated**: 2026-08-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # AstrBot × DeepSeek Harness 中继桥(dsh_bridge) 一个 [AstrBot](https://github.com/AstrBotDevs/AstrBot)(4.x)插件:在聊天中通过 **`/dsh <内容>`** 把消息转发给本机后台的 **DeepSeek Harness(DSH)**,等待后台生成**完整回复**后一次性返回给用户。 - **静默处理**:转发与等待期间不发送任何"正在处理…"之类的进度提示,只在你拿到结果时回复; - **上下文连续**:每个聊天会话(`unified_msg_origin`)对应一个 DSH 会话,多轮对话共享上下文,像在 DSH Web GUI 里聊天一样; - **长回复自动分段**:超过单条上限自动拆成多条发送,不会被平台截断。 ## 🧩 工作原理 1. 用户在聊天中发送 `/dsh 帮我写个脚本`; 2. 插件通过 DSH 的 HTTP RPC 接口(`POST {base_url}/api/session.*`): - 首次:为该聊天**创建**一个 DSH 会话(`session.create`),并把会话 ID 存入插件 KV 存储,之后一直复用; - 把用户文本作为消息**发送**(`session.prompt`,队列模式); 3. 插件按固定间隔**轮询**会话历史(`session.history`),直到出现对应轮次的 `turn/end` 事件(后台已完整回答); 4. 从事件流中抽取助手文本(`assistant/chunk` 的 `text-delta` 逐块拼接,兼容 `assistant/message`),**一次性**返回给用户; 5. 后台不可用 / 超时 / 出错时,返回明确的错误信息(静默仅指处理过程不打扰用户,结果与错误都会如实回复)。 > 默认连接 `http://127.0.0.1:3080`,即 DSH Web GUI 的后端地址(DSH 的默认端口)。AstrBot 与 DSH 不在同一台机器时,把 `base_url` 改为 DSH 所在机器的地址即可(DSH 默认只信任本机回环请求,跨机器请自行配置 DSH 的信任主机)。 ## 📦 安装 1. AstrBot WebUI →「插件」→「安装插件」→「通过 Git 地址安装」 2. 输入:`https://github.com/SeaSmall/astrbot-plugin-dsh-bridge` 3. 启用插件,确认配置面板里的 `base_url` 指向你的 DSH 后台 > 要求 **AstrBot 4.x**,且 AstrBot 所在机器能访问到 DSH 后台。 ## ⚙️ 配置说明 | 配置项 | 类型 | 默认值 | 说明 | | --- | --- | --- | --- | | `base_url` | string | `http://127.0.0.1:3080` | DeepSeek Harness 后台地址(DSH Web 默认端口 3080) | | `timeout_seconds` | int | `600` | 等待后台完整回复的最长时间(秒),超时向用户返回错误 | | `poll_interval` | int | `2` | 轮询后台状态的间隔(秒),越小响应越及时、请求越频繁 | | `max_chars` | int | `3800` | 单条回复最大字符数,超出自动分段发送 | | `cwd` | string | 空 | 新建 DSH 会话的工作目录(留空用后台默认目录) | | `agent_preset` | string | 空 | 新建 DSH 会话的 agent 预设(留空用后台默认,如 `standard`) | ## 🎮 指令 | 指令 | 说明 | | --- | --- | | `/dsh <内容>` | 把内容转发给 DSH 后台,等待完整回复后静默返回 | | `/dsh_new` | 重置当前聊天的 DSH 会话(下次 `/dsh` 开启全新对话) | ## 📝 效果示例 ``` 用户: /dsh 用一句话介绍你自己 机器人:(静默等待后台完成…) 机器人: 我是运行在 DeepSeek Harness 里的 AI 助手,可以帮你处理代码、文件和各类任务。 ``` ``` 用户: /dsh_new 机器人: ✅ 已重置当前会话的 DSH 上下文,下次 /dsh 将开启全新对话。 ``` ## ⚠️ 注意事项 - 每个聊天首次使用 `/dsh` 时,会在 DSH 后台创建一个新会话,它会出现在 DSH Web GUI 的会话列表中(标题为自动生成),可在 GUI 里直接查看/管理; - 插件会把用户文本原样发送给 DSH 后台处理,请勿在聊天中发送密码、API Key 等敏感凭据; - 处理期间对同一聊天再次发送 `/dsh` 会排队等待上一轮完成(同一聊天内按顺序处理)。