🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI
广告☁️ 云服务器特惠阿里云首购 8 折 · 腾讯云合作特惠
DeepSeek Harness Hub
← 返回列表

Niobium-41-nb/dsh-html-output

DeepSeek Harnessspec-screened扫描:低风险在 GitHub 查看 ↗
未验证

让 DeepSeek Harness 的 Agent 用 HTML 输出富文本而不是 Markdown,并在 DSH…

尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/9/14 · 已提供中文文档

DeepSeek Harness 插件:让 agent 输出 HTML 而非 Markdown,并在 DSH Web GUI 中实时渲染

综合分
28.9
GitHub 分
28.9
用户评分
—
★ Stars
0
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add Niobium-41-nb/dsh-html-output
该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
信任档位:已验证本站已于 0 天前真实安装成功
是什么
dsh 原生插件 · chat
装得上吗
本站已真实安装成功(非静态推断)
安全吗
本站尚未对该插件做风险分级(暂未覆盖,不等同于无风险)
还在维护吗
活跃:最近一次提交在 11 天前

档位由下列信号合成:本站实装验证(真实安装,当前最高到 L4)· 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。下方各区块是它的证据明细。 验证判据与等级说明 →

🟢实装验证通过· 2026/9/25
由本站实装验证器在真实 dsh 环境安装成功,非静态推断。
数据截至 2026/9/24(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

由 DeepSeek 最新模型翻译生成
dsh-html-output

check npm license

让 DeepSeek Harness 的 Agent 用 HTML 输出富文本而不是 Markdown,并在 DSH Web GUI 的聊天界面里把 HTML 渲染成实时预览的插件。

Agent 回复 (html fence)
│
▼
┌──────────────────────────────┐
│  简短说明                     │
│  │  …    │
│  │
└──────────────────────────────┘
│  dsh-client-html-output 检测到围栏
▼
┌──────────────────────────────┐
│  🖥 HTML 渲染输出 [查看源码][新标签][复制] │
│  ┌────────────────────────┐ │
│  │  沙箱 iframe 实时渲染   │ │
│  └────────────────────────┘ │
└──────────────────────────────┘

HTML 预览卡片

特性

- Host 半(packages/html-output,包名 dsh-html-output)
- 系统提示词小节(order 150):指导 Agent 在需要富文本/结构化/交互内容时用 HTML 输出,并固定输出契约(一句说明在前 + 单个 html  - html_render 工具:Agent 可在落笔前声明/校验一次 HTML 交付(大小上限、标题长度),校验通过后按契约以围栏输出。
- Client 半(packages/ui-html-output,包名 dsh-client-html-output)
- 注册到 conversation.chat.turnTail 链式插槽(纯增量、不遮挡官方 UI)。
- 收尾助手消息里检测到 html    - 沙箱 iframe(sandbox="allow-scripts",无同源权限)实时渲染;
- 工具栏:渲染预览 / 查看源码、在新标签打开(blob URL)、复制 HTML;
- 标题自动取自  或首个 。

工作原理
mermaid
flowchart LR
A[Agent 收到 HTML 输出小节] --> B[回复: 一句说明 + html 围栏]
B --> C[turnTail select 提取围栏]
C -->|有 HTML| D[HtmlOutputTail 渲染沙箱预览]
C -->|无 HTML| E[不渲染, 聊天照常]

- 所有 HTML 都在助手消息正文里,随会话日志持久化:回放、复制链接、分支都天然一致,不需要额外的存储或事件。
- 预览 iframe 只开放 allow-scripts(交互 HTML 可运行),不开放 allow-same-origin(内容无法访问宿主页面),安全隔离。
- 纯函数(extract.ts)与组件分离,逐项单元测试覆盖。

安装

📖 完整中文安装/挂载/验证步骤见 docs/install.zh-CN.md;两个插件包已发布到 npm:dsh-html-output(Host + bundle)、dsh-client-html-output(Client)。

一键安装(推荐)
sh
dsh plugin --profile web add dsh-html-output

dsh-html-output 声明了 dsh.bundle manifest,安装时会自动把 Host 行(html-output)与浏览器行(ui-html-output → dsh-client-html-output)插入你的 profile,并带上默认配置。重启 dsh web 即可。

手动挂载(不依赖 bundle)

Host 半

在 DSH 的 cordis 组合(如 cordis.yml)中加一行:
yaml
- name: dsh-html-output
config:
enabled: true
promptOrder: 150
maxHtmlBytes: 524288

并把 packages/html-output 安装进 DSH 的依赖树(本地 link 或发布后 pnpm add)。

Client 半

在 web-app bundle 的 cordis.patch.yml 中加入浏览器插件行:
yaml
- id: ui-html-output
name: dsh-client-html-output

同时在 bundle 的 package.json 依赖中加入 dsh-client-html-output(与内置 dsh-client-ui-trajectory 等插件同一机制),然后重启 web。
以 deepseek-harness 源码 checkout 为例:在 packages/bundle/web-app/cordis.patch.yml 加上述行,packages/bundle/web-app/package.json 加依赖,host 行加到你的 cordis.yml;之后 pnpm install && pnpm build:web 并刷新 GUI。

构建(源码开发)
sh
pnpm install
pnpm build        # 产出 packages/*/lib
pnpm test         # 单元测试

使用

装好后,Agent 在需要富文本输出时会自动采用 HTML。示例回复:
markdown
统计报表如下。

销售报表
table{border-collapse:collapse}td,th{border:1px solid #999;padding:6px}

…

聊天界面会在该消息下方直接渲染这份 HTML。

配置

| 字段 | 默认 | 说明 |
| --- | --- | --- |
| enabled | true | 是否注册提示词小节与工具 |
| promptOrder | 150 | 系统提示词小节的顺序(工具指导带 100–199) |
| maxHtmlBytes | 524288 | html_render 单次校验的 HTML 大小上限(超限建议写文件) |

项目结构

packages/
html-output/        # Host: 提示词小节 + html_render 工具
src/section.ts    #   输出契约文本
src/tool.ts       #   工具校验/回执(纯函数)
ui-html-output/     # Client: 聊天渲染预览
src/client/extract.ts        #   围栏/标记提取(纯函数)
src/client/HtmlOutputTail.tsx#   预览卡片组件
src/client/html.ts           #   文档包装 + 剪贴板

开发
sh
pnpm test:watch      # vitest watch
pnpm typecheck       # 两包 tsc --noEmit

- Client 包由 tsdown 打成 lib/client.js(window.__ModuleLoader__.load 交接格式),平台模块(react、cordis、runtime 等)保持 external,由 DSH 模块表提供。
- 所有对 DSH 的依赖均以 type-only import 引入,bundle 内不复制任何 DSH 运行时实例。

License

MIT

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

💬 加入社群

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

DPharness QQ 群二维码,QQ 扫码进群
QQ 扫码进群
DPharness 飞书群二维码,飞书扫码进群
飞书扫码进群