dsh-answer-me-with-html:用一页 HTML 回答复杂问题

前言

在 DeepSeek Harness(DSH)里向模型提复杂问题时,常见输出是长段 Markdown 或零散要点,对比关系、流程和结构往往要靠读者自己拼。若希望答案是一份可直接在浏览器里阅读的单页 HTML——带布局、样式和 SVG 示意图——通常需要模型手写大量 HTML,token 消耗高,也不稳定。

dsh-answer-me-with-html 把上游项目 Answer me with HTML 打包成 DSH 插件:可选启用、仅含 skill bundle。模型先写短 Markdown 草稿,捆绑的 am CLI 负责 CSS、版式和 SVG 坐标;README 称这大约相当于手写 HTML 所用 token 的约 1/8。下面介绍它是什么、如何安装,以及使用时需要注意的点。

这是什么

  • 插件名称:dsh-answer-me-with-html(npm 包名与仓库名一致)
  • 维护者:wjvalue
  • 分类:模型推理(社区目录归类)
  • 仓库:github.com/wjvalue/dsh-answer-me-with-html
  • 许可证:MIT;内嵌 skill 与 CLI 亦为 MIT,© QingYunA

插件不含 Host 代码。通过 cordis.patch.yml 注册专用的 @deepseek-ai/dsh-skill-filesystem provider,唯一根目录为包内的 skills/。skill 经该根进入会话目录,不会复制到 ~/.dsh/skills,也不改动其他 profile。

包内结构

路径 作用
cordis.patch.yml 单行配置:上述 skill filesystem provider,skills/ 为根
skills/answer-me-with-html/ 上游 skill 原样 vendoring:SKILL.md、references/、无依赖的 scripts/am.mjs
scripts/update-skill.sh 从上游重新 vendoring 并跑 npm test
scripts/publish-to-npm.sh 按需登录并发布到 npm

当前 npm 版本为 0.5.0(见仓库 package.json)。

核心功能

  1. 按需出页:像平时一样提问;skill 自行判断何时值得生成一页 HTML。
  2. 分工生成:模型写 Markdown 草稿;am CLI(node <skill dir>/scripts/am.mjs)生成样式、布局与 SVG 图坐标。
  3. 本地落盘:页面写入 ~/.answer-me-with-html/pages/,便于用浏览器打开阅读。
  4. DSH 集成:skill 名为 answer-me-with-html;DSH 会把 skill 基目录传给已加载 skill,SKILL.md 中的 ${CLAUDE_SKILL_DIR} 占位符无需手改。

安装与启用

要求 Node.js 20+;运行 am 时不需要在该插件目录执行 npm install。

从 npm 安装(无构建、无需额外授权):

dsh plugin --profile <name> add dsh-answer-me-with-html

将 <name> 换成你的 DSH profile 名称。

开发时也可指向本地目录,或在插件市场 / 设置 UI 中选择同一目录。README 还说明从 git URL 安装时,dsh plugin add 需要 PATH 上有 pnpm;GitHub tarball 同样无构建步骤。本文不展开 clone 流程。

安装后,插件以当前 dsh 进程权限 运行;启用前建议自行查看仓库源码与 MIT 许可证,确认符合你的环境策略。

典型用法

无需新命令格式,直接提问即可。README 示例:

Explain the TCP three-way handshake
Redis or Memcached for our cache?

当 skill 认为适合出页时,会走 Markdown 草稿 + am 渲染,最终在 ~/.answer-me-with-html/pages/ 得到可读单页。

适用场景与注意

适合谁

  • 已在用 DSH、希望复杂解释(协议、架构选型、多步流程等)以单页 HTML 呈现的开发者。
  • 希望减少模型直接输出大段 HTML、又需要示意图与版式的场景。

与默认 skill filesystem 的冲突

若同时启用默认的 @deepseek-ai/dsh-skill-filesystem,它会扫描 ~/.dsh/skills 与 ~/.agents/skills,且优先级高于本 bundle 的根目录。若这些目录里留有旧版 answer-me-with-html,会静默覆盖插件内 vendoring 的版本。

删除旧副本前,先确认是否被其他工具引用:

ls -la ~/.dsh/skills ~/.agents/skills ~/.claude/skills 2>/dev/null | grep answer-me-with-html

~/.agents/skills/answer-me-with-html 常是 Claude Code、ZCode、Hermes、WorkBuddy 等共用的副本(多通过 symlink);删掉可能影响那些环境。可选做法:保持默认 provider 关闭(默认即为关,除非别处打开),或同步更新共享副本而非只删插件侧依赖。

CLI 更新提示勿误用

运行一段时间后,am render 可能打印类似「请 npx skills update answer-me-with-html -y」的提示。该命令属于 vercel-labs/skills,更新的是 ~/.agents/skills 里的副本,不能更新本插件提供的 skill。维护本插件应使用仓库内的 scripts/update-skill.sh(上游在 0.5.0 检查时无 DSH 专用分支,提示仍会出现)。

结尾

dsh-answer-me-with-html 把「Answer me with HTML」以 skill-only 方式接入 DSH:可选安装、不污染全局 ~/.dsh/skills,用 Markdown + am CLI 产出可阅读的单页 HTML。社区目录页:skillhub.cn/plugins/wjvalue/dsh-answer-me-with-html;源码与完整说明:GitHub 仓库。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye