Skip to content

Releases: ijpq/codeg

codeg v0.40.0-fix3

codeg v0.40.0-fix3 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 27 Oct 06:11

发布后验收未通过:本版本已隔离为预发布。 Windows Server 在发布后隔离复验中出现 32 GiB 分配失败并退出;原因仍在诊断。草稿阶段的通过结果不代表最终交付成功。此版本不作为本次已验收交付,现有 tag 和资产保留用于诊断。
失败证据:https://github.com/ijpq/codeg/actions/runs/40449537644

v0.40.0-fix3

基于 upstream v0.40.0(95fd81df4374753c460b5cb0ed01de8f1ea24702)。

同一业务对话在 Codex、Claude Code、Pi 之间切换,保留统一 ID、历史、任务、附件、产物、
共享记忆和 Skill,每个引擎保留自己的原生 session、writer、认证、模型与参数。运行中
等轮边界交接,准备失败保留原会话,跨端 CAS、持久收据与有界增量避免串线或重复发送。
启用统一业务历史后,原生 session 自动标题不再改写业务标题;迟到的标题写入也受数据库
原子条件保护。空标题仍可由原始用户输入初始化,用户主动重命名保持有效,不改写其锁定状态。

隔离 Setup 重启验收另复现标签版本保存与后台历史写入的 SQLite WAL 锁竞争。
标签 CAS 事务先取得 writer 再读版本,首次保存及已有版本均能等待后台写入;
旧版本请求仍被拒绝,拒绝不推进版本或元数据时间,不靠重试掩盖错误。

Pi 原生 JSONL 身份与 ACP ID 分离校验,新建空会话先持久化,旧别名通过明确文件映射修复。
接通原生 steer、当前尾部 clone 和 Pi 1.4 原生 MCP,CodeG companion 提供真实子任务、
取消、结果回收与产物登记。SSE、任意旧 fork point、跨引擎无损原生上下文不支持;snapshot
fallback 明确标注。Pi 的 thinking 不等于 Plan,Pi 不广告原生 Plan/Goal。

新增以业务 conversation ID 为目标的持久外部投递接口,固定接收时 Agent/session/切换代次
与执行配置,支持约束、幂等键、附件、queue/steer、状态查询及取消。切换中明确拒绝重试,
配置变化明确失败,交付不确定窗口禁止自动重发。只新增迁移,不删除历史;没有修改或验证
2K 等外围程序。旧连接接口继续保留,拒绝过期或错配连接,调用方迁移说明见接口文档。

Pi GPT Responses 的 Fast / Speed 请求 default 或 priority,独立于推理强度、默认关闭、
按 session/模型/接口保存;运行中拒绝改档。不支持明确禁用,拒绝不悄悄降级。区分已请求、
中转返回和上游返回,缺证据保持未验证。可能增加额度/费用由当前供应商决定,不套用官方
倍率;真实中转及账号的实际档位、计费与速度未验证。

Server ZIP 和 Setup 同时携带匹配 MCP、私有 Node 24.16.0、Pi 1.4.0 与定制
pi-acp 0.0.34-codeg.2;版本来源、锁文件、逐文件 SHA256、许可证随包保留,不依赖全局旧版。
升级/回滚替换整组运行组件,保留用户历史、认证、配置、扩展和工作区。
构建时统一解析 Windows 临时目录映射后再验证 Node ZIP,保留越界与内部链接拦截。

验收使用真实 ACP/CLI 与隔离确定性模型端点,覆盖三引擎增量往返、共享内容实际收到、
初始化和恢复、故障回退、排队与并发、原生 MCP/子任务/产物、档位及外部投递。
Windows 一次性 runner 验证 Server Web、Setup WebView2、旧版安装升级、启动、资源、
依赖和迁移、整组旧包加离线快照回滚,以及重新下载的发布资产。确定性端点验证协议和传输,
不证明真实账号推理。

保留已发布的普通整轮耗时、直接执行/先规划/目标执行、总产物和虚拟列表滚动修复,
继续回归实时完成、历史、长列表和异步布局。总产物入口在右侧“会话详情 → 总产物”。
不安装、替换或重启现有用户 CodeG。

自用版普通 CI 只以 Windows 编译及共享逻辑为门禁;保留 Linux runner 上的通用前端、
浏览器和无桌面依赖的 parser/HTTP 集成测试。Codex 原生运行组件及 Plan/Goal 在 Windows
验证;Linux/macOS 客户端与 Unix 安装脚本不再阻塞本 fork。正式 Server/Setup 的构建、
实际安装、升级、回滚、页面验收和发布后重下载校验全部保留,不删除跨平台源码。

修复总产物存在而回答卡片间歇缺失的接口与关联链路:兼容嵌套字段名、保留投影前指纹、
覆盖已加载分页和冻结分支前缀,接收首轮本地身份,防止迟到响应覆盖新状态。
删除不可信时间戳归属及无标记尾部卡片;无法确定轮次的旧产物保留总列表。
显式空集合仍具权威性,不扩大自动推断范围;历史关联不代表保存旧文件内容。
真实 Pi 联测另复现登记与历史回填竞争的 SQLite 锁错误;交付集合事务先取得 writer 后再读归属。
详见产物关联诊断。

详见业务架构、外部投递接口、
Pi 运行组件与档位。

Office 自动预览改为本轮正常完成且产物结算后打开一个最终交付文件,不再由工作区改动
抢占侧栏。显式替换/撤回以最终集合为准;稳定审阅副本保证下一轮修改不暴露半成品,
同路径和新路径交付后更新到新内容。用户关闭/切换和后台对话不会被重复事件抢回。
旧轮次重复事件与新预览读取竞争时,按持久轮次顺序防止新结果被丢弃。
窄文件栏为活动标签保留最小点击区域,避免关闭按钮落到新建标签按钮下方。
失败/取消不自动打开;转换失败明确提示并保留下载。见Office 审阅说明。

fix2 已完成双包构建,但在发布前的隔离回滚验收中停止,未公开发布。原生 Goal 验证向独立
CLI 历史追加内容后,旧版当前尾页不再包含升级前的固定尾行;验收现在有界读取最多 4 页、
每页 25 轮确认旧回答仍在,并检查旧版实际当前尾部。缺失历史、游标停滞和超限仍报失败。
前端错误监听按真实页面检查范围释放并保存不可变结果,避免后续独立滚动夹具导航污染旧记录。
旧 tag 和失败证据保留,fix3 重新执行精确提交的 Windows/共享 CI 与正式双包验收。

Office 子页面的 Windows 框架初始化异常另由 CDP 核对 frame、原始脚本和 SHA256,
仅将准确命中的 Tauri 2.12.4 path 初始化脚本单独记录,保留全部原始错误。
脚本由锁定的框架模板及序列化规则独立重建,SHA256 与 Windows 实际捕获一致;
保留原始版权夹具,使用完整字节哈希核对,不根据错误文本放宽检查。
应用、转换器和无法确认来源的错误仍使验收失败;文档可见、内容及下载另行验证。
测试认证初始化只运行于应用主页面,不访问 Office 隔离页面的 localStorage。

Warning

This fork release is built without the upstream signing and notarization credentials. Desktop installers and server archives are unsigned; server archives include SHA-256 checksums. Use manual installation instead of the signed automatic updater.

codeg v0.40.0-fix1

Choose a tag to compare

@github-actions github-actions released this 25 Oct 19:55

v0.40.0-fix1

基于 upstream v0.40.0(95fd81df4374753c460b5cb0ed01de8f1ea24702)。

同一个业务对话现在可在输入区域切换 Codex / Claude Code。标题、历史、工作目录、
记忆、任务状态和产物归属保持一致;每个引擎保留独立 session、认证、writer 和模型/
推理/权限配置。切换正在执行的业务会先排队,准备成功后才交接,失败可重试。
不同业务和原有合法子任务仍可并行。
切换事务先声明 SQLite 写锁再核对收据,避免与流式历史回填竞争导致锁错误;
幂等重试不推进业务版本或时间。
前端提交前刷新一次业务 revision,避免共享任务编辑与后台轮询之间的旧版本拒绝;
保留其他客户端的新切换意图,并显示可读的结构化失败原因。

共享上下文采用显式、有界的增量桥及近期边界摘录,分别验证前台历史与实际模型请求。
共享记忆只保存用户确认的内容,区分 global/project/task,按预算加载并标出遗漏。
项目 Skill 主体复用 .agents/skills,显式调用时才把正文传给目标引擎。
原生上下文、压缩、私有记忆、工具句柄和认证不跨引擎复制。

数据库迁移只增加映射、业务历史、收据和共享记忆。未切换的旧对话保持原路径。
回滚恢复初始原生映射并保留新增历史归档。跨引擎业务分支使用明确标注的有界快照,
显示历史继续分页继承原冻结边界。崩溃造成发送确认不确定时保留草稿并停止自动重发,
不宣称任意 ACP 与 SQLite 之间具有跨进程原子提交。

保留普通任务“工作了 …”的原生整轮计时、独立于 usage 的有界耗时补齐、总产物列表、
真实 Plan/持久 Goal 控制和虚拟列表滚动修复。切离有活动 Goal 的主 Agent 前确认暂停,
回切不自动恢复 Goal;准备失败后已暂停的 Goal 也保持暂停。
原生 Goal 不接收普通消息块;切换后须先通过普通消息交付最新业务上下文,才允许
启动/继续 Goal。有界交接不要求把预算外的旧历史全部上传。

仅发布 Windows x64 Server ZIP、x64 Setup 及其 SHA256。Server 携带同版本 MCP/CLI、
前端资源、运行依赖与迁移清单。发布流程对下载资产验哈希,隔离试装/启动/升级 Setup,
并在两端实际页面复核耗时、产物、原生 Plan/Goal、长列表滚动和双引擎交接。

双引擎协议测试使用真实 ACP/原生运行时连接本地确定性模型端点,用于证明上下文和
协议行为。当前工作环境 Codex 未登录,不能将这些测试称为真实账号推理验证。
Office、桌面和宿主专属工具依赖目标环境的实际安装与权限。

详细映射、幂等策略、迁移和能力边界见
单业务对话、多 Agent 架构。

Warning

This fork release is built without the upstream signing and notarization credentials. Desktop installers and server archives are unsigned; server archives include SHA-256 checksums. Use manual installation instead of the signed automatic updater.

codeg v0.39.0-fix1

Choose a tag to compare

@github-actions github-actions released this 22 Oct 16:41

CodeG v0.39.0-fix1

The conversation-wide deliverables list is available again in Right sidebar →
Session Details → All deliverables
(简体中文:右侧栏 → 会话详情 → 全部产物).
The sidebar migration previously hid the transcript entry without providing a
replacement. Existing deliverable records remain the source of the restored list.

Expand the entry to browse persisted outputs across the conversation, with file
filters, versions, 25-item history pages and existing individual/batch actions.
The list fits narrow panes, retains keyboard focus and clears file selections
when switching conversations. Hidden or collapsed panes do not load history.
Per-reply outputs remain available.

Based on upstream v0.39.0 (bed8931485d2de6ab65c83e182fbd4a79c72e12b).
Retains the prior ordinary task duration correction, native Direct / Plan / Goal
controls and virtualized scrolling behavior. No new timing panel or model-output
changes are introduced by this fix.

The two independent same-day historical migrations are registered in name order
for upstream schema-version checks. All released migration names and SQL files
are preserved, so already applied migrations retain their identities.

The release workflow runs lint, unit tests, static export, Rust tests and Clippy
before tagging. Both Windows packages then undergo resource/dependency/migration
checks; isolated Windows runners install, start and upgrade Setup with retained
data, and exercise actual Setup WebView2 and Server Web pages including this list.
Draft assets are verified before publication and downloaded again afterwards.

Assets: Windows x64 Setup and Windows x64 Server ZIP, each with SHA256. Server
includes the matching codeg-mcp, CLI companion and pinned native Codex runtime.

Warning

This fork release is built without the upstream signing and notarization credentials. Desktop installers and server archives are unsigned; server archives include SHA-256 checksums. Use manual installation instead of the signed automatic updater.

codeg v0.38.0-fix1

Choose a tag to compare

@github-actions github-actions released this 20 Oct 13:57

CodeG v0.38.0-fix1

Ordinary completed conversation rounds now show their execution duration
consistently after live completion, conversation switching and history reload.
Codex's native task IDs and whole-task milliseconds are retained through parsing,
metadata reconciliation and the existing completion header. Usage arriving first
no longer stops timing backfill. Late requests cannot patch a newer batch or
another identified task; all retries and history reads remain bounded.

Native timing wins over inferred clocks. Only matching trustworthy execution
boundaries permit fallback subtraction. Tool calls, model-request fragments and
branch-return notices are not whole-task timers. Truly untimed older records
keep their unknown-time completion label.

The previous release's To-dos timing additions and extra Goal elapsed display
were based on a misunderstanding and are selectively removed. The valid focus
fix, native Direct / Plan / Goal execution controls and scroll feedback-loop
fixes are preserved. Leaving an active Goal still waits for a confirmed pause;
selecting Goal never resumes it implicitly.

The fork is rebased onto upstream v0.38.0 while preserving its recovery, bounded
history, native branching and deliverable functionality. Both Windows packages
include the matching CLI companion; Server also requires matching codeg-mcp and
the pinned Codex recovery runtime and helpers.

Validation gates include frontend lint/type checking/tests/static export, Rust
tests and clippy, native task identity/timing regressions, actual Server Web and
installed Setup WebView2 completion labels, native Plan/Goal controls, 2,000-row
scroll/late-image/iframe/composer regressions, complete frontend resource hashes,
embedded migrations applied to SQLite, PE dependency resolution and isolated
Setup installation/startup/upgrade from v0.36.0-fix1 with existing fixture data
retained. Both assets are downloaded and checked before publication and again
after publication. Final CI results and independently calculated asset hashes
are reported with the delivered release.

Only Windows x64 Setup, Windows x64 Server ZIP and their SHA256 files are
published. Installation and startup verification uses disposable CI directories,
without replacing, restarting or connecting to a user's running CodeG.

Warning

This fork release is built without the upstream signing and notarization credentials. Desktop installers and server archives are unsigned; server archives include SHA-256 checksums. Use manual installation instead of the signed automatic updater.

codeg v0.36.0-fix1

Choose a tag to compare

@github-actions github-actions released this 17 Oct 10:20

CodeG 0.36.0-fix1

Based on the published upstream v0.36.0, commit
c8f921378461df0c244d9c3452b7caa26e3a5b86, with the fork's previous fixes preserved.

The Codex composer now offers 直接执行 / 先规划 / 目标执行
(Direct / Plan first / Execute goal). Plan selects the native
collaboration_mode=plan. Goal uses the published ACP AIR _session/goal
capability and Codex's actual thread/goal/* mechanism, with an objective,
authoritative status, token usage, pause, resume and end controls.

Completed tasks show their most recent execution duration on board cards,
list rows and the detail sheet. The duration comes from persisted execution
start and review timestamps; later acceptance/merge waiting is excluded.
Retries and follow-ups have separate runs. Missing or invalid timestamps are
left unavailable. Native Goal controls and collapsed historical Goal cards
show the runtime's own cumulative elapsed time in hours, minutes and seconds;
completed/paused values do not tick locally or grow merely because the page
is reopened. The installed Setup and Server Web checks exercise persisted
task timing across reload and upgrade and native tool-driven Goal completion.

Switching from an active Goal to Direct or Plan waits for a successful native
pause, then cancels its in-flight continuation before changing collaboration
mode. A rejected pause keeps Goal selected and reports the error. The goal is
retained in paused state for review; selecting Goal again does not resume it.
Resume requires the explicit button. End clears the native goal, and a paused
goal's removal does not cancel an unrelated user turn. Unsupported adapters do
not offer simulated Goal execution. Workspace and canvas share these controls.
If status reads fail, the last observed Goal remains visible and switching is
disabled until authoritative state is available again.
Starting a Goal in an empty composer first creates and binds a durable
conversation to the native session. Its output is visible immediately and
remains available after reload. Read-only child transcripts cannot inherit
their parent's Goal controls.
Restored and shared conversation clients keep the same native execution
controls as Send and Stop; their non-owning connection flag only prevents
them from terminating another client's process during teardown.
Native Goal continuations arrive outside ACP session/prompt. Visible Goal
sessions coalesce their persisted output through the existing bounded history
reader, preserving loaded history pages. Quiet sessions perform no transcript
reads once transitions settle. Reads wait for ongoing history/foreground work,
back off on errors, and stop on hidden/inactive surfaces; pause/end also drain
trailing records. Other out-of-turn activity keeps its existing manual reload.
Native pause/completion snapshots appended after an answer leave that answer
visible outside the settled process card, including after history reload.

Protocol behavior was checked against published ACP 2.2.2 and both the pinned
Codex CLI 0.162.1 and CLI 0.163.0 in separate synthetic homes with a loopback model.
The regression sends native RPCs and asserts no session/prompt simulation.
An isolated CodeG HTTP integration exposed ACP 2.2.2's missing initial Goal
snapshot. An exact-version, anchor-checked derived adapter reads the native
thread/goal/get after creation and publishes it before acknowledging the
action. It leaves the installed ACP/CLI unchanged. Unverified adapters retain
stop controls but cannot start/resume invisible work.
The official Codex app-server documentation
describes native collaboration presets and thread goal APIs.

Scroll diagnosis recorded conflicting writes from the old exact-bottom guard,
use-stick-to-bottom's rounded target, and virtua's measured offsets. Following
could escape with the viewport already at its physical end; delayed content then
left more than 1,000px below the fold. A pending target could exceed the newly
measured end and be misclassified by the library's delayed direction check.
The old guard also rescheduled itself indefinitely for an unreachable sentinel.

The guard now uses the library's scroll controller and target, observes replaced
last rows correctly, ignores subpixel margin churn and stops scheduling without
real geometry changes. Geometry corrections within the existing bottom lock no
longer masquerade as reader intent. Explicit upward wheel, touch, keyboard and
scrollbar input still releases the lock immediately. Browser anchoring remains
disabled for the virtualized transcript; normal following and virtualization
remain enabled.
Ctrl/Cmd+Home also releases the lock outside editable fields. The added browser
case reproduced an immediate pull back to the bottom with the old modifier
filter; the fix retains editor navigation and the programmatic-scroll shield.
Turn-end composer autofocus also preserves focus within the reading viewport,
so native Goal continuations cannot take its Home/PageUp keyboard navigation.

Validation is recorded by the release workflow:

  • Frontend lint, unit tests and static export; Rust tests/clippy in desktop and
    server modes; native pinned CLI/ACP Plan and Goal protocol regression.
  • Production transcript components with 2,000 virtual rows, streaming completion,
    delayed image/iframe content, composer growth/shrink, smooth scrolling, multiple
    text scales and trusted upward scrolling. Position, final-line visibility,
    animation-frame convergence and mounted row counts are asserted.
  • Windows Server startup and real packaged frontend; Setup installation,
    desktop launch and real frontend through isolated WebView2, followed by an
    upgrade from v0.35.1-fix2 that preserves a seeded conversation and data markers.
  • Complete frontend SHA256 inventory and every source migration checked against
    SQLite's applied migration table and integrity check. Migrations are embedded
    in the executable, rather than separate SQL installation files.
  • Downloaded Setup and Server ZIP checksums before publication, then fresh
    independent downloads and the same verification after publication. The Server
    package requires matching codeg-mcp and verifies its private runtime/helpers.
  • Windows application binaries link the C runtime statically. Ordinary and
    delay-loaded PE imports are checked for every installed/packaged executable
    and DLL; external redistributables cannot pass by merely existing on the runner.

Only Windows x64 Setup, Windows x64 Server ZIP and their SHA256 files are released.
All application startup/installation tests use disposable CI directories and
profiles. They do not install, replace, restart or connect to a user's running
CodeG. Final workflow results, exact release commit and hashes are reported with
the delivered release, rather than inferred from the presence of a tag.

Warning

This fork release is built without the upstream signing and notarization credentials. Desktop installers and server archives are unsigned; server archives include SHA-256 checksums. Use manual installation instead of the signed automatic updater.

codeg v0.35.1-fix2

Choose a tag to compare

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

CodeG v0.35.1-fix2

升级到 2026-10-11 发布的 upstream v0.35.1
(e21eb6b38eea9405cdfa3b2d99df216d101d1344),保留定制分支的有界近期历史、
跨客户端消息补偿、任务生命周期、非阻塞 AIR、native fork、MCP 和引用桥接修复。
本次重点解决超长 Codex 会话反复冷恢复及 CLI 同一次恢复中的重复完整读取。

修复

  • 侧栏替换预览只释放前端 surface,保留就绪后端连接。继续使用服务端 single-flight、
    会话身份校验和既有 180 秒 idle GC;显式断开/取消/重配配置保持原语义。
  • Windows Server ZIP 内置基于官方 Codex 0.162.1 的私有 0.162.1-codeg.1。
    为 ACP 的 excludeTurns 恢复读取经过校验的最新原生 compaction 和后续增量,上限
    64 MiB。保留原 session ID、原 rollout、完整历史及原生 writer 锁;不创建影子会话。
  • 校验 replacement history、配置、runtime、轮次结束、world state、工具状态及文件
    identity/revision。不完整、损坏、回退、超大尾记录、追加、替换或标识不可用时,
    安全回退原生完整恢复。异步配置加载后重查元数据与配置,仅在同一 resume 请求且
    revision 未变时复用首次历史,避免配置阶段和 writer 阶段的重复完整读取。
  • 包含匹配版本的 Server/MCP、Web 静态资源、计算机助手及完整私有 Codex Windows
    helper(含 sandbox service)/ripgrep 布局、内部校验和、源版本/补丁 pin 与许可证。
    code-mode host 使用上游源码 pin 的 Codex 自建 V8,保留 sandbox 特性及原依赖版本。
    数据库迁移编译进 Server,
    干净隔离数据目录的启动验证会实际执行迁移。

验证与性能

  • 本地前端 9100 项、CodeG Rust 5108 项测试通过;CLI store 278 项、core 专项 2 项、
    原生 app-server thread_resume 集成 69 项通过。类型、lint、生产静态导出、cargo
    check 与 CodeG/变更 CLI 模块的严格 clippy 通过。保留既有 ignored 和失败诊断日志。
  • 模型上下文对照在 JSON 编码前归一化隔离目录,修复 Windows 反斜杠转义引起的假差异;
    4 项专项测试通过,覆盖正斜杠技能路径,原有 6 份实际输入对照结果不变,未弱化上下文、工具或图片断言。
  • 真实 ACP 2.1.1、2.2.2 与隔离 CodeG Server 验证冷/复用/并发打开、恢复后提问、
    原 session、工具配对及真实图片。冷/复用/并发打开只有一次 CLI resume;恢复阶段
    没有模型请求,提问只有一次模型请求并收到 end_turn。
  • 4.44 GiB 合成样本、已建立元数据、新进程冷恢复:有效检查点 62.531 s→0.248 s,
    resume 实际读取 9,539,540,417→229,377 字节;重启 58.722 s→0.381 s。
    进程树峰值 RSS 479,180→444,252 KiB。旧检查点安全完整回退 64.283 s→38.389 s,
    读取 9,539,540,091→4,769,909,310 字节;必要的一次完整恢复仍有成本。
  • 校验原文件前缀、实际模型输入、坏尾、缺失/旧/无效检查点、缺少 runtime/settings、
    未结束轮次、超预算单条记录、追加与同名替换。文件完整保留,无 external_id 更换。
  • 正式发布前要求精确 release SHA 的普通 CI 全部通过;Windows 构建和 Release
    校验会实际运行程序。发布后独立下载 Setup/Server 及 SHA256,检查版本、布局、
    checksum、解压、安装和隔离启动。

部署范围及已知限制

必须部署完整 Server ZIP,保留 runtime/;只有与编译 manifest 匹配时才自动选用。
CODEX_PATH 显式覆盖优先,CODEG_USE_BUNDLED_CODEX=0 禁用私有运行时选择,
CODEG_LEGACY_CHECKPOINT_RESUME=0 保留官方恢复路径。不会修改全局 CLI 或用户配置。
锁定适配器保持 2.1.1,最新 2.2.2 已作为兼容回归通过,不强行改变适配器版本组合。

Setup 使用现有上游 CLI 分发方式,不携带私有恢复 CLI;前端连接保留适用于两种模式。
本次性能优化面向 Server ZIP。仅有旧摘要的 session、首次元数据回填、失效检查点以及
超过 idle GC 的冷恢复仍可能慢;检查点恢复不会丢弃原历史或将前端分页冒充 Agent 恢复。

Linux 环境无法访问生产“2k自动化”原 rollout。以上性能是同一私有诊断二进制的
关闭/开启优化对照,CLI entrypoint opt-level=0、依赖 release;Windows 正式包使用
正常 release/thin LTO。合成文件使用密集可忽略 JSON 字段,元数据预先建立;
这些数字不等于生产 273 秒恢复的现场优化结果。未停止、替换或重启生产 CodeG。

完整责任边界、复现方法和测试条件见
超长会话恢复诊断。

Windows 私有运行时的独立构建还保留官方 CRLF SQL 迁移字节,避免已有 SQLite 迁移
校验失败。内嵌权限模板等未修改资源使用 Git 官方 Windows checkout 字节格式,
私有补丁、二进制及强制 LF 资源保持原样。只处理独立编译源;数据库和校验记录
保持原样,迁移校验继续启用。新增八项跨平台构建回归,全部 67 条官方 Windows
合成数据库迁移记录逐一匹配。

Windows Release CI 曾复用 V8 的构建脚本缓存,却未包含 release/gn_out/obj/rusty_v8.lib,
导致链接失败。构建入口现在检查该外部库,缺失或空文件时仅失效 V8 包缓存,由原始构建
脚本重新生成校验过的库。4 项回归包含真实 Cargo 冷构建、丢失库后的缓存命中、修复及
再次复用;失败继续阻断构建,不跳过检查。运行时恢复补丁和官方依赖版本均未改变。

Warning

This fork release is built without the upstream signing and notarization credentials. Desktop installers and server archives are unsigned; server archives include SHA-256 checksums. Use manual installation instead of the signed automatic updater.

codeg v0.34.0-fix2

Choose a tag to compare

@github-actions github-actions released this 10 Oct 10:57

CodeG v0.34.0-fix2

修复进入、刷新或重新连接会话时缺少近期消息的问题,同时保留大会话快速分页。
本版本基于上游正式 v0.34.0(592131c72e2a05478e7f8398a91cb653c8e3996f),
将原 v0.30.7-fix1 及补发 Setup 的定制提交逐项迁移到该基线。

fix1 的应用构建和首次 Windows 安装/启动验证通过,但发布前的草稿回下载检查被
GitHub Release API 的草稿查询与权限规则阻止,因此没有正式发布。fix2 使用
gh release view 查询草稿或正式版,并为草稿验证 job 提供 push 所需的 contents 权限;
已有草稿通过分页列表正确复用。保留 fix1 标签,不移动或复用失败标签,也不跳过
发布前的下载、安装和启动验证。应用功能代码与性能读取路径没有因此改变。

近期消息与跨端恢复

  • 完成通知后的刷新不再复用旧代次的在途详情请求。相同代次仍合并请求;缓存失效后,
    旧请求可以完成自己的消费者,但不能服务新刷新或重新填回过期的 30 秒缓存。
  • 曾发送过消息的客户端在空闲后也能补偿读取其他客户端产生的内容。未落盘的本地回复
    继续保留;只有匹配持久化轮次身份并覆盖已显示内容后,才能收敛到服务端历史。
  • 旧的完整尾页和有界读取的不完整页不能被当作最新内容立即收敛。恢复继续使用代次、
    single-flight 和有限退避,活动任务、取消及断线保护保持有效。
  • Codex 尾部扫描上限落在巨型 JSONL 记录中间时,保留已经找到的后续完整消息,
    不再错误返回空最新页;前端明确显示历史页不完整。
  • 常规最新页仍读取最近约 25 轮。按 1 MiB 分片从尾部扫描,找到轮次立即停止,
    扫描硬上限 64 MiB;选中的页面另读一次,解析量同样受限。没有数 GB 首次全量解析。
  • 索引升级为 v3,不完整边界不缓存或持久化;旧 v2 索引按需重建。追加、替换、缺失、
    损坏与落后水位的补偿机制保留;不会修改原 rollout 或删除数据库、用户会话。

上游与定制能力

  • 继承 v0.30.7 至 v0.34.0 的正式改动,包括会话画布、原生 Codex 分支、后台终端、
    引导、消息队列、标签、目标、浏览器和 computer-use 的相关协议与界面能力。
  • 保留原会话保护、native fork 与分支合并/回退、慢分支持久化任务和幂等键、
    产物登记与按需历史加载、Web citation 桥接、扁平工作区、Full Access 权限映射、
    MCP deliverables/feedback/ask/sessions 与按模型参数隔离。
  • 按正式基线使用 codex-acp 2.1.1,不为追逐当前 2.2.2 而强制升级适配器。
    新版 AIR 使用原生本轮 diff;其辅助报告解析和通知在 prompt 清理后异步进行,
    捕获原 turn/request/workspace,保留合理降级,不能影响下一轮状态。
  • 官方模型目录和运行时有效上下文机制继承上游;现有用户模型、认证和启动链配置
    不由发布包覆盖。没有在本任务中改动用户的 Windows 管理脚本或生产服务。

验证与性能

验证包括近期消息竞态、跨端补偿、本地 final 保护、partial 页、取消、断线与代次隔离;
正式 npm 包提取方法的 AIR 协议测试;2 GB、3.5 GB 稀疏会话和巨型记录的精确尾部顺序、
扫描量、缓存/索引重开、损坏恢复及读取耗时。

本次功能代码的本地完整回归(fix1 构建候选,fix2 仅改版本和发布验证流程):584 个文件、8,609 项测试通过,没有未处理异常;TypeScript、ESLint、
生产静态导出和 browser-agent source/type 检查通过。AIR 协议回归 31 项、NSIS payload
回归 6 项通过。Rust 的 all-targets/test-utils 与 Server/MCP 生产模式 cargo check、
cargo clippy(-D warnings)通过。Rust 完整单元与集成回归 26 个套件、5,042 项通过、
0 失败;2 项原有手动测试需要作者的本地真实会话语料,保持 ignored,没有新增跳过。
匹配版本的 debug Server/MCP 与静态页面在独立数据目录、随机 loopback 端口启动成功,
健康检查、版本和页面验证均通过,实测启动约 791 ms。Windows 正式发布包另由 Release CI
按相同隔离原则实际执行核验。

隔离 Ubuntu aarch64、debug 构建实测(同时存在其他编译负载;合成稀疏文件,35 轮
真实 JSONL,严格核对最新 25 轮的顺序):

文件大小 首次页 实际读取 其中边界扫描 缓存重开 索引重开 峰值 RSS
2,017,935,755 B 3,474 ms 26,442,763 B 13,631,488 B 5 ms 1,052 ms 108,880 KiB
3,517,935,755 B 3,162 ms 26,442,763 B 13,631,488 B 5 ms 672 ms 109,488 KiB

索引重开扫描量为 0,读取页面 12,811,275 B;响应 JSON 约 12.8 MB,gzip 约 17.7 KB。
20 MiB 巨型记录样本首次页 904 ms、扫描 20,977,304 B、峰值 99,992 KiB。
65 MiB 巨型记录样本连续两次返回 partial,分别为 1,840/2,044 ms,每次边界扫描
67,108,864 B、总读取 67,108,996 B、峰值 101,668 KiB,均保留其后的完整消息,
没有缓存或持久化不完整边界。追加/重启及损坏索引恢复独立回归分别耗时约 0.02/0.07 s。
这些数值不是 Windows 生产会话的性能承诺,也不能把扫描上限当作所有 I/O 的总上限。

普通 CI 必须针对同一发布 commit 全部成功,再创建版本 tag。Windows 构建会验证
Server/MCP 版本、独立数据目录与随机端口启动、前端资源及 Setup 的安装后完整 payload;
四项资产在正式发布前和发布后各重新下载、校验、解压/安装及启动验证。

发布资产与限制

  • Windows x64 Setup 与独立 SHA256;Windows x64 Server ZIP 与独立 SHA256。
  • ZIP 包含匹配版本的 codeg-server、codeg-mcp、computer helper 和前端静态资源。
    SeaORM 迁移已编译在 Server 中,无需额外迁移命令或私有配置。
  • Fork 的安装包未签名,使用手动安装;不发布 Linux、macOS、arm64 或 Docker 资产。
  • 性能测试为隔离合成数据,不是生产会话 85/104 的重放;Windows 生产数据未被访问。
  • 超过有界预算且未完成索引的记录仍可使历史页 partial;不会把它标成完整。
    后台增量索引及按需加载继续补偿,无法承诺一次读取任意大小的单条记录。
  • 未经验证的适配器版本不套用兼容补丁;进程退出前尚未送达的 AIR 仍依赖既有
    watcher/声明产物降级,不会自动重做模型审计。

Warning

This fork release is built without the upstream signing and notarization credentials. Desktop installers and server archives are unsigned; server archives include SHA-256 checksums. Use manual installation instead of the signed automatic updater.

codeg v0.30.7-fix1

Choose a tag to compare

@github-actions github-actions released this 13 Sep 10:14

CodeG v0.30.7-fix1

Codex 完成后,辅助 AIR 产物报告不再阻塞 ACP prompt 响应和任务完成状态。
升级基线为上游 v0.30.7,保留定制分支、产物、引用、模型隔离和大历史分页能力。

根因与修复

  • npm 发布的 codex-acp 1.10.0 和 1.11.0 在 prompt() 的 finally 中等待
    publishAgentFileChangeReport。AIR 使用独立只读 fork 和模型审计,属于辅助操作;
    等待它会推迟 stopReason、active prompt 清理和 CodeG 的完成落库。
  • 旧 CodeG 的异步 AIR 兼容补丁仅覆盖 1.6.2,当前固定的 1.10.0 不会应用该补丁。
  • 新补丁单独覆盖已验证的 1.10.0/1.11.0 正式包,精确匹配锚点后从缓存启动派生副本。
    不修改安装的 npm 包、配置或用户会话。仍使用上游固定的 1.10.0,不强制升级 CLI。
  • AIR 在 prompt 清理完成后的下一事件循环启动,捕获原 session、turn、request ID
    和工作目录。迟到结果按原 turn-run ID 入库,不能切换下一轮状态。
  • AIR 文件验证通过独立、有界 worker 和 blocking 线程池处理,不再占用任务生命周期
    worker。过载继续保留 watcher 证据并记录降级日志;不关闭产物功能。
  • 保留真实工具、原生子任务、通知队列、引导、消息排队、取消和恢复的协议等待。
    不依赖最终回答文本、前端隐藏状态或 rollout 轮询判断完成。
  • 新日志区分主 turn 结束、ACP 结束就绪、AIR 开始/结束和原有完成持久化阶段。
    适配器诊断点依赖现有 APP_SERVER_LOGS / CODEG_ACP_DEBUG 日志开关,默认不启用全量协议日志。

回归验证

  • 执行正式 npm 包中提取的完整 prompt/report 方法,复现旧版 AIR 阻塞,再验证修复。
    覆盖立即/延迟报告、缺失、超时、失败、取消、下一轮立即开始、重复结束及真实子任务。
  • Rust 测试刻意阻塞 AIR 写入,验证重复完成事件仍能先完成落库;释放锁后报告继续补齐。
  • 同一连接上一轮报告迟到和重复到达时,原轮保持 Completed,下一轮保持 Running,
    产物历史仍属于原 turn。快照测试验证报告不会改变重连/刷新得到的任务状态。
  • 本地前端 459 个文件、6,538 项测试通过,正式适配器专项 24 项通过;
    lint、TypeScript 与静态导出通过。Rust 全量 3,856 项通过;保留上游原有
    1 项依赖开发者本地私有 rollout 的 ignored 手动测试,未增加跳过项。
    执行最终源码 Rust 复验、check 和 clippy。
    普通 CI 必须通过后才触发 Windows 发布构建;发布后重新下载并执行程序版本检查。

分阶段时间线

验证来源 修复前 修复后
正式 npm prompt 方法、受控协议 peer root/子任务完成 → AIR pending(active prompt 仍在)→ AIR 返回 → ACP end_turn root/子任务完成 → cleanup/ACP end_turn → 下一轮可接收 → 原轮 AIR 补齐
Rust 生命周期测试 AIR 与终态共用串行 worker 刻意锁住 AIR 写入时终态仍落库;解锁后原轮产物补齐

本地受控方法测试中,root 完成至 ACP end_turn 为毫秒级,AIR promise 未返回时
终态已可读取;这是隔离测试结果,不是现场 2k 会话的生产时延承诺。现场原记录
从 task_complete 至持久化 Completed 约 219.222 秒,其中产物处理约 0.497 秒。

发布资产与限制

  • Windows x64 Setup 与独立 SHA256(2026-09-14 补发),以及原有 Server ZIP 与独立 SHA256;Server ZIP 包含匹配版本的 Server、codeg-mcp、Web
    静态资源,SeaORM 迁移编译在 Server 内。不包含用户认证、数据或私有配置。
  • 本次不部署或重启生产 CodeG。发布包使用 fork 的未签名服务器分发方式。
  • 现场记录的 219 秒间隔不能全部归因于 AIR:正式包 AIR 预算为 30 秒,之前还存在
    通知队列和真实子任务等待。缺少生产适配器分阶段日志时,无法还原这些阶段的准确占比。
    本修复证实并移除了 AIR 对完成路径的串行依赖,没有声称已在生产样本上重放验证。
  • 未验证的未来适配器版本会拒绝套用补丁并输出日志;需要重新验证兼容锚点。
  • 进程退出后尚未送达的 AIR 报告不会自动重做模型审计,已持久化的 watcher 和声明产物
    仍可恢复。辅助队列超过 64 份报告时会明确记录 watcher 降级。

Warning

This fork release is built without the upstream signing and notarization credentials. Desktop installers and server archives are unsigned; server archives include SHA-256 checksums. Use manual installation instead of the signed automatic updater.

Windows Setup 补发验证(2026-09-14)

  • 新增 codeg_0.30.7-fix1_x64-setup.exe(63,679,765 bytes)及独立 SHA256。
  • 安装包源码仍为 683fedde78288cd75a640512ecb651c82aa38fd7,tag 未移动,原 Server ZIP 和校验资产的 ID、大小及摘要未变。
  • 补发验证 workflow 全部通过:全新 Windows runner 静默安装、1001 个安装文件、主程序版本 0.30.7-fix1、完整二进制哈希及 MCP 执行验证;上传后回下载校验通过。本机独立回下载与 GitHub API 摘要、大小也一致。
  • 安装包未签名。校验按 Tauri 官方 NSIS UNK → NSS 包类型标记转换生成预期主程序,其他字节差异均拒绝;6 项针对性测试通过。
  • 工作流维护提交 cecea8f790da245fb681319123b0e7b7cd57bfef 与应用源码提交分开记录,未修改已发布应用源码。

Setup SHA256:

dcb3e7a061879b193a6d1362537a4cd33349170651036c2277429b5eecb9da4c

codeg v0.30.5-fix3

Choose a tag to compare

@github-actions github-actions released this 08 Sep 08:05

Codeg v0.30.5-fix3

本版本将定制分支从 v0.29.0-fix1 升级到上游稳定版 v0.30.5,并保留会话分支、
Codeg MCP、产物追踪、Web 引用、模型隔离和大历史分页等定制能力。

上游同步与 Codex

  • 合并上游 v0.30.0 至 v0.30.5,包括会话画布、多智能体、Codex 原生分支、后台终端、
    运行中消息投递、附件恢复、分支状态恢复、Astra 支持以及上下文压缩状态显示。
  • Codex ACP 锁定为上游验证的 1.10.0;兼容当前稳定 Codex CLI 0.153.4。
  • 保留 gpt-6-astra、gpt-5.6-sol、gpt-5.6-luna 目录能力,并按当前会话实际暴露的
    MCP 工具动态启用异步提问等能力。
  • 上下文界面优先显示运行时返回的有效窗口、压缩阈值和使用比例,并标明运行时来源;
    切换模型后重新解析有效参数。

超大历史与恢复

  • Codex rollout 首屏继续使用有界游标、持久化增量字节索引和后台续建,不完整状态明确
    标为 missing、building、limited、stale 或 corrupt。
  • 尾部扫描从 16 MiB 自适应增长,硬上限为 64 MiB;跨分片巨型 JSONL 记录只拼接一次,
    避免重复复制和重复扫描。
  • 索引记录规范路径、文件标识、观测文件大小与修改时间、字节水位、条目数量和完整性;
    追加、替换、损坏和落后水位均会重新验证或续建。
  • 数据库消息与 rollout 消息按稳定时间和来源顺序合并;后台完成结果会持久化,并在重新
    打开会话后通过补偿查询恢复。
  • 3.506 GB 稀疏合成 rollout 的最新页解析为 547 ms,仅扫描 3 MiB;内存缓存重开为
    1 ms,持久化索引重开为 165 ms 且扫描 0 字节。返回 JSON 约 3.08 MB,gzip 为
    4,484 字节,峰值 RSS 约 157 MiB。
  • 20 MiB 巨型单条 JSONL 场景解析为 1.56 s,扫描 20,977,304 字节,峰值 RSS 约
    157 MiB,仍低于 64 MiB 硬上限。

页面生命周期与慢分支

  • 页面切换、路由变化和浏览器临时断线只取消前端订阅,不会自动终止服务端任务。
  • 重连恢复使用 single-flight、generation、request ID 和事件补偿,丢弃晚到的旧结果,
    防止重复 writer、重复事件流和重复提交。
  • 慢分支创建改为数据库持久化任务,提供 queued、running、succeeded、failed、
    cancelled 状态以及稳定幂等键。普通 HTTP 超时或断线后继续查询同一任务。
  • 服务进程重启后,属于旧进程且无法安全续跑的 running 任务会收敛为
    failed/interrupted,并提示先检查是否已产生分支,再用新请求 ID 重试。

保留的定制增强

  • 扁平工作区和 Full Access 权限映射。
  • Codeg MCP 的 deliverables、feedback、ask、sessions 与异步委托能力。
  • native fork、分支合并/回退、原会话保护和分支继承边界。
  • Web citation 元数据桥接、产物识别/登记、可见输出关联和历史产物按需加载。
  • 本地模型目录、按模型参数隔离、断线消息队列和后台任务恢复。

验证规模

  • 前端 Vitest:455 个文件、6,431 个测试全部通过;ESLint、TypeScript strict 检查和
    32 页 Next.js 静态导出通过。
  • Rust 桌面 feature:3,847 个测试通过;Server feature:3,753 个测试通过;vendored
    sacp-tokio:19 个测试通过。桌面、Server 和 codeg-mcp 的 check/clippy 均通过,
    clippy 对 warning 按错误处理。
  • 本机完成 Windows x64 GNU release 交叉构建并验证两个 PE32+ x86-64 二进制;正式资产
    由 Windows 2022/MSVC 重建。隔离数据目录和非生产端口启动通过,健康检查返回
    0.30.5-fix3,未授权请求返回 401。

发布资产

本次正式 Release 只包含:

  • codeg-server-windows-x64.zip
  • codeg-server-windows-x64.zip.sha256

ZIP 内包含 Windows x64 codeg-server.exe、codeg-mcp.exe 和同版本 Web 静态资源。
本次不生成或发布 Setup 安装程序。

已知限制

  • 单条 JSONL 记录超过 64 MiB 且所需轮次完全位于该记录之前时,首屏会明确显示索引受限
    或重建中,待后台索引到达后恢复;不会越过硬上限解析整份 rollout。
  • 分支任务进入不可安全中断的 ACP 原生 fork 阶段后,取消会记录为请求中并等待操作到达
    真实终态,避免留下半创建分支。
  • 本仓库构建环境无法访问生产 Windows 主机上的 LOCAL_CUSTOMIZATIONS.md、守护脚本和
    计划任务;这些机器级文件未写入发布包,也没有在本次源码发版中被修改。

Warning

This fork release is built without the upstream signing and notarization credentials. Desktop installers and server archives are unsigned; server archives include SHA-256 checksums. Use manual installation instead of the signed automatic updater.

codeg v0.30.5-fix2

Choose a tag to compare

@github-actions github-actions released this 08 Sep 07:18

Codeg v0.30.5-fix2

本版本将定制分支从 v0.29.0-fix1 升级到上游稳定版 v0.30.5,并保留会话分支、
Codeg MCP、产物追踪、Web 引用、模型隔离和大历史分页等定制能力。

上游同步与 Codex

  • 合并上游 v0.30.0 至 v0.30.5,包括会话画布、多智能体、Codex 原生分支、后台终端、
    运行中消息投递、附件恢复、分支状态恢复、Astra 支持以及上下文压缩状态显示。
  • Codex ACP 锁定为上游验证的 1.10.0;兼容当前稳定 Codex CLI 0.153.4。
  • 保留 gpt-6-astra、gpt-5.6-sol、gpt-5.6-luna 目录能力,并按当前会话实际暴露的
    MCP 工具动态启用异步提问等能力。
  • 上下文界面优先显示运行时返回的有效窗口、压缩阈值和使用比例,并标明运行时来源;
    切换模型后重新解析有效参数。

超大历史与恢复

  • Codex rollout 首屏继续使用有界游标、持久化增量字节索引和后台续建,不完整状态明确
    标为 missing、building、limited、stale 或 corrupt。
  • 尾部扫描从 16 MiB 自适应增长,硬上限为 64 MiB;跨分片巨型 JSONL 记录只拼接一次,
    避免重复复制和重复扫描。
  • 索引记录规范路径、文件标识、观测文件大小与修改时间、字节水位、条目数量和完整性;
    追加、替换、损坏和落后水位均会重新验证或续建。
  • 数据库消息与 rollout 消息按稳定时间和来源顺序合并;后台完成结果会持久化,并在重新
    打开会话后通过补偿查询恢复。
  • 3.506 GB 稀疏合成 rollout 的最新页解析为 547 ms,仅扫描 3 MiB;内存缓存重开为
    1 ms,持久化索引重开为 165 ms 且扫描 0 字节。返回 JSON 约 3.08 MB,gzip 为
    4,484 字节,峰值 RSS 约 157 MiB。
  • 20 MiB 巨型单条 JSONL 场景解析为 1.56 s,扫描 20,977,304 字节,峰值 RSS 约
    157 MiB,仍低于 64 MiB 硬上限。

页面生命周期与慢分支

  • 页面切换、路由变化和浏览器临时断线只取消前端订阅,不会自动终止服务端任务。
  • 重连恢复使用 single-flight、generation、request ID 和事件补偿,丢弃晚到的旧结果,
    防止重复 writer、重复事件流和重复提交。
  • 慢分支创建改为数据库持久化任务,提供 queued、running、succeeded、failed、
    cancelled 状态以及稳定幂等键。普通 HTTP 超时或断线后继续查询同一任务。
  • 服务进程重启后,属于旧进程且无法安全续跑的 running 任务会收敛为
    failed/interrupted,并提示先检查是否已产生分支,再用新请求 ID 重试。

保留的定制增强

  • 扁平工作区和 Full Access 权限映射。
  • Codeg MCP 的 deliverables、feedback、ask、sessions 与异步委托能力。
  • native fork、分支合并/回退、原会话保护和分支继承边界。
  • Web citation 元数据桥接、产物识别/登记、可见输出关联和历史产物按需加载。
  • 本地模型目录、按模型参数隔离、断线消息队列和后台任务恢复。

验证规模

  • 前端 Vitest:455 个文件、6,431 个测试全部通过;ESLint、TypeScript strict 检查和
    32 页 Next.js 静态导出通过。
  • Rust 桌面 feature:3,847 个测试通过;Server feature:3,753 个测试通过;vendored
    sacp-tokio:19 个测试通过。桌面、Server 和 codeg-mcp 的 check/clippy 均通过,
    clippy 对 warning 按错误处理。
  • 本机完成 Windows x64 GNU release 交叉构建并验证两个 PE32+ x86-64 二进制;正式资产
    由 Windows 2022/MSVC 重建。隔离数据目录和非生产端口启动通过,健康检查返回
    0.30.5-fix2,未授权请求返回 401。

发布资产

本次正式 Release 只包含:

  • codeg-server-windows-x64.zip
  • codeg-server-windows-x64.zip.sha256

ZIP 内包含 Windows x64 codeg-server.exe、codeg-mcp.exe 和同版本 Web 静态资源。
本次不生成或发布 Setup 安装程序。

已知限制

  • 单条 JSONL 记录超过 64 MiB 且所需轮次完全位于该记录之前时,首屏会明确显示索引受限
    或重建中,待后台索引到达后恢复;不会越过硬上限解析整份 rollout。
  • 分支任务进入不可安全中断的 ACP 原生 fork 阶段后,取消会记录为请求中并等待操作到达
    真实终态,避免留下半创建分支。
  • 本仓库构建环境无法访问生产 Windows 主机上的 LOCAL_CUSTOMIZATIONS.md、守护脚本和
    计划任务;这些机器级文件未写入发布包,也没有在本次源码发版中被修改。

Warning

This fork release is built without the upstream signing and notarization credentials. Desktop installers and server archives are unsigned; server archives include SHA-256 checksums. Use manual installation instead of the signed automatic updater.