dsh-web-portable
维护状态: 活跃destr-z/dsh-web-portable
非官方的 DSH(DeepSeek Harness)Web 界面 Windows 便携版,面向 AI 短剧/AI 视频的剧本工作流:自带「剧本批注」(小说→剧本)与「提示词对照」(剧本→视频提示词)两个成对的改稿工作台,划词写批注交给 AI 改稿。主程序走 Releases。
$ dsh plugin add dsh-web-portable2
星标
1
Fork
JavaScript
语言
MIT
许可证
2026-09-15
创建于
2026-09-16
最近推送
README
DSH Web 便携版(Windows)· 面向 AI 短剧 / AI 视频的剧本工作流
非官方(unofficial)。 这是个人打包的 DSH(DeepSeek Harness)Web 界面 Windows
便携启动器,不是 DeepSeek 官方发行版。主程序来自官方开源仓库
deepseek-ai/deepseek-harness(MIT),
本仓库只提供启动器、随包说明和打包脚本。
非官方(unofficial)。 这是个人打包的 DSH(DeepSeek Harness)Web 界面 Windows 便携启动器,不是 DeepSeek 官方发行版。主程序来自官方开源仓库 deepseek-ai/deepseek-harness(MIT), 本仓库只提供启动器、随包说明和打包脚本。
给不想装 Node、不想敲命令的人用:解压 → 双击 → 浏览器里用。
它不是通用插件合集,而是为 AI 视频生产里"改稿"这一步做的。 自带插件里有两个成对的 剧本文本工作台,把 AI 短剧 / AI 视频制作中最费人的两段核对工序搬到了界面上:
| 阶段 | 干什么 | 对应插件 |
|---|---|---|
| ① 小说 → 剧本 | 逐集对照原文和剧本,划词写批注,点「下发」让 AI 改剧本 | 剧本批注 dsh-novel-script |
| ② 剧本 → 视频提示词 | 剧本定稿后,逐集对照剧本和视频提示词(分镜/生视频用的那种),划词写批注,点「下发」让 AI 改提示词 | 提示词对照 dsh-prompt-compare |
两段工序都是"左边是锚点、右边是作业区、右边划词写批注、批注写完整理成指令交回对话里的 agent" —— 因为逐集逐块人肉核对"这一版和上一版哪儿不一样、这一块来自剧本哪几行", 是 AI 视频流水线上最容易出错、也最耗时间的一环。
剧本批注从 v1.5.0 起还能直接在界面上改正文:保存不动老版本,而是新增一个 "小版本"(正文 / 清单 / 批注 / 改动记录四份一起生成),改了什么还留一份记录给 agent 看。
- 默认端口 3099,数据(对话记录、设置、密钥)存在
%LOCALAPPDATA%\DSH-Web, 和程序文件夹分开,所以升级只要替换程序文件夹,记录不会丢。 - 界面上能正常用
dsh的全部能力;另有 3 个通用插件(人设切换、皮肤、余额挂件)。
这个仓库里有什么 / 没什么
| 有 | 启动器与诊断脚本、使用说明、版本更新记录、5 个自带插件、打包与校验脚本、许可证与第三方声明 |
| 没有 | deepseek-harness.exe(232 MB)、deepseek-harness-rg.exe、以及整包 zip |
超过 100 MB 的单个文件 GitHub 直接拒收,而且每次重新打包 exe 的哈希都会变, 塞进 Git 历史会迅速把仓库撑爆。所以:
- 程序本体和整包 zip 在 Releases 里下载,不进仓库;
- 仓库里的东西加起来只有几百 KB,是"能被 git 跟踪、能被 review"的那部分。
下载与校验
最新版:v1.5.0
→ DSH-Web-v1.5.0.zip(71.3 MB)
DSH-Web-v1.5.0.zip SHA256 F1AE2D05859D4B0EC921E3F426762E8F4EA582981F0D924C2694DBB4F39DD960
程序\deepseek-harness.exe SHA256 2480903F911FA53C9C7CEC83BF806535A06F77701A5BEF6C7862E8A3313DB67B
解压后自己核对一次:
(Get-FileHash '程序\deepseek-harness.exe' -Algorithm SHA256).Hash
包内 版本更新记录.txt 里逐个文件都记了 SHA256,可对照。exe 哈希自 v1.3.0 起一直没变
(v1.3.0 / v1.3.1 / v1.4.0 / v1.5.0 这几版都没重建 exe,只换随包的启动器/说明/插件);
换到重建过的版本时该值会变,届时以该版记录为准。
怎么用
- 到 Releases 下载
DSH-Web-*.zip, 完整解压到任意位置(不要只复制其中几个文件)。 - 双击
启动 DSH Web.cmd。会出现一个黑色窗口,别关它;几秒后浏览器自动打开。 - 第一次要先填 API Key:界面左下角「设置」→ 模型/凭据 → 填你的 DeepSeek API Key。
Windows 第一次运行会弹「已保护你的电脑」,因为 exe 没有数字签名: 点「更多信息」→「仍要运行」。
升级:关掉窗口 → 用新版本文件夹替换旧的 → 重新双击。记录和设置自动保留。
详细说明(端口、日志位置、常见问题、插件怎么加/怎么卸)见包内 使用说明.txt。
自带的 5 个插件
其中 4 个是我自己写的(含上面那两个剧本工作台),1 个是第三方作品。
| 插件 | 是什么 | 作者 | 许可 |
|---|---|---|---|
@dsh-external/dsh-novel-script |
剧本批注 —— 小说改剧本:逐集对照原文与剧本,划词写批注,批注下发让 AI 改稿;v1.5.0 起还能直接改正文(保存 = 新增一个小版本) | 我(destr-z) | MIT |
@dsh-external/dsh-prompt-compare |
提示词对照 —— 剧本定稿后:逐集对照剧本与视频提示词,划词写批注,批注下发让 AI 改提示词 | 我(destr-z) | MIT |
@dsh-external/dsh-persona-switcher |
人设切换 —— 按会话记住人设模板,设置页管理、输入框上方一键切换 | 我(destr-z),已单独开源:dsh-persona-switcher | BSD-3-Clause |
@dsh-external/dsh-ui-skin |
皮肤 —— 在浅色/深色之上再叠一层皮肤(DeepSeek 官方蓝 / Codex / Claude Code),设置页三张卡点选;可自备三张图放进素材目录,缺图就回退内置矢量 | 我(destr-z) | MIT |
dsh-whale-widget |
小鲸鱼余额挂件 —— 界面右下角显示 DeepSeek 余额、今日已用、每轮消耗 | 第三方,MeteorNOX | MIT |
第三方作品声明(只有这一个是别人写的,按它的许可随包分发):
dsh-whale-widget—— 作者 MeteorNOX,来自 DeepSeek-Balance-Whale-Widget(MIT)。 这个插件不是本便携版自研功能的一部分,它的 bug/需求请找上游。
想卸载某个插件:把程序目录 插件\ 里对应的子文件夹删掉,重启即可。
想加插件:把打包好的插件文件夹(带 lib\)整个复制进 插件\,重启即可 ——
便携版不会联网装依赖,所以要"打包好的"形态。
两个剧本工作台的详细用法见包内
使用说明.txt第六节的 ② 与 ④。 它们各自只认工作目录下一个固定文件夹(剧本工作台\/对照工作台\), 没有时会提示一段话,复制给对话里的 AI 就会帮你建好。
自己重新打包
重新打包需要一份 DSH 源码仓库,单文件 exe 只能从源码构建:
git clone https://github.com/deepseek-ai/deepseek-harness
cd deepseek-harness && pnpm install
# 回到本仓库
pwsh -File build-portable.ps1 -Repo ..\deepseek-harness
-Repo也可以用环境变量DSH_HARNESS_REPO指定;不传就取上一级目录的..\deepseek-harness。仓库里没有任何写死的本机路径。- 只改启动器 / 说明 / 插件这类随包文件时用
-ReuseExe,复用<Repo>\dist-exe里已有的 exe。原因:SEA 打包不是逐字节可复现的 (exe 里嵌了构建时间戳),每次重新构建都会得到不同哈希,而版本记录里写死了 exe 的 SHA256 —— 不用-ReuseExe就会让"记录 vs 实际"永远对不上。
产物在 <上一级>\portable\:DSH-Web\(目录)和 DSH-Web.zip(分发用)。
校验与指纹
node scripts/selfcheck.mjs # 仓库自检(不需要 exe)
pwsh -File scripts/selfcheck.ps1 # 加语法检查
pwsh -File scripts/test-plugin-sync.ps1 # 插件同步逻辑的离线测试(不需要 exe)
node scripts/verify-pack.mjs # 校验装配产物与 zip
node scripts/update-record-hashes.mjs # 回填 版本更新记录.txt 里的 SHA256 占位符
node scripts/verify-pack.mjs --archive # 校验通过后归档到 版本记录\
test-plugin-sync.ps1 值得单独说一句:插件的"装进 profile / 摘掉不在包里的"
是一段会删东西的逻辑,改坏了不会报错、只会悄悄删错文件,或者在用户机上把
界面弄得起不来。这个测试在临时沙箱里用一个假 exe 把启动器当黑盒跑 5 个场景,
专门盯住"用户自己 dsh plugin add 装的包一个字节都不许动"这条底线。
版本更新记录.txt 里的指纹写成占位符 __SHA256:start-dsh-web.ps1__。
build-portable.ps1 会在压缩前把它们就地回填进产物目录里那份记录(仓库里的
assets\ 那份保持占位符原样),所以"改文件 → 打包 → 记录对齐"是一趟跑完的,
不需要人工在两个副本之间搬。
⚠️ 动过 .ps1 之后先跑 scripts/fix-bom.ps1:编辑器和补丁工具会静默吃掉
UTF-8 BOM,而 BOM 是 .ps1 在中文 Windows 上能否运行的前提(脚本里的中文路径
参与逻辑,乱码就等于找不到插件目录)。这个脚本还会把 启动 DSH Web.cmd 钉成
CRLF 并检查内容仍是纯 ASCII。
目录结构
assets/ 随包文件的唯一真相源(build 从这里拷进包)
start-dsh-web.ps1 启动器主体(UTF-8 with BOM,改动后必须保住 BOM)
启动 DSH Web.cmd 双击入口(纯 ASCII,CRLF)
诊断.ps1 只读诊断:程序文件/端口/数据目录/插件
使用说明.txt 给最终用户的说明书
版本更新记录.txt 每版一节的变更与指纹记录(指纹写占位符)
插件/ 打包好的自带插件(构建产物,含 lib/)
build-portable.ps1 构建 exe → 装配目录 → 回填指纹 → 压 zip
scripts/fix-bom.ps1 补回被吃掉的 BOM / 钉 CRLF
scripts/selfcheck.mjs 仓库自检(Node 侧)
scripts/selfcheck.ps1 仓库自检(PowerShell 语法侧)
scripts/test-plugin-sync.ps1 插件同步逻辑的离线测试(沙箱 + 假 exe)
scripts/verify-pack.mjs 产物与 zip 校验
scripts/vfs-gap-check.mjs 扫运行时树缺包
scripts/update-record-hashes.mjs 回填版本记录里的 SHA256
notices/ 再分发主程序必需的许可证与第三方声明
DSH-Web\、DSH-Web.zip、dsh便携版版本记录\ 都是构建产物,已被 .gitignore 排除。
已知问题与边界
- 只支持 Windows,依赖 Windows 自带的
tar(Win10 1803+)和 PowerShell 5.1+。 - 插件不是沙箱:插件跑在 DSH 进程里,只装你信得过的。
- 不会自动换端口:默认 3099,被别的程序占用时直接报出占用者并退出,不盲扫端口。
- 不改任何密钥:程序本身不含 API Key,需要你自己在界面里配置。
- 便携版每次启动会把
插件\挂进 profile(同盘用 junction,跨盘退回复制), 并把"自己装过哪些包"记在%LOCALAPPDATA%\DSH-Web\managed-plugins.json。 你自己用dsh plugin add装的插件不会被启动器删除。
许可
- 本仓库的启动器、脚本与文档:MIT,见 LICENSE。
- 主程序
deepseek-harness.exe:MIT,Copyright (c) 2026 DeepSeek, 见 notices/LICENSE-deepseek-harness.txt。 - 主程序所含第三方组件:见 notices/THIRD_PARTY_NOTICES.md。
- 自带插件各自的许可见上表;五者的
package.json与包内LICENSE均为准。 - 命名与素材遵循官方 BRAND_GUIDELINES: 项目名只用 "DSH" 缩写,不暗示官方背书。
我自己是谁
业余做的,非官方,跟 DeepSeek 没有关系。仓库内容按现状提供,不保证不出问题 ——
数据(对话记录、密钥)都在你自己的机器上,升级前建议照 使用说明.txt 第四节备份一次。
更多「其他」插件
deepwiki-rs
作者 sopaco
基于代码生成结构化技术文档与适合 AI 智能体使用的上下文,方便团队理解和协作。
dsh-purge
作者 yujunzhixue
DeepSeek Harness 破甲:让所有模型都能破甲,不同模型可换不同提示词;默认提示词面向国模「小码酱」。Jailbreak for every model — swap prompts per model. 求 Star 收藏 ⭐
dsh-plugin-radar
作者 adamplatin123
DSH Plugin Radar — open-source ecosystem radar for DeepSeek Harness plugins: continuous discovery (21k+ candidates), k8s runtime validation (13k+ tests), 15-min snapshots; the catalog is a generated artifact — 开源 DSH 插件生态雷达:持续发现 2.1 万+ 候选、k8s 运行级实测 1.3 万+、15 分钟快照;插件目录为自动生成的产物
picgo-core
作者 picgo
强大的图片上传引擎,同时支持 CLI 与 API。
