Skip to content

cc-connect-next v0.2.0

Choose a tag to compare

@github-actions github-actions released this 26 Aug 14:46
· 36 commits to main since this release
84bb8f1

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 项目可配置 fastquality
    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/cryptox/netslack-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_window is 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 correct timeout = 0 behavior; 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> doctor cannot start the daemon;
    Bridge readiness follows adapter connections; queued and steered messages
    refresh user activity; and doctor checks the configured data_dir.
  • Each message can select its own answer profile. Codex projects can define
    fast and quality profiles 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 a turn/steer call 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
    /new still creates an empty session, and /name remains the explicit naming
    command.
  • The same Feishu bot can back the official lark-cli. feishu setup, the
    completed migration flow, and cc-connect-next lark-cli setup can 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 /upgrade remains
    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 --switch requires 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 patched golang.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-next

Upgrade 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.