把回答变成可交互网页,嵌在对话里直接使用
35.6/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/11/2 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add @orderg-x/dsh-pagesnpm 源 · @orderg-x/dsh-pages 的发布者账号已校验与本仓库一致
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:仅索引
是什么
dsh 原生插件 · ui
装得上吗
静态安装检查通过
未做真实安装
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 3 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✓npm 包@orderg-x/dsh-pages @ 0.2.2
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/11/2 06:37:54
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令发起外部网络请求
查看扫描证据(共 5 处,展示前 5 条)
- 执行外部命令来自配置/变量lib/index.js:413
execFile(cmd, args, (e) => { if (e && process.platform !== 'win32') log(e) }) - 发起网络请求lib/client.js:333
return fetch(url, { credentials: 'same-origin' }).then(readReply) - 发起网络请求lib/client.js:336
return fetch(url, { method: 'POST', credentials: 'same-origin', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(body) }).then(re - 发起网络请求lib/client.js:366
const send = () => fetch(API + 'state', { method: 'POST', credentials: 'same-origin', keepalive: !!keepalive, headers: { 'Content-Type': 'application/ - 执行外部命令固定命令lib/browser.js:189
execFile('taskkill', ['/pid', String(p.pid), '/T', '/F'], (err) => {
扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/dsh-tools给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
DSH 页面:模型把回答变成一个实时网页,直接嵌在对话里——跟随明暗主题、保留版本、自检、可导出。
最近更新
在 GitHub 查看全部 →v0.2.22026-10-31
· 说明里写上怎么更新:「插件」页卸载后再添加。DSH 用 pnpm 安装插件,而 pnpm 默认不装刚发布的版本,所以新版大约发布一天后,按包名才能装到;急的话填发布包地址。
· 代码没有改动,已经装好的不用更新。
The README now explains updating: uninstall on the Plugins page and add it again. A new version can be installed by package name about a day after release, because the pnpm that DSH uses skips brand-new versions by default. No code changes.
v0.2.12026-10-31
· 安装改成:DSH「插件」页 →「添加插件」,填 @orderg-x/dsh-pages。新版 DSH 的 dsh plugin add 要带 --profile,桌面版的 profile 又不让命令行装,以前 README 里的写法照着做会报错。
· 按包名装时,DSH 连不上 npm 官方源会自动改用国内镜像(npmmirror),不用连 GitHub。
· 代码没有改动,已经装好的不用更新。
Install instructions now say: DSH Plugins page → Add plugin → enter @orderg-x/dsh-pages. The old dsh plugin add line fails on current DSH (it needs --profile, and the desktop profile is app-managed). By package name, DSH falls back to the npmmirror mirror when npm is unreachable. No code changes.
v0.2.02026-10-29
· 8 个模板:报告、对比、清单 / 计划、数据看板、时间线、学习卡片、测验、流程图。模型只写内容(template + data),排版、深浅色、手机适配、勾选 / 答题 / 记住了这些交互和保存都是现成的,快而且不会写坏;data 写错了工具会说清楚哪里不对。
· 一套设计:标题上方一条蓝色短线加类别小字,大数字当主角,只用一个强调色(DeepSeek 蓝),绿、红、琥珀只表示好、不好、要留意;面板白底细线;图表配色按色盲也分得清的顺序取。深浅色都有。
· 模型自己写的页面也用这套:存的时候自动带上颜色变量、基本样子和现成的类(页头、面板、大数字、输入框、分段切换、开关、标签……),工具说明里列给模型。这份样式放在 CSS @layer 里,页面自己写的样式总能盖过它,不会把页面改坏。大数字一行放不下会自动缩小。
8 built-in templates (report, compare, checklist, dashboard, timeline, flashcards, quiz, flow): the model writes only the content and the plugin lays it out, with interactions and saving built in. All templates share one design (kicker + title, big-number strip, a single accent, hairline panels, a colorblind-safe chart palette, light and dark). Pages the model writes by hand now get the same design automatically, inside a CSS @layer so the page's own styles always win.
更新 / Update:dsh plugin add @orderg-x/dsh-pages,然后重启 DSH。
数据来自仓库的 GitHub Release,可能与插件实际版本不一致。
README
由 DeepSeek 最新模型翻译生成让 DSH(DeepSeek Harness)的模型把回答做成一页网页:对比、清单、图表、计算器、测验……页面直接嵌在回复下面,能点能用,深浅色跟着 DSH 走,填过的东西重开还在。改一次存一版,旧版留着能翻;右侧栏看整页,一键导出 PNG / PDF / HTML。
常见的报告、对比、清单、数据看板、时间线、学习卡片、测验、流程图有现成模板:模型只写内容,插件负责排版和交互,出得快、省 token、不会写坏;模板放不下的才让模型写整页网页。
一句话:DeepSeek Harness(DSH)插件,模型用 show_page 把回答做成一页,直接显示在对话里、能交互;8 种常用模板只写内容就行,跟随深浅色、有版本、存好自动体检、能导出。
什么时候用:「做成一页给我看」「做个房贷计算器」「三款手机对比一下」——看一页比读一段字清楚的时候。
安装:DSH「插件」页 →「添加插件」,填 @orderg-x/dsh-pages(npm 包,连不上 npm 会自动换国内镜像),重启 DSH。
展开完整文档(README 剩余 1 节)
让 DSH(DeepSeek Harness)的模型把回答做成一页网页:对比、清单、图表、计算器、测验……页面直接嵌在回复下面,能点能用,深浅色跟着 DSH 走,填过的东西重开还在。改一次存一版,旧版留着能翻;右侧栏看整页,一键导出 PNG / PDF / HTML。
常见的报告、对比、清单、数据看板、时间线、学习卡片、测验、流程图有现成模板:模型只写内容,插件负责排版和交互,出得快、省 token、不会写坏;模板放不下的才让模型写整页网页。
一句话:DeepSeek Harness(DSH)插件,模型用 show_page 把回答做成一页,直接显示在对话里、能交互;8 种常用模板只写内容就行,跟随深浅色、有版本、存好自动体检、能导出。
什么时候用:「做成一页给我看」「做个房贷计算器」「三款手机对比一下」——看一页比读一段字清楚的时候。
安装:DSH「插件」页 →「添加插件」,填 @orderg-x/dsh-pages(npm 包,连不上 npm 会自动换国内镜像),重启 DSH。
English: a DeepSeek Harness (DSH) plugin. The model calls show_page to turn an answer into a web page that lives right in the chat — either by filling one of 8 built-in templates (report, compare, checklist, dashboard, timeline, flashcards, quiz, flow: the model writes only the content) or by writing a full page, which picks up the same design automatically. Pages are interactive, following DSH's light/dark theme, versioned (edit → v2, flip back anytime), checked automatically in a headless browser after saving, opened full-size in the right sidebar, and exported to PNG / PDF / HTML. Install: on the DSH Plugins page, click Add plugin and enter @orderg-x/dsh-pages, then restart DSH.
安装
在 DSH「插件」页点「添加插件」,填包名:
@orderg-x/dsh-pages
这是 npm 包:按包名装时,DSH 连不上 npm 官方源会自动改用国内镜像(npmmirror),不经过 GitHub。也可以填发布包地址 https://github.com/OrderG-X/dsh-pages/releases/latest/download/dsh-pages.tgz,那样要能连上 GitHub。
装完重启 DSH(客户端代码在 DSH 启动时打包,不重启看不到页面)。DSH「插件」页里显示为「页面」。
更新:在「插件」页把它卸载,再按上面添加一次。新版发布后大约一天按包名才装得到(DSH 装插件用的 pnpm 默认不装刚发布的版本),急的话填发布包地址。
开发时可以直接链到本地目录:在「添加插件」里填本仓库的绝对路径,装上的是 link:,改了代码同样要重启。
用起来是什么样
1. 写的时候:工具组里先出一张骨架卡片,「正在写页面… 已写 12 KB」。
2. 写好了:页面直接嵌在回复下面,一出来就是内容的高度(体检时量好了,不跳);太高先收起,点「展开」看全。长报告类模型可以选只放一张缩略图卡片。
3. 右侧栏:点「在右侧打开」看整页;顶上能翻版本(‹ v2 / 3 ›)、导出、刷新;「‹ 全部页面」是做过的所有页面(带缩略图)。右侧栏「+」里也有「我的页面」入口。
4. 再改:说「把标题改大一点」,模型带上 page_id 再调一次,存成 v2。对话里旧回合还是 v1,新回合是 v2。
5. 我的页面:页面多了能搜标题;不要的点「×」再点「确定删除?」,整页挪进回收站(~/.dsh/dsh-pages/trash/,挪回 pages/ 就回来了)。
6. 手机上(配合 dsh-mobile):页面照样嵌在对话里,标题栏按钮自动变短;「在右侧打开」铺满整屏。
模板
模型传 template 和 data(只写内容),插件排成一页:配色、深浅色、手机排版、交互和保存都是现成的。比让模型从头写整页网页快得多,也不会写坏;data 写得不对,工具会说清楚哪里不对,模型照着改。
八个模板共用同一套设计:标题上方一条蓝色短线,配类别小字;大数字当主角;只用一个强调色(DeepSeek 蓝),绿、红、琥珀只表示好、不好、要留意;面板白底加细线,列表靠细线分隔。图表配色按色盲也能分清的次序取。
模板放不下、模型自己写整页 HTML 的(计算器、小游戏、特别版式),存的时候也套进这套设计:标题、正文、表格、按钮、输入框不写样式就是这个样子,还有现成的颜色变量和页头、面板、大数字、输入框、开关这些类可用(工具说明里列给模型了)。这份样式放在 CSS 的 @layer 里,页面自己写的样式总能盖过它,不会把页面改坏。
| 模板 | 适合 | 页面里能做什么 |
| report 报告 | 复盘、调研、总结 | 摘要、指标卡、分节(文字 / 列表 / 表格 / 提示框)、来源 |
| compare 对比 | 选手机、选方案 | 卡片 / 表格切换,「只看不同」,数越大(或越小)越好的自动标出最好的,推荐项高亮 |
| checklist 清单 / 计划 | 待办、出行、搬家 | 勾选自动保存,进度条,「只看没做的」,重置 |
| dashboard 数据看板 | 周报、销量、流量 | 指标卡带涨跌,柱状图 / 折线图 / 环形图(自己画,不靠外部库),鼠标移上去看数 |
| timeline 时间线 | 计划、历史、进度 | 已完成 / 进行中 / 没开始 |
| flashcards 学习卡片 | 背单词、记概念 | 点卡片翻面,「记住了」计数,只看没记住的,打乱 |
| quiz 测验 | 自测、出题 | 点了就判对错、给解释、算分,重做 |
| flow 流程图 | 审批、操作步骤 | 自动分层排版,判断分叉、跨层和往回的连线自动绕开 |
文字里能用 加粗、 代码 、链接;页面上的按钮文字跟着内容的语言走(中文 / 英文)。
深浅色
- 卡片、右侧栏用 DSH 自己的设计变量,跟着 DSH 走。
- 页面里也跟着换,不重载(填了的表单、拖过的滑块都还在):页面送出去时塞一小段脚本,在 上设 data-theme="light|dark"、data-bs-theme、.dark 和 color-scheme,自己写的变量、Tailwind、DaisyUI、Bootstrap 都认。
- 页面里写的 @media (prefers-color-scheme: dark) 也改成听 DSH 的(DSH 选了深色、系统是浅色时照样变深)。
- 模型自己写的页面带着上面那套设计的深浅色变量(--bg --surface --fg --muted --line --accent 等),用了就自动跟着切。
页面能存东西
沙箱里本来一碰 localStorage / sessionStorage / cookie / IndexedDB 就报错,页面整个挂掉。插件换成了能用的:
- localStorage 按页面存进 DSH:待办勾了几项、计算器填的数,重开 DSH、模型改出新版本都还在。每页最多存 25 万字左右。
- 对话里和右侧栏同时开着同一页:页面听 storage 事件的,一边改了另一边马上跟上;不听的,鼠标移回另一边时整页重载成新的(旧的那份不会把刚改的盖掉)。
- sessionStorage 只在这次打开里有;cookie 读出来是空的;IndexedDB 当没有。
自动体检
存好就在本机一个看不见的 Chrome / Edge 里打开(和对话里一样的沙箱),一两秒出结果,跟工具结果一起交给模型:
- 脚本报错、库从 CDN 载不进来、被沙箱拦下的请求
- 空白页
- 对话宽度(720px)和手机宽度(390px)下横向溢出,指出是哪个元素
- 深色模式下背景还是浅色
- 照对话里的做法嵌一遍,量出嵌进去的高度;用了 100vh 又加边距、越撑越长的页面会指出来
被沙箱拦下的会说清楚该怎么改(比如「页面不能联网取数据,把数据直接写进页面」),模型照着改就行。
有问题模型会改了再调一次;没问题就不用再检查。顺手截深浅两张缩略图给「我的页面」用。没装 Chrome / Edge 时跳过体检。
用法
| 参数 | 必填 | 说明 |
| title | 是 | 页面标题,短一点 |
| template | 二选一 | 套模板:report / compare / checklist / dashboard / timeline / flashcards / quiz / flow,配 data |
| data | 套模板时 | 模板的内容(JSON),各模板的字段写在工具说明里,示例见 test/fixtures/template-samples.mjs |
| html | 二选一 | 不用模板时:完整、自包含的 HTML;样式脚本写在页面里,库可以从 cdn.jsdelivr.net / cdnjs.cloudflare.com / unpkg.com 引 |
| page_id | 否 | 改已有页面时填上次返回的 page_id,存成新版本 |
| display | 否 | inline(默认,嵌在对话里)或 card(只放缩略图卡片,点开在右侧看) |
安全
- 页面关在沙箱里:回应头带 Content-Security-Policy: sandbox allow-scripts …,页面跑在不透明源里,碰不到 DSH 的接口和 cookie;connect-src 'none',不能 fetch / XHR / WebSocket;图片、音视频只收 data: / blob:(图标可以从三个 CDN 拉),页面没法把用户填的东西拼进图片地址发出去。脚本和样式只能从三个 CDN 拉。
- 页面自己跳走:体检时一律拦下并告诉模型;对话里的页面跳走了会被拉回原页面。不过浏览器没法在跳转发出去之前拦住它,所以别在页面里填密码一类的东西。
- 要登录态:页面和接口都交给 DSH 自己的 connection 服务验登录;老版本 DSH 没有这个服务时只收本机连接,并查 Host / Sec-Fetch-Site / Origin(防 DNS 重绑定、跨站)。
- 改东西的接口(导出、在文件夹里显示、删页面、存页面数据)只收同源发来的 JSON;「在文件夹里显示」只认这次导出过的文件。
- 页面存的东西只能存进它自己那一页(哪一页由外面的对话决定,页面说了不算),只收字符串、有上限;送回页面时转义过,存进去的 跳不出来。小脚本塞在文档最前面,注释里写的 骗不了它。
- 体检用的无头浏览器没有 DSH 的 cookie:排到空位、真要开页面时才给它一个口令,一分钟有效、只认那一页、只收本机连接;载进来的不是这一页(口令过期、页面没了)就不记结果、不存缩略图。浏览器走 --remote-debugging-pipe(不开端口),临时用户目录用完就删。
- 存的文件:同一页的写入排队,还有一把跨进程的锁(DSH 桌面端和命令行同时改同一页也不会丢版本);meta.json 读进来先校验,版本号只认正整数,坏掉的记录不拖垮列表。页面数据存的是「改了什么」,两个窗口(比如电脑和手机)各改各的不会互相抹掉;页面关掉时马上存。
存在哪
~/.dsh/dsh-pages/pages/<page_id>/:meta.json(标题、各版本、体检结果)、v1.html(模型给的原样 HTML)、v1.jpg / v1-dark.jpg(缩略图)、state.json(页面自己存的 localStorage)。删掉的在 ~/.dsh/dsh-pages/trash/。导出的文件在「下载」里。
架构
服务端 show_page ──存一版──▶ 无头 Chrome 体检(口令载入)──▶ 结果 + page_id + 地址回给模型路由 /dsh-pages/page?id=&v=&theme= CSP 沙箱 · 塞深浅色 / 高度小脚本
/dsh-pages/api/{list,meta,thumb,export,reveal,delete,state}
客户端 turnTail 槽(回复下方嵌页面 / 缩略图卡片)· toolview 槽(写的时候的骨架卡片)· 右侧栏「页面」标签
- lib/index.js —— 工具、路由、把门、导出
- lib/design.js —— 一套设计(颜色变量、基本样子、现成的类),模板和手写页面共用
- lib/templates.js —— 8 个模板:内容校验、排版、页面里的交互小脚本
- lib/store.js —— 存页面、版本、页面数据,删页面(同一页的写入排队)
- lib/runtime.js —— 塞进页面的小脚本:深浅色、报高度、外部链接新窗口开、记报错、能用的 localStorage
- lib/check.js —— 体检、整页截图、存 PDF
- lib/browser.js —— 无头 Chrome / Edge(CDP 管道,闲置自动关)
- lib/client.js —— 客户端(exports.inject 是客户端短服务名)
- cordis.patch.yml —— bundle patch
测试
npm test # 服务端、客户端、模板、体检(有 Chrome / Edge 时用真浏览器)
node e2e/e2e-pages.mjs --dsh 0.2.1-rc.3 [--light] # 临时装一个 DSH 网页版 + 假模型 + 无头 Chrome,整套走一遍
已验证
DeepSeek Harness 0.2.1-rc.2 / rc.3:临时 DSH 网页版端到端 35 项,深色、浅色各跑一遍(写的时候的卡片、嵌在对话里、高度跟内容、深浅色切换不重载、右侧栏、改出 v2 和翻回 v1、导出 HTML / PNG、全部页面带缩略图、页面里勾的东西重开 DSH 还在、两处同开实时同步、手机宽度、删页面挪进回收站、套模板)。8 个模板各自在真浏览器里点过(勾选、切换、翻卡、答题、图表提示、流程图连线),720 和 390 宽、深浅色都过体检。桌面端用 DeepSeek-V4.1-Flash 实测:清单、数据看板都自己选对模板、一步到位;不用模板自己写的房贷计算器、个税计算器、旅行 AA 分摊,都用上了同一套设计,深色适配好,体检通过。
反馈
遇到问题或想要新功能,提一个 issue。报问题时写上 DSH 版本和插件版本,修起来最快。预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
OrderG-X/dsh-pages
把回答变成可交互网页,嵌在对话里直接使用
相关插件 · UI / 主题
破甲增强版JeffKeeping/dsh-purge-plus
dsh-purge 的非官方分支fork:适配 DeepSeek Harness 0.2.1-rc.2、破甲内核…
★ 387已汉化DeepSeek 客户端
71.9
无代码业务系统平台nocobase/nocobase
NocoBase 是什么
★ 24,804已汉化DSH
71.8
1Panel 服务器面板1Panel-dev/1Panel
全球 250 万+ 自托管用户共同喜爱。
★ 37,350已汉化DSH
71.5
工作状态行动态ccch1mneyyy/working-activity
作者:chimney@ccch1mneyyy。社区项目,非 DeepSeek 官方项目。
★ 664已汉化DSH
71.2
多模型配置管家farion1231/cc-switch
跨平台桌面一体化助手,支持 Claude Code、Codex、OpenCode、DeepSeek Harness 等工具,唯一官网 ccswitch.io
★ 151,506已汉化DSH
71.1
AI 矢量设计工具ZSeven-W/openpencil
全球首个 AI 原生开源矢量设计工具。
★ 7,027已汉化DSH
71.1
这是你的仓库?认领条目