Skip to content

Releases: HeShen-1/dsh-composer-enhance

v0.3.1: 建议持久化 + 重新生成

Choose a tag to compare

@HeShen-1 HeShen-1 released this 21 Oct 02:33

0.3.1 — 建议不会因为打字而丢失;右上角可重新生成

建议持久化

以前:灰字建议一出现,你一开始打字它就永久消失;删空输入后要再等一次模型调用才可能回来。

现在:

  • 打字、切到别的标签页、组件重载只把灰字藏起来,不销毁;
  • 把输入删空,同一条建议原样回来,不花新的模型调用;
  • 用 Tab 采纳后再整段删掉,也会恢复;
  • 只有「新一轮回复开始(发送消息)」「点 ×/Esc」「重新生成成功」才会真正作废旧建议。

实现:store 增加归档 archivedSuggestion;恢复时把 suggestRev 重新戳成当前 draftRev,保证采纳的 CAS 仍然成立。

重新生成按钮

灰字右侧现在是 Tab / ⟳ / × 三个按钮(聚焦时淡入):

  • ⟳ 立即请求一条新建议,不受自动建议的 10 秒节流限制;
  • 请求期间旧灰字保留(按钮转 loading),新结果回来才替换;
  • 失败保留旧文,可再点;不自动重试;
  • 请求会带上 previous(旧建议文本),host 侧在 prompt 里要求模型换角度,避免返回同一句。

测试

  • test/suggestion-smoke.mjs 增至 54 项(归档/恢复、采纳后删除恢复、新回合作废、显式关闭、重新生成成功/失败/绕过节流、previous 进请求体);
  • test/handler-smoke.mjs 增至 47 项(previous 与「换角度」提示);
  • 合计 236 项离线冒烟测试 + tsc --noEmit 全绿。

升级注意

  • 0.3.1 同时改了 client 与 host 半部:host 需要重启 dsh web,client 刷新页面即可。
  • 如果只刷新页面(host 仍是 0.3.0),持久化与按钮都可用,但「换角度」prompt 要等 host 重启后才生效。

安装

plugin_manager install_bundle github:HeShen-1/dsh-composer-enhance
# 或
dsh plugin --profile web add github:HeShen-1/dsh-composer-enhance

v0.3.0: 环境感知 + 建议可靠性

Choose a tag to compare

@HeShen-1 HeShen-1 released this 20 Oct 08:41

0.3.0 — 环境感知 + 建议不再"有时不出现"

修复:已安装的技能/插件名被反问"是什么"

真机草稿 使用dsh-mnemon插件工具记录项目情况,然后把 /karpathy-guidelines 保存到AGENTS.md;
让闸门把它当文件路径,反问 /karpathy-guidelines 是什么——模型不知道它是已安装技能。

fast 阶段现在会读当前 DSH 环境并注入闸门与改写:

  • ctx.skills.list({ cwd }):技能名 + 一句话描述(≤2400 字)
  • ctx.commands.list(agent):斜杠命令名 + 描述(≤700 字)
  • ctx.pluginManager.listPlugins():启用中的插件名(≤900 字)

三类清单各自限额;服务缺失/报错时静默降级,不影响请求。闸门 prompt 增加硬规则:清单内名字按
已知实体理解,禁止追问"是什么";其它实质缺口照问。contextUsed 新增 "environment"。

修复:下一步建议"有时回复完等了一会也没有"

三个根因都在客户端调度:

  1. 距上次请求不足 10s 的触发被直接丢弃、永不重试 → 现在排到间隔到期再请求;
  2. 建议 60s 到期自动消失且不刷新 → 去掉 TTL,显示到用户输入/发送/采纳/关闭/切会话;
  3. 传输失败、host 失败、空结果都静默丢弃 → 现在重试一次,第二次才安静。

另外:聚焦空的输入框、切回可见标签页都会重新武装调度(也覆盖客户端热重载后的空窗)。

测试

  • 新增 test/environment-smoke.mjs(24 项)、test/suggestion-smoke.mjs(29 项,加载 lib/client.js,
    假时钟 + 假 fetch);handler-smoke 增至 43 项。
  • 合计 207 项离线冒烟测试 + tsc --noEmit 全绿。

升级说明

  • host 半部改动:装完需重启 dsh web;client 半部刷新页面即可。
  • 建议的 SUGGESTION_TTL_MS 常量已移除,协议见 docs/protocol.md。
  • 计费:插件调用和正常对话共用同一个 API Key,账单不单独列项;本次未新增计费面板(按讨论先不做)。

安装

plugin_manager install_bundle github:HeShen-1/dsh-composer-enhance
# 或
dsh plugin --profile web add github:HeShen-1/dsh-composer-enhance

v0.2.0 — 下一步建议 / next-message suggestion

Choose a tag to compare

@HeShen-1 HeShen-1 released this 20 Oct 02:09

dsh-composer-enhance 0.2.0

输入框下一步建议:一轮对话结束后,空草稿的输入框里直接出现一条灰色 ghost 建议;Tab / 点击采纳只写进草稿、不自动发送,打字/发送/Esc 即消失。建议由 host 的 stage:"suggest" 生成(复用会话上下文),带防抖、单飞、冷却与 TTL,亮/暗主题都只有灰色文字、不画背景。

修复

  • no-route(没有可用的模型路由):按 dsh 0.2.1 真实契约解析 config → 活 Session 的 modelSelection 投影 → ctx.agentDefaultModel.currentSelection()
  • 会话接地丢失 user 轮次(user/message 的消息在 data 本体)
  • client HMR 下旧样式表不刷新
  • ghost 用主题 token 铺底导致深色主题出现灰带(改为隐藏 [data-composer-placeholder],ghost 完全透明)

安装(本 Release 附带预构建 tarball,免构建授权)

dsh plugin --profile web add github:HeShen-1/dsh-composer-enhance
# 或预构建包
dsh plugin --profile web add https://github.com/HeShen-1/dsh-composer-enhance/releases/download/v0.2.0/dsh-composer-enhance-0.2.0.tgz

效果图见 README;147 项离线测试与 tsc --noEmit 全绿。LICENSE: MIT。