构建在 DeepSeek Harness Web 之上的全屏业务应用框架:深色侧边栏工作台,集成数据库连通测试与 SQL 查询、票据/会计二级知识库(本地检索与 Word 文档投喂)、元数据环境比对与变更 SQL 生成、数据字典、Agent 日志检索报告演示、系统测试用例执行、印象笔记风格记事本、常用开发工具与小游戏。
安装
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:wangtie-010101/wangtie-os
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
构建在 DeepSeek Harness (DSH) Web 之上的全屏业务应用框架 —— 参考「数币 OS」的架构与形态: 深色侧边栏工作台 + 业务模块(工作台 / 数据查询 / 知识库(票据·会计二级)/ 数据字典 / 系统测试)与 📝 记事本(印象笔记风格)、🧰 常用开发工具、🎮 休息一下(内置小游戏)。
本仓库是一个独立的 DSH bundle 插件(与 dshmarket 同构),安装进 web profile 后无需改动 DSH 本体。
架构
wangtie-os/
├── package.json # 插件清单(dsh.bundle.patch 声明,类似 dshmarket)
├── cordis.patch.yml # profile 层补丁:插入插件条目
├── build.mjs # esbuild 构建(服务端单文件 bundle)
├── src/ # 服务端(TypeScript,esbuild → lib/index.js)
│ ├── index.ts # cordis 插件入口 apply(ctx, config):获取 webServer 并挂载路由
│ ├── routes.ts # /wangtie-os/api/* 全部 HTTP API(Mock 数据)
│ ├── static.ts # /wangtie-os/ 与 /wangtie-os/ui/* 静态资源托管(带路径穿越防护)
│ ├── http.ts # sendJson / sameOrigin / readJsonBody 工具
│ ├── config.ts # 配置存储 $DSH_HOME/wangtie-os/config.json
│ ├── dbprobe.ts # 数据库连接探测:TCP 可达性(/api/db/test)
│ └── data.ts # 演示数据(环境/服务/表/字典/知识文档/Agent 报告)
└── ui/ # 前端(原生 JS SPA,无构建依赖)
├── index.html # 入口页(王铁 OS)
├── style.css # 全局样式
├── main.js # 页面逻辑:10 个页面模块 + 路由 + API 调用
├── knowledge-data.js # 票据知识库演示文档(前端内置,本地检索)
└── games/ # 休息一下内置游戏(独立单文件 HTML,iframe 全屏运行)
└── thunder-force.html # 雷霆战机(纵版射击小游戏)
运行链路:dsh web 启动 → profile 层栈加载 wangtie-os → apply() 挂载 24 条 HTTP 路由 → 浏览器访问 http://127.0.0.1:3080/wangtie-os/ 进入应用。
安装(开发方式)
# 在 wangtie-os 目录构建(首次需 npm i esbuild)
cd wangtie-os
npm install # 安装 esbuild 等开发依赖
node build.mjs # 产出 lib/index.js(ui/ 无需构建)
# 安装进 web profile(DSH 官方插件流程)
cd /Users/wangtie/Desktop/DeepSeek/deepseek-harness
pnpm dsh plugin --profile web add file:/Users/wangtie/Desktop/DeepSeek/deepseek-harness-workspace/wangtie-os
# 重启 DSH Web 后:
# http://127.0.0.1:3080/wangtie-os/ (王铁 OS 全屏应用)
# http://127.0.0.1:3080/wangtie-os/api/health
注:web profile 的
pnpm-workspace.yaml中autoInstallPeers: false, 插件的 peer 依赖(@deepseek-ai/cordis)由宿主提供,无需安装。
模块与 API 一览
| 模块 | 前端文件段落 | API | 说明 |
|---|---|---|---|
| 工作台 | PAGES.dashboard |
GET /api/app-info |
首页入口 + 我的功能/系统概览 |
| 数据查询 | PAGES.query |
POST /api/db/test、POST /api/sql/query、GET /api/sql/tables |
自定义数据库连接(类型/地址/端口/用户名/密码,本机保存)+ 真实 TCP 连通性测试(成功/失败)+ SQL 执行(Mock)与 CSV 导出 |
| 知识库 | PAGES.knowledge |
GET /api/knowledge/search?q=、GET /api/knowledge/docs |
二级知识库:票据知识库(内置 10 篇)与会计知识库(内置 4 篇);各自支持检索问答、粘贴/文件批量投喂,支持 .txt/.md/.json/.docx(Word 自动提取正文)(IndexedDB 持久化,ui/knowledge-data.js) |
| 数据字典 | PAGES.dictionary |
GET /api/dictionary/entries、POST /api/dictionary/import |
检索/分类/一键导入 |
| 系统测试 | PAGES.test |
—(纯前端,localStorage 持久化) | 业务系统主要功能用例:按模块执行(通过/失败)、一键冒烟测试、总体与分模块测试进度、进度摘要复制/重置 |
| 记事本 | PAGES.notes |
—(纯前端,IndexedDB 持久化) | 印象笔记风格三栏笔记:笔记本分组/标签/置顶/Markdown 编辑与预览/搜索/自动保存/回收站/导出 .md 与 .json 备份恢复 |
| 常用开发工具 | PAGES.devtools |
—(纯前端,无 API) | JSON、Base64、URL 编解码、时间戳、文本统计、大小写转换(大写/小写/词首/句首/反转/变量风格)、哈希(SHA-1/256/384/512、CRC32)、进制转换(BigInt)、正则测试、颜色转换(HEX/RGB/HSL)、UUID 生成、压缩工具(打包压缩/分段压缩/解压) |
| 休息一下 | PAGES.entertainment |
—(纯前端,无 API) | 内置小游戏启动器:雷霆战机、贪吃蛇全屏运行(游戏放 ui/games/,新增只需登记 GAMES) |
后续扩展指南
- 接入真实数据源:把
src/data.ts的 Mock 数据替换为真实查询(数据库、文档库),或直接在routes.ts各 handler 中调用内部服务;接口形状不需要改动前端。 - 新增模块页:
ui/main.js里加一个PAGES.xxx函数并在shell()的 nav 数组中登记;服务端在routes.ts增加on('/api/xxx', ...)。 - 客户端插件化(可选):若希望「王铁 OS」作为 DSH 客户端插件挂进壳内导航(而非独立 URL),需实现
./client导出(window.__ModuleLoader__.load模块格式,参考 dshmarket)并在 package.json 补回dsh.client声明。
安全说明
- 演示环境:Mock 数据、密码字段不落盘(
ui页明确提示); - 静态资源托管带路径穿越防护(
static.ts); - 变更类接口(PUT/POST)在生产环境应加
sameOrigin校验与权限控制。
链接
同类插件
yjh051108/dsh-routing-suite★ 7176
一个仓库三件套:DSH 插件包的运行时注入器(注入、热重载、卸载、开发侧挂区一键转正、路由自愈,外带设置页插件管理:列出、卸载、拖入文件夹内化)、任务感知的思维模式路由 agent 预设(router-standard / router-spec / router-react)、以及分级两级任务协议(commit_star / lock_stage / revise_do / edit_plan / mark_task / redteam_verdict 六个工具,任务状态落盘)。注入器实现直接在库内,安装的是它自己的行为而不是一份依赖清单。
strukto-ai/mirage#dsh★ 3626
把文件系统与 bash 提供者换成 mirage 虚拟工作区:文件工具与 shell 命令作用于挂载的资源(RAM、S3、Redis、Slack、Gmail、Notion、Postgres)而非宿主磁盘,支持按挂载点设置读/写/执行模式、按命令选择沙箱(进程内 monty、pyodide、quickjs;远程 docker、e2b、daytona),并可在虚拟终端中安装 CLI(git、gh、slack、linear、ntn、gws,或自行注册的程序树)作为命令头词。
hust-open-atom-club/oh-dsh★ 312
社区发行版:TUI、桌面端与 Web UI 统一体验,分层安装、一步到位。
lire1131/dsh-undo-savepoint★ 154
DSH 撤销/回退系统:配置变更自动存档,一键撤销/恢复/回退到任意版本,支持 WebUI 与离线 CLI/GUI 工具(DSH 启动失败也能救)。
Fishquito7/dsh-skill-mcp-panel★ 124
在 DSH Web 设置中管理技能与 MCP 服务器:技能卡片热启停、工作区作用域、分组、批量迁移与拖拽导入,以及 stdio/HTTP MCP 增删改查、连接测试、密钥脱敏,并附带统一 dsh-panel 命令行。
kanneiren/dsh-network-settings★ 109
可视化 DSH 进程在 Windows 或 WSL 上的网络链路(DNS/TCP/TLS/HTTP 分层探测),检测失效的代理配置,并提供带快照回滚的安全修复。
社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。