DSH Plugins Marketplace

DSH Plugins

Plugins

/

dsh-chat-mode

S

dsh-chat-mode

Manifest valid

Add a chat mode to DSH that doesn't consume tokens (currently embedded web)

UI (client)hasBundlePatchMachine translated

DSH 聊天 / 工作双模式插件(非官方)

一个给 DeepSeek Harness(DSH)桌面端 用的第三方插件:在同一个界面里提供「聊天」和「工作」两种模式,一键切换。

非官方说明:本项目是个人开发的第三方插件,与 DeepSeek 官方无关。 使用本插件前请自行确认符合 DeepSeek 的服务条款;因使用本插件产生的账号或数据风险由使用者自行承担。 测试范围:仅在 Windows + DSH 0.2.1-rc.3 上测试过,其他系统 / 版本未经验证,可能无法使用。

功能

  • 聊天 / 工作模式切换:标题栏「编辑」菜单右侧有一个分段按钮(聊天 / 工作),两种模式下都可见;默认启动在聊天模式。
  • 聊天模式不消耗 token:聊天模式内嵌 DSH 桌面端自带的 Electron webview,加载 DeepSeek 官方网页版(默认 https://chat.deepseek.com),由你在页面里自行登录使用。DSH 不会为聊天模式调用 API、不触发 Agent 循环、不产生 token 消耗。
  • 工作模式 = DSH 原生界面:工作模式就是原来的 Agent / Code 界面,行为不变,只有这个模式会调用 API。
  • 带入工作模式(只填不发):聊天模式标题栏有「带入工作」按钮,打开对话框后可读取剪贴板(需你点击按钮)或手动粘贴内容;确认后只把文字填入工作模式的输入框,不会自动发送,发不发由你决定。
  • 记住登录(可选,实验性):开启后,插件会把聊天网页里 localStorage 的 userToken 一项保存到本机,下次启动时自动写回并重新加载,免去重新登录。默认关闭;只处理 userToken 这一项,不碰 cookie、其它存储项或页面内容。

安装

前置条件:Windows 上的 DSH 桌面端(开发与测试版本为 0.2.1-rc.3),并且当前会话可以执行工具(plugin_manager)。

  1. 克隆本仓库(git clone https://github.com/Starp1ume/dsh-chat-mode.git dsh-chat-mode)。

  2. 保持该目录在原位。安装时 DSH 会把它以 Junction(目录链接) 的方式链到 profile 的 node_modules/@local/dsh-chat-mode,之后不要移动、重命名或删除该目录,否则插件会失效。

  3. 在 DSH 的对话里让 agent 安装,例如:

    用 plugin_manager 的 install_bundle 安装插件,target 为 D:\path\to\dsh-chat-mode(填本目录的绝对路径)。

    如果不熟悉,可以在 DSH 的创造模式里发送这条指令。

    安装需要你审批。完成后确认返回 enabled: true、application: applied,且没有额外 warnings。

  4. 完全退出 DSH(托盘图标 → 退出,确保进程结束;只关闭窗口只是隐藏到托盘),再重新启动。

说明:因为安装是 Junction 形态,之后修改 client.js 等文件不需要重新安装,完全退出并重启 DSH 即会生效。

首次使用

  1. 启动后默认在聊天模式,主区域显示 DeepSeek 官方网页版;如果未登录,按页面提示登录自己的账号。
  2. 首次启动时「记住登录」是关闭的。如果希望下次启动免登录,可在「设置 → 聊天模式」里开启; 设置页会同时提示:保存的登录信息是明文存在本机插件 localStorage 中的,同源脚本理论上可读。
  3. 想回到原生 Agent 界面时,点标题栏的「工作」;工作模式按钮会用警示色标出,并带提示「工作模式会消耗 token」。

卸载

  1. 打开「设置 → 聊天模式」,先点「清除已保存登录」(如果你开启过记住登录)。如果跳过这一步,登录信息会留在本机,卸载后无法再通过插件清除。

  2. 在 DSH 对话里让 agent 执行 plugin_manager → remove_bundle,target: @local/dsh-chat-mode。

  3. 完全退出 DSH 后,检查 C:\Users\<你的用户名>\.dsh\profiles\desktop\node_modules\@local\ 下是否还残留 dsh-chat-mode 目录链接。若残留,用 cmd 删除(不要带 /s,不要用 Remove-Item -Recurse):

    cmd /c rmdir "C:\Users\<你的用户名>\.dsh\profiles\desktop\node_modules\@local\dsh-chat-mode"
    
  4. 重新启动 DSH。

注意:remove_bundle 不一定会自动删除指向仓库目录的 Junction,残留链接需要按上面第 3 步手动清理;清理前请先确认目标目录确实是 node_modules\@local\dsh-chat-mode。

隐私说明

本插件只在本机读写以下数据:插件不会把这些数据发送给除你设置的聊天网站之外的任何服务;写回登录信息时,只写入该聊天网站的页面存储。

存储键(DSH 桌面窗口的 localStorage)内容何时写入
dsh-chat-mode:prefs:v1模式偏好:默认模式、网页地址、是否记住上次模式、上次模式、是否记住登录、诊断面板开关修改设置 / 切换模式时
dsh-chat-mode:login:v1聊天网页 localStorage.userToken 的副本与保存时间仅当你开启「记住登录」并恢复成功后
  • 以上内容均为明文,保存在 DSH 桌面端自身的 localStorage(窗口 origin 为 dsh-app://app/),其他同源脚本理论上可以读取。
  • 插件不写入独立文件,也不会读取 document.cookie、其他 localStorage 项、IndexedDB 或页面内容,不分析你输入的文字。
  • 插件自身唯一的网络行为是让 webview 加载你在设置里填写的聊天网页地址(默认 https://chat.deepseek.com)。页面内部的具体请求由 DeepSeek 官方网页自己发起,与本插件无关。
  • 聊天页面本身可能有自己的 cookie / 本地存储;那些由官方页面管理,插件不读取。

请仅在你自己的电脑上使用「记住登录」。如果怀疑凭据泄露,请到 DeepSeek 的账号设置里处理。

已知限制

  • 位置常量按作者机器测量:标题栏切换按钮的左偏移 TITLEBAR_LEFT_OFFSET = 154、聊天层顶部下移 CHAT_LAYER_TOP = 34 是在特定分辨率 / 屏幕缩放下量出来的,在你的机器上可能出现偏移。 调整方法:编辑 chat-mode/client.js 顶部附近的这两个常量 → 完全退出并重启 DSH 生效(不需要重新安装)。
  • 平台与版本:仅在 Windows + DSH 0.2.1-rc.3 测试过。DSH 升级后(尤其是桌面端 webview 租约接口变化时)插件可能失效,需要重新适配。
  • 记住登录有边界:只恢复 userToken 一项;如果 token 过期或站点改版,仍需重新登录。在网页里主动退出登录后,插件会清除已保存的登录副本(该检测依赖页面跳转,未必每次都能识别;如果退出后仍被自动登录,请到设置里手动点「清除已保存登录」)。恢复时登录页会闪一下再进入已登录状态;恢复失败会自动清除已保存副本并停留在登录页,不会报错。
  • 标题栏是桌面端原生区域:不同缩放比例下若按钮与系统按钮重叠,请通过上面的常量微调。

开发与发布自查

仓库自带一个 secret 扫描脚本,供本地自查和 GitHub Actions 使用。它不包含在 npm 打包产物里(scripts/ 与 .github/ 不在 package.json 的 files 列表);但如果通过 git clone 安装,这两个目录仍会随仓库下载到本机,只是插件运行时不会用到它们。

node scripts/scan-secrets.mjs            # 默认:扫描 git 跟踪文件在工作区里的内容
node scripts/scan-secrets.mjs --staged   # 提交前:只扫描暂存区(最接近下一次提交的内容)
node scripts/scan-secrets.mjs --history  # 全部历史:新增行 + 曾出现过的危险文件名
node scripts/scan-secrets.mjs --all      # 连同未跟踪文件一起扫描

建议加一个本地 pre-commit 钩子(可选):

node scripts/scan-secrets.mjs --staged

CI 能保证什么、不能保证什么

  • PR 合入 main 之前:把 secret-scan 设为必需状态检查(仓库 Settings → Rules → Rulesets,对 main 启用 “Require status checks to pass”,并把 secret-scan 加进去),扫描失败时 PR 无法合并。注意:仓库 owner 需要在 GitHub 上完成这一配置,工作流文件本身无法强制它生效。
  • 打 tag 之后:release 工作流(.github/workflows/release.yml)会先跑同一套扫描,扫描失败就不会创建 GitHub Release;它还会校验 tag 与 package.json 版本一致。
  • 不能保证:git push 或 tag 推送本身无法被工作流阻止或撤销——push 事件是在内容已经上传之后才触发的。如果推送后扫描才失败,需要删除 tag / 回退提交,并轮换可能已泄露的凭证。

工作流里用 fetch-depth: 0 拉完整历史,否则 --history 看不到旧提交。

反馈模板

遇到问题时,请提供:

  • DSH 版本(如 0.2.1-rc.3)
  • Windows 版本(如 Windows 11 23H2)
  • 屏幕分辨率与缩放比例(如 2560×1440 @ 150%)
  • 问题描述与复现步骤
  • 标题栏截图(请先给路径、用户名、登录信息等打码)

提交 issue 时请不要粘贴 token、cookie,或带有账号信息的完整截图。

许可证

MIT,详见 LICENSE。

Comments

Loading…

Similar plugins

dsh-deepseek-chat

by xingxingbk-git

为 DSH 提供 Chat / Harness 双模式切换

UI & ExperienceManifest valid

★ 7

↓ 1.4k/wk

NOASSERTION

JavaScript

Oct 24, 2026

dsh plugin --profile web add dsh-deepseek-chat

by xmuwenxiang

Deepseek Harness插件,可以直接在Deepseek Harness中使用网页版deepseek进行聊天,并将聊天过程直接迁移到Deepseek Harness进一步进行开发。主要目的是节省前期方案讨论时的token

UI & ExperienceManifest valid

★ 14

↓ 125/wk

Apache-2.0

TypeScript

Sep 7, 2026

dsh plugin --profile web add dsh-webchat

by zdjmrq

给 DeepSeek Harness 的「纯对话」模式:像网页版一样聊天,但会自己多轮思考

Manifest valid

★ 0

MIT

JavaScript

Oct 17, 2026

dsh plugin --profile web add think_better

by lasdrder0705

DSH Web 插件「对话区」。安装:dsh plugin --profile web add github:lasdrder0705/dsh-chat-zone

Manifest valid

★ 0

MIT

TypeScript

Aug 21, 2026

dsh plugin --profile web add dsh-chat-zone

by DIV7NE

DSH web plugin: a Run button on every chat code block that pastes into an integrated terminal, plus "Attach selection as context" from terminal output.

Terminal & ClientsManifest valid

★ 0

MIT

JavaScript

Sep 13, 2026

dsh plugin --profile web add dsh-run-in-terminal

by lianginx

DSH Web UI plugin: auto-fold chat timeline processes + Deep diving fun tips

UI & ExperienceDevelopment & InfrastructureManifest valid

★ 0

MIT

JavaScript

Aug 26, 2026

dsh plugin --profile web add dsh-timeline-enhance