Skip to content

Releases: kkutysllb/KCoder

v0.6.25

Choose a tag to compare

@github-actions github-actions released this 05 Oct 15:39

KCoder v0.6.25

发布日期:2026-10-05 · 上游基线:deepseek-harness 0.2.1-alpha.1(5badb15009)+ fork 集成分支 kcoder/0.2.1-alpha.1(161c7122f6)——引擎基线不变,本版是产品面与内置插件的收口

新特性

  • 标题栏与上游对齐:会话说得清、状态徽章点得动。 标题栏主文本此前显示的是「DSH 本地构建」——那不是产品名,是构建态标识:上游把产品名做成构建期内联的 DSH_CLIENT_TITLE,本产品的引擎构建没有内联它,于是回退到了本地化串。现在主文本读会话面包屑(与上游 DocumentTitle 同源、但不带产品名后缀),显示为「工作区 / 会话标题」。

    同时把上游注册在会话页头状态槽里的四类徽章搬进标题栏并放开交互:智能体团队(成员与任务,带状态点)、代理任务、后台任务、会话预设。此前整块页头被收起来换纵向空间,四类徽章一起消失,只有会话预设被一条旁路以「自绘合成徽章」补了回来——合成副本不是对齐(不可点、不随状态变化、上游每加一个徽章就要多写一条旁路)。现在上游加多少徽章就自动显示多少,位置也照上游排布紧跟标题之后(而非堆在右侧)。

  • 内置终端 1.3.0:看得清、点得准、边缘不再毛。 每个标签前置终端图标;header 右侧显示当前活动标签真实使用的 shell 短名(zsh / bash / pwsh…)——取服务端算好的实际落点,不按平台猜(猜会在两种情况下说谎:用户自定义了 $SHELL 时、以及回退到 bash 时)。「边框痕迹粗糙」的根因是面板上缘被刷了一条 4px 实心分隔色:现在拖条常态隐形、悬停浮出胶囊、按下染强调色,面板补上 1px 上分隔线 + 10px 上圆角 + 向上投影,分隔色改由既有主题 token 现算(旧版硬编码的黑色透明在暗色下会脏成灰线)。

  • 内置侧边栏 1.0.39:点交付物文件的「查看变更」终于能看见文件。 上游交付物卡把这个手势交给原生右栏,而原生右栏面板是本产品有意压制的(产品铁律 1)——该地址族此前没有任何一方认领,于是穿透到被压制的面板,用户得到一条空白列、文件从不出现。现在由插件认领该地址族,打开的文件进自家编辑器,与内建审查页签「检视」按钮同一落点。

  • 技能面收口:内置技能只留与编码有关的。 退役 6 个非编码内置技能(image-generation / video-generation / music-generation / podcast-generation / comic / deep-research),技能注册面 37 → 31;「设置 → 技能」里的**「多媒体模型」分区整块移除**,宿主也不再向引擎注入 media-models.env。

修复

  • 修掉一类「看得见但点不动」的故障(用户实测)。 会话页头搬进标题栏后,徽章肉眼可见却完全点不动。根因不在样式层,而在 Electron 原生窗口的拖拽区合成:它按几何 + DOM 顺序、忽略 CSS 层叠判定「这一点是拖窗还是交给页面」,而本产品的桌面壳从不写上游那张 app-region 表所依赖的平台标记,导致上游整层「可交互元素削减」在真机上一条都不生效——整条标题栏只有一个拖拽盒子,覆盖之处点击全被吞掉。本版按上游同一语义自补该层(作用域不依赖平台标记)、把标题栏拖拽基座排到内容之前、并让页头覆盖层不参与合成。附带记录两条浏览器实测事实(与上游代码注释不符,以实测为准):-webkit-app-region: none 被解析成 no-drag(不是「无」),且该属性会继承。

    判据也跟着换了:上一版冒烟是用「DOM 命中」判定「可点」的,而上游自己的端到端注释明说这一类不能用「点一下试试」来判(吞发生在原生窗口层)——所以上一版报绿而现场点不动。现在改用上游的合成模型(收集拖拽盒子 + 判定该点归属),并把「真实宿主形态」(不带平台标记)设为夹具默认。这一类「结构上不可能变红」的假绿,比没有测试更危险。

  • 退役工作区统计徽章(与上游重复渲染)。 工具行里出现了两枚 +n/−n:一枚是上游自带的 diff 统计,另一枚是本产品早先为文件徽章补的。保留上游那枚,退役本产品这枚及其整条数据链(页面统计通道、历史补拉拦截、按回合的变更摘要拉取、轮尾探针、按工作区分桶的活动表)——顺带也去掉了那些后台轮询。保留文件类型徽章(TS/JS/MD,与上游无重复)与工作区探针(设置页「工作区项目技能」依赖它探位)。

  • 修掉「点尾卡文件留一条空白」的静默回归。 内置「改动审查」插件退役后,原生右栏的布局轨道没有被归零,点交付物尾卡的文件会在右侧留出一条空白列。

  • 修掉会话头那个「…」。 按产品指定移除(它是上游会话日志导出与反馈的入口菜单)。同座位里的另一枚工具按钮照旧保留。

  • 内置技能包首次真正带上 office 批的脚本载荷(dsh-skills-bundle 1.0.4)。 这一批(docx / pptx / xlsx / pdf / microsoft-foundry)的卖点是「启用后 agent 可直接执行 scripts/*.py,离线纯本地」——但这个承诺从未成立过:同步脚本把 scripts/ 目录当作任意深度排除,198 个脚本与模式文件(7.4 万行)在三层(真源 / 镜像 / 随包副本)被一致地剔除,而所有静态检查都是绿的(镜像与对账走同一份排除逻辑——一致地一起错)。现已修正排除规则只在仓库根生效,并对 skills/ 载荷加上「零排除」不变量断言,防止复发。

验证

  • 宿主侧:pnpm run check(类型检查含注入脚本门 + 内置插件版本线 + bundle 同步对账 + profile 自愈判据)25/25 退出码 0。
  • 冒烟:本轮新增/重写三支常备门——smoke:titlebar(拖拽盒子 + 上游合成判定;夹具默认真实宿主形态,负对照两条:基座改回排在内容之后、平台标记在场)、smoke:workspace-probe(退役面零回流)、smoke:workspace-header(两形态 + 跨注入器端到端:页头消费标题栏实测外传的标题右缘)。两支负对照都真会红,且分别复现了「徽章全部消失」与用户截图里那串「会话标题 — DSH 本地构建」。
  • 插件侧:dsh-terminal 1.3.0(含 shell 徽标的数据驱动断言:不出现平台判断)、dsh-coding-sidebar 1.0.39(851 条地址断言,负对照恰好红在两条认领断言)各自自测通过。
  • 上游 fork:kcoder/0.2.1-alpha.1(161c7122f6)领先远端 0 个提交,满足发版约定第 3 条(CI 从 GitHub 克隆 fork 现场构建)。

升级注意

  • 6 个非编码技能消失:image-generation / video-generation / music-generation / podcast-generation / comic / deep-research。这是产品决策(内置技能只留与编码有关的);如仍需使用,可经插件/技能市场自行安装。
  • 孤儿凭据文件(不自动删除):~/.kcoder/media-models.env 此前用于保存多媒体模型的密钥,本版之后既无生产者也无消费者。它不会被自动删除(可能含你的明文 API Key)——确认不再需要时请自行删除,或先备份其中的凭据。
  • npmmirror 镜像滞后:内置侧边栏 1.0.39 在 npmjs 已发布可见(指定版本端点 200、latest 已指向),npmmirror 侧仍在追赶(该包体积大、镜像同步滞后);使用 npmmirror 作为 registry 的用户,若安装时解析不到该版本,切回 npmjs 或稍后重试即恢复。详见 release/audit-v0.6.25.md。
  • 无需手动迁移;重启应用(或托盘「重启引擎」)即生效。

Full Changelog: v0.6.24...v0.6.25

v0.6.24

Choose a tag to compare

@github-actions github-actions released this 04 Oct 16:34

KCoder v0.6.24

发布日期:2026-10-04 · 上游基线:deepseek-harness 0.2.1-alpha.1(5badb15009)+ fork 集成分支 kcoder/0.2.1-alpha.1(161c7122f6)——本版是一次引擎基线升级(0.2.0-rc.2 → 0.2.1-alpha.1)

升级

  • 引擎基线升级到 deepseek-harness 0.2.1-alpha.1。 fork 集成分支从新基线重建并已并入我方全部偏离面(61 文件,集合断言 comm -3 为空),上游 266 个提交 / 4190 个文件的变更全部进入本版。集成后的自测:上游 vitest 12569 通过,其中 2 项失败经纯净上游工作树复跑确认为上游既有问题(与本产品无关)。

  • 修掉两个内置插件在升级后会被静默跳过的问题。 它们的 peer 上界写的是 <0.2.0,而引擎版本变成 0.2.1-alpha.1 后该条件判定为假——引擎不会报错,只会打印一行 skipping profile bundle 然后不加载:内置终端与 SSH 远程会变成「界面在、功能没有」。已按新基线放宽 peer 口径(终端 1.2.2、SSH 远程 0.1.4),并同步 engines.dsh、各仓自测常量与 README。这是本次升级里最危险的一类问题:不崩溃、不报错、只是能力缺失。

变更

  • 退役内置「改动审查」插件(dsh-file-review-kcoder)。 它的能力(会话变更行 + 交付卡)有一半依赖它渲染,因此本版把内置的交付卡渲染器改为自行承担(ui-deliverables.tailCard),保证变更行与 present 交付卡仍然显示。侧栏的「审查」页签不再提供;未提交改动的文件不会被自动丢弃,只是不再有那个专属视图。已装老版本的用户 profile 里的残留声明与实体由启动自愈清理。

  • 恢复上游的工作区侧栏「插件」入口。 此前本产品把它挪到了「设置 → 内置插件 → 插件管理」并隐藏了侧栏入口;现在两个入口并存(同一页面,安装/启停/卸载/逐插件配置)。设置里的插件管理保持不变。

  • 侧栏折叠栏改为无痕。 折叠态的整列宽度归零、不再显示折叠把手与分区标签(与官方 macOS 折叠形态一致);折叠时不再渲染「新建工作区」与搜索两枚图标按钮,相关操作改为「先展开侧栏、滑动结束后再打开」,避免锚点不存在时的定位错位。

修复

  • 修掉三处会让插件「静默消失」的 profile 自愈缺陷(都是不崩溃、只打一行日志的那一类):

    1. 退役清理没有触发依赖收敛:老 profile 里残留的旧版调度相关包会被新引擎的 peer 校验判为不兼容并禁用整个任务计划功能。现在清理命中后会真正执行一次依赖收敛。
    2. 侧边栏插件的依赖声明被误摘:该声明是牵引依赖树用的(pnpm 需要它来提升 node-pty/ws/codemirror)。升级把版本对齐之后,判据翻转导致声明被摘掉——此后任何一次插件操作都会把插件实体当多余包删除(再靠启动自愈补回,反复抖动)。现在牵引声明无条件保留。
    3. 上游「可选组合包」被当孤儿删除:协作团队 / 语音输入 / 自动评审 / 检查器属于引擎随附、默认关闭、由插件页开启的能力,实体来自引擎安装树而非 profile 依赖,于是每次启动都被清一遍——用户开启过的能力静默消失。现在这些包被正确识别为「引擎提供」,不再删除。
  • 修掉三支坏掉的冒烟测试。 smoke-panel-buttons 的断言停留在 v0.4.6 的界面(第四枚按钮早已随插件退役移除),smoke-skills-dom / smoke-skills-page 自 v0.5.9 起一直挂起(构建期插值常量与提取方式不匹配)。三支现已全部修复并通过——坏测试比没有测试更糟,它会把真回归淹在噪声里。

  • 开发环境:依赖陈旧哨兵 + 安装复用仓内 store。 上游克隆的依赖装旧了会在启动时给出可照抄的修复命令(只告警不阻塞);setup.sh 安装前按既有记录复用 store,避免把依赖装进另一份 store 造成体积与混乱。

验证

  • 引擎侧:fork 集成分支 install / build / typecheck 三门退出码 0,7 份补丁存活,dsh-invariants 残留清零,包集合断言 61 = 61。
  • 宿主侧:真机跑通「物化 → 预装 → 启动」,skipping profile bundle 0 条、disabling profile plugin row 0 条、就绪行正常、连续两次启动 manifest 稳定。
  • 门禁:pnpm run check(typecheck + 内置插件版本线 + bundle 同步对账 + profile 自愈判据)退出码 0;冒烟 12 支全绿(10 GUI + 2 node);release.sh audit 三门全过。
  • 新增两支常备冒烟把两类静默缺陷变成门:样式覆盖层注入生命周期(插件停用→启用后覆盖层是否存活,含「整页重载后仍恰好一份」与「被抹掉能自愈」)与 profile 清单自愈判据(牵引声明保留 / 可选组合包不判孤儿 / 幂等 / 与上游名单无漂移)。两支都做了负对照,确认真能红。

升级注意

  • 无需手动迁移;重启应用(或托盘「重启引擎」)即生效。首次启动时会自动收敛老 profile 的插件残留(一次性,日志会出现一条 清除 profile 退役/孤儿插件残留)。
  • 侧栏「审查」页签随插件退役移除;未提交的改动不受影响。
  • 本次升级涉及引擎基线,若你使用了自定义的 profile 补丁层,建议重启后确认相关注入页正常。

Full Changelog: v0.6.23...v0.6.24

v0.6.23

Choose a tag to compare

@github-actions github-actions released this 03 Oct 03:42

KCoder v0.6.23

发布日期:2026-10-03 · 上游基线:deepseek-harness 0.2.0-rc.2(639ed01539)+ fork 集成分支 kcoder/0.2.0-rc.2(b428f93a79)(与 v0.6.22 同基线,本版为插件管理的缺陷修复)

修复

  • 一个卡住的插件操作不再拖死全部插件操作。 此前一次「更新」卡住时(pnpm 偶发在落位完成后不收尾:实测阻塞 30 分钟以上,0 CPU、无网络连接、无子进程),profile 清单的写锁被无限期占用,而 dsh 侧的锁等待上限只有 2 秒——随后你点任何插件操作都会收到一段与点击毫无关系的 atomic-write: timed out waiting for the writer lock 堆栈,而且不会自愈。现在:同一时刻只允许一项插件操作(并发会被明确拒绝并说明原因);单次操作超过 10 分钟未结束即判定卡死、终止整棵进程树(残留的锁由下一次操作自动接管)。

  • 修掉「更新成功、版本没变」的假成功。 pnpm 11 的 minimumReleaseAge 供应链年龄门会把「刚发布不久」的版本静默排除在解析之外,@latest 于是回落到旧版本并返回成功——界面显示「✅ 完成」,实际版本没动(实测 dsh-coding-sidebar 1.0.36 → 1.0.37 连续两次如此,pnpm outdated 也不报告,只有显式指定版本时 pnpm 才打印豁免提示)。现在更新按 registry 上的精确版本安装(pnpm 会把该版本记进 profile 的 pnpm-workspace.yaml 的 minimumReleaseAgeExclude,豁免留痕、可审计);若确实没有变化,界面明确提示「⚠️ 版本未变(成因 + 稍后重试)」而不是「完成」。

  • 修掉「更新插件后重启引擎会丢插件」。 更新任意插件时,pnpm 会把「已随包物化、依赖声明被摘掉」的内置 bundle(侧边栏、改动审查等)当作多余包删除;而「重启引擎使插件生效」此前不会重新物化,重启后这些插件解析不到——轻则静默消失,重则引擎起不来。现在引擎每次启动前(含用户重启与崩溃自动重启)都会补齐内置 bundle 实体,物化失败只记日志、不阻塞引擎启动。

升级注意

  • 无需任何手动迁移;重启引擎(或重启应用)即生效。
  • 更新后若看到「⚠️ 版本未变」,通常是该版本发布尚未满 pnpm 的供应链年龄门槛、或镜像源还没同步,稍后重试即可。
  • 插件操作进行期间,「重启引擎使插件生效」按钮不可点(避免引擎启动前的物化与安装过程并发写同一批文件)。

已知问题(既有项,沿用登记)

  • smoke-panel-buttons 冒烟失败:标题栏第四枚按钮的平移规则从未写入 SHIFT_JS(v0.4.6 起如此)。
  • smoke-skills-dom / smoke-skills-page 冒烟挂起:构建期插值常量与冒烟提取方式不匹配(v0.5.9 起如此)。

Full Changelog: v0.6.22...v0.6.23

v0.6.22

Choose a tag to compare

@github-actions github-actions released this 02 Oct 16:02

KCoder v0.6.22

发布日期:2026-10-02 · 上游基线:deepseek-harness 0.2.0-rc.2(639ed01539)+ fork 集成分支 kcoder/0.2.0-rc.2(b428f93a79)(与 v0.6.21 同基线,本版为上下文插件退役 + 三处界面精简 + 技能停用/恢复)

新特性

技能面板支持「停用 / 恢复」

设置 → 技能页此前只能把随包可选技能「启用」,用户全局技能装上之后没有退回途径。本版补齐闭环:

  • 「用户全局技能」每行新增停用按钮:整目录移入 $DSH_HOME/skills-disabled/<来源>/<名>/ 暂存(引擎不扫描该目录,技能当次会话即失效;文件原样保留,可随时恢复)。
  • 新增「已停用(可恢复)」分区:暂存技能在此列出,点恢复移回原来源目录(用户目录 / ~/.agents 共享目录各自归位)。
  • 同名冲突双向拒绝(恢复时生效层已有同名、停用时暂存区已有同名),不覆盖任何一份数据。
  • 说明:引擎没有技能级禁用开关,「停用 = 移出扫描根」是唯一可靠实现。注意共享目录(~/.agents/skills)里停用的技能,Claude Code 等同样读取该目录的工具也会一并不可见。

界面精简(三处)

  • 侧边栏折叠态:折叠后的图标列不再显示「新建工作区」与「搜索」两个入口,折叠态更简洁。需要时展开侧栏,两者功能照常;搜索快捷键的「展开并聚焦」路径不经按钮,不受影响。
  • 设置对话框:移除头部「打开配置文件」按钮与「×」关闭钮(连同头部空条)。关闭改用 Esc 键或点击对话框外的遮罩,两条路径均保留。
  • 这两处为对上游外壳的显示层压制(锚定稳定属性/类名后缀),上游改名时压制静默失效(按钮复现),不影响功能。

修复 / 内部

  • 上下文插件(dsh-context)彻底退役,按内置插件退役原则三清:依赖声明、常驻补丁、宿主注入入口(含冒烟脚本)全部移除。
    • 上一版为它重出的两条常驻补丁(RO 回路冷却、上下文跳转走会话内 tab)随插件退役一并下线。
    • 补丁链由此进入零常驻补丁稳态:profiles/web/patches/ 只留 README(目录锚),发版闸对空补丁清单放行。
    • 自愈机制会在升级后首次启动时回收已退役插件在本机 profile 的现场(声明、物化目录、补丁应用痕迹),无需手动清理。
  • 全仓审计:三门(typecheck / lint / 安全漏洞)全过,报告项与上一版完全一致(零新增发现),详见 release/audit-v0.6.22.md。

升级注意

  • 从旧版升级后,上下文插件不再可用(产品决策退役);本机 profile 的残留由自愈在首次启动时回收。
  • 侧边栏折叠态看不到「搜索 / 新建工作区」属预期——展开侧栏即可使用。
  • 设置页关闭方式变为 Esc / 点遮罩(原「×」已移除)。

已知问题(沿用登记,与本版无关)

  • smoke-panel-buttons 冒烟失败:标题栏第四枚按钮的平移规则从未写入 SHIFT_JS(v0.4.6 起如此)。
  • smoke-skills-dom / smoke-skills-page 冒烟挂起:构建期插值常量与冒烟提取方式不匹配(v0.5.9 起如此)。

Full Changelog: v0.6.21...v0.6.22

v0.6.21

Choose a tag to compare

@github-actions github-actions released this 01 Oct 13:43

KCoder v0.6.21

发布日期:2026-10-01 · 上游基线:deepseek-harness 0.2.0-rc.2(639ed01539)+ fork 集成分支 kcoder/0.2.0-rc.2(b428f93a79)(与 v0.6.20 同基线,本版为内置插件更新 + 远端缺陷修复)

新特性

内置插件更新

  • dsh-coding-sidebar 1.0.36(1.0.35 → 1.0.36,本轮为任务管理的一轮大改)

    • 任务管理升级:任务管理图改为工作流图画布,两个分组折叠聚合,TeamView 迁移到引擎的 agentTeam 投影。
    • 工作流图:相机按树根粘滞;手动拖动不再被轮询踩回;工作流 run 入图并合并活动行;修复「画布塌缩 / 点不动 / 不重排」三个交互缺陷;浅色主题 token 修复。
    • 任务管理图:支持节点级拖动与自动整理(树形 / 紧凑 / 网格);轨迹图图例在窄侧栏不再竖排。
    • 变更页:改动列表改为层级树。
    • 文件页四项:多选、压缩下载、打开方式双源、fs.trees。
    • 浮动窗:作业输出与共享任务编辑。
    • 团队 tab:状态机补全(非团队会话显示 not-team 空态,此前停在加载态)。
    • 修复两处「静默失效」:节点配色、样式表(后者另附样式门禁与选择条重做);macOS 拖拽域修复。
    • 健壮性:新增「注册失败必须回滚」守卫——注册中途失败时不再留下半注册状态。
  • @kkutysllb/dsh-terminal 1.2.1(1.1.1 → 1.2.1)

    • 兼容 dsh 0.2.0 的插件声明:manifestVersion 1 + peer 范围 + engines(功能层零改动)。
    • 原生壳开关按钮的锚点回退到会话头 corner slot;1.2.1 修掉随之而来的落位回归(锚点升级 + 选择器笔误 + 孤儿回收)。
    • dev 工作区改用 autoInstallPeers:false(发版流程修复)。

修复

  • arm64 远端主机连不上:永远「远端服务等待就绪超时」(日志字节 8226 / 入口存在 是 / 监听 0)。

    远端连接需要按目标平台补几个原生包(node-addon-require-builtin、@deepseek-ai/node-addon-system、sharp、koffi、ripgrep、sherpa-onnx)。此前这份清单的命名族被写死成 linux-x64,于是 aarch64 目标机上 npm 以 EBADPLATFORM 整单拒绝;而安装脚本既不检查退出码、末尾又无条件报成功,失败因此被吞掉、还照写了「引擎已就位」指纹——坏状态永久粘滞,之后每次重连都被判为「无需安装」。

    本版:

    • 连接时探测目标平台(系统 / CPU / C 库),据此从本地运行时派生规格清单;
    • 指纹含目标平台——已连过的机器首次连接即不匹配,自动重装一遍(这就是迁移,无需手动清理);
    • 安装判据从「脚本打印了成功字样」改为真的 require 一次原生绑定,并加 set -e;
    • 平台不受支持或规格覆盖不足时在安装之前就明确报错,而不是装出一棵坏树再等 180 秒超时。
  • 部分主机上每次连接都会重传整个运行时(约 485MB)。

    引擎版本探测此前用裸 node,而由引导流程安装的 Node 不一定在非交互 SSH 的 PATH 里;探测因此恒为空,跳过条件永远不成立。改用引导流程记录的那个远端 Node 的绝对路径。

  • 远端插件管理页对若干实验性插件报「包元信息错误」。

    报错形如 …/locale/._en.json must use a language id as its filename。._ 前缀是 macOS 的 AppleDouble 伴生文件(扩展属性/ACL 的旁挂表示),随传输落到远端;而插件管理页会把 locale/ 目录下每个 *.json 的文件名当作语言 id 校验,一个 ._en.json 就让整个包显示为「包元信息错误」。本版在传输链上双向设防(打包侧不产生、解包后就地清理),已在实机验证。

  • 内置补丁链的「哑点」修掉(内部改动,但决定修复能否走标准路径)。

    dsh-context 有两条常驻修复(RO 回路冷却、上下文跳转一律走会话内 tab)。面向它的补丁声明一直停在旧版本键,插件升版后 pnpm 把这处声明判为「未用」而不应用——修复实际上靠 App 启动时的兜底注入落位,能生效但依赖兜底。本版把补丁重出到当前实装版本键并同步声明,两条修复重新走标准路径。重出前做了逐字节取证:对未打补丁的当前版本应用本补丁,产物 md5 与线上实装产物 完全一致。

升级注意

  • 已连过的远端主机:升级后首次连接会重装一次引擎(重传约 485MB + 远端 npm 装包,几分钟),日志会依次出现「远端 linux-arm64/gnu」「原生包已补齐」「远端引擎就绪」。这是刻意的自愈,不需要手动操作;之后恢复秒连。
  • macOS 远端与 musl(Alpine)远端现在会被明确拒绝并给出原因。此前这两种目标会装出一棵缺原生绑定的树,表现为等满 180 秒的就绪超时。
  • 内置插件 dsh-coding-sidebar 升到 1.0.36:已装用户升级后由内置物化覆盖为终态,无需手动更新。

已知问题(沿用登记,与本版无关)

  • smoke-panel-buttons 冒烟失败:标题栏第四枚按钮的平移规则从未写入 SHIFT_JS(v0.4.6 起如此)。
  • smoke-skills-dom / smoke-skills-page 冒烟挂起:构建期插值常量与冒烟提取方式不匹配(v0.5.9 起如此)。

Full Changelog: v0.6.20...v0.6.21

v0.6.20

Choose a tag to compare

@github-actions github-actions released this 01 Oct 00:05

KCoder v0.6.20

发布日期:2026-10-01 · 上游基线:deepseek-harness 0.2.0-rc.2(639ed01539)+ fork 集成分支 b428f93a79(与 v0.6.19 同基线,本版为缺陷修复)

修复

  • Windows 上使用 npm 镜像源的用户:插件管理页出现 4 条「异常」,且任何插件的安装/更新都会失败。

    v0.6.19 把 4 个 SSH 运行时包(@deepseek-ai/dsh-ssh、dsh-fs-ssh、dsh-subprocess-ssh、dsh-sandbox-ssh,钉 0.2.0-rc.2)登记进用户 profile 的依赖,由用户侧 pnpm install 安装。当镜像源尚未同步该版本时(npmmirror 对 0.2.0-rc.2 滞后一天以上,实测仍 404),声明悬空,产生三类后果:

    1. dsh 插件管理页把这 4 个包列为「已安装」并打「异常」红标(它们是内置 bundle dsh-ssh-remote 的运行前提,不是插件);
    2. 整棵 pnpm 依赖图解析失败——任何插件的安装/更新都报错(点「更新 dsh-context」即被拖垮,退出码 1);
    3. 每次启动空转一次注定失败的安装(约 22 秒)。

    本版把这 4 个包改为随引擎分发:由构建链在物化运行时的时候一并供给并登记进引擎清单,运行时从安装锚点解析。因此:

    • 不再依赖用户 registry 是否已同步该版本;
    • 它们不再出现在「设置 → 插件」的「已安装」列表里(provider 不是插件);
    • 升级后首次启动会幂等清理旧 profile 里的残留声明与副本,不需要用户手动操作。
  • 防止复发:新增「内置 provider 随包」断言,本地发版链(release.sh build / verify)与 CI 三平台构建各断一次——产物里缺这 4 个包直接红,而不是留到用户侧表现。

升级注意

  • 受影响的 0.6.19 用户升级即恢复,无需手动改 registry、也无需手动安装任何东西。
  • 若你此前为绕过该问题手动改过 pnpm registry、或在 profile 里装过这几个包:升级后不需要回退——自愈逻辑会清掉 profile 侧的声明与副本,改过的 registry 配置保持你自己的设置不动。
  • 远程工作区(SSH 执行世界)能力不受影响,运行前提已随引擎分发。

已知问题(与本版修复无关的既有项,沿用登记)

  • smoke-panel-buttons 冒烟失败:标题栏第四枚按钮的平移规则从未写入 SHIFT_JS(v0.4.6 起如此)。
  • smoke-skills-dom / smoke-skills-page 冒烟挂起:构建期插值常量与冒烟提取方式不匹配(v0.5.9 起如此)。
  • dsh-context 预置声明版本漂移(声明 ^0.55.0 vs 实装 0.56.2+):补丁链已随 0.6.19 重出到 0.60.0,声明线平移待下一轮。

Full Changelog: v0.6.19...v0.6.20

v0.6.19

Choose a tag to compare

@github-actions github-actions released this 30 Sep 00:02

KCoder v0.6.19

发布日期:2026-09-30 · 上游基线:deepseek-harness 0.2.0-rc.2(639ed01539)+ fork 集成分支 5295828ae5 —— 一次发版双锚定 rc.1 + rc.2 两个上游版本

上游基线跨入 0.2 系列(v0.6.19 双锚定 rc.1 → rc.2)

本版从 0.1.7-rc.2(477b4f4205)一步跨到 0.2.0-rc.2(639ed01539),中途完整吸收 rc.1(4878cdabd8):两段合计 448 提交,一次发版锚定两个上游版本。逐项核实后落地——差异分析见 docs/upstream-0.2.0-rc.1-analysis.md / docs/upstream-0.2.0-rc.2-analysis.md,执行记录见两份升级计划(rc.1 §20 / rc.2 全文)。

rc.2 增量(在 rc.1 之上)

  • 第三方模型目录刷新(pi-ai 0.87.1):部分旧模型 ID 已从目录移除——此前保存的第三方模型选择可能失效,升级后如发现模型显示异常请在模型选择器重选(上游 rc.2 ⑭)。
  • 定时提醒语义升级:自动化任务投递的提醒从「不可信提醒内容」升格为「明确标注的用户定时消息」——Agent 更可能如实转达你预设的定时提醒(上游 rc.2 ④)。
  • 运行态文案排版微调:回合运行中的状态词去省略号(裸态「深度求索中」,计时态尾部改为间隔点「···」),品牌化文案同步跟进。
  • 调度组件(dsh-experimental-schedule-bundle)与 4 个 SSH 运行时包随引擎同线升至 0.2.0-rc.2(调度家族与引擎逐版本同线,避免混装禁行)。

升级注意(用户可见变化)

  • 定时任务与时间上下文改为可选组件:上游把这三行从默认组合抽成独立可选包 @deepseek-ai/dsh-experimental-schedule-bundle,KCoder 已内置选中,开箱即用不变;现在也可以在「设置 → 插件」里自行开关。
  • 侧边栏(dsh-coding-sidebar)与改动审查(dsh-file-review-kcoder)升级到兼容 0.2 引擎的版本(1.0.35 / 1.0.11)。旧版本在新引擎上会被静默禁用(侧边栏整片消失),本版随包携带修复。
  • 会话日志上传保持关闭,产品策略未变;上游新增的「上传 Session Log」设置开关已按策略隐藏(该开关在本产品策略层下无法生效,隐藏以免误导)。
  • 桌面遥测显式关闭:不再依赖上游按 profile 名的默认判定,两行遥测插件显式禁用。
  • 若之前手动关过定时任务,升级后设置会重置为开启(启用机制从配置覆写改为组件选中)。
  • 桌面端启动不再弹「预览版说明」公告(见下方「修复」)。

新特性(承接上游)

  • 任务计划递归扫描次级目录(KCoder 自研增强):plans/、docs/plans/、.plans/ 下的子目录现在会被递归收录(最深 6 层,跳过 node_modules,不跟随符号链接)——按主题或版本分层存放的计划不再缺席「任务计划」页。
  • 对话运行态动画与过程信息优化(上游 0.2:鲸尾动画、统一微光、过程行间距收紧)。
  • 插件管理界面与安装引导改进(上游 0.2)。
  • Office / PDF 预览文字选区在浅色、深色主题下更清晰(上游 0.2)。
  • 使用 DeepSeek 账号模型的会话无需配置额外 API Key 即可进行网页搜索(上游 0.2)。
  • 工具调度异常后对话可继续;结果未知的操作会提示先核实副作用,不盲目重试(上游 0.2 内核修复)。
  • Windows 沙箱新增权限诊断技能(上游 0.2)。

修复

  • 桌面端启动不再弹「预览版说明」公告:上游 0.2 的这条公告只该出现在浏览器端(桌面端由 preload 标记豁免),而 KCoder 的窗口是纯浏览器载体(刻意不注入 preload),被上游判成浏览器——公告版本号一变(rc.2 从 2026-08-13.1 升到 2026-09-28.1)启动即弹。现按 UA 的 Electron 标记补判桌面壳,桌面端不弹;LAN/远程浏览器访问保持上游行为不变。

  • 修复 Safari(WebKit)在回答输出中刷新页面后无法恢复回复的问题(上游 0.2)。

  • 修复 Windows「在文件资源管理器中打开」可能打开隐藏窗口的问题(上游 0.2)。

  • 修复 macOS 桌面端缺少录音权限的问题(上游 0.2)。

  • 修复部分 Linux 环境缺少可选原生预构建包时的安装失败(上游 0.2,Koffi 精确钉版)。

  • 远端工作区:4 个 SSH 运行时包随引擎同线升级到 0.2.0-rc.2。

已知变化 / 取舍

  • 运行指示动画从自研复原的深蓝扫光改为上游原生 TextShimmer 微光(上游已原生提供同能力,自研层随之撤销;实测运行态文案品牌化不受影响)。
  • 本版插件 peer 口径采用双兼容范围 >=0.1.7-rc.2 <1.0.0(同时覆盖旧引擎与新引擎的 rc/正式版),计划在下一轮插件发版收窄为 0.2 线。

已知问题(与本版升级无关的既有项,登记备查)

  • smoke-panel-buttons 冒烟失败:标题栏第四枚按钮的平移规则从未写入 SHIFT_JS(v0.4.6 起如此)。
  • smoke-skills-dom / smoke-skills-page 冒烟挂起:构建期插值常量与冒烟提取方式不匹配(v0.5.9 起如此)。
  • dsh-context 预置插件版本漂移(0.59.2 vs 补丁键 0.55.0):补丁链待重出,不影响本版功能。

v0.6.18

Choose a tag to compare

@github-actions github-actions released this 26 Sep 17:08

KCoder v0.6.18

发布日期:2026-09-26 · 上游基线:deepseek-harness 0.1.7-rc.2 (477b4f4205) + fork 集成分支 3376ee9896

新特性:远程工作区(把 KCoder 跑在远端主机上)

  • 连上一台 Linux 主机,拿到的是「跑在那台机器上的完整 KCoder」:窗口里的终端、文件面板、Git 都在远端执行。不是「本地壳去访问远端目录」,而是把服务本身装到远端、本地只保留一条端口转发。
  • 为什么是这个形状:宿主侧客户端插件(文件树、Git、终端、媒体)都假设「本机就是那台机器」。让进程落在远端,这些假设全部成立,一个插件都不用改;反过来「本地进程 + 远端执行世界」要求每个插件都改成世界感知——dsh-coding-sidebar 一个插件就有 8 个文件直接使用宿主文件系统。
  • 首次连接自动装配,之后秒连:随包的运行时与内置插件按远端平台补齐后装过去(引擎的纯 JS 部分与本地同版本,原生包按平台从 npm 取,版本因此与本地 bundles 天然对齐);此后按内容指纹跳过未变动部分。
  • 配置随行:模型供应商与密钥、MCP 服务器、界面偏好随连接同步到远端,不必在每台机器上重配一遍;密钥文件以 600 权限落盘。
  • 过程可见、失败可读:窗口立即打开并逐条显示阶段(装配 / 同步 / 启动 / 联通);失败时把完整原文摊在窗口里,可选中复制,而不是一次性弹窗。
  • 失败不阻塞:引擎装载有界等待,超时后在远端已有可用引擎时先启动,装配留在后台继续。

接入路径:设置页「SSH 远程主机」添加主机 → 引导(首次装用户态 Node 与密钥别名)→「添加工作区」→「远程主机」→ 连接。

缺陷修复

  • 工作区路径改为在挂载的执行世界里解析:此前一律按宿主机文件系统处理,远程工作区下会出现 cannot resolve target … realpath,会话也建不起来(failed to ensure project directory)。
  • 远端默认工作区按世界解析:此前会把宿主的 ~/Documents/… 形状路径建到远端,留下一个属于另一台机器的路径。
  • 远端窗口与主窗口共用同一套外壳:此前只挂了品牌注入,侧边栏、状态栏按钮、设置页、主题跟随全部缺失(观感是「裸的上游界面」)。
  • 目录来源切换:目录对话框新增「本机 / 远程主机」两个来源——本机仍走系统对话框,远程主机在那台机器的窗口里逐层点选(远程工作区只能建在它所属的世界里);远程世界内直接给应用内浏览。
  • 启动不再自动弹出远程窗口:请求文件的起始序号此前被当作待处理请求处理。
  • dsh-ssh-remote 插件:新增引导端点(公钥/别名 → 用户态 Node → helper → 登记世界)与远程连接入口,引导幂等;修复目录来源切换的状态更新(useState 被拆成两次调用,导致切换只重渲染、状态不变)。

引擎升级:多供应商模型目录全面刷新(pi-ai 0.85.1 → 0.87.1)

  • 内置多供应商路由引擎(pi-ai)从 0.85.1 升级到 0.87.1,模型目录随上游完成一轮大刷新。本项先于上游官方(官方同版仍钉 0.85.1),由 fork 修复分支供给。
  • 目录时效:旧目录里积压了大量已下线型号(升级后这些路由会明确退出模型选择器,而不是在请求时报「模型不存在」)。
  • 在位刷新:几乎所有供应商的定价、上下文窗口与思考能力标志都有更新——用量估算与能力门控据此更准。

供应商目录变化(要点)

  • DeepSeek:新增 deepseek-flash;deepseek-v4-flash 族移除(配置里还钉着旧型号的会收到明确提示,改用 deepseek-flash 即可,两者上下文/输出上限/思考档位一致)。
  • Moonshot:清理 6 个 kimi-k2 预览/思考型号,仅保留现役 4 个。
  • 智谱(zai-coding-cn):移除 glm-4.7 / 5.1 / 5.2 等旧代次。
  • OpenAI / Codex / Azure:新增 gpt-6-luna、gpt-6-sol(Codex 通道同时移除 gpt-5.4 / 5.4-mini)。
  • Anthropic:新增 claude-opus-5-5;xAI:新增 grok-4.7;小米:新增 mimo-v2.6 全系。
  • 新增供应商:meta、radius。
  • OpenRouter:新增约 38 个型号(gpt-6 全家、grok-4.7、glm-5.3-flashx、deepseek-v4.1-flash 等),约 343 个型号的定价/能力在位更新。

引擎行为适配

  • 0.87 的会话转写协议收紧(TranscriptContext 品牌类型、工具调用参数 JsonObject 化)已全部适配;回归面 packages/llm + bundle/base 1400/1400 全绿。
  • 随包运行时补丁(中转/网关兼容:codex accountId 兜底、中转流提前收尾容错、流式工具参数一次性解析)对 0.87.1 重打,内容零漂移。
  • 工具缺陷修复:本地物化脚本的依赖溯源此前按目录名「先到先得」,在同名多版本并存时会搬错实体(本次升级现场实测把旧 0.85.1 盖进产物);已改为 semver 校验 + 同版本优先补丁体,并在发版链新增「版本 + 补丁标记 + 目录」三查断言。

升级注意

  • 配置里若钉着被移除的型号 id(如 deepseek-v4-flash、kimi-k2-thinking 等),升级后对应路由会在选择器中消失并在设置页给出原因;改用各供应商的现役型号即可。
  • OpenRouter 路由的会话亲和头(x-session-affinity)默认开启(上游行为),对多上级网关的用户属正向变化(提升缓存命中)。

Full Changelog: v0.6.17...v0.6.18

v0.6.17

Choose a tag to compare

@github-actions github-actions released this 24 Sep 17:10

KCoder v0.6.17

发布日期:2026-09-25 · 上游基线:deepseek-harness 0.1.7-rc.2 (477b4f4205)

新特性

定时任务:内置、开箱可用

  • 可以给会话排计划了:让 Agent「每天早上 10 点抓一次财经热点」「两小时后提醒我」这类要求会落成一条定时任务,到点在原会话里注入提示继续跑。侧边栏新增**「自动化任务」**入口:全部 / 已开启 / 已结束三态筛选、搜索、逐条查看运行记录、改时间、删除、立即重试。
  • 任务跨重启保留,最短可每分钟重复一次;会话长期关闭期间错过的触发只补最近一次。
  • 时间上下文同时启用:模型因此能解析「明天九点」这类未限定时间的说法(它拿到当前时间、时区与已用时长)。
  • 上游把这三项默认关掉了(说明文案写「需要时可手动启用」,但界面上并没有启用入口——承载它们的 @deepseek-ai/dsh-web-app 被插件管理页按设计排除,官方路径是让 Agent 装一个覆盖用的工作包)。KCoder 直接在产品策略层放开,开箱即用。

任务详情落在自家侧边栏(不再弹原生右栏)

  • 轮尾卡上的**「打开」、以及会话头部的任务入口,现在一律把任务预览卡开进侧边栏插件的「任务计划」页签**:标题、频率、下次触发、投递内容一览,可「收起」。
  • 不再展开原生右侧栏——那一列一展开就在主对话区旁留出一大片空白(同一个问题在「上下文」跳转上已于 0.6.16 处置过一次,这次把任务这条路径一并收口)。
  • 数据面与导航面分离:引擎只传身份(会话 + 任务 id),任务内容由侧边栏插件自己读取,因此预览显示的是当前状态。

上游基线 0.1.7-rc.1 → 0.1.7-rc.2

  • rc.2 是 0.1.7 系列最大的一个版本(224 个非合并提交 / 3429 个文件 / 约 24.6 小时),本版把品牌化、桌面壳适配与五个内置插件全部迁到新契约上,随包运行的是一整套自洽的 0.1.7-rc.2 运行时。
  • 随基线带入的用户可见变化,重点三处:工具描述瘦身(标准档首轮提示约 −18%,同样内容更省 token)、快捷键体系(可查看 / 搜索 / 自定义 / 恢复,侧边栏同步显示键位)、归档筛选三态(隐藏已归档 / 全部 / 仅归档)。另有折叠网页抓取卡可直接点网址、审批卡片跟随界面语言、语法高亮支持更多文件类型、文档预览浅色主题与间距统一等一批体验优化。
  • 升级复核(逐条实测):内置插件无需升版(兼容性门禁全过)、注入锚点全存活、数据缝零缺口、构建与回归零新增失败。详见 docs/upstream-0.1.7-rc.2-analysis.md。

内置插件:热补丁发版闸

  • 内置插件(如 dsh-context)的常驻修复补丁靠「pnpm patch + 版本无关的兜底注入」跨版本物化,任何一处断供都会让新装用户拿到裸插件。本版新增发版闸(release.sh patchgate,挂在 build / prepush / ship 前):只读校验分发清单非空、实装产物修复特征全中、版本键零漂移、profile 声明就位——不过即中断发版。

dsh-context 升级到 0.55.0

  • 预置第三方插件跟随主线升到 0.55.0,随包携带两条常驻修复:
    • Windows 打开「上下文」冻结白屏(尺寸观察器回路冷却);
    • 轮尾「在上下文视图中查看此轮」跳转不再展开原生右栏,一律走会话内页签。

内置插件开发清单

  • 新增 docs/plugin-dev-checklist.md:把「用实机测试换来」的跨层默认语义钉成清单(可选面只能走 ctx.get / ctx.inject、插件改动必须 bump 版本、openTab 要带 meta 才算内容型、预置声明只指向已发布版本),每条含产物级判据命令。

体验优化

  • 原生右侧栏彻底不可用(产品铁律 1 的执行点):展开按钮、面板、整列与拖拽分隔条全部隐藏,任何路径都弹不出来;依赖它的上游插件仍正常挂载(只是那部分 UI 不再出现在 KCoder 里)。
  • 中间对话区不再被挤窄:右栏列不存在之后,长对话的正文宽度稳定,不会再出现「右边空出一大条」。
  • 开发态与安装版可以同时开:源码态的浏览器宿主端口与安装版分开(9224 / 9223),不再互相顶掉,也不会出现「开发态的 Agent 浏览其实连到了安装版的浏览器」。
  • 标题栏避让配置真正生效:新装用户的侧边栏面板顶部会正确为 KCoder 自绘状态栏让位(此前该配置写到了一个不存在的目标上,macOS 新装用户会看到面板与状态栏重叠)。
  • 设置 → 插件 → 插件管理页的适配:rc.2 把页面视图状态搬进了新的槽位状态,而我们在该页的第二处注册(设置页的「插件管理」页签)没有随之传入——在这个组合下该页会渲染失败。本版上线前已修好(老版本跑的是 rc.1,用户不会遇到)。

修复

  • 任务预览「读取失败」「点了没反应」:两处都是跨层默认语义踩空——① 直接读可选 Remote 面会抛(改为按需装配,面不在时优雅降级为「未启用」提示);② 只带类型的页签打开被判定为「静默落位」,会开在收起的侧边栏里(现按内容型处理,打开即展开面板)。
  • 轮尾卡「打开」看不到预览:同一功能的分发链修复——内置插件改动的物化按版本比较决定是否重拷,版本未变则新代码到不了已装 profile;本版随插件 1.0.33 一并下发。
  • 原生右侧栏压制在 rc.2 下静默失效(本版重点修复):上游把「面板」标记从布尔属性改成了取值属性,我们按「属性存在」写的压制规则因此匹配不到任何元素——表现为右栏会突然弹出来。已改锚到占地的列(列隐藏后框架的空轨道自动收为 0 宽)与残留的拖拽分隔条。
  • dsh-context 的「任务计划」… 两处补丁的落地链路:修掉「补丁生效判据被版本门控跳过 → 恒报已生效 → 兜底注入被静默跳过」的空洞(该空洞曾让两条修复在部分用户机器上从未生效),并把预置声明与补丁线对齐到 0.55.0(此前声明锁在 0.38.x,而补丁只对 0.55.0 有效——新装用户两条修复都不落地)。
  • Windows 打开「上下文」冻结白屏(dsh-context 携带的回路冷却修复):该修复此前就已存在,但在部分机器上从未真正生效——补丁的「生效判据」被版本门控跳过,于是恒报「已生效」而兜底注入被静默跳过(详见下一条)。本版把链路修好,修复才真正落地。
  • 「设置 → 插件管理」在 0.1.7-rc.2 组合下的渲染失败(上线前修复,见「体验优化」)。
  • 侧边栏插件的若干静默降级:任务计划页签的预览在插件未启用 / 任务已删除 / 读取失败三种情况下分别给出明确文案,不再空白。

升级注意

  • 定时任务默认开启:升级后侧边栏会多出「自动化任务」入口,Agent 也可能主动提议建提醒。若不需要,可在「设置 → 插件 → 插件管理」里关掉对应行;本次是由产品策略层放开上游的默认关闭,属于产品决策而非上游行为。
  • 原生右侧栏不再可用:这是产品铁律,不是回归。原先放在右栏的上游 UI(如部分插件的侧栏页签)在 KCoder 中不可达;KCoder 的相关能力由内置侧边栏插件承担。
  • 工作过程档位术语(承接 0.6.16):简洁 / 标准 / 详细 / 完全展开——界面上的「完全展开」是新增的更展开档,旧选择已自动重映射,观感不变。
  • 工具描述瘦身:模型看到的工具说明变短了(首轮提示约 −18%),行为语义不变;若你有依赖旧措辞的自定义提示词,建议复核一次。
  • 上游桌面壳的修复不会随基线流入:KCoder 使用自研 Electron 壳,上游 apps/desktop 的改动(安装包启动、更新提示、关窗后台运行、原生菜单图标等)与本产品无关;若遇到同类症状需单独定位。
  • 内置插件版本:随包物化终态 dsh-coding-sidebar 1.0.33(本版新增「任务计划」页签的任务预览等)· dsh-file-review-kcoder 1.0.10 · @kkutysllb/dsh-terminal 1.1.1 · dsh-skills-bundle 1.0.2 · dsh-shell-prefs 1.0.1。
  • 预置声明已平移并与物化同线:仓库约定声明(PRESET_PLUGINS)只指向 npm 上已发布、可解析的版本——未发布版本会让新装用户的 pnpm install 直接失败。本版由 ^1.0.32 平移至 ^1.0.33:发布核验为指定版本端点在 npmjs 与 npmmirror 双源均 200、dist-tags.latest 已指向 1.0.33(1.0.33 发布时在 npm 侧排队约 5 分钟,期间指定版本端点 404——故平移必须等可见之后做,顺序不可反)。
  • 升级后会做一次一次性的现场维护(幂等):回收已退役的 dsh-context@0.38.2.patch、摘除指向缺失文件的补丁声明、按需重写补丁版本键——这些都会在启动日志里各打一行。

Full Changelog: v0.6.16...v0.6.17

v0.6.16

Choose a tag to compare

@github-actions github-actions released this 23 Sep 15:51

KCoder v0.6.16

发布日期:2026-09-23 · 上游基线:deepseek-harness 0.1.7-rc.1 (46a7f68b09)

新特性

  • 上游基线跨入 0.1.7 系列(0.1.6-alpha.2 → 0.1.7-rc.1,经 alpha.1 / alpha.2 / rc.1 三段逐版核实后落地)。本版把 KCoder 的品牌化、桌面壳适配与五个内置插件全部迁到新契约上,随包运行的是一整套自洽的 0.1.7-rc.1 运行时。
  • 内置浏览器放开(设置 → 插件里的 ui-sidebar-browser):上游该行按 profile 名判定(非 desktop 即关),KCoder 的 profile 名是 web 会被误关;产品策略层以同 id 行覆盖放开,桌面壳同时打开 webviewTag 并加固 guest。侧边栏可直接开网页并在应用内浏览。
  • 工作步骤展示改为四档(上游 rc.1 变更,随基线带入):简洁 / 标准 / 详细 / 完全展开,并显示工具「准备中」阶段进度、思考与工具过程可折叠。

修复

  • 内置插件随 0.1.7-rc.1 适配(随包物化终态):dsh-coding-sidebar 1.0.32、dsh-file-review-kcoder 1.0.10、@kkutysllb/dsh-terminal 1.1.1、dsh-skills-bundle 1.0.2、dsh-shell-prefs 1.0.1。
  • 侧边栏「任务管理」页恒显「加载中…」(本版重点修复):0.1.7 移除了插件读取的两个数据缝(子代理目录 subagentsByParent、作业名册 jobsBySession),而调用点是可选链、缺失即静默 no-op,于是整棵子代理拓扑被渲染成一列禁用的「加载中」占位行且永不恢复、控制台零报错。现按新契约改读 逐 Session 投影(projectionsBySession[].values.subagentCatalog)与 ctx.jobs 客户端服务(按会话 watchRows),未展开的目录分支用 refreshProjections() 显式读取。实测:36 个子智能体从「36 行加载中」恢复为真实条目(含标签、模式与运行态)。
  • 会话页头「孤立横线」:0.1.7 把页头拆成两层后,原先按 > _titleRow 直接子级锚定的收纳规则失效,页头容器带着 76px 最小高与一条底边线活了下来——表现为「会话一开始跑就冒出一条横线」。改为按 data-slot="conversation.session.header" 重锚,并新增 scripts/smoke-workspace-header.mjs 钉住(含判别力自检:旧锚点版本必须 FAIL)。
  • 回合运行态的 KCoder 蓝色扫光回归:0.1.7 的过程行改为裸 span 标签、同屏组标题用的是灰色微光,0.1.6 的深蓝渐变扫光丢失。现按 0.1.6 逐字复刻渐变与扫光,并以 data-turn-running 属性钩住运行态(文案是本地化的,状态只能走属性)。
  • 内置插件运行时停用/卸载不再泄漏资源(dsh-coding-sidebar 1.0.26 起延续):sidechat 活跃线程、桥与 Wired 守卫、systemPrompt.section 段落随 ctx.effect 释放。

升级注意

  • 「完全展开」这一档换了所指(上游 rc.1 的模式重构):档位由三档变四档——旧「详细」现叫标准、旧「完全展开」现叫详细,而界面上的**「完全展开」是新增的更展开档**。你此前的选择会被自动重映射(旧 expanded → 新 detailed),观感不变,不必手动改。默认档由「简洁」变为「标准」,未设置过的用户会看到更多细节。
  • 运行中的过程组不再可折叠:这是上游设计(仅 标准/详细 档保留历史轮次的可折叠组标题),不是回归。
  • 首次启动会做一次会话日志 V4 迁移(懒迁移,按需转换,不阻塞启动);旧 settings.yaml 只会被尝试导入一次。
  • 新增插件兼容性检查:引擎在安装与启动时会校验插件的 DSH peer 版本范围,不满足即停用该插件行(只往 stderr 打一行,界面无感)。五个内置插件均已实测通过;若你自己装了第三方插件,升级后若发现某个插件「消失」,请先看侧车 stderr 的 disabling profile plugin 行,并按提示针对确切版本授予例外。
  • 后台任务的唤醒次数不再设上限(上游行为,KCoder 不覆盖):修好了「连续后台任务后会话停住」,代价是引擎自带的防自激链被移除。若遇到后台任务自我唤醒形成长链,给对应会话显式配置该上限即可。
  • 内置插件版本与预置声明:随包物化终态为 coding-sidebar 1.0.32 / file-review 1.0.10 / terminal 1.1.1 / skills-bundle 1.0.2 / shell-prefs 1.0.1。预置声明(PRESET_PLUGINS)按仓库约定使用已发布的版本并与物化同线:本版由 ^1.0.26 / ^1.0.7 平移至 ^1.0.32 / ^1.0.10,消除「声明旧版 + 实体新版」的窗口期。发布核验:两个版本在 npmjs 均已可见且 dist-tags.latest 已指向;npmmirror 对 file-review 已同步,对 coding-sidebar(57MB+,含 Univer/office 分包)镜像同步滞后,发版时仍在追赶——该源可见性不影响本版产物(随包实体由 bundle/ 物化决定),镜像追平后即双源一致。

Full Changelog: v0.6.15...v0.6.16