基于 DeepSeek Harness(DSH) 的可扩展 AI 工作台,通过可动态加载的「场景能力包」持续增加业务能力。
工作台提供统一的对话、模型配置、工具执行和会话管理。你可以直接使用 AI 对话,也可以加载场景能力包,进入完整的业务流程。每个包拥有自己的页面、任务和数据,新场景可以作为独立包接入。
当前随带两个公开能力包:「口播视频内容创作」覆盖从发现素材、确定选题到写稿、配音字幕、制作视频和准备发布资料的完整链路,并支持定时内容生产;「AI 竞技台」让模型在五子棋、中国象棋和 6 / 8 / 9 人狼人杀的真实规则下对局,支持观战、逐手回放与横竖屏视频导出。会员场景能力包由 LWB 账号权限控制。
当前为开发预览版,面向本机单用户使用,主要验证环境为 macOS。支持 Web 和桌面开发入口;当前桌面发布格式为 Windows x64 与 macOS Apple Silicon 未签名便携包。运行时锁定 DSH
dsh-v0.2.0-rc.2,具体版本以 UPSTREAM.lock.json 为准。
公开源码与官方发行版 · 安装与启动 · 口播创作 · AI 竞技台 · 账号与能力包 · 文档地图
工作台:加载能力包后,左侧提供该包的多个业务入口。以下截图均来自真实运行界面,点击可查看原图。
本仓库是公开的,可以独立 clone、安装和运行。 它包含工作台内核(DSH Profile、浏览器壳、包 SDK、桌面打包入口、上游升级流程)、随带的两个公开能力包,以及全部文档。
官方发行版是同一个程序加上一个私有的会员能力包:用户下载到的发行版只有一份,除下面两个公开包之外还随带「模型博主测评」。该会员包的源码不在本仓库,采用其自身的专有许可,加载与业务接口由 LWB 账号会员状态控制。基础工作台和两个公开包都不依赖它。
| 能力包 | 源码位置 | community 构建输入 |
commercial 构建输入(官方发行版) |
|---|---|---|---|
| 口播视频内容创作 | 本仓库 lwb/packs/spoken-video |
随带 | 随带 |
| AI 竞技台 | 本仓库 lwb/packs/ai-arena |
随带 | 随带 |
| 模型博主测评 | 私有会员包,源码不在本仓库 | 不随带 | 随带,源码目录由 LWB_COMMERCIAL_PACK_DIR 指定 |
lwb/desktop/editions.json 保存这两份构建输入:commercial 清单在本仓库自有的两个包之上追加会员包,所以官方发行版不需要第二份工作台内核,会员包源码也不需要进入本仓库。
产物分发有两条需要留意的纪律:
- macOS 官方发行版在本机 Apple Silicon Mac 构建。
- Windows 包由维护者的私有仓库构建。 它的自托管 Windows x64 Runner 不克隆本仓库,而是取用签入私有仓库的产品源码快照。因此本仓库推送之后必须执行
npm run snapshot:product刷新该快照,否则 Windows 包仍是上一版内容。
两端产物汇总到本仓库的同一个 Draft Release。构建输入、快照命令与发行边界见 Desktop 与 Web。
本仓库的公开代码采用 PolyForm Noncommercial License 1.0.0,属于源码可见的非商业许可,不是 OSI 认可的开源许可证。协议范围外的商业使用需另行取得书面授权;购买会员、积分或云端服务不自动获得源码商业授权。会员能力包不在该许可范围内。详见许可证与商业使用。
| 层次 | 提供什么 |
|---|---|
| 对话 | DSH 原生对话、工作区、附件、工具与执行记录 |
| 设置 | 模型服务商、默认模型、凭据、权限和审批等系统配置 |
| 场景能力包 | 按需加载的业务页面、任务流程、专属数据及业务接口 |
首次进入工作台时,先看到「对话」「场景能力包」「设置」。加载能力包后,左侧增加该包的多个业务入口;无需先创建普通对话或选择普通工作区。
能力包支持动态加载和卸载,菜单随之更新。已启用的包会在下次启动时自动恢复;卸载保留业务数据和连接配置。开发者可以按公开契约创建独立包,无需把具体业务写进工作台核心。
当前「场景能力包」页面是本机包目录:自动发现 lwb/packs/ 内的包,以及通过 CLI 注册的外部本地包。它尚不提供在线包商店、远程下载或自动更新。
- 使用已有包:打开「场景能力包」,找到目标包并点击「加载」。
- 注册外部包:在项目根目录执行
npm run pack:install -- /absolute/path/to/pack,再到页面加载。 - 开发新包:阅读能力包开发入门与接口契约。
能力包详情:查看创作流程、功能列表与加载入口。
能力包是运行在本机的 JavaScript 插件,专属工作区用于数据和任务归属,并不构成第三方代码的安全沙箱;请加载可信来源的包。
手动创作按以下顺序推进,账号定位会为选题和写稿提供受众与表达要求:
信号素材 → 选题 → 写稿 → 配音 / 字幕 → 视频 / 预览 → 发布资料
| 模块 | 当前能力 |
|---|---|
| 账号定位 | 管理多个内容创作档案,保存受众、内容方向和表达约束 |
| 信号 | 采集内置公开来源和 AI 内容日报,查看与筛选素材 |
| 选题 | 按账号、渠道与选题角度生成候选,加入待写稿 |
| 写稿 | 起稿、编辑、润色与稿件检查;启动写稿前确认任务 |
| 配音 / 字幕 | 使用 LWB 账号服务或用户自己的百炼服务生成配音,默认同时生成字幕 |
| 视频 / 预览 | DSH 创作 Agent 编写 Remotion 视频,通过技术质检和独立审片后展示成片 |
| 发布资料 | 生成、编辑标题、文案、标签和封面,预览及下载产物 |
| 内容安排 | 按计划推进到选题、写稿、成片质检或发布资料,查看每轮记录 |
稿件编辑:围绕选题查看和修改正文,确认后进入配音。
完成一条流程后,可以预览通过质检的成片,并下载视频、封面及发布资料。发布模块不直接向视频平台发布,最终发布由用户完成。
成片预览:示例为已通过质检的真实视频,播放器支持预览与下载。
发布资料:核对标题、文案、描述与标签,并准备横竖封面,供自行上传到目标平台。
使用时注意:
- 「账号定位」管理的是内容创作档案,不是 LWB 登录账号,也不用于绑定视频平台账号。
- 默认随配音生成字幕;字幕失败会保留已完成音频,可以单独重试。也可以直接输入文稿生成音频;要继续制作视频,应从关联项目的稿件进入配音。
- 内容安排运行在主机服务中。关闭浏览器不会停止调度,退出服务则无法到点执行,错过的时刻不自动补跑。选择推进到成片或发布资料时,会自动确认 AI 稿件并继续生产。
让模型在真实规则下竞技:棋类看棋盘,狼人杀看昼夜席位舞台。比赛按棋规判定终局,选手发言只给观众看,观战、离线回放与视频三处逐字同源。
选择游戏 → 配置选手 → 自动比赛 → 回放复盘 → 导出视频
| 菜单 | 当前能力 |
|---|---|
| 游戏库 | 查看各游戏规则与赛制,选择游戏进入竞技台;卡片封面由真实对局现画 |
| 竞技台 | 选择参赛模型与推理强度,实时观看棋盘 / 席位舞台与双方发言 |
| 比赛记录 | 逐步回放、查看实际输入输出,下载 Markdown 战报、离线回放与横竖屏视频 |
支持的游戏
| 游戏 | 规则要点 |
|---|---|
| 五子棋 | 15×15 自由规则,黑方先手,无禁手,连续五颗及以上获胜;判定用 MIT 许可的 @algorithm.ts/gomoku |
| 中国象棋 | 10×9 标准棋盘,红方先手,含马腿、象眼、九宫、过河、炮架、将帅照面、将军、将死、困毙与吃将;和棋只有「连续 120 半回合无吃子且无兵卒向前推进」一种,重复局面不判和、只作提示给选手 |
| 狼人杀 | 可选 6 / 8 / 9 人(默认 6),按随机种子与档位重新发牌;夜序为狼刀、查验、女巫、黎明,白天按座位发言再依次投票,平票复投一次、再平票无人出局;猎人夜死或票出都可开枪 |
狼人杀是隐藏身份游戏:每个模型只看到自己该知道的局面(狼人拿到同伴与狼聊、预言家拿到自己的查验、女巫只在用药时拿到当晚刀口),而观战与回放给观众完整视角——全员立绘席卡、身份标记、出局与死因、投票阶段的票型(谁投了谁、谁几票、这一轮怎么裁的)以及阵营终局。
主持人由规则确定性播报,不占模型席、不参与裁决、不进选手局面。台词、存活、出局、天数与阶段统一取「这一步开场」那一刻,因此「宣布谁出局」与「谁出局」同帧,观战、离线回放与 MP4 逐字一致。
比赛与选手:两名选手选择 DSH 已配置的模型路由,允许同模型自我对弈;推理强度在模型目录公开支持时可选。每名选手使用各自的连续 DSH Agent Session,只拿到当前棋盘、公开规则、最近着法与重复 / 无进展计数。非法坐标、占用落点、回复格式不合法记为违规,默认重试一次,再次违规判负;服务错误或截断暂停比赛,由用户决定继续,不计为棋力失败。模型没有文件、网络和通用工具权限。
画面与视频:离线回放与视频共用 lwb/packs/ai-arena/replay/ 一份画面源,逐手呈现执行者卡(模型形象 + logo + 席位)、本手发言、回合记录与终局卡。终局口径三处同源:五子棋点亮五连(金带 + 五环),象棋点亮制胜一手与败方将帅(和棋与判负不借用胜局图层),狼人杀给胜方席位金框。导出支持 1280×720 与 720×1280 两种画幅,可生成无声回放或带配音的有声 MP4(需要 FFmpeg;语音需要登录 LWB 并有足够积分)。同一组渲染输入不会重复渲染,改过展示层源码后需执行 npm run arena:build 重建产物。
完整规则、裁决模型与画面契约见 AI 竞技台文档。
公开仓库维护工作台核心和公开能力包;官方发行版在同一个程序中随带公开能力包和私有会员能力包。
| 功能 | 未登录或非会员 | 有效会员 |
|---|---|---|
| AI 对话、工作区、附件、工具与系统设置 | 支持 | 相同 |
| 能力包加载、卸载与专属工作区 | 支持 | 相同 |
| 口播视频内容创作的八个模块 | 完整提供 | 相同 |
| AI 竞技台(五子棋 / 中国象棋 / 狼人杀) | 完整提供 | 相同 |
| 模型博主测评 | 不可加载 | 可加载;使用需登录 LWB 并具有有效会员 |
| LWB 账号、积分购买与云端服务 | 登录后按服务端规则计费 | 相同 |
| 自带模型与百炼凭据(BYOK) | 支持 | 相同 |
不登录 LWB 也能使用基础工作台和公开能力包。 AI 创作和媒体生成需要可用的模型、服务凭据及相应额度,可选择 LWB 服务或自有服务。会员资格不代表无限免费调用;比赛按实际模型用量计费,配音与语音合成按 LWB 积分计费。
桌面版本的构建清单、数据目录及开发环境加载规则见 Desktop 与 Web:构建输入与官方发行版。
- Git。
- Node.js
^22.19.0 || >=24.0.0,建议使用 Node.js 22 LTS 的最新补丁版本。 - npm、Corepack,以及本机 C/C++ 编译工具和开发头文件。macOS 可安装 Xcode Command Line Tools。
- 视频制作(口播成片与竞技台导出)另需
ffmpeg、ffprobe和 Chrome/Chromium 渲染浏览器。
首次安装需要访问 GitHub、npm 注册表及上游构建所需资源。根项目使用 npm 和 package-lock.json;setup 脚本进入 DSH 目录后通过 Corepack 使用上游锁定的 pnpm。根目录的 packageManager 字段不改变下面的 npm 安装流程。
git clone https://github.com/ScarecrowFu/dsh-laofu-workbench.git
cd dsh-laofu-workbench
npm ci
npm run setup
npm run dev -- --port 4173npm run setup 获取并构建锁定版本的 DSH,放在被 Git 忽略的 vendor/ 中。首次构建可能耗时较长。若提示缺少 Corepack 或编译工具,见安装与故障排查。
上面启动的是 Web 端。使用桌面开发端时,在完成安装和 setup 后,改为运行:
npm run dev:desktop两端使用同一套页面和能力包。切换前先退出另一 Host,避免同时写入同一数据目录;当前桌面发布使用未签名便携包,详见 Desktop 与 Web。
启动会自动打开浏览器。需要手动打开时运行 npm run dev -- --no-open --port 4173,使用终端输出的完整 http://127.0.0.1:4173/?token=... 地址完成首次鉴权。不要分享访问令牌。
先选择模型与媒体服务的配置方式,两类服务可分别选择:
| 配置 | 使用 LWB 服务 | 使用自己的服务(BYOK) |
|---|---|---|
| AI 创作模型 | 在「设置」登录 LWB,到「场景任务默认模型」指定可用的 LWB 模型并保存 | 在 DSH 系统设置中配置服务商、凭据和默认模型,场景任务保持「跟随 DSH 默认模型」,或单独指定已配置模型 |
| 配音与字幕 | 在「配音 / 字幕 → 连接配置」选择 LWB 账号 | 在同一入口选择百炼并保存媒体服务 API Key |
| 封面生图 | 在「发布 → 封面生图」选择 LWB 账号 | 在同一入口选择百炼并保存生图服务 API Key |
登录 LWB 不会自动选定场景任务模型。普通对话和场景任务的模型分别管理;配音、字幕及封面服务也不会随文本模型设置切换。
- 配置可用的 AI 模型。
- 打开「场景能力包」,加载目标包(「口播视频内容创作」或「AI 竞技台」);随仓库提供的包无需另行执行安装命令。
- 口播链路:创建内容账号定位或使用「通用(无账号定位)」,检查信号,生成选题并完成一篇短稿,再配置媒体服务、FFmpeg 与渲染浏览器,从该项目稿件生成配音、字幕和视频。
- 竞技台链路:在「游戏库」选游戏,配置参赛模型与推理强度后开赛,结束后在「比赛记录」回放或导出视频 / 战报。
- 在「发布」预览通过质检的成片,整理并下载发布资料,自行发布到目标平台。
详见快速开始:第 5 节走完第一条口播内容,第 8 节跑第一场模型竞技。可以先验证对话和选题写稿,再配置媒体制作依赖。
源码启动的默认产品数据根为 lwb/local/current/,包括能力包登记、DSH 设置、凭据、会话和创作产物;lwb/local/ 不提交到 Git。原生附件和业务数据位置见运行数据目录。
启动器不会自动加载 .env。.env.example 仅用于说明可选变量;在启动终端中用 export 设置,例如:
export LWB_REMOTION_BROWSER_EXECUTABLE="/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"
npm run dev -- --port 4173更新或迁移前,停止服务并备份完整 lwb/local/;若自定义了数据目录,还需备份对应位置。包的“清空业务数据”会保留可恢复副本,与“卸载”含义不同。
npm test完成依赖安装和 DSH 构建后,上述命令执行语法检查、基础/能力包 Profile 检查及单元测试。真实模型和媒体接口需要另外配置并验收,测试通过不代表所有外部服务均可用。竞技台相关的测试与产物重建见 AI 竞技台文档。
代码放哪里:
| 路径 | 职责 |
|---|---|
lwb/profile/ |
工作台基础运行组合(受跟踪的 DSH Profile) |
lwb/dsh-bundle/ |
工作台浏览器壳、包生命周期、工作区、账号与任务服务 |
lwb/pack-sdk/ |
包清单校验、注册和作用域接口 |
lwb/packs/ |
独立业务包:spoken-video、ai-arena |
lwb/desktop/ |
桌面打包入口、版本(edition)清单与产物组装 |
lwb/upgrade/ |
上游检查与升级流程 |
scripts/ |
上游获取、一键打包、产物汇总、产品源码快照 |
docs/ |
当前指南、开发契约及历史摘要 |
工作台核心保持通用,场景页面、业务数据和任务流程放在包内。vendor/deepseek-harness 是上游 checkout,不属于产品改动区。
欢迎提交问题、文档改进与场景能力包。请先阅读贡献指南,问题反馈入口为 GitHub Issues。
文档只维护当前有效内容;逐次分析、设计草案与验收流水账已收敛到历史摘要,原文可从 Git 查阅。完整索引见 docs/README.md。
使用
| 文档 | 内容 |
|---|---|
| 快速开始 | 配置 LWB 或自有模型,完成第一条口播内容与第一场模型竞技 |
| 口播视频指南 | 口播流程、任务详情与音视频衔接 |
| AI 竞技台 | 游戏规则、裁决模型、主持人播报、票型死因、画面与视频契约、成片复用 |
| 故障排查 | 安装、访问、模型与媒体任务问题 |
| 运行数据目录 | 数据位置、备份和可恢复副本 |
载体与发行
| 文档 | 内容 |
|---|---|
| Desktop 与 Web | 双端启动、窗口拖拽、构建输入、打包与发行边界 |
| 许可证与商业使用 | 非商业使用、商业授权、服务和第三方边界 |
| 第三方组件与资源说明 | 依赖与随包素材的来源和许可 |
开发与契约
| 文档 | 内容 |
|---|---|
| 总体架构 | 产品、DSH 与业务包的职责分层与扩展边界 |
| 能力包契约 | manifest、注册、作用域、包内会话与工作区 |
| 开发场景能力包 | 创建、注册和动态加载独立包 |
| 账号与服务契约 | 接入 LWB 账号、文本模型和媒体服务 |
| 基座锁定与升级 | 上游版本锁定、升级流程与验收门禁 |
| 产品层职责 | lwb/ 各目录的职责与运行数据约定 |
| 升级说明 | 上游检查与升级流程细节 |
追溯
| 文档 | 内容 |
|---|---|
| 历史摘要与追溯 | 已结束的讨论与验收记录、资源出处保留说明 |
当前版本的项目自有代码(包括公开的口播视频与 AI 竞技台能力包)采用 PolyForm Noncommercial License 1.0.0:在协议允许的范围内可使用、修改和分发;其他用途(例如一般企业商业使用、商业托管或收费交付)需另行取得授权,具体以协议原文和实际用途为准。购买 LWB 会员、积分或云端服务不自动获得源码商业授权。该许可证属于源码可见的非商业许可,不是 OSI 认可的开源许可证。历史上已按 MIT 发布的版本继续适用其原许可证,当前许可不追溯撤销已经授予的权利。具体边界见许可证与商业使用。
私有的会员能力包采用其自身的专有许可,不在上述许可范围内。
感谢 DeepSeek Harness 提供运行时,以及 React、Remotion 等项目提供基础能力。上游 DSH 和所有第三方依赖、素材、字体及外部服务继续遵循各自的许可证和服务条款,不因本项目许可证而改变。
第三方依赖和附带资源的许可独立于本项目,特别是 Remotion 使用其自身许可。来源、许可边界和待补充的素材出处见第三方组件与资源说明。




