MarkJun236/DSH-chat

dsh-chat 在 DeepSeek Harness(DSH)Web GUI 的侧边栏里加一个「对话」入口: 不绑工作区、不带工具,就是一个纯粹的对话面板。你在 DSH 里已经配置好的 任何 provider / model 直接可用,流式输出,多会话历史自动保存。

catalog descriptioncatalog 简介 / catalog description:DSH Web GUI 普通对话插件:不绑工作区、不带工具,复用 ctx.llm 模型路由流式聊天,多会话历史本地持久化。

Project Overview项目介绍

DSH-chat is a native plugin built exclusively for the DeepSeek Harness (DSH) Web GUI. It adds a dedicated “Chat” entry to DSH’s sidebar, giving users a standalone pure conversation interface without tying to any DSH workspaces or adding extra agent tools. The plugin does not require users to reconfigure API keys or add new model adapters, it directly reuses DSH’s existing model routing and all configured providers that users already set up in their DSH instance. It supports streaming output with real-time display of content, reasoning steps, and token usage, and automatically saves all multi-session chat history to the local machine.

This plugin is designed for users who primarily work within DSH and want to avoid switching between multiple applications for quick chats. Many common tasks like quick questions, concept lookups, draft writing, and text polishing do not require workspace tools or complex agent workflows, so there is no need to open a separate ChatGPT or Claude app for these tasks. To start a chat, users just click the sidebar entry, select the desired model from the pre-configured list, and type their query. It supports multiple session management, including creating, switching, renaming, and deleting chats, and automatically remembers the last used model for your next session.

The plugin is released under the permissive MIT open source license, and can be installed in two common ways for DSH profiles. The recommended method is to add it as a profile bundle by listing it in your profile’s bundle list or adding a plugin entry to your cordis.patch.yml file. It does not require modifying DSH’s core source code, so upgrading your DSH installation will not break the plugin. All conversation data is stored locally on your machine, and all API routes are restricted to localhost access only, so no data is exposed to external networks even if you host DSH locally.

这是专为 DeepSeek Harness(DSH)Web GUI 开发的原生插件,会在 DSH 的侧边栏新增一个独立的「对话」入口。它不绑定工作区,也不自带额外工具,只在 DSH 内部提供一个纯粹的独立对话面板,无需打开其他聊天应用就能发起简单问答。它直接复用你已经在 DSH 中配置好的所有模型提供商与 API 密钥,支持流式输出,多会话历史会自动保存在本地。

这个插件面向日常需要使用 DSH 处理工作、又不想反复切换多个应用的用户。很多场景只需要简单问答、概念查询、文案撰写或文字润色,不需要用到工作区或工具调用,也没必要单独打开 ChatGPT、Claude 等第三方聊天应用。你只需要点击侧边栏入口就能进入对话面板,选好已配置的模型就可以开始聊天,聊完关闭即可,完全不干扰你现有的 DSH 工作流程。

这个插件采用 MIT 许可证开源,安装可通过 profile bundle 方式或手动修改 cordis.patch.yml 完成,不需要修改 DSH 源码,升级 DSH 不会受到影响。所有对话历史都保存在本地用户目录的 dsh-chat.json 文件,偏好存储在浏览器本地存储,接口仅允许本机回环访问,外部网络无法访问。存储损坏时会自动备份原文件后新建,不会丢失原有数据。

Pre-install check安装前体检Compatibility · Security兼容性 · 安全性 1 warning1 项注意
  • Only 4 stars - very few users, little community feedback星标只有 4,几乎没人在用,遇到问题缺少社区反馈
DSH walks through these 9 checksDSH 会逐条核对这 9 项

Compatibility兼容性

  • DSH, Node, OS and profile requirementsDSH 版本 / Node 版本 / 操作系统 / profile 是否满足要求
  • External dependencies and runtimes (Electron / Python / Docker, ...)外部依赖与运行时(Electron / Python / Docker 等)是否齐备
  • Conflicts with installed plugins: command names, skill / tool names, ports, duplicate MCP registration与已装插件是否冲突:命令名、skill / tool 重名、端口占用、重复 MCP 注册

Security安全性

  • Repo matches the facts registered here; archived or abandoned?仓库是否与页面登记一致,是否归档或长期停更
  • Safety of preinstall / install / postinstall and install.sh / setup.ps1preinstall / install / postinstall 与 install.sh、setup.ps1 是否安全
  • curl|bash, download-then-execute, obfuscation, unrelated domains → stop immediatelycurl|bash、下载即执行、混淆代码、无关域名 → 立刻停止
  • Typosquatting or unmaintained packages among the new dependencies新增依赖里有没有 typosquatting 或无人维护的包
  • Requested permissions vs. what the feature actually needs申请了哪些权限、是否超出功能所需(filesystem / network / shell / clipboard)
  • Any sudo / admin requirement, plus uninstall and rollback是否要求 sudo / 管理员权限,以及卸载与回滚方式

Anything uncertain must be marked unknown with a note on how to confirm it. This site's signal screen is a static snapshot, not a security audit.拿不准的必须标「未知」并说明要我怎么确认。本站的信号筛查是静态快照,不能替代安全审计。

Or use CLI install (for developers)或使用命令行安装(适合开发者)

CLI Install命令行安装

dsh plugin --profile web add github:MarkJun236/DSH-chat

把 MarkJun236/DSH-chat 加入你的 DSH 配置(web profile)即可启用。

READMEREADME

dsh-chat

DSH Web GUI 的普通对话插件 —— 不用再为聊个天多开一个 App。

dsh-chat 在 DeepSeek Harness(DSH)Web GUI 的侧边栏里加一个「对话」入口: 不绑工作区、不带工具,就是一个纯粹的对话面板。你在 DSH 里已经配置好的 任何 provider / model 直接可用,流式输出,多会话历史自动保存。


设计理念

我就是不想要开这么多个 app。

日常工作中,大量场景其实只是"普通对话":问个问题、查个概念、写段文案、 润色一段文字……这些不需要工作区,不需要工具调用,更不需要为它们单独打开 一个 ChatGPT 或 Claude 的 App。

于是想法很简单:

  • 只装一个 Harness。DSH 本身就是你日常开发/工作的地方,它已经配好了 你所有 provider 和 model 的 API 凭据。
  • 对话能力直接长在 DSH 里。插件不引入任何新的模型适配层,不要求你 再配一遍 key,而是直接复用 DSH 的 ctx.llm 模型路由——DSH 里能选的 模型,这里就能聊。
  • 随用随走,不留负担。打开就是聊,聊完关掉;历史存在本地,下次接着聊。

多一个插件,少一个 App。 这就是 dsh-chat 存在的全部理由。

特性

  • 🗨️ 侧边栏独立「对话」入口:与任务看板、SSH 等插件并列,一键进入 纯对话模式,不占用工作区界面。
  • 🔌 零配置复用 DSH 模型路由:直接走 harness 的 ctx.llm,所有已导入 的 provider / model 自动可用,支持切换,无需额外适配器或 API key。
  • ⚡ 流式输出:NDJSON 帧流式返回,支持 delta(正文)、reasoning (思考过程)、usage(用量)实时展示。
  • 💬 多会话管理:左侧历史列表,新建 / 切换 / 重命名 / 删除;当前 会话自动记住上次使用的模型。
  • 🏷️ AI 自动标题:根据第一条提问自动生成会话标题(可关闭,也可指定 专门的标题模型),手动重命名不会被覆盖。
  • 📝 Markdown 渲染:内置 GFM 子集渲染(代码块、行内代码、表格、 引用、列表、链接、图片),escape-first + 协议白名单,安全渲染。
  • 🎨 跟随 DSH 主题:样式全部基于 DSH 的 --dsw-* design tokens, 明暗主题自动适配。
  • 🔥 热插拔:通过 profile 的 cordis.patch.yml + node_modules 软链 挂载,不改 DSH 源码,升级 DSH 不受影响。

工作原理

插件是双面(dual-face)结构,由同一个 npm 包提供宿主端与浏览器端:

┌────────────────────────── 浏览器 (Web GUI) ──────────────────────────┐
│  lib/client.js         侧边栏「对话」入口 + React 对话面板            │
│                        (随 /plugins/dsh-chat/client.js 加载)       │
└───────────────▲──────────────────────────────────────────────────────┘
                │ fetch /api/dsh-chat/*(NDJSON 流式)
┌───────────────┴──────────────────────────────────────────────────────┐
│  lib/index.js         宿主端 Cordis 插件 (exports ".")                │
│                       注册 /api/dsh-chat 路由族                       │
│                       直接调用 ctx.llm.stream() 驱动模型              │
│                       会话历史持久化到 ~/.dsh/dsh-chat.json           │
└──────────────────────────────────────────────────────────────────────┘
  • 宿主端(lib/index.js):纯 ESM,运行时只依赖 Node 内置模块; llm 与 webServer 来自 Cordis 注入列表。负责模型目录、会话存储 CRUD、 流式对话与持久化。
  • 浏览器端(lib/client.js):自包含的 React 面板,通过模块加载器 注册,DOM 级注入侧边栏入口;样式骑在 DSH design tokens 上。

Showing the opening section of the README — the full document lives in the repository以上为 README 开头摘要,完整文档在仓库内 · View the full README on GitHub →在 GitHub 查看完整 README →

← 上一个 Prev dsh-plugin-vetting 下一个 Next DSH-Telegram-Relay →