github AIDotNet/NextCoWork v2.2.1

3 hours ago

新增

启动数据迁移闸门:旧数据在进入应用之前合并干净

  • 升级后首次启动若检测到旧版本留下的数据(旧打包安装的数据根、旧扁平目录布局,以及「根层还躺着一个库」的中间状态),先全屏跑完「整理目录结构 → 合并旧会话 → 复制附件」再进入应用;迁移期间数据库尚未打开,其余功能本来就不可用,因此不需要任何禁用逻辑
  • 合并只搬当前库里没有的行——此前只要新库已存在,旧数据就被整体静默跳过且不留日志,表现为升级后某个时段的会话永久消失(本次收录的那类状态正是这样丢数据的)
  • 失败各有说明:磁盘空间不足、权限不足、旧/新数据损坏、数据文件被占用;出错后可以重试跳过并继续(旧数据原样保留,下次启动再试)、或撤销本次合并(只删这一次合并写入的会话,不影响之后新建的会话),诊断信息可一键复制

SSH 连接跟随应用/系统代理

  • OpenSSH 自身没有任何代理概念,现在主进程按与模型请求同一份代理设置,把 ssh 改道到一条本地隧道上——手动代理、系统代理、PAC 脚本、直连白名单只有一份实现,设置页改了 SSH 立刻跟随

  • 主机密钥仍按原主机名校验,不会每连一次就问一遍「确定要继续连接吗」,known_hosts 也不会被随机端口条目撑爆;用户自己配了 ProxyJump / ProxyCommand / HostKeyAlias 的一律不插手,局域网地址一律直连,代理凭据只送给用户手填的那台代理

  • 改动审查卡直达文件:回合底部审查卡上点某个文件,右侧 changes tab 打开并停在那个文件的 diff 上——此前永远停在清单第一个,点第 7 行和点第 1 行看起来一模一样

改动

  • 退出流程改为两段式:退出时若有未保存的文件改动,弹的是应用自己的「保存 / 丢弃」对话框,选完自动继续退出——此前系统的 beforeunload 拦下之后整次退出悄悄作废,应用还留在 Dock/托盘里,得再点一次退出
  • 状态行运行文案按场景分组轮换(仍 4 秒一换):读文件和列目录、搜文件名和搜内容不再说同一句话;等首字节超过约 20 秒、同一个工具连跑第 5 次、上一个工具刚报错这些「相位上看不出来的时刻」有专门的文案;读屏仍朗读固定的「正在等待回复…」,轮换对无障碍不可见

修复

  • 摘要压缩现在真的把已概括的历史移出上下文:原先摘要是附加在完整历史上方的,占用不降反升(多出一整份摘要),于是每轮都再摘要一次——每轮多发一次模型请求、多一条检查点,永不收敛;模型还按「转录已经不在了」这个不成立的前提写交接。现在切点只落在整轮边界、绝不越过摘要覆盖的范围,老数据(无覆盖锚点)一律不裁;恢复旧检查点与当场压缩得到的是逐字相同的一份
  • 压缩之后模型的 todo 进度表不再丢失:todo 从完整转录推导,压缩动不了它——此前界面面板还在,模型却从这一轮起当无事发生
  • 压缩摘要请求不再挤爆小窗口模型:必留段原先不计预算,一条带大量并行工具结果的消息会让摘要请求自己先 400——而它偏偏发生在最需要压缩的那一刻;现在超预算按「中段降级 → 丢最早 → 首尾降级」三级让步。另外摘要压缩连续失败两次即停手,不再每轮白发一次请求
  • 上下文圆环菜单标注读数来源:圆环上的占用说的是上一次请求实际发出去多大,两次发送之间它一动不动——自动压缩之后菜单里仍挂着压缩前那个越线的读数,会被读成「压缩没生效」,而下一条发出去它就自己回落;现在明确标出「上一次请求实测」
  • Claude 等 anthropic 系模型经平台登录同步后协议不再错误:同步时漏判 anthropic 系,别名不带协议覆盖,界面写着「跟随供应商 / 当前生效:OpenAI Responses」,思考档位与 prompt 缓存语义在兼容层里被悄悄丢掉,且登录全程零报错;老库已同步的别名在启动时一次性补上,用户自己选过协议的不碰
  • 新对话里第一次贴图 / 拖拽 /「添加附件」不再石沉大海:草稿铸出会话 id 的那一刻整棵组件树重挂,附件托盘连同上传承诺落在已被卸载的旧树上——表现为第一次没反应、第二次才正常;现在这批动作显式交接给重挂后的实例
  • 回合改动审查卡即时出现:「这条消息属于哪个 run」改在流式路径上记录——此前只能等重开应用(或切走会话再切回)从库里回填后卡片才出现,且全程零报错;逐轮用量、逐轮模型名同一条路
  • 输入法组词按回车不再把候选词上屏两次:组词中的回车曾被当成「发送」

测试

  • 新增启动迁移(三类旧数据源、进度与失败恢复、撤销)、退出流程状态机、SSH 代理隧道(含真实 sshd 用例抓到的主机密钥别名问题)、客户端模型协议钉定(新同步要钉、老库要补、用户选择不顶掉)、changes tab 落点、messageRuns 流式记录、草稿附件交接、输入法组词等测试;完整套件 5364 项全部通过

Don't miss a new NextCoWork release

NewReleases is sending notifications on new releases.