Repository navigation
Releases: feigo313/dsh-structured
Releases · feigo313/dsh-structured
Release list
dsh-structured 0.9.9
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 test63/63;theme-contrastPASS 60;theme-hue-distancePASS 12;desktop-check全 PASS;lib==src。npm pack:58 文件 / 758,107 B,shasum0168dd88…,sha25605ccf744…。
完整变更见仓库 CHANGELOG.md。
dsh-structured 0.9.6
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 test60/60(含真实 ego-browser computedStyle/800px 布局测试,CI 无 ego 时跳过)theme-contrastPASS 60;desktop-check全 PASS;lib==srcnpm pack:50 文件 / 751,902 B,shasum0b43e4a3…,sha2561e6639d4…- 视觉图:
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
- 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
- 配置页主题分段:三个主题选项(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
- 插件详情页配置区: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
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,sha1fa8d8703…,sha2565b48c3a0…。- 仓库
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
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 文件,sha19fc15c64…,sha25629a14044…(与 npm 发布包同字节)。structured-test0.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
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
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
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(#60a5fadark). - 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-prosecounts card lines; 12/12 structured, 0% prose on the acceptance sample.state.jsonhot reload on mtime;/structuredis 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-256dbd2935f…; 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-structuredafter listing. - npm:
dsh plugin --profile <profile> add dsh-structured. - GitHub Release: download
dsh-structured-0.7.4.tgzand install it as a local package. - Local tgz is development-only.
Known gaps
@deepseek-ai/*peer gate is not declared;engines.dsh/dsh.compatibilityare advisory (P2).- 500-char cap is a prompt rule, not runtime-enforced; 12/12 samples exceed it if counted over the whole markdown.