DeepSeek Harness Hub
← 返回列表

工作区聊天机器人CodingYuanLiu/DSH-Chatbot-Plugin

DeepSeek Harnessspec-screened在 GitHub 查看 ↗
未验证

在侧边栏唤起多助手对话面板,流式回复并持久保存

尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/8/20 · 已提供中文文档
综合分
28
GitHub 分
28
用户评分
★ Stars
1
周下载量
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add CodingYuanLiu/DSH-Chatbot-Plugin
该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
数据截至 2026/9/16(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

工作区聊天机器人

一个 Cherry Studio 风格的聊天机器人插件,作为 DeepSeek Harness(DSH)动态 Cordis 插件运行:入口在侧边栏底部(设置上方),点开后在右侧主区域打开聊天面板。

功能

- 多助手:每个助手独立配置名称、系统提示词、提供商、模型、思考深度、temperature、maxTokens
- 多对话:每个助手可开多个对话,对话继承助手设置,自动以首条消息命名
- 流式输出:后台生成 + 增量轮询,打字机效果(带闪烁光标)
- 硬盘持久化:助手、对话、历史全部落盘 JSON,进程重启自动恢复
- 清除上下文:两步确认,彻底清空当前对话
- Markdown 渲染:助手消息支持标题、粗体、斜体、行内代码、代码块、列表、引用、链接、表格
- LaTeX 数学:$...$ 与 $$...$$ 以等宽数学块样式显示(见“已知限制”)

运行环境

本插件不是独立应用,依赖 DSH 的以下运行时机制:

- 动态 Cordis 插件:通过 cordis_define 定义、cordis_run 激活(详见下方“快速开始”)
- 运行时服务(Host 半边通过 ctx.get 读取):
- llm —— 模型流式生成(listProviders / listModels / stream)
- fs —— 状态文件读写
- sandboxPolicy —— 部署工作区根(默认数据目录的候选之一)
- 浏览器端服务(Client 半边):
- slots —— sidebar.footer.action(入口)与 shell.overlay(面板)
- timer —— 流式轮询间隔
- styles —— 样式注入

快速开始

1. 打开 DSH Web GUI,在会话中调用 cordis_define:
- 新插件:plugin.kind = 'new',idPrefix 填 chatbot(或你喜欢的 3–6 位小写前缀)
- code.host 填 src/host.js 的整个函数体(从 return { 到结尾的 })
- code.client 填 src/client.js 的整个函数体
2. 用返回的 pluginId / packageId 调用 cordis_run(首次用 mode: 'run')。
3. 在 UI 中批准该运行(Client 半边需要授权;勾选双勾可自动放行后续版本)。
4. 刷新页面,点击侧边栏底部(设置图标上方)的 🤖 Chatbot 即可使用。

配置

所有部署相关配置集中在 src/host.js 顶部的 CONFIG 对象:

| 配置项 | 默认值 | 说明 |
| --- | --- | --- |
| dataDir | '' | 状态文件目录(绝对路径)。留空时自动选择:部署工作区根的 .chatbot/,再退回当前目录的 .chatbot/。建议填本机固定数据目录,如 '/home/you/.dsh' |
| fileName | 'chatbot-state.json' | 状态文件名 |
| defaultTemperature | 1 | 新助手默认 temperature(Cherry Studio 风格) |
| defaultMaxTokens | '' | 新助手默认 maxTokens;空字符串 = 不发送该参数(由模型自定) |

数据存储

状态保存在 dataDir/chatbot-state.json(或自动选定的候选路径),格式:

{
"assistants": [
{
"id": "a1",
"name": "默认助手",
"systemPrompt": "你是一个乐于助人的 AI 助手。…",
"provider": "",
"model": "",
"reasoningEffort": "",
"temperature": 1,
"maxTokens": ""
}
],
"conversations": [
{ "id": "c1", "assistantId": "a1", "title": "新对话",
"messages": [ { "role": "user", "text": "你好" } ] }
],
"seqA": 1,
"seqC": 1
}

删除该文件即回到全新状态。

已知限制

- LaTeX 不排版成公式:$...$ / $$...$$ 显示为等宽数学块,而不是 KaTeX 排版效果。动态插件无法引入第三方库(无打包器、无 import),真公式渲染需要产品级支持。
- 流式是轮询近似:Host 与 Client 之间只有单次往返 RPC,因此打字机效果靠 120ms 轮询模拟,而非原生 SSE/WebSocket。
- 侧边栏均分依赖 cordis 插件:入口与 cordis 插件并排各占一半宽度的 CSS 用 :has() 命中 cordis 的 DOM(data-cordis-badge)。如果你的部署没有 cordis 插件,可删除 src/client.js 中该段 CSS,并将 .dsh-cb-layer 的 flex: 1 1 0 改回 flex: none; width: 100%。
- 界面文案为中文:UI 字符串硬编码在 src/client.js 中,如需其他语言请自行替换。

License

MIT

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

💬 加入 DPharness 群聊

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

点击加入 QQ 群
DPharness 群聊二维码,手机 QQ 扫码进群
扫码进群