dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
一个给 DeepSeek Harness(DSH)桌面端 用的第三方插件:在同一个界面里提供「聊天」和「工作」两种模式,一键切换。
非官方说明:本项目是个人开发的第三方插件,与 DeepSeek 官方无关。
使用本插件前请自行确认符合 DeepSeek 的服务条款;因使用本插件产生的账号或数据风险由使用者自行承担。
测试范围:仅在 Windows + DSH 0.2.1-rc.3 上测试过,其他系统 / 版本未经验证,可能无法使用。
localStorage 的 userToken 一项保存到本机,下次启动时自动写回并重新加载,免去重新登录。默认关闭;只处理 userToken 这一项,不碰 cookie、其它存储项或页面内容。前置条件:Windows 上的 DSH 桌面端(开发与测试版本为 0.2.1-rc.3),并且当前会话可以执行工具(plugin_manager)。
git clone https://github.com/Starp1ume/dsh-chat-mode.git dsh-chat-mode)。node_modules/@local/dsh-chat-mode,之后不要移动、重命名或删除该目录,否则插件会失效。用 plugin_manager 的 install_bundle 安装插件,target 为 D:\path\to\dsh-chat-mode(填本目录的绝对路径)。如果不熟悉,可以在 DSH 的创造模式里发送这条指令。
安装需要你审批。完成后确认返回 enabled: true、application: applied,且没有额外 warnings。
说明:因为安装是 Junction 形态,之后修改 client.js 等文件不需要重新安装,完全退出并重启 DSH 即会生效。设置页会同时提示:保存的登录信息是明文存在本机插件 localStorage 中的,同源脚本理论上可读。
plugin_manager → remove_bundle,target: @local/dsh-chat-mode。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"注意: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-app://app/),其他同源脚本理论上可以读取。document.cookie、其他 localStorage 项、IndexedDB 或页面内容,不分析你输入的文字。https://chat.deepseek.com)。页面内部的具体请求由 DeepSeek 官方网页自己发起,与本插件无关。请仅在你自己的电脑上使用「记住登录」。如果怀疑凭据泄露,请到 DeepSeek 的账号设置里处理。
TITLEBAR_LEFT_OFFSET = 154、聊天层顶部下移 CHAT_LAYER_TOP = 34 是在特定分辨率 / 屏幕缩放下量出来的,在你的机器上可能出现偏移。调整方法:编辑 chat-mode/client.js 顶部附近的这两个常量 → 完全退出并重启 DSH 生效(不需要重新安装)。
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 --stagedsecret-scan 设为必需状态检查(仓库 Settings → Rules → Rulesets,对 main 启用 “Require status checks to pass”,并把 secret-scan 加进去),扫描失败时 PR 无法合并。注意:仓库 owner 需要在 GitHub 上完成这一配置,工作流文件本身无法强制它生效。release 工作流(.github/workflows/release.yml)会先跑同一套扫描,扫描失败就不会创建 GitHub Release;它还会校验 tag 与 package.json 版本一致。git push 或 tag 推送本身无法被工作流阻止或撤销——push 事件是在内容已经上传之后才触发的。如果推送后扫描才失败,需要删除 tag / 回退提交,并轮换可能已泄露的凭证。工作流里用 fetch-depth: 0 拉完整历史,否则 --history 看不到旧提交。
遇到问题时,请提供:
0.2.1-rc.3)Windows 11 23H2)2560×1440 @ 150%)提交 issue 时请不要粘贴 token、cookie,或带有账号信息的完整截图。
MIT,详见 LICENSE。