Repository navigation
Releases: HeShen-1/dsh-composer-enhance
Releases · HeShen-1/dsh-composer-enhance
Release list
v0.3.1: 建议持久化 + 重新生成
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-enhancev0.3.0: 环境感知 + 建议可靠性
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"。
修复:下一步建议"有时回复完等了一会也没有"
三个根因都在客户端调度:
- 距上次请求不足 10s 的触发被直接丢弃、永不重试 → 现在排到间隔到期再请求;
- 建议 60s 到期自动消失且不刷新 → 去掉 TTL,显示到用户输入/发送/采纳/关闭/切会话;
- 传输失败、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-enhancev0.2.0 — 下一步建议 / next-message suggestion
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。