Skip to content

Releases: AIDotNet/NextCoWork

v0.1.24

Choose a tag to compare

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

新增

  • 插件系统:支持安装第三方插件(本地目录 / ZIP / 市场)。插件跑在独立的沙箱进程里,碰不到宿主界面,也拿不到文件系统或网络的直接句柄——它要的每一项能力都写在清单里,安装时逐条批准,升级时如果要得更多会再问一次
  • 插件能贡献的东西:Agent 工具、+ 菜单项、命令面板条目、快捷键、状态栏、设置项、主题,以及自定义编辑器——插件可以接管某类文件,在标签页里用自己的界面打开它
  • 插件详情页:看得到它声明了哪些能力、最近做过什么(活动日志)、装载时有没有报诊断;禁用或卸载会连带清掉它贡献的菜单、工具与文案
  • 命令面板与快捷键收口:此前命令面板只能搜会话,+ 菜单和快捷键各是一套写法。现在三者共用同一份命令注册表,插件贡献的命令在三处同时出现
  • 会话目标:给一段会话设一个完成条件(/goal <条件>),模型不再答完就停,而是持续工作到一个独立判定器确认条件达成;/goal clear 清除
  • Excalidraw 示例插件examples/acme.excalidraw):纯第三方插件,走通「新建文件 → 在标签页里打开画布 → 存回工作区」的完整链路
  • 插件开发工具链npm create nextcowork-plugin 生成可直接上架的骨架,@aidotnet/plugin-cli 负责构建 / 打包 / 发布,@aidotnet/plugin-api 提供类型声明

改动

  • + 菜单改为数据驱动,顺带修掉它此前不走翻译的问题:切到英文时这个菜单和侧边栏功能名不再是中文
  • 删除会话的禁止条件收窄:原先任何一个 Agent 在跑就禁止删除任何会话,现在只拦「待删会话自己在跑」和「它的子代理在跑」两种
  • 配置同步不再把配置明文写进本地待同步队列(供应商地址、工作区偏好等),改为只记一个「有变更」的标记,实际同步走加密快照

修复

  • 修复带语言包的插件装不上 ZIP:路径检查用了小写化过的文件名,而语言包必须叫 zh-CN.json / en-US.json,于是永远匹配不上、报「缺少语言包」——而包里明明有
  • 删除会话被运行中的 Agent 挡下时,界面现在会说明原因;此前点「确认删除」没有任何反应,也没有任何提示

v0.1.23

Choose a tag to compare

@github-actions github-actions released this 17 Sep 02:11

新增

  • 模式系统:会话支持「代码 / 计划 / ACP」三种内置模式,也可在扩展页用一份 Markdown 文件自建模式(自定义允许的工具、必调工具与提示词,项目模式覆盖全局同名模式);模式按会话记忆,输入框下方的模式药丸可一键切换、设为新会话默认或跳转管理
  • 计划模式工作流:模型先调查并用提问澄清,然后只能写一份计划文件并提交审核——计划期间写文件被围栏到该文件,审批支持「当前会话执行 / 新会话执行 / 要求修改 / 放弃」四个去向,批准后以代码模式执行
  • Git 面板:侧边栏新增 Git 入口,支持查看分支与领先/落后计数、逐文件暂存与取消暂存、拉取/推送、新建与切换分支、diff 查看与最近 50 条历史;提交框支持 ⌘↵ / Ctrl+↵ 直接提交,冲突文件不会被误暂存
  • AI 生成提交信息:Git 面板暂存后可一键生成提交信息——参考暂存 diff、完整文件清单和最近提交的语言与风格,生成结果只填入输入框等人过目,不会自动提交;未配置默认模型会明确提示
  • 全局搜索:侧边栏「搜索」现在可以全文搜索所有会话消息,结果带高亮片段,点击直达对应会话
  • 计划以文件形式存在:计划改为写入工作区 .plan/ 目录下的 Markdown 文件,审批卡支持复制、导出与打开完整计划;计划文件在编辑器里被改动后,回执卡预览会自动刷新

改动

  • 侧边栏「每日回顾」入口移除,由 Git 面板取代;旧版计划面板与计划进度展示移除,计划相关交互收敛为审批卡与回执卡
  • 交互面板重构,支持键盘操作:数字键 1–9 直接选择动作、方向键切换、Enter 确认、Esc 收起输入区;问答题一次只显示一道,顶部切换条兼作进度表;「要求修改」「修改参数后允许」改为就地展开输入框,且编辑参数时不再显示「以后都允许」,避免把原始参数写成规则
  • 旧会话里的 normal / goal 模式统一归为代码模式
  • 输入框下方显示整个会话的累计 token 与费用,回合结束立即入账;存在未定价或混合币种的调用时显示「—」而不是部分合计
  • 「减弱动态效果」现在对全部动画生效(此前部分动效不受该设置控制);加载圈在该设置下改为不透明度呼吸而非继续旋转,选「关闭动效」才完全静止
  • 主题新增 stroke 描边 token:卡片与面板的装饰性描边不再受可读性对比度护栏影响,不再出现一圈中灰实线
  • 子代理卡片改用各自的标识色描边与状态配色,运行中不再显示当前工具与调用计数
  • 内层标签条:「+」按钮固定显示、滚动边缘渐隐、支持滚轮横滚、活动标签自动滚入视野
  • 内容提示改为键盘可达(Tab 聚焦即显示)、不再被滚动容器裁剪、贴近屏幕边缘时自动翻转到视口内
  • 工具时间线分组调整:一组工具全部完成后再出现的工具会另起一组

修复

  • 修复 Windows 上「删除并退出」实际删不掉数据的问题:Chromium 占用句柄的缓存目录现在记账后推迟到下次启动补删,自己的数据不再被整体回滚;同时修复账户专属配置目录被会话清理误删的问题
  • 修复计划回执卡片始终贴在整段对话底部、关不掉的问题:现在锚定在当初提出计划的那一轮对话流中,即使审批落盘晚于新一轮提问也不会跑位;同一计划的多次审批只保留最后一条
  • 修复英文界面下提示词缓存不支持等错误仍显示中文的问题

测试

  • 新增配置同步加密、HTTP 通道与每账户同步状态机的测试(4 个文件)
  • 新增模式加载、plan-file 工具、启动补删与存储占用回退的测试
  • 新增交互面板键盘导航与卡片行为测试(interaction-keys 14 条、interaction-panel 13 条)
  • 计划回执锚定测试改写,并补充「回执晚于新一轮提问落盘」「找不到发起消息时退回」两条用例

v0.1.21

Choose a tag to compare

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

修复

  • 修复发布构建中的 renderer TypeScript 类型错误,统一 i18n 计数消息参数类型
  • 修正导入 IPC 合约类型,使 OpenCode 来源能够通过渲染层导入服务正常传递

1.4.0

Choose a tag to compare

@239573049 239573049 released this 03 Sep 03:08

[1.4.0] - 2026-09-03

Added

  • Sign in to a RoutIn desktop account from the sidebar. Tokens stay encrypted in Main (safeStorage); the window only sees the profile, never the access or refresh token.
  • Phone remote control from the account menu: enable, scan a QR, and pair a phone over SignalR. Remote terminal execution and git commits from the phone are off by default.
  • Added Claude Fable 5.1, Gemini 3.8 Flash (official thinking_level LOW/MEDIUM/HIGH), Gemini 3.7/3.6 Flash, and Gemini 2.5 Pro/Flash/Flash-Lite to the Routin AI catalog.
  • Anthropic models now expose a thinking-budget slider on the model switcher (minimum 1024 tokens, default 10K, capped by the model's output limit).

Changed

  • A quoted prompt typed while a run is in flight is injected into that run (agent/append-messages) instead of waiting for a brand-new turn after the current one finishes.
  • New sessions pick a model in this order: the composer selection, the project binding, a fixed new-session default, then the global active model.
  • Native Worker outbound HTTP now uses the same OS/system proxy Electron resolved (Clash, Surge, a corporate PAC). Provider traffic no longer bypasses the proxy the renderer already honors.
  • Channel auto-reply and cron background runs now persist late-disclosed thinking in front of the answer, matching the desktop transcript.

Fixed

  • Fixed Anthropic interleaved thinking signatures overwriting an earlier block. Each signature stays on the thinking block it belongs to, so the next user turn is no longer rejected by the Messages API.
  • Fixed OpenAI Responses reasoning item ids being dropped from persisted thinking blocks, which broke cross-turn reasoning replay on endpoints that never return encrypted_content.
  • Fixed Copilot-only local model fields leaking onto other providers when a Copilot row was copied or restored.

1.3.27

Choose a tag to compare

@239573049 239573049 released this 01 Sep 02:21

[1.3.27] - 2026-09-01

Changed

  • Message-list tail follow now stops writing scrollTop after the stream ends. A short settle window still pins Thought collapse and widget paint; idle transcripts no longer keep chasing the bottom.
  • Hosted sessions reopen when the API key, endpoint, thinking toggle, or reasoning effort changes, instead of reusing a session-open template that still had the old provider pinned.

Fixed

  • Fixed inline widgets going blank or shrinking when a later streamed snapshot was shorter or truncated. The live merge keeps the longest complete widget_code.
  • Fixed Gemini chat/completions using the catalog's static thinking_level instead of the selected reasoning effort, and still emitting reasoning_effort after thinking was turned off.

1.3.26

Choose a tag to compare

@239573049 239573049 released this 31 Aug 06:55

[1.3.26] - 2026-08-31

Changed

  • 1M-capable models (GPT, Gemini, Claude, Qwen, and other chat models with a ≥1M window) now default to a 360K standard window instead of 272K. Turning on 1M context uses the model's native long window — including 2M — instead of always falling back to GPT's 1.048M.
  • App updates moved from Data Management into System Settings. The Data page is now backups, migration, and reset only.

Fixed

  • Fixed a quoted prompt vanishing from the live transcript before SQLite had the row. The optimistic bubble stays in the resident window, and the list pins it into view immediately instead of waiting for a session reload.

1.3.25

Choose a tag to compare

@239573049 239573049 released this 31 Aug 01:50

[1.3.25] - 2026-08-31

Changed

  • The stream-idle deadline now defaults to 30 minutes instead of 120 seconds. Reasoning models (o-series, GPT-5, extended thinking) stay silent for minutes after headers arrive; the old default killed healthy streams. Setting the API request timeout to 0 disables both deadlines.
  • Message list scroll, pinning, and history-load viewport state is extracted from MessageList.tsx into a dedicated viewport module — the component shrinks by ~1000 lines to presentation only.

Fixed

  • Fixed summarized turns leaking back into the model context: the compaction watermark cut is now refused whenever the summary row is missing (windowed load miss or not-yet-committed summary), instead of silently dropping the compacted range and leaving the model with only the latest turn.
  • Fixed the Worker context source hiding the compacted range when the watermark's summary row was not on disk; the chat store now re-fetches a just-committed summary before applying the cut.
  • Fixed streamed text and thinking doubling when a gateway replayed a snapshot or the live stream, reattach, and sync echo delivered the same chunk in one frame. The Worker now takes only the incremental part of deltas, ignores reasoning_summary_text.done snapshots that duplicate streamed deltas, and the renderer no longer subscribes twice while the live send loop owns the session.
  • Fixed tool calls failing required-field validation when a model sent path or target_file instead of the schema's file_path / notebook_path; common aliases are now coerced onto the canonical property.

1.3.24

Choose a tag to compare

@239573049 239573049 released this 29 Aug 07:49

[1.3.24] - 2026-08-29

Changed

  • Consecutive thoughts and ordinary tools now share one Exploring run, so completed thinking folds into the collapsed header instead of sitting as a separate block.
  • The live thinking header shows the latest cleaned fragment and only ticks when a new sentence starts.
  • Write can create or overwrite a file without a prior Read. Edit and NotebookEdit still require a matching last-read snapshot.

Fixed

  • Fixed Read/Grep and other tool cards disappearing when tool_call_start arrived before tool_use_generated, or when the live agent store already tracked the call. The stream now always upserts the assistant tool_use block.
  • Restored missing tool cards from the tool-result journal and request-debug payload when a result exists without a matching tool_use in the message.

1.3.23

Choose a tag to compare

@239573049 239573049 released this 28 Aug 17:26

[1.3.23] - 2026-08-29

Added

  • Added GLM-5.3-Flash to the official BigModel catalog (1M context, vision, and thinking).
  • Added Hunyuan Hy4 Preview (1M context; thinking defaults to high, and off maps to the official no_think effort).
  • Added Qwen3.8 Max, Qwen3.8 Flash, and Qwen3.8 27B to the official Qwen catalog (1M context, hybrid thinking, and vision).
  • Added Hy4 Preview, Qwen3.8 Max, and Qwen3.8 Flash to the Routin AI catalog with matching context, pricing, and thinking settings.

Changed

  • Retired Hunyuan Hy3 Preview after TokenHub routes that traffic to Hy3 on 2026-08-31; saved Hy3 Preview rows are removed on the next preset restore.
  • Qwen3.8-Max-Preview on Routin AI now matches production Max (128K output, vision, official pricing, and low/medium/xhigh effort) and is marked deprecated so saved preview rows can move to the production model.

Fixed

  • Fixed the session change-review panel hitting "Maximum update depth exceeded" when a folder had no git branch list. The Zustand selector now returns a stable empty array instead of allocating a new one on every snapshot.

1.3.22

Choose a tag to compare

@239573049 239573049 released this 28 Aug 07:10

[1.3.22] - 2026-08-28

Added

  • Added project-scoped agent memory at .agents/MEMORY.md for recording durable decisions, workflow habits, recurring errors, and context.
  • Added project database tools for agent workflows, including project listing, creation, updates, and deletion.
  • Added richer sub-agent reporting and task reminders so background work can return structured progress and keep long-running tasks visible.

Changed

  • Refined the Native Worker runtime across Anthropic, Gemini, OpenAI Responses, and OpenAI Chat providers, including event parsing, request timeouts, retry handling, context compression, image generation, computer-use state, and tool-error reporting.
  • Improved CLI hosted-session runtime behavior: session titles can be generated and drained safely during shutdown, MCP tool and resource calls honor configurable timeouts, and MCP calls use the SDK timeout options consistently.
  • Reworked chat and execution presentation across tool cards, grouped tool calls, thinking blocks, file changes, sub-agents, todos, web search, CodeGraph, browser, and system actions; execution labels and tool display names are now centralized for more consistent status rendering.
  • Added regression coverage for compact request views, execution outlines, hosted sessions, and runtime projection behavior.
  • Added project workflow memory guidance and removed the outdated Chinese CLI launch article.