Skip to content

vm2api v1.4.023

Choose a tag to compare

@github-actions github-actions released this 28 Oct 08:01
· 79 commits to main since this release
06e5a0b
  • #791:识别官方 Claude Code 的 agent_summary 进度摘要请求(末尾完整摘要指令,含同消息 tool_result + text 与 token-budget 提醒),每次用临时出站会话和独立 seat,不进父会话串行队列、不绑定父会话 sticky / family;VM 亲和、槽位、并发与额度准入照常,容量耗尽时仍排队。普通同会话请求继续串行。此前摘要被父会话长请求挡住,观测到总 TTFT 185 秒(模型 TTFT 2.2 秒)。
  • #797:修复 zero 自定义模板重排调用方变量或插入中间 system 后产生 5m → 1h 非法顺序:仅对原本合法、被模板重排打乱的调用方策略,将过早出现的短时断点顺延到最后一个调用方 1h 断点后。保留正文布局、显式 / 隐式 TTL、标记字段与数量,断点仍覆盖原标记内容;模板断点随后按剩余预算合并。
  • #797:修复 Chat assistant 文本块转换丢失缓存标记,保留分块、显式 / 隐式 TTL 及工具调用顺序。zero 自定义模板展开调用方变量时保留原块与缓存所有权,重复引用不复制断点,完整组装后统一计算 TTL 顺序与四断点预算;插入消息的调用方 system 断点同样避开历史优化搬移。去重 token-budget 提醒时保留其缓存锚点,避免误触发默认 TTL 补点。
  • #797:修复消息内 system / developer 提升到顶层 system 时丢失缓存标记:保留前置消息的文本块、空白与显式 / 隐式 TTL,覆盖 Messages、Chat 及 Responses 转换。中间 system 必须提升时,正文仍保持 system 优先级,缓存标记通过独立文本锚点留在原历史边界,避免 5m 被移到已有 1h 前面;不覆盖原断点或打乱工具结果顺序。
  • #797:自定义提示词模板也统一合并缓存策略:缺失 TTL 按配置及前后顺序补齐,优先保留调用方断点,省略冲突或超出四断点预算的模板标记,保留模板正文;同时覆盖 CLI 与 API 路径。
  • #797:官方 / 完整官方不再因业务 system 提及 SDK、客户端名称、协议字段或使用相似章节标题而删除整段;仅清理明确的独立身份行、计费头与完整已知官方模板,保留相邻业务指令。
  • #797:历史缓存优化在模板组装前识别调用方消息 / 顶层缓存策略:此类请求只记录前缀诊断,不搬移消息断点或裁剪历史图片,保留原位置、显式 / 隐式 TTL 与同消息多标记;网关生成的消息断点继续优化,额度预估同步使用相同策略。
  • #797:官方 / 完整官方及自定义模板出站使用明确的组装状态,关闭或删除动态边界后也不再二次清理、重建 system 或覆盖调用方消息 TTL;缺少消息标记时继续按配置及剩余预算补齐。
  • #797:官方 / 完整官方与 zero 共用缓存合并约束,优先保留调用方断点;模板显式 TTL 冲突或超过四断点预算时仅省略模板标记、保留正文。CLI 在模板计算 TTL 前清理不出站的工具及顶层标记,避免已移除的工具隐式 5m 将配置的 1h 降级;API 仍按保留的工具标记约束顺序。
  • #797:zero 的顶层自动缓存转换为当前消息尾部断点,保留其显式 / 隐式 TTL,跳过 thinking,已有尾部标记不覆盖;随请求历史增长重新定位,不再因 system 已有断点而丢失消息缓存。
  • #797:已保存且仍匹配旧默认结构的官方模板自动补回 caller_system 段;编辑器与预览同步显示。用户明确关闭该段或编辑过的模板不被覆盖。
  • #797:zero 出站按当前槽位已解析的预设识别,不再依赖可关闭或编辑的 billing 文本;关闭 billing 后也保留调用方 system 与原缓存时长,缺少标记时继续按配置补消息断点。官方 / 完整官方模板补 TTL 时计入前置工具标记与顶层自动缓存;zero 自定义模板同时将顶层标记纳入四断点预算。
  • #797:修复 zero 档默认模板丢失调用方 system:保留原始文本块、顺序与缓存标记,仅替换 billing 行;已保存的仅含 billing 的模板同样生效。显式使用 {{caller_system}} 的自定义模板继续控制其位置,出站预览同步展示调用方示例。
  • #797:zero 自定义模板中已被 caller_agent / agent_official 使用的文本不再重复追加;未启用的模板位置不消耗调用方内容。调用方动态边界文本不再触发官方模板的工具缓存清理。合并缓存时优先保留调用方标记,模板缺失 TTL 按配置与前后约束补齐;冲突或超出四断点预算的模板标记被省略,文本仍保留。
  • #797:自动修复重试在当前槽位模板组装后重放修复策略,保留调用方 system、槽位覆盖与修复结果;已缓存的搜索历史修复同样生效。API 直连的日志与计费保留上游实际 5m / 1h 用量,不再按默认 TTL 重标;usage 隐藏排除调用方原有文本,包括与旧 billing 行同块的 Environment。
  • #797:官方 / 完整官方提示词已组装动态边界后,恢复对话历史的消息缓存断点:没有调用方消息断点时,按剩余四断点预算补最后及上一条 user(预算只剩一个时优先最后一条)。保留 system 文本和调用方消息断点;沿用官方档工具断点清理行为,在清理后计算消息断点预算。lean / preserveSystem / requestContext 路径不启用消息补点。
  • #797:默认缓存写入 TTL 同时用于网关生成的官方模板断点和新增消息断点。模板标记未声明 TTL 时在生成阶段补齐,使用请求覆盖及会话固定后的值;已有明确 TTL 和调用方消息标记保持不变,并约束新增 TTL 避免 5m 后出现 1h。不会仅凭调用方 system 的动态边界标记认定其为网关生成的模板。

已部署机升级:更新 Node 控制面与 web/dist 后重启;cli-node 哈希未变,不必 fetch:payload / wrap-cli/sync。不要覆盖 routing.json、vms/、data/、.env。


无后缀附件为 linux amd64;-linux-arm64 后缀为 ARM64 控制面原生 helper。槽位 kernel / CLI 只有 amd64,ARM64 主机经 QEMU 运行。
控制面镜像:ghcr.io/dofastted/vm2api:v1.4.023(多架构),v1.4.023-amd64 / v1.4.023-arm64(单架构)。一键脚本按宿主架构自动选择。

升级见 CHANGELOG.md、docs/DEPLOY.md 与 docs/ARM64.md。