Skip to content

Releases: phinn/KinetAios

v3.9.4

Choose a tag to compare

@github-actions github-actions released this 29 Sep 01:43

发布日期: 2026-09-29(自 v3.9.3 起 1 commit)

⚡ 性能

  • turn 内工具结果折叠(11e626d)—— 根治长跑 ReAct 循环的 O(N²) token 重发。单 turn 数百次 LLM 调用时,每条工具结果都会被后续每次调用完整重发:N 次调用 = O(N²) 输入增长。实测 499 次调用烧 99.8M input tokens($6.99/次),撞 5h 限流;同模式另一会话 361 次调用 51M($3.57)。对标 Claude Code microcompact:每次 streamComplete 前 foldOldToolResults() 生成"折叠视图"喂给 API —— 上下文估超 150K 才触发(小 turn 零感知);旧工具结果(保留最近 10 条)替换为摘要行「[已折叠 tool 目标] 头 80 字… + 重新调用同一工具即可取回」;assistant(tool_calls) 批次参数同步砍成 '{}'(edit_file 的 new_string 动辄几 KB),id 保留 → 与折叠后 tool 结果配对不破,openai/anthropic 协议仍合法;有文本内容的 assistant / _transient 结果 / 截屏类空 content 不折叠。⚠️ 只改视图不动原数组:directHistory / traj 存证 / compaction spill 全不受影响;turn 结束后 interStepCompact 30K 预算照旧。wrapUp 收尾调用同样走折叠视图。验证:13 项断言全过(原数组不可变/配对完整/阈值门/摘要行可读/edit_file 大参数砍除)+ typecheck。效果预估:同规模 turn 99.8M → ~35M,不再撞限流

Full Changelog: v3.9.3...v3.9.4


English

⚡ Performance

  • Intra-turn tool-result folding (11e626d) — kills the O(N²) token resending of long-running ReAct loops. When a single turn makes hundreds of LLM calls, every tool result gets resent in full by every subsequent call: N calls = O(N²) input growth. Measured: 499 calls burned 99.8M input tokens ($6.99 for one call) and hit the 5-hour rate limit; another session with the same pattern made 361 calls at 51M ($3.57). Modeled on Claude Code's microcompact: before every streamComplete, foldOldToolResults() builds a "folded view" fed to the API — triggers only when estimated context exceeds 150K (small turns are untouched); old tool results (keeping the most recent 10) collapse to summary lines like "[folded tool target] first 80 chars… re-run the same tool to retrieve"; assistant(tool_calls) batch arguments are cut to '{}' in the same pass (edit_file's new_string is often several KB) while ids are kept, so pairing with folded tool results survives and the openai/anthropic protocol stays valid; assistants with visible text, _transient results, and screenshot-style empty content are never folded. ⚠️ Only the view changes — the original array is untouched: directHistory / traj evidence / compaction spill are all unaffected; the post-turn interStepCompact 30K budget works as before. The wrapUp finishing call uses the folded view too. Verified by 13 assertions (original array immutability / pairing integrity / threshold gate / readable summary lines / large-argument elimination) plus typecheck. Projected effect: a same-scale turn drops from 99.8M to ~35M tokens and no longer trips the rate limit

Full Changelog: v3.9.3...v3.9.4

v3.9.3

Choose a tag to compare

@github-actions github-actions released this 28 Sep 14:29

发布日期: 2026-09-29(自 v3.9.2 起 5 commits)

✨ 功能

  • 轨迹透视分级配额 + 检查器批量展开/复制(f9c5698)—— 快照按记录类型分级截断:system/context/compacted 16K(只有轨迹面板能看到它们,短截=透视失真),tool/user/message 维持 2K(全文在步骤卡里已有),单 turn 总预算 256K;超预算按序保头。上下文检查器支持逐 turn 展开/复制轨迹;emitConversation/get-conversations 估重补 traj 权重,600K IPC 闸门不失灵

🐛 修复

  • 多任务并发界面卡顿(5200b38)—— 三处随任务数放大的风暴:①工作台全量 innerHTML 重建高频触发 → scheduleWorkbench 250ms 节流 + scrollTop 恢复;②estContextTokens 每秒对 directHistory 全量 stringify → ctxEstCache(引用+长度不变即复用);③nexus refreshNexusNode 的 rAF 节流每帧全量重建 → 500ms 尾随节流 + offsetParent 可见性守卫。模式:rAF 是错误的节流器(不减频只对齐帧),要用时间窗节流 + 可见性守卫 + 滚动恢复
  • Goal 监工接力链被清空(c4be299)—— 初始化时序竞态:markClean() 用 readSettingsForm() 覆写脏检测基线,而 readSettingsForm 读 goalChainCache,缓存在 markClean 之后才回填 → 读到空 [] 毒化快照 → 每次冷启动后首次开设置,链显示为空,保存即清盘。修复:回填挪到 markClean 之前(与其它缓存同时序);链增删是 button onclick 不冒泡 input/change,补 updateSaveDot 防改完不保存静默丢
  • Windows CRLF/BOM 写入三连坑根修(e248965)—— edit_file 读入后检测换行风格,old_string/new_string 归一化后再匹配(含 replace_all);decodeBuffer 剥 \ufeff BOM;atomicWrite 保 BOM。此前 CRLF 文件遇 \n 的 old_string 必然匹配失败
  • 仓库换行策略(c1b395c)—— 加 .gitattributes:仓库 LF,Windows 脚本 CRLF,杜绝 CRLF 事故复发

English

✨ Features

  • Traj snapshot tiered quotas + checker bulk expand/copy (f9c5698) — snapshots are truncated per record type: system/context/compacted 16K (only the trajectory panel ever shows them; short truncation = distorted view), tool/user/message stay at 2K (full text already lives in step cards), 256K total budget per turn; overflow drops from the tail in order. Context checker supports per-turn trajectory expand/copy; emitConversation/get-conversations include traj weight in token estimates so the 600K IPC gate still trips correctly

🐛 Fixes

  • UI jank under concurrent tasks (5200b38) — three storms that scaled with task count: (1) workbench full innerHTML rebuilds at high frequency → scheduleWorkbench 250ms throttle + scrollTop restore; (2) estContextTokens stringified the entire directHistory every second → ctxEstCache (reuses when reference + length unchanged); (3) nexus refreshNexusNode rAF throttling rebuilt everything every frame → 500ms trailing throttle + offsetParent visibility guard. Lesson: rAF is the wrong throttle (aligns to frames, doesn't reduce frequency) — use time-window throttling + visibility guards + scroll restore
  • Goal chain wiped on session start (c4be299) — init race: markClean() rebased dirty-detection with readSettingsForm(), which reads goalChainCache, but the cache was backfilled after markClean → read an empty [] poisoning the snapshot → first settings open after every cold start showed an empty chain, and saving wiped it. Fix: backfill moved before markClean (aligned with other caches); chain add/remove used button onclick that doesn't bubble input/change, added updateSaveDot so edits can't be silently lost
  • Windows CRLF/BOM write triple-pit root fix (e248965) — edit_file detects newline style on read and normalizes old_string/new_string before matching (incl. replace_all); decodeBuffer strips \ufeff BOM; atomicWrite preserves BOM. Previously CRLF files could never match a \n old_string
  • Repo newline policy (c1b395c) — added .gitattributes: LF in repo, CRLF for Windows scripts, so CRLF incidents stay dead

Full Changelog: v3.9.2...v3.9.3

v3.9.2

Choose a tag to compare

@github-actions github-actions released this 27 Sep 14:25

发布日期: 2026-09-27(自 v3.9.1 起 11 commits)

✨ 功能

  • 用量看板全面改版(4d3a4e3, 4285671)—— 趋势图对齐 Cherry Studio:按日柱状 + Token/费用指标切换 + 模型分色;时间范围扩至 6 档 3D/7D/30D/6M(90)/180D/1Y(365),默认 1M,热力图周数随档位缩放(1Y≈53 周 + 12 月份标记);X 轴长范围 5 刻度带年份
  • 项目排行卡(09432ef)—— 第 4 张排行卡:按 conversations.cwd 末段聚合 token/费用/请求数,与模型/引擎/会话排行组成 2×2;项目名 hash 分色
  • web-auto 网页自动化插件(392a6f6)—— 浏览器实战工作流模板
  • browser_ 工具组固化推广实战坑*(2f54fc7)—— browserType 三模式注入(value/paste/insertText,React 受控组件/ProseMirror/contenteditable 全覆盖)+ 注入后回读验证(「DOM 有字≠框架收了字」);browserUpload 走 CDP DOM.setFileInputFiles 独木桥;browserCookie 写走 cookieStore.set(CDP Network.setCookie 是假成功)/读走 CDP(可读 HttpOnly)
  • usage-stats IPC + KINET_METRICS 启动开关(ded6bf6)

🐛 修复

  • 长档位渲染雷同(8bf5234)—— cost_log 仅 75 天时 180D/1Y 与 90D 完全一样:根因是 daily 补齐起点=最早数据日,长档时间轴不向左展开;修复为起点=min(最早数据日, 窗口首日)向左补 0,1Y 热力图铺满 53 周
  • 上下文接力优先级(a2fe193, 4c29f98)—— 确认型短指令(「继续/执行」)先消费自身上条提议,不再先查记忆库;手贴摘要优先于 recall_memory;会话限制内检索全空时全局兜底

🎨 UI

  • 排行卡与概览区间距修正(61a3d1a):u-rank-grid 下边距 22px,dash-overview 补上边距,消除区块拥挤

English

  • Usage dashboard overhaul (4d3a4e3, 4285671) — trend chart aligned with Cherry Studio: daily bars + Token/cost metric switch + per-model coloring; time range extended to 6 presets (3D/7D/30D/6M(90)/180D/1Y(365)), default 1M; heatmap weeks scale with range (1Y ≈ 53 weeks + month labels); 5 ticks with year for long X ranges
  • Project ranking card (09432ef) — 4th ranking card: aggregates token/cost/requests by last segment of conversations.cwd, forming a 2×2 grid with model/engine/conversation rankings; project names color-hashed
  • web-auto web-automation plugin (392a6f6) — browser workflow templates from real campaigns
  • browser_ tool group hardens field-tested pitfalls* (2f54fc7) — browserType's three injection modes (value/paste/insertText covering React controlled inputs / ProseMirror / contenteditable) + post-injection read-back verification ("text in DOM ≠ framework received it"); browserUpload goes through the CDP DOM.setFileInputFiles single bridge; browserCookie writes via cookieStore.set (CDP Network.setCookie silently fails) and reads via CDP (sees HttpOnly)
  • Goal-driven context continuation (v2) — goal chain + turn progress injected into the system prompt

Full Changelog: v3.9.1...v3.9.2

v3.9.1

Choose a tag to compare

@github-actions github-actions released this 24 Sep 04:55

发布日期: 2026-09-24(自 v3.9.0 起 9 commits)

✨ 功能

  • Steer 打断闭环:CLI 引擎软打断(2220efe)—— claude/codex 跑长任务时 ⌘Enter 不再干等:kill 进程(SIGTERM→2.5s→SIGKILL,win 走 taskkill /T /F)+ --resume 原会话续跑,打断文本在续段头部注入;三引擎全覆盖;首轮未建 session 时自动降级排队
  • 工作台项目看板(5b1fa4d)—— 按 cwd 分组的项目卡,新增最近活动频道列表(updatedAt 排序、引擎色点、飞书/企微来源标识);running 卡绿色呼吸点+accent 边框;status 事件驱动 300ms 节流刷新;i18n 四语

🐛 修复

  • CLI 软打断三处硬伤(2bf52b2)—— steer 只写缓冲不触发 abort → kill 无触发路径,打断要等 CLI 自然跑完才生效,失去打断意义(补 kill 通道);续段重布防看门狗前不复位 idleFired → 续段挂死无人管;kill hook 生命周期泄漏(cancel/收尾/删除会话四点收口)
  • 终态竞态吞打断文本(e6af1fb)—— pullSteer 原语义"取走即清除",竞态窗口内文本被丢;移到 sawTerminal 判定后;V3 引擎 steer 缺口同步收口
  • goal 接力链静默停机(11da72b)—— 链空/链尽时不再无声结束,显式告警;链每轮现读(运行中改链即时生效)
  • 拿掉 stall 熔断(ff41907)—— 连续 8 轮相同工具调用即停的熔断误伤几百步的合理任务(如逐行审计、全量重构);死循环防护回归 maxTurns 兜底 + 内容级 stall 检测(后续)

🎨 UI

  • 全局图标 SVG 化(9a3a95e)—— 新增 SVGI 语义图标库(与 ICON 同风格描边圆角、stroke=currentColor),看板/任务清单/事件流/远程 banner/job pill/git sync/模板卡全站 emoji 与 ✓✗⇅ 等伪字符清零;颜色语义交 CSS 变量;配套 12 处 CSS 对齐。发往模型的 prompt 文本 emoji 保留(非 UI)
  • 引擎配色收口(ce8a83b)—— 三处色值互不一致的引擎色(dashboard/nexus/styles)收口到 engine-colors.ts 单一来源
  • cron 工具化(e87da31)—— 新增 cron_list/cron_manage 工具,agent 可直接管理定时任务,不再只靠 UI 面板

Full Changelog: v3.9.0...v3.9.1


English

  • Goal-driven context continuation: multi-goal conversations load a single static goal text at session start; cross-goal shifts lose the execution chain (what's done / what's pending / what state the files are in). Added goal chain + turn-by-turn progress persistence, auto-injected into the next session's system prompt, making "switch goal mid-conversation" first-class
  • System-prompt slimming: goal/progress sections merged into a structured block, no more interleaved duplication; long historical block descriptions compressed
  • Traj snapshot weight: traj records injected into context-estimation weight, so the IPC 600K gate no longer undercounts

Full Changelog: v3.9.0...v3.9.1

v3.9.0

Choose a tag to compare

@github-actions github-actions released this 22 Sep 13:04

发布日期: 2026-09-22(自 v3.8.2 起 1 commit)

✨ 功能

  • Steer 用户打断通道(96eafbb)—— 运行中的会话不等它跑完,⌘Enter 原地转向:消息进 latest-wins 打断缓冲,引擎在循环边界取走注入为 [⚡ 用户打断],不 abort、不换 turn、上下文延续;打断失败自动降级为排队;发送键 ⌘ 分流(Enter 排队/⌘Enter 立即转向),队首消息带 ⚡ 转向按钮;仅 Direct 系引擎

English

✨ Features

  • Steer user-interruption channel (96eafbb) — a running session no longer must finish first: ⌘Enter steers in place. The message enters a latest-wins interruption buffer; the engine picks it up at loop boundaries and injects it as [⚡ 用户打断] — no abort, no new turn, context continues; failed interruption degrades to queueing automatically; Enter queues / ⌘Enter steers immediately via send-key split, the head-of-queue message carries a ⚡ steer button; Direct-family engines only

Full Changelog: v3.8.2...v3.9.0

v3.8.2

Choose a tag to compare

@github-actions github-actions released this 22 Sep 12:20

发布日期: 2026-09-22(自 v3.8.1 起 6 commits)

✨ 功能

  • 侧栏频道速览 tooltip(9ba9ed5)—— hover 频道条目 350ms 弹出会话全景:当前步骤/待办进度/token 消耗/最近输出,harness 风格;fixed 定位挂 body 不遮列表(197bed8),不喜欢可一键关闭(3557f1d),默认关(7d6b37e)

🐛 修复

  • feishu/wecom_send_file 会话来源门控(0901541)—— 飞书/企微通道只对来源会话开放:修前本地频道会话也能调,曾把 release 笔记误推到企微群
  • embedding 链路断供 P0(7d30a5e)—— 智谱 anthropic 端点(/api/anthropic)不含 /v4 子串被守卫误杀 → 8/5 起全库记忆 0 向量,语义召回静默退化为子串匹配;修复后端点自动改写 /api/paas/v4,附存量回填脚本(18627/18627 全量回填)
  • 记忆治理三处(7d30a5e)—— rule 类记忆补过滤(不再被语义去重误删/被 decay 清掉);纠错 strike 归因收紧到"纠正话术本身"(跨轮错位不再误杀);deleteConversation 级联清理 conv_facts 锚点

English

✨ Features

  • Sidebar channel tooltip (9ba9ed5) — hovering a channel row pops a 350ms panorama: current step / todo progress / token spend / latest output, harness-style; fixed-positioned on body so it never covers the list (197bed8), one-click dismiss if you dislike it (3557f1d), off by default (7d6b37e)

🐛 Fixes

  • feishu/wecom_send_file conversation-origin gating (0901541) — the Feishu/WeCom channels are only open to sessions of that origin: previously local-channel sessions could call them too, once mistakenly pushing a release note into a WeCom group
  • Embedding pipeline outage P0 (7d30a5e) — the Zhipu anthropic endpoint (/api/anthropic) doesn't contain the /v4 substring and was killed by the guard → from 8/5 all memories had zero vectors and semantic recall silently degraded to substring matching; the fix rewrites the endpoint to /api/paas/v4 automatically, with a backfill script for existing data (18627/18627 fully backfilled)
  • Memory governance trio (7d30a5e) — rule-type memories are filtered out of semantic dedup and decay (no longer mistakenly removed); correction strikes attribute tightly to the correction phrasing itself (no more cross-turn misattribution); deleteConversation cascades cleanup of conv_facts anchors

Full Changelog: v3.8.1...v3.8.2

v3.8.1

Choose a tag to compare

@github-actions github-actions released this 21 Sep 09:47

发布日期: 2026-09-21(自 v3.8.0 起 30 commits)

🔒 安全加固(五连修)

  • P0 凭据加密全覆盖(d4c7518)—— settings.json 敏感字段统一 @enc: 加密封装:modelProfiles[].apiKey/balanceApiKey(此前明文落盘)、wecomBot.secret、feishu 全字段、MCP token;web_fetch 重定向 SSRF 修复(重定向到内网地址拒绝跟随)
  • P0 插件工具统一审批门(c61f38a)—— pluginTools() 按 manifest approval 声明制统一包装,默认 always:修前 office-suite 18 工具全 exec 零 confirm、hw-diag 整插件绕过审批链
  • P1 三处(941f4f6)—— CSP 收敛(删 unpkg 远程脚本残留源)+ 主窗口导航防护(拦截 will-navigate/setWindowOpenHandler)+ MCP token 爆破限速
  • P2(2dc9048)—— Computer Use 授权撤销入口(设置页一键撤销)+ 快照目录 git 本地忽略
  • 纵深两笔 —— settings.json 0600 落盘、MCP CORS 删 'null'/file://、web_fetch 响应体 16MB 上限(381e20a);escapeHtml/esc 全部补单引号转义,堵 onclick 单引号属性逃逸注入(3d32ea2)

✨ 功能

  • 侧栏运行中实时状态(98fcb24)—— 频道条目就地下发引擎 statusNote(对齐 Mac 版),当前步骤一目了然,不再只有"运行中"三个字
  • compactMeta 紧凑模式(6416e1d)—— 设置新增开关:工具输出只留摘要行;工具输出里的路径可点(Shift+单击系统打开);行内代码路径同款交互(0731188)
  • DirectV2 executePlanSteps 抽取(51459c1)—— run/replan 两条执行循环合一,补丁面收窄
  • 旧回合「收起」按钮(cccee2a)—— 展开后的历史回合可再收起,修此前单向折叠
  • marketing-kit 插件 v1.2/v1.3(4f067a5/58cf524)—— 6 只读工具(搜索/HN 热度/Reddit 原声/SEO 体检/漏斗计算/关键词拓展)+ panel 贡献点(营销控制台:漏斗计算器+调研工作台+发布清单),postMessage 桥接零宿主改动

🐛 修复 & 📖 文档

  • 长会话可用性五项(bd449af):侧栏时间桶/日期分隔/流式实时 meta/命令面板扩充/contextTooLong 恢复引导
  • README 首屏 30 秒 TL;DR + Star CTA(acaeb0d);hero 截图更新到 v3.8 真实会话(a2c610d);wiki Tools-and-MCP 补全 40+ 工具清单(85300c2);跨平台定位口径修正(11c1002)

English

🔒 Security hardening (five fixes)

  • P0 credential encryption coverage (d4c7518) — sensitive fields in settings.json uniformly sealed with @enc: encryption: modelProfiles[].apiKey / balanceApiKey (previously plaintext on disk), wecomBot.secret, all feishu fields, MCP tokens; web_fetch redirect SSRF fix (redirects to internal addresses are refused)
  • P0 unified approval gate for plugin tools (c61f38a) — pluginTools() wraps tools per the manifest approval declaration, default always: before the fix, office-suite's 18 tools all ran exec with zero confirm, and the whole hw-diag plugin bypassed the approval chain
  • P1 trio (941f4f6) — CSP tightened (removed leftover unpkg remote-script source) + main-window navigation protection (intercepts will-navigate / setWindowOpenHandler) + MCP token brute-force rate limiting
  • P2 (2dc9048) — Computer Use authorization revoke entry (one-click revoke on the settings page) + snapshot directory git-ignored locally
  • Defense in depth — settings.json persisted 0600, MCP CORS drops 'null'/file://, web_fetch response body 16MB cap (381e20a); escapeHtml/esc all gained single-quote escaping, closing onclick single-quoted-attribute injection (3d32ea2)

✨ Features

  • Sidebar live running status (98fcb24) — channel rows get engine statusNote in place (matching the Mac app); the current step is visible at a glance instead of just the words "running"
  • compactMeta compact mode (6416e1d) — new settings toggle: tool output keeps only summary lines; paths in tool output are clickable (Shift+click opens in the system), same interaction for inline-code paths (0731188)
  • DirectV2 executePlanSteps extraction (51459c1) — the run/replan execution loops merged into one, shrinking the patch surface
  • Collapse button for old turns (cccee2a) — expanded history turns can collapse again, fixing the previous one-way fold
  • marketing-kit plugin v1.2/v1.3 (4f067a5/58cf524) — 6 read-only tools (search / HN traction / Reddit voice-of-customer / SEO audit / funnel calc / keyword expansion) + panel contribution (marketing console: funnel calculator + research workbench + launch checklist), postMessage bridge with zero host changes

🐛 Fixes & 📖 Docs

  • Five long-session usability items (bd449af): sidebar time buckets / date separators / streaming live meta / command palette expansion / contextTooLong recovery guidance
  • README first-screen 30-second TL;DR + Star CTA (acaeb0d); hero screenshot updated to a real v3.8 session (a2c610d); wiki Tools-and-MCP completed with the 40+ tool inventory (85300c2); cross-platform positioning corrected (11c1002)

Full Changelog: v3.8.0...v3.8.1

v3.8.0

Choose a tag to compare

@github-actions github-actions released this 18 Sep 03:57

发布日期: 2026-09-18(自 v3.7.3 起)

✨ 功能

  • V3 deep 任务后台执行(a4a2ab8)—— deep 任务提交 JobManager 后会话立即解锁,可继续对话;完成结果自动回贴,期间实时显示运行数与成本;设置页新增「复杂任务后台执行(V3)」开关(默认开,四语)
  • 节点级断点续跑(847b409)—— DAG 每个节点完成即落 checkpoint;任务终止/失败/重启后可从断点继续,不再整图作废;带断点的 job 重启后标 paused 可一键恢复
  • 同层受限并行(847b409)—— 同层只读节点按 dagConcurrency(缺省 3)分批并行,写节点保持串行防竞态
  • 长时 CLI 子任务后台化(847b409)—— dispatch job 超时上限 30 分钟(同步路径仍 5 分钟),可取消、结果落库
  • 引擎选择指南(wiki/Choose-Engine.zh-CN.html)—— V1/V2/V3 各自适合的任务、速查表与场景对照(MD + 暗色 HTML 双版本)

🐛 修复

  • 打破 emitTeamEvent 循环依赖(847b409)—— 抽到 team-events.ts,engines/V3/DirectV2 不再反向依赖 main.ts,测试可独立 bundle
  • checkpoint 内存行不同步(847b409)—— resume 校验读内存行导致误拒,已在 sink 中同步

🧪 测试

  • 新增 scripts/test/95-jobs.test.ts 11 用例:生命周期/并发池/kill/resume/cost/断点恢复/并发峰值/hydrate(全套 11/11 文件通过)

Full Changelog: v3.7.3...v3.8.0


Released: Sep 18, 2026 (since v3.7.3)

✨ Features

  • V3 deep tasks run as background jobs (a4a2ab8) — deep tasks submit to JobManager and the conversation unlocks immediately for more chatting; results auto-append on completion with live run-count & cost; new "Background deep tasks (V3)" switch in Settings (default on, 4 languages)
  • Node-level checkpoint resume (847b409) — every DAG node persists a checkpoint on completion; after termination/failure/restart the task resumes from the breakpoint instead of invalidating the whole graph; jobs with checkpoints restart as paused with one-click resume
  • Bounded same-layer parallelism (847b409) — same-layer read-only nodes batch in parallel via dagConcurrency (default 3); write nodes stay serial to avoid races
  • Long-running CLI subtasks go background (847b409) — dispatch job timeout raised to 30 minutes (sync path still 5), cancellable, results persisted
  • Engine selection guide (wiki/Choose-Engine.zh-CN.html) — which tasks fit V1/V2/V3, a quick-reference table and scenario comparisons (MD + dark HTML)

🐛 Fixes

  • Broke emitTeamEvent circular dependency (847b409) — extracted to team-events.ts; engines/V3/DirectV2 no longer back-depend on main.ts; tests bundle independently
  • Checkpoint in-memory row desync (847b409) — resume validation read the in-memory row and falsely rejected; now synced in the sink

🧪 Tests

  • New scripts/test/95-jobs.test.ts with 11 cases: lifecycle/concurrency pool/kill/resume/cost/checkpoint resume/parallel peak/hydrate (full suite 11/11 files green)

Full Changelog: v3.7.3...v3.8.0

v3.7.3

Choose a tag to compare

@github-actions github-actions released this 17 Sep 14:57

发布日期: 2026-09-17(自 v3.7.2 起 7 commits)

✨ 功能

  • 模型配置档编辑弹层化(2906fc3)—— 模型 tab 加「添加模型」按钮,新增/编辑统一居中弹窗(配置名/key/URL/模型/协议/reasoning/价格/余额查询),内置测试连接;保存即入列表,Esc/遮罩可关;四语
  • 内置 skill 随 app 分发(4a2efc7)—— 新增 builtin 来源,resources/skills 打包;首个内置 skill: data-analysis(移植 V3 分析工作法+V2 落盘约定)
  • 设置页保存/测试按钮常驻底部(af7e91b)—— 提到 s-layout 外固定卡片底部,任意 tab 不用滚到底找保存;表单脏检测,有未保存改动时保存按钮亮提示点;四语

🐛 修复

  • 原生控件不跟主题(548ac0d)—— 全项目补 color-scheme(root=dark,light/serene/sierra=light);修复下拉菜单/number spinner/滚动条在暗色主题下永远按系统浅色渲染
  • skill 编辑弹层遮罩缺失(f2c1462)—— 上轮漏写 CSS 导致弹层掉到文档流底部,聊天流滚动露出白框;补 fixed 遮罩+居中
  • 弹层 i18n 补齐(736cac5)—— pe-test 空按钮根因=静态弹层没绑 data-i18n;openProfileModal 打开时 applyI18nDOM 重刷,新增 settings.profile.name/test 四语 key

Full Changelog: v3.7.2...v3.7.3


Released: Sep 17, 2026 (7 commits since v3.7.2)

✨ Features

  • Model profile editor as a modal (2906fc3) — Model tab gains "Add model"; add/edit share one centered dialog (name/key/URL/model/protocol/reasoning/pricing/balance check) with built-in connection test; saves into the list; Esc/backdrop closes; 4 languages
  • Built-in skills shipped with the app (4a2efc7) — new builtin source packaged from resources/skills; first built-in skill: data-analysis (V3 analysis methodology + V2 disk conventions)

Full Changelog: v3.7.2...v3.7.3

v3.7.2

Choose a tag to compare

@github-actions github-actions released this 17 Sep 13:38

发布日期: 2026-09-17(自 v3.7.1 起 3 commits)

✨ 设置「技能」面板

  • 新增技能 tab —— 聚合 ~/.kinetaios / ~/.claude / ~/.codex 三方 skills/commands/agents + 插件贡献技能,按来源分组展示、按名/描述搜索(42cd477)
  • 点击查看/编辑技能源文件全文(markdown 高亮);用户级技能可直接保存(改名校验、插件技能只读),保存后强制重扫 slash 菜单即时生效

🎨 设置交互重构

  • 技能编辑改弹层 modal(c93e577)—— 遮罩 + 居中卡片(CodeEditor 承载),Esc / 点遮罩 / 取消三种关闭;只读态隐藏保存按钮,badge 标注可编辑/只读;四语
  • 设置页改左右两栏布局(2e5c3f9)—— 左侧竖向 tab 导航(选中项左缘 accent 竖条+淡底),右侧内容面板独立滚动,tab 常驻可见(旧 sticky 横向 tab 废除);卡片加宽 760→1080;窄窗口(<900px)自动回退横向换行 tab;命令面板「设置→XX」跳转选择器 .s-tab[data-stab] 全兼容;全景搜索跨面板过滤保留

Full Changelog: v3.7.1...v3.7.2


Released: Sep 17, 2026 (3 commits since v3.7.1)

✨ Settings "Skills" panel

  • New Skills tab — aggregates skills/commands/agents from ~/.kinetaios / ~/.claude / ~/.codex plus plugin-contributed skills, grouped by source, searchable by name/description (42cd477)
  • Click to view/edit full skill source (markdown highlighted); user-level skills save directly (rename validation; plugin skills read-only); save forces a rescan so the slash menu updates instantly

Full Changelog: v3.7.1...v3.7.2