cc-connect-next v0.2.0
cc-connect-next v0.2.0
中文
这个稳定版重点收紧 Codex app-server 的父子代理隔离,并把迁移、更新、会话
恢复和定时任务等关键路径收敛到更可靠的实现;同时加入单条消息回答档位、
/new 同条首问和官方 lark-cli companion。Go 1.25.13、Go/Web 安全依赖与
全量 lint 基线也完成升级,为后续 tag 构建建立可重复通过的发布门禁。
变化
- Codex 原生子代理不再污染父回合。 app-server 现在按归属隔离子代理的
thread、turn、item、error、token usage、审批和用户问答事件,避免子任务
输出混入父回复或提前结束父回合。来自其他回合的交互请求会在有限时间内
拒绝;若写入阻塞,连接会中止,不再卡住整个聊天读取循环。 - 可显式设置 Codex 上下文窗口。 新增一等配置项
model_context_window,exec 与 app-server 后端都会使用该值。它是可选项;
不配置时保持 Codex 自身默认行为。 - 会话恢复与公共运行时更稳。 活跃 provider 和最后用户活动时间会完整
持久化;多个 agent 共用 provider 状态和附件暂存实现;Cron 与 Timer 共用
一条 shell 执行链路,并正确支持timeout = 0;回合处理器完成拆分但保留
原有对外契约。 - 真实端到端路径完成收口。 Web 管理台默认只显示并发送到自己的 Web
会话,外部平台会话必须显式选择;--config <路径> doctor不再误启动
daemon;Bridge 的 ready 状态会跟随 adapter 连接生命周期;排队和 steer
消息会刷新最后用户活动时间;doctor 会检查配置实际使用的data_dir。 - 每条消息可以单独选择回答档位。 Codex 项目可配置
fast与quality
profile,并通过/fast <任务>、/quality <任务>或保守的中文前缀只影响
当前一条消息;下一条普通消息自动恢复项目默认。忙时 profile 消息进入独立
FIFO turn,不会错误复用无法携带档位参数的turn/steer。 - 新会话可以同条发送首问。
/new <问题>会创建全新会话并立即处理
<问题>,不再需要先/new再补发一次;无参数/new仍创建空白会话,
显式命名继续使用/name。 - 同一飞书机器人可直接用于官方 lark-cli。
feishu setup、迁移完成流程
和独立的cc-connect-next lark-cli setup可以创建或复用隔离 profile,设为
默认 profile 与默认 bot 身份,同时保留旧 profile 和用户 OAuth。App Secret
只通过 stdin 交给 lark-cli;dry-run 不写入,也不会启动第二条事件连接。 - 更新可以直接用自然语言完成。 新版本提醒在支持的平台提供【立即更新】
按钮,也可回复“更新”“升级到最新版”或update。同一条消息只保留一个
主操作,管理员与禁用命令门禁仍然生效,/upgrade继续可用。 - 不需要测试应用的一键生产迁移。 当官方 CC Connect 与 cc-connect-next
使用相同平台凭据时,启动会拒绝危险并行;migrate --switch要求外部终端
且没有已安装的 Next 服务,随后停止并禁用官方、最终同步并启动 Next。成功后
必须等本地 API 与所有配置平台真实 Ready,CLI 才私聊唯一或显式飞书/Lark
操作者;歧义和发送失败不会误发群聊或回滚迁移。激活失败时,只有 Next 已解除
注册、socket 不再应答且配置锁释放,才恢复官方服务;Windows 计划任务查询失败
也会安全拒绝。daemon status会分别显示 Service 与 Runtime/Platforms。 - 迁移、平台和上游兼容性修复。 本版补齐迁移预检与竞态保护,支持将
官方 beta.4、beta.5 和稳定版 v1.5.0 作为精确迁移来源;同时修复 Markdown
长消息切分、QQ Bot 命令按钮、Claude Code/pi/Antigravity 等 agent 行为,
并完成官方 v1.4.1 到 v1.5.0 的逐提交审计。 - 安全与质量门禁更新。 构建基线升级为 Go 1.25.13,并升级
golang.org/x/crypto、x/net、slack-go等安全相关依赖;Slack 文件事件
与上传同步适配当前 SDK。Vite、PostCSS、React Router 及传递依赖完成修补。
pnpm 的 esbuild 安装白名单改为有效 workspace 配置;生产依赖 audit 为零,
完整 audit 无 high/critical,golangci-lint 全量检查为零且没有关闭任何
linter。
升级
cc-connect-next update
# 或
npm install -g cc-connect-next升级须知:无需迁移现有配置。model_context_window 与 answer profiles 都是
可选项;官方 lark-cli companion 也只在交互确认或显式 flag 下写入,不会执行
用户 OAuth。若同一平台凭据仍被官方 CC Connect 占用,请先使用迁移切换流程
或停止其中一个 daemon。
English
This stable release tightens parent/subagent isolation in the Codex app-server
and makes migration, updates, session recovery, and scheduled work more
reliable. It also adds one-shot answer profiles, first-prompt /new, and the
official lark-cli companion. The release baseline moves to Go 1.25.13 with
upgraded Go/Web security dependencies and a clean full-lint gate.
Changes
- Native Codex subagents no longer contaminate the parent turn. The
app-server now isolates subagent thread, turn, item, error, token-usage,
approval, and user-input traffic by ownership, preventing child output from
leaking into or prematurely completing the parent reply. Interactive
requests owned by another turn are rejected within a bounded write; a
blocked write aborts the transport instead of wedging the chat read loop. - The Codex context window is configurable.
model_context_windowis a
first-class option used by both exec and app-server backends. It is optional;
omitting it preserves Codex's own default behavior. - Session recovery and shared runtime paths are safer. Active-provider and
last-user-activity state now persist completely; agents share provider-state
and attachment-staging implementations; Cron and Timer use one shell runner
with correcttimeout = 0behavior; turn processing is separated without
changing the public engine contract. - Real end-to-end paths are internally consistent. The Web dashboard now
displays and sends through its own Web session unless another session is
explicitly selected;--config <path> doctorcannot start the daemon;
Bridge readiness follows adapter connections; queued and steered messages
refresh user activity; and doctor checks the configureddata_dir. - Each message can select its own answer profile. Codex projects can define
fastandqualityprofiles and apply them with/fast <task>,
/quality <task>, or conservative Chinese prefixes. The following ordinary
message automatically restores project defaults; profiled busy messages use
their own FIFO turn instead of aturn/steercall that cannot carry profile
settings. - A new session can receive its first prompt immediately.
/new <prompt>
creates a fresh session and handles<prompt>in the same message. Plain
/newstill creates an empty session, and/nameremains the explicit naming
command. - The same Feishu bot can back the official lark-cli.
feishu setup, the
completed migration flow, andcc-connect-next lark-cli setupcan create or
reuse an isolated profile, make it the default profile and default bot
identity, and preserve old profiles plus user OAuth. The App Secret reaches
lark-cli through stdin; dry-runs do not write, and no second event connection
is started. - Updates work in natural language. Release notices offer an [Update now]
button where supported, and replies such as “update” or “upgrade to the
latest version” enter the same flow. Each message keeps one primary action,
admin and disabled-command gates still apply, and/upgraderemains
available. - One-command production migration needs no test app. Startup refuses an
unsafe overlap when official CC Connect and cc-connect-next share platform
credentials.migrate --switchrequires an external terminal and no installed
Next service, then stops/disables official, final-syncs, starts Next, and waits
for the local API plus every configured platform to report Ready. The CLI then
privately notifies one unique or explicit Feishu/Lark operator; ambiguity and
send failure never fall back to a group or roll back successful migration.
Failed activation restores official only after Next is proven unregistered and
stopped; Windows Task Scheduler query failures now fail closed.daemon status
separates Service from Runtime/Platforms. - Migration, platform, and upstream compatibility fixes. This release
strengthens migration preflight and race handling, accepts official beta.4,
beta.5, and stable v1.5.0 as exact migration provenance, and fixes Markdown
long-message splitting, QQ Bot command buttons, and Claude
Code/pi/Antigravity behavior, backed by a commit-by-commit audit from
official v1.4.1 through v1.5.0. - Updated security and quality gates. The build baseline is Go 1.25.13,
with patchedgolang.org/x/crypto,x/net,slack-go, and related modules;
Slack file events and uploads now follow the current SDK contracts. Vite,
PostCSS, React Router, and transitive packages are upgraded. pnpm's esbuild
allowlist is valid workspace YAML; the production audit is clean, the full
audit has no high or critical findings, and the complete golangci-lint run
is clean without disabling any linter.
Upgrade
cc-connect-next update
# or
npm install -g cc-connect-nextUpgrade notes: no existing configuration migration is required.
model_context_window and answer profiles are optional. The official lark-cli
companion writes only after interactive confirmation or an explicit flag and
does not perform user OAuth. If official CC Connect still owns the same platform
credentials, use the migration switch flow or stop one daemon first.