Skip to content

dsh-coding-sidebar 1.0.27

Choose a tag to compare

@kkutysllb kkutysllb released this 23 Sep 14:03
· 72 commits to main since this release

dsh-coding-sidebar 1.0.27

浏览器 tab 全面对齐原生 0.1.6-alpha.2 + 轨迹图四段强化(附件/检查器/交互/统计)+ sidechat 自适应轮询。

变更

浏览器 tab:全面对齐原生侧栏浏览器(dsh 0.1.6-alpha.2)

  • 历史持久化:完整导航快照(历史+revision 链+加载态)每次发布写入
    tab.meta,刷新/重挂载恢复并经 reload() 重放最后受控 URL;旧持久化
    tab 回落 path 种子,前向兼容。
  • 地址栏/标题同步:草稿按 request revision 键控(移植 useBrowserDraft),
    后退/前进/重载自动回写地址栏且不打断输入;tab 标题随快照实时同步。
  • 沙箱 token 逐 token 对齐原生:去掉 allow-downloads allow-modals
    (下载/模态走「关沙箱」路径,警示文案常驻)。
  • loopback 与公网同权(原生语义,本地 dev server 直接可浏览并享探针
    结论):删地址闸门、browserAllowedLoopback 偏好(schema/类型/解析/设置项)、
    宿主 browser.probe 镜像闸门、20 个语言包相关文案;trust-fence 的 API
    信任判定不受影响。
  • 外部打开补 noreferrer;新增 restoreBrowserTabState 形状校验器
    (畸形快照整体拒绝、多余字段丢弃)。

轨迹图:四段强化

  • A 附件统一展示(对齐上游统一附件显示):投影层提取有序附件列表
    (图片/文件,名称/字节/媒体类型/宽高/offload),重复引用保留、畸形跳过;
    标签去 [image] 噪声;chip 右上角计数角标;检查器缩略图列表——授权取图
    走宿主 uiConversation.imageUrl/peekImageUrl 镜像(peek 优先、ref 缓存
    防重放、无宿主面降级图标);图片灯箱(缩放/拖拽/ESC,沿用 mermaid 弹窗
    交互)。
  • B 检查器细化:assistant 正文保留原始多行 markdown(此前被压成单行),
    用宿主 MarkdownText 渲染;工具记录 toolDetail 结构化(名称·callId·
    错误位头部 + 参数折叠 JSON 美化 + 结果着色)。
  • C 图交互:搜索框(label/kind/id/callId 子串匹配,Enter 循环跳转+
    选中+滚动,Shift 反向,非命中暗化,行内 n/m 计数);五类边图例 chip
    点击 pin 高亮该类(其余暗化),hover 边经 9px 透明命中区临时同类高亮。
  • D 统计增强:顶栏「最慢工具」stat(title 给 Top-3);token stat title
    给五桶分解;检查器空态三泳道节点数汇总。
  • 新增可测纯函数:attachmentsOfContent/Blocks、searchTrajectoryNodes、
    slowestTools。

sidechat:自适应轮询

浏览器客户端拿不到其它会话的 append 事件(ctx.on('session/event') 仅宿主
侧验证过),故取纯客户端自适应方案:转录有增长时 700ms 快节奏(流式打字机
近平滑),连续空轮从 2s 倍率退避至 5s 封顶,新事件即刻归零;发送/取消后
立即拉取。

懒 chunk 加载:瞬时失败自动重试

loadChunk 对 script 标签的网络级失败(404/403/传输中断——典型生产者是
原地升级插件的 rm/cp 窗口、服务重启中途的抓取)此前零重试,一次 404 就把
失败抛给终端/编辑器 tab。现按 400ms/1200ms 退避自动重试两次(重执行幂等:
全局注册槽是赋值覆盖),重试耗尽才上抛且清缓存——下次打开从零重试即可
恢复。新增 tests/chunk-loader.mjs 夹具与三条回归用例。

兼容性说明

  • 旧持久化设置里的 browserAllowedLoopback 键被 schema 忽略,无需迁移;
  • 旧浏览器 tab(只有 path 无 meta)刷新后按种子 URL 重放,行为同 1.0.26;
  • 沙箱收严后 iframe 内下载/模态需关沙箱(全局偏好或本面临时解锁)。

验证

typecheck 0、tests ALL PASS(560 例,较 1.0.26 的 528 例净增 32)、build、
smoke、check:artifacts、镜像仓(dsh-plugins)同步对账通过;KCoder dev 环境
(~/.kcoder-dev)实机验证通过。