v0.1.16 已发布 现在支持从 CLI、飞书管理员命令和 MCP 直接创建项目,并修复了带空格的自然语言切项目解析 查看 Release →
Feishu × Codex CLI Project-aware control plane

把飞书 接到 Codex 的控制面。

Codex Feishu 让飞书消息直接进入可续接的 Codex CLI 会话。项目绑定按 chat_id 持久化,本地会话可接管,同仓库自动串行,排队和运行态在飞书里直接可见;最终回复支持富文本和卡片,并默认收口成更干净的单条结果消息,再配合自然语言命令和 MCP 接口完成真实协作。

chat_id 项目绑定 /session adopt project.root 锁 queued 可见状态 HTTP/SSE MCP 单条最终结果卡片 能力级权限
Install / First Run latest on npm
$ npm install -g codex-feishu
$ codex-feishu init --mode global
$ export FEISHU_APP_ID=cli_xxx
$ export FEISHU_APP_SECRET=***
$ codex-feishu doctor --remote
 codex-feishu start
 codex-feishu status
Run State Preview same repo, no collisions
处理状态: queued
项目:    repo-a

当前仓库正在被其他会话操作,
已进入排队。前方还有 1 个任务。
阻塞状态: running
Sticky Routing 群里切一次项目,整群后续会继承。
Session Adoption 直接接管 ~/.codex/sessions 里的本地会话。
MCP Surface 通过 MCP 接给 OpenClaw 等外部工具。
Binding 项目选择按 chat 记住

不是按人各记各的,而是按私聊窗口或群聊上下文持续生效。

Resume 既能 resume,也能 adopt

桥接器自己的 session 与本机 Codex 原生 session 能接到同一条链路里。

Queue 项目队列 + 仓库根锁

同 chat 内同项目串行,不同 chat 命中同一 project.root 也会自动排队。

Surface Wiki / Docs / Base / Tasks

知识库、飞书文档、多维表格、任务和运行态回复都走同一条控制链,不再靠贴链接人工搬运。

Access viewer / operator / admin

项目可见性、会话控制和服务级变更按最小权限分层,而不是所有 chat 一把钥匙。

飞书消息进入 Codex 之前,会先经过项目、会话和运行控制。

01

消息先进入项目绑定层

先取当前 chat 绑定的项目;没绑定就回退默认项目,而不是让每条消息都重新猜仓库。

Project Routing
02

会话优先续当前上下文

已有 active session 就直接续;没有的话,可通过 /session adopt latest 接上本机最近会话。

Session Control
03

仓库并发在执行前收口

同一仓库根目录命中全局串行锁时,会先给出 queued 状态和占用原因,而不是静默等待。

Runtime Guard
04

Codex 在明确边界内运行

项目根目录、sandbox、shell、pre-exec 和超时策略都在桥接层内显式管理。

Codex Runner
05

回复后仍保留控制面

audit、metrics、run state、session history 和卡片操作都会保留下来,并支持归档清理、项目级隔离和持续排障。

Observability

两种接入模式,覆盖个人开发到团队生产。

推荐个人使用

long-connection

通过官方 SDK WebSocket 长连接接入,不需要公网回调地址,本机开发和个人使用首选。

  • 无需公网 HTTPS 地址
  • 接入快,配置简单
  • 支持文本、富文本、卡片回复
卡片按钮回调需切换到 webhook 模式
推荐团队部署

webhook

通过飞书事件订阅和卡片回调接入,适合团队共享服务和生产部署,功能最完整。

  • 事件和卡片回调完整
  • 支持卡片按钮交互
  • 便于扩展和监控
需要公网 HTTPS 地址

为真实项目使用准备的关键能力,都在这一层里。

Project Routing

/project <alias> 会真正改写当前 chat 的默认项目

群里切一次,整群后续都落到同一个项目;私聊也会记住各自的当前项目。

Session Adoption

/session adopt latest|list|<thread_id>

飞书侧不再只能续桥接器自己保存的 thread,也能接管本机 Codex CLI 的原生 session。

Auto Adopt

切项目后可自动接上最近会话

开启 project_switch_auto_adopt_latest = true 后,项目切换会优先保留当前 chat 会话,否则自动接最近匹配的本地 session。

Runtime Discipline

queue key + project.root 双层串行

同项目 thread 不会乱写,不同群同时操作同一仓库也会被自动收口。

Wiki & Knowledge

飞书知识库完整读写接入

支持 /wiki 搜索、读取、创建、改名、复制、移动和成员管理;/kb search 搜索项目本地文档。

MCP Surface

既支持 stdio,也支持 HTTP/SSE MCP

运行 codex-feishu mcp,即可把项目列表、项目切换、会话接管和自然语言控制命令暴露给 OpenClaw 等客户端;远端接入支持多 token 轮换和 Bearer 鉴权。

Memory System

项目记忆与群共享记忆

支持 /memory save/search/pin/forget/restore,SQLite + FTS5 检索,可配置 TTL、置顶策略和后台定时清理。

Observability

审计日志、健康探针、Prometheus 指标

内置 /healthz/readyz/metrics,支持 Alertmanager 告警和 Grafana 可视化,所有数据本地可控。

Access Roles

角色之外,再补 session / run / config / service 能力名单

可以把项目查看、会话控制、运行执行、配置修改、服务观察和服务重启拆开授权,而不是所有 operator 权限打包放开。

Admin Control

管理员控制面与动态配置

通过 /admin 命令动态维护管理员、群聊白名单、项目配置,支持配置历史快照和一键回滚。

从安装到真实联调,只需要沿着这条最短路径走一遍。

CLI install and bootstrap
# 安装
npm install -g codex-feishu
codex-feishu init --mode global

# 检查
codex-feishu doctor
codex-feishu doctor --remote

# 启动
codex-feishu start
codex-feishu logs --follow
codex-feishu create-project repo-new /srv/codex/repo-new
codex-feishu mcp
Feishu switch, adopt, continue
# 项目管理
/projects
/project repo-a
/admin project create repo-new /srv/codex/repo-new

# 会话管理
/session adopt latest
/session list

# 自然语言命令
切换到项目 repo-a
接管最新会话
查看详细状态
Release Surface
  • npm 直接 npm install -g codex-feishu
  • GitHub Release tag 发布同步生成 tgz 资产
  • GitHub Pages 官网继续走纯静态部署
  • Docs README / docs / workflow 口径统一

一份最小配置就能跑起来,按需逐步扩展。

~/.codex-feishu/config.toml 最小配置示例
version = 1

[service]
default_project = "default"
reply_mode = "card"  # text | post | card

[codex]
bin = "codex"
default_sandbox = "workspace-write"

[storage]
dir = "~/.codex-feishu/state"

[security]
allowed_project_roots = ["/srv/repos"]
admin_chat_ids = ["oc_admin_chat_1"]

[feishu]
app_id = "env:FEISHU_APP_ID"
app_secret = "env:FEISHU_APP_SECRET"
transport = "long-connection"

[projects.default]
root = "/srv/repos/repo-a"
session_scope = "chat"
快速启动

只需设置 FEISHU_APP_IDFEISHU_APP_SECRET 两个环境变量即可启动。

回复模式选择

个人使用推荐 post(富文本),团队部署且需要卡片按钮时切换到 card

多项目绑定

codex-feishu bind <alias> <path> 绑定多个仓库,飞书里用 /project <alias> 切换。

安全边界

allowed_project_roots 限制 Codex 可操作的仓库目录,生产环境请填明确路径。

安装、文档、版本和支持入口都可以从这里直接进入。

把飞书接成一个可管理、可续接、可落地的 Codex 工作入口。

适合需要项目路由、会话续接、并发保护和运行状态可见性的真实团队工作流。