Skip to content

Releases: feigo313/dsh-structured

dsh-structured 0.9.9

Choose a tag to compare

@feigo313 feigo313 released this 26 Oct 04:02

dsh-structured 0.9.9

0.9.7–0.9.9 一次性发布;三版累积在同一分支,0.9.9 已包含前两版。

0.9.7 — 金额 / 美元规则,issue #2 收口

  • BUILTIN_STYLE_TEXT 新增第 8 条:金额或美元符号用 \$ 转义或反引号包裹,不写裸 $...$。
  • issue #2 收口:标题图标换行已在 0.9.6 修复;公式为宿主 singleDollarTextMath 行为,插件不改写消息内容、不 patch 宿主,README 保留已知限制。

0.9.8 — 语义 hue 分离与 1.0 基线

  • Anthropic warn token 调整为 #806000 / #EAB308,与 accent 拉开 hue 距离;Codex 保持 #10A37F / #34D399。
  • 新增 scripts/theme-hue-distance.mjs(阈值 25°,12 项检查);60 项对比度仍全过。
  • 新增 docs/1.0-BASELINE.md(10 条固定 prompt、token 口径、结构化率口径)。
  • 未验:桌面 3×2 截图、10 条 prompt 的模型运行(P04/P07 输入不完整)。

0.9.9 — persona spec 与 gate 夹具

  • docs/1.0-PERSONA-SPEC.md:persona.md 追加层、结构规则始终由 base 注入、style.md 保留整份覆盖、profile 级、fail-open、优先级与失败回退。
  • 仅加三组 gate 夹具与 docs/1.0-GATE.md;不实现人格,不加用户入口、不改设置页、不做人格市场。
  • 用户 gate 未执行(0 名用户),结论 NO-GO / pending;不排 0.9.10,也不声称 1.0 go。

验证

  • npm test 63/63;theme-contrast PASS 60;theme-hue-distance PASS 12;desktop-check 全 PASS;lib==src。
  • npm pack:58 文件 / 758,107 B,shasum 0168dd88…,sha256 05ccf744…。

完整变更见仓库 CHANGELOG.md。

dsh-structured 0.9.6

Choose a tag to compare

@feigo313 feigo313 released this 25 Oct 12:57

dsh-structured 0.9.6

Structured output for DSH:无标签标题卡 + 表格/清单/步骤,按会话开关,style.md 可整份覆盖。

本次改动

  • first-glance 视觉层级:statement 标题 24px;去掉卡头灰色图标;表格行高与表头密度调整;下一步 改为无底色 + 橙色三角;标题/正文 1px 灰分隔线;表格结论去左边框。只改客户端 CSS,注入链路不变。
  • 增量扫描:MutationObserver 只重扫变更所在的 markdown 容器或新增子树,长会话与流式输出不再每帧扫整页。
  • 标题图标悬挂缩进:h2/h3 图标换行后与首行文字对齐(issue #2 第一部分)。
  • 截图:01/06/07/08 换成 0.9.6 真实界面裁图(web profile 渲染);09/10 主题对照按 0.9.6 token 重做(非桌面实机)。

验证

  • npm test 60/60(含真实 ego-browser computedStyle/800px 布局测试,CI 无 ego 时跳过)
  • theme-contrast PASS 60;desktop-check 全 PASS;lib==src
  • npm pack:50 文件 / 751,902 B,shasum 0b43e4a3…,sha256 1e6639d4…
  • 视觉图:assets/screenshots/ 01/06/07/08 实机裁图 + 09/10 token 对照

安装

  • npm:dsh plugin --profile <profile> add dsh-structured@0.9.6
  • 桌面端:插件市场条目指向本 Release 的 tarball。

完整变更见仓库 CHANGELOG.md。

dsh-structured 0.9.4

Choose a tag to compare

@feigo313 feigo313 released this 24 Oct 06:22
  • DSH 0.3.0-rc.1 兼容声明:engines.dsh 上限从 <0.3.0-0 放宽到 <0.4.0-0(否则 desktop 0.3.0-rc.1 的装配门禁会挡住本插件);dshReleases 补 0.2.1-rc.3、0.3.0-rc.1。
  • 无功能改动。0.2.1-rc.3 / 0.3.0-rc.1 为声明性兼容(依赖面均为宿主稳定服务,未见破坏性变更公告,未逐项实测)。

dsh-structured 0.9.3

Choose a tag to compare

@feigo313 feigo313 released this 24 Oct 06:11
  • 配置页主题分段:三个主题选项(DeepSeek / Codex / Anthropic)各带所代表主题的强调色——选项前 7px 圆点标识 + 选中态文字着色,明暗自适应;色值与视觉层三套 token 同源。样式只作用于配置区容器内,随配置页 slot 同生命周期注入/撤销。
  • 截图:新增第 7 张 11-config-page.png(插件板块 → dsh-structured 详情页配置区实机截图);screenshots.json 与 README 同步。
  • 实机验收:Boss 在 0.9.3 实机确认三色圆点与选中态强调效果。

dsh-structured 0.9.2

Choose a tag to compare

@feigo313 feigo313 released this 24 Oct 03:51
  • 插件详情页配置区:client 注册 plugins.bundle.config(键 dsh-structured),theme / visual / defaultEnabled / tailReminder / includeSubagents / genui 六字段在 插件板块 → dsh-structured 详情页直接编辑;写入走 configForms 的 set(落到 active profile 的 Cordis patch),writable=false 时控件只读并提示。
  • 背景:宿主不会从 Config schema 自动生成表单——配置页必须由插件自己的浏览器半侧注册。0.8.2 引入 Config 起直到 0.9.1,插件从未注册配置页,所以详情页一直没有设置项;本次按官方伴生包模式(whileServed + slots.inject)补齐。
  • 防御:宿主 describe 未服务本命名空间、react/jsx-runtime / dsh-client-ui-primitives 缺失时静默不出配置页;配置页注入与主题/视觉联动分开挂 child inject,互不影响;headless / CLI 不加载 client 半区。
  • 文档修复:README 安装节三处 0.7.4.tgz 过时引用改为通用写法,移除三个「(发布后)」括号,实装实测记录更新为 0.9.1;.gitignore 增加 .v2c/、out/。

dsh-structured 0.9.1

Choose a tag to compare

@feigo313 feigo313 released this 23 Oct 07:13

dsh-structured 0.9.1

Structured output for DSH: a no-label title card first, then tables/lists/steps; per-session toggle and style.md override.

What changed

  • 代码 / diff 隔离:```diff / patch 代码块、[data-diff] / .md-diff / GenUI diff 区域不套插件的 code/table chrome;diff 行色与宿主渲染保持原样。代码 / diff 回复允许代码块或 diff 卡直接作首块,不强制标题卡。
  • 设置中心:theme、visual、defaultEnabled、tailReminder、includeSubagents、genui 六个 profile 级 Config 字段,全部 .volatile(),带中英双语 description;标准 bundle 详情表单优先,不新增 React 依赖。
  • 主题系统:theme(deepseek / codex / anthropic,默认 deepseek)三套明暗 token;暗色跟随宿主 body[data-ds-dark-theme];client 通过 configForms 读取 theme。
  • statusText 显示主题与视觉层;/structured on|off 仍只控制按会话提示词;state.json 只存会话开关。
  • 写入 active profile 的 Cordis patch;home patch / CLI overlay 优先,表单 writable=false 时不静默成功。

Verification

  • npm test: 49/49;node scripts/desktop-check.mjs: PASS。
  • node scripts/theme-contrast.mjs: PASS 60 checks(3 套主题 × 明暗,全组 ≥4.5)。
  • npm pack: 42 文件 / 770432 B / unpacked 997070 B,sha1 fa8d8703…,sha256 5b48c3a0…。
  • 仓库 grep "不做主题菜单"(打包范围)0 命中;lib 与 src 一致。

Install

  • npm: dsh plugin --profile <profile> add dsh-structured@0.9.1
  • 插件市场:条目已指向 v0.9.1。

Full changelog: https://github.com/feigo313/dsh-structured/blob/main/CHANGELOG.md

dsh-structured 0.8.3

Choose a tag to compare

@feigo313 feigo313 released this 22 Oct 14:54

dsh-structured 0.8.3

Structured output for DSH: a no-label title card first, then tables/lists/steps; per-session toggle and style.md override.

What changed

  • 提示词优先级加固:首段 markdown 标题卡即使后文使用 dsh-ui 也必须存在;dsh-ui 只能跟在标题卡与正文之后,不得用其 title 充当首卡,不得把结论/判断/风险/下一步做成 dsh-ui 组件;宿主默认要出 UI 时以插件规则为准。
  • 尾部提醒同步强调「第一段必须是 markdown 标题卡,组件只能排在标题卡之后、不得充当首卡」。
  • 背景:报告型回复把 dsh-ui 当主卡、跳过标题卡;该会话的注入与视觉层均正常,属提示词优先级问题。

Verification

  • npm test: 36/36;node scripts/desktop-check.mjs: PASS。
  • npm pack: 39 文件,sha1 9fc15c64…,sha256 29a14044…(与 npm 发布包同字节)。
  • structured-test 0.8.3:两轮 headless 首段均为标题卡;system prompt 含新尾提醒。
  • headless 无 client half,desktop 的 dsh-ui 优先级待实机验证。

Install

  • npm: dsh plugin --profile <profile> add dsh-structured@0.8.3
  • Plugin market entry updated to v0.8.3.

dsh-structured 0.8.2

Choose a tag to compare

@feigo313 feigo313 released this 22 Oct 09:50

dsh-structured 0.8.2

  • 视觉层从“始终开启”改为 profile 级 visual 配置(默认开启),通过 DSH 插件设置页切换;/structured on|off 仍只控制按会话的提示词注入。
  • 严格卡片识别:只认完整标签;前缀/复合词不染色;普通引用不再自动 lead;statement 仅第一块;GenUI 跳过。
  • 客户端通过 configForms.get('dsh-structured') 读取 visual,不可用时保持默认开启,不阻断回复。
  • 36/36 tests;desktop-check 全 PASS;pack 38 文件;独立复核 PASS 23 / FAIL 0 / BLOCKED 0。

dsh-structured 0.8.1

Choose a tag to compare

@feigo313 feigo313 released this 22 Oct 05:33

dsh-structured 0.8.1

  • 规则文本从“500 字硬上限”改为清晰度约束:标题即结论、按信息类型选组件、一段一主题、证据优先、短答不套卡;长答不设硬性篇幅上限。
  • 表格优先 ≤5 行;信息确实多时用 dsh-ui 大表或拆表,不硬砍内容;不为了格式加内容,也不为了字数删信息。
  • 同步 README、docs/METRICS.md、docs/CARD-SYSTEM.md 与测试断言;无运行时截断、无字数统计、无长度预算;不改 client/注入通道。
  • 验收:30/30 tests;12/12 首屏无标签标题卡、0 结论标签、0 散文、0 过程叙事;独立 verifier A/B 均 PASS。

dsh-structured 0.7.4

Choose a tag to compare

@feigo313 feigo313 released this 21 Oct 13:40

dsh-structured 0.7.4

Structured output for DSH: a no-label title card first, then tables/lists/steps; per-session toggle and style.md override.

What changed

  • No-label title card: > **title** + body; no > **结论** prefix.
  • Card system: 13px label, 16px/700 title, 15.5 body, 16.5/600 lead fallback; fixed accent #2563eb (#60a5fa dark).
  • Tables: 11px/700 header, 18px cell padding, 68px status column, no full-row pastel.
  • GenUI: soft detection via clientModules; no stale profile-env fallback.
  • measure-prose counts card lines; 12/12 structured, 0% prose on the acceptance sample.
  • state.json hot reload on mtime; /structured is prompt-only and says so.
  • Packaging: screenshots, screenshots.json, npm/market/GitHub Release install docs; audit-only docs excluded from the tarball.

Verification

  • npm test: 30/30.
  • node scripts/desktop-check.mjs: PASS.
  • npm pack: 34 files; npm tarball 756,986 bytes, SHA-256 dbd2935f…; the GitHub Release asset was replaced with that same tarball on 2026-10-21 (asset digest and size now match npm).
  • npm publish --dry-run --ignore-scripts: success (unauthenticated warning only).
  • structured-test: install → inject → real uninstall → reinstall, all pass.
  • 12 headless prompts: 12/12 completed; title card 12; no > **结论**; max 2 cards; table lead 11/12; code 5/12; prose 0; over500 11/12.

Install

  • Plugin market: search dsh-structured after listing.
  • npm: dsh plugin --profile <profile> add dsh-structured.
  • GitHub Release: download dsh-structured-0.7.4.tgz and install it as a local package.
  • Local tgz is development-only.

Known gaps

  • @deepseek-ai/* peer gate is not declared; engines.dsh/dsh.compatibility are advisory (P2).
  • 500-char cap is a prompt rule, not runtime-enforced; 12/12 samples exceed it if counted over the whole markdown.