원클릭으로
feishu-codex-bridge
Run local Codex CLI from Feishu/Lark chat with sessions, attachments, and background service support
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Run local Codex CLI from Feishu/Lark chat with sessions, attachments, and background service support
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Convert attached object images into code-only, animation-ready procedural Three.js models through guided sculpting workflow
Create and manage AI video storyboard projects with automated asset generation through Codex Storyboard workspace
Continue-thinking middleware that detects and handles reasoning truncation in Codex/OpenAI Responses-compatible APIs
Desktop manager for OpenAI Codex CLI with prompt injection, provider switching, and TOML/Auth visualization
Inject unrestricted developer mode instructions into Codex CLI (GPT-5.5) to bypass content filters
Install and use TradingCodex to build Codex-native investment research workflows with fixed-role agents, order approval gates, and local Django service plane
| name | feishu-codex-bridge |
| description | Run local Codex CLI from Feishu/Lark chat with sessions, attachments, and background service support |
| triggers | ["how do I set up the Feishu Codex bridge","configure feishu codex bridge for my team","run codex commands from Lark chat","manage Feishu bot sessions and workspaces","troubleshoot feishu-codex-bridge connection","set up background service for Lark Codex bot","use codex CLI through Feishu messages","configure reasoning effort for Feishu Codex bridge"] |
Skill by ara.so — Codex Skills collection.
A local bridge that connects Feishu/Lark chat to your local Codex CLI. Send messages in Feishu/Lark and the bridge runs codex exec on your machine, streaming results back to chat with session persistence, file attachments, and background service support.
codex exec commandsnpm i -g feishu-codex-bridge
feishu-codex-bridge --version
feishu-codex-bridge start
This interactive setup will:
@openai/codex)codex login status and prompt if neededlark-cli with the same App IDAfter setup, test in Feishu/Lark DM:
/status
Help me inspect this repo
export CODEX_BIN="/path/to/codex"
Bridge checks these locations in order:
$CODEX_BINcodex in $PATH~/.feishu-codex-bridge/codex-cli/Applications/Codex.app/Contents/Resources/codex (macOS)~/.feishu-codex-bridge/
├── config.json # App config and preferences
├── secrets.enc # Encrypted App Secret store
├── sessions.json # Chat-to-session mapping
├── workspaces.json # Named workspaces
├── processes.json # Live process registry
├── service.log # Service stdout
├── service.err.log # Service stderr
├── logs/YYYY-MM-DD.log # Daily structured logs
├── media/<chatId>/ # Downloaded attachments (24h TTL)
├── codex-cli/ # Private Codex CLI install
└── lark-cli/ # Private Lark CLI install
{
"appId": "cli_a1234567890abcde",
"tenant": "feishu",
"preferences": {
"codexReasoningEffort": "high",
"timeout": 300,
"replyMode": "stream",
"allowedUsers": [],
"allowedChats": [],
"admins": []
}
}
Set globally in config.json or per-chat via /config:
{
"preferences": {
"codexReasoningEffort": "xhigh"
}
}
Values: minimal, low, medium, high, xhigh. Omit to inherit from ~/.codex/config.toml.
Restrict bot access in config.json:
{
"preferences": {
"allowedUsers": ["ou_1234567890abcdef"],
"allowedChats": ["oc_9876543210fedcba"],
"admins": ["ou_1234567890abcdef"]
}
}
Find IDs from logs:
grep '"event":"enter"' ~/.feishu-codex-bridge/logs/$(date +%Y-%m-%d).log | tail -5
/status # Show cwd, session, agent, reasoning effort
/help # Show help card with all commands
/stop # Stop current Codex run
/reconnect # Reconnect WebSocket
/ps # List bridge processes
/exit <id|#> # Stop a bridge process (admin)
/doctor [description] # Diagnose bridge issues with Codex
/new # Reset current chat's session
/reset # Alias for /new
/resume [N] # List and resume recent sessions in cwd
/timeout [N|off|default] # Set idle timeout for current session
/cd <path> # Change working directory (resets session)
/ws list # List named workspaces
/ws save <name> [path] # Save workspace (defaults to current cwd)
/ws use <name> # Switch to workspace
/ws remove <name> # Delete workspace
Example workspace workflow:
/cd ~/projects/api-server
/ws save api-server
/cd ~/projects/frontend
/ws save frontend
/ws list
/ws use api-server
/config # Open interactive config menu
/account # View or change Feishu/Lark app (admin)
# Complete foreground setup first
feishu-codex-bridge start
# Test with /status in chat, then Ctrl+C
# Install service
feishu-codex-bridge service install launchd
# Check status
feishu-codex-bridge service status
# View logs
feishu-codex-bridge service logs --follow
# Restart
feishu-codex-bridge service restart
# Uninstall
feishu-codex-bridge service uninstall
# Stdout
tail -f ~/.feishu-codex-bridge/service.log
# Stderr
tail -f ~/.feishu-codex-bridge/service.err.log
# Structured daily logs
tail -f ~/.feishu-codex-bridge/logs/$(date +%Y-%m-%d).log
After QR setup, configure in Feishu/Lark Developer Console:
im:messageim:message:send_as_botim:resourceim:chat (for group creation)drive:drive (for cloud-doc comments)im.message.receive_v1card.action.triggerdrive.notice.comment_add_v1 (for @bot in docs)im.message.reaction.created_v1 (optional)im.message.reaction.deleted_v1 (optional)im.chat.member.bot.added_v1 (optional)Important: Bridge and lark-cli must use the same App ID. Do not run lark-cli config init --new after bridge setup.
Required only for accessing personal resources (user's docs, calendar, chat history):
export PATH="$HOME/.feishu-codex-bridge/lark-cli/node_modules/.bin:$PATH"
lark-cli auth login --recommend
Bot identity works for tenant/bot APIs. User OAuth needed for personal resource access.
git clone https://github.com/QQQingyu/feishu-codex-bridge.git
cd feishu-codex-bridge
npx pnpm@10.20.0 install
npx pnpm@10.20.0 build
node bin/feishu-codex-bridge.mjs --help
npx pnpm@10.20.0 typecheck
npx pnpm@10.20.0 test
# Check process state
feishu-codex-bridge ps
feishu-codex-bridge service status
# Follow logs
feishu-codex-bridge service logs --follow
# Check today's structured logs
tail -f ~/.feishu-codex-bridge/logs/$(date +%Y-%m-%d).log
If process is running but bot doesn't respond, verify:
# Auto-diagnose
feishu-codex-bridge doctor
# Rerun setup
feishu-codex-bridge start
Common fixes:
~/.feishu-codex-bridge/codex-clicodex loginAdd to shell profile for direct terminal usage:
export PATH="$HOME/.feishu-codex-bridge/lark-cli/node_modules/.bin:$PATH"
For Codex runs, bridge handles PATH automatically.
If lark-cli was initialized with a different app:
feishu-codex-bridge start
# Follow prompt to switch lark-cli back to bridge app
Never run lark-cli config init --new after bridge setup.
# In chat:
/stop
# Set idle timeout globally
/config
# Or for current session only:
/timeout 10
Only one bridge instance per Feishu/Lark app. Stop foreground before installing service:
# Stop all bridge processes
feishu-codex-bridge ps
feishu-codex-bridge exit <id>
# Or kill directly
pkill -f feishu-codex-bridge
# Recent events
grep '"event":"enter"' ~/.feishu-codex-bridge/logs/$(date +%Y-%m-%d).log | tail -10
# Errors
grep '"level":"error"' ~/.feishu-codex-bridge/logs/$(date +%Y-%m-%d).log | tail -10
# Specific chat
grep '"chatId":"oc_..."' ~/.feishu-codex-bridge/logs/$(date +%Y-%m-%d).log
// Save workspaces for quick switching
/cd ~/work/backend-api
/ws save backend
/cd ~/work/frontend-app
/ws save frontend
/cd ~/work/docs
/ws save docs
// Switch between projects
/ws use backend
Help me add rate limiting to the auth endpoint
/ws use frontend
Update the login form to show better errors
/ws use docs
Generate API docs from the OpenAPI spec
# List recent sessions in current directory
/resume
# Resume specific session (shows last 10)
/resume 3
# High effort for complex refactoring
/config
# Select "Reasoning Effort" > "xhigh"
# In different chat, use default
/config
# Select "Reasoning Effort" > "default"
{
"preferences": {
"allowedUsers": [
"ou_dev_team_member_1",
"ou_dev_team_member_2"
],
"allowedChats": [
"oc_dev_team_group"
],
"admins": [
"ou_dev_team_member_1"
]
}
}
# In chat:
/doctor The bot isn't responding to file attachments
# Codex will analyze recent logs and suggest fixes
Feishu/Lark Chat
↓ WebSocket
Bridge Process
↓ spawn
codex exec/resume
↓ optional
lark-cli API calls
↓
Streaming Card Reply
Responsibilities:
MIT