acp-agent
v0.0.1
Published
Bridge IM software to ACP coding agents — chat with Claude, Cursor, Codex, and more from Feishu
Maintainers
Readme
acp-agent
Bridge IM software to ACP (Agent Client Protocol) coding agents — chat with Claude, Cursor, Codex, OpenCode, Aider and more directly from Feishu / Lark.
Features
- Chat with coding agents through Feishu / Lark messages
- Streaming card display with real-time agent output
- Multiple agent presets: Claude, Cursor, Codex, Aider, OpenCode
- Session management with SQLite persistence
- Built-in command system (via
/prefix in IM) - Multi-account and multi-agent binding support
Requirements
- Node.js >= 20
- A Feishu / Lark app with Bot capability (App ID & App Secret)
Installation
# npm
npm install -g acp-agent
# pnpm
pnpm add -g acp-agent
# or run directly with npx
npx acp-agent start --setup --agent claudeQuick Start
# Interactive setup — will prompt for Feishu app credentials and agent selection
acp-agent start --setup --agent claudeOn first run, --setup walks you through:
- Enter your Feishu App ID & App Secret
- Select an agent preset (or provide a custom command)
- The bridge starts and connects to Feishu via WebSocket
Once running, send messages to your Feishu bot and it will forward them to the coding agent.
Commands
acp-agent start
Start the bridge service.
acp-agent start [options]
Options:
-a, --agent <preset> Agent preset: claude / cursor / codex / aider / opencode (default: "claude")
-p, --port <port> HTTP server port (default: "3000")
--cwd <path> Working directory for agent
--app-id <id> Feishu App ID (or set LARK_APP_ID env)
--app-secret <secret> Feishu App Secret (or set LARK_APP_SECRET env)
--setup Force re-run interactive setup
--card-mode <mode> Card update mode: streaming or patch (default: "streaming")Account Management
acp-agent account list # List IM accounts
acp-agent account add feishu # Add a Feishu account interactively
acp-agent account remove <id> # Remove an accountAgent Configuration
acp-agent agent list # List agent configs
acp-agent agent add --preset claude # Add agent from preset
acp-agent agent add --command "my-agent" --args "--flag" # Custom agent
acp-agent agent remove <id> # Remove agent configBindings
acp-agent bind <account-id> <agent-id> # Bind account to agent
acp-agent unbind <binding-id> # Remove binding
acp-agent bindings # List all bindingsData Directory
All data is stored in ~/.acp-agent/:
data.db— SQLite database (accounts, agents, sessions, messages)config.json— Local configuration
Environment Variables
| Variable | Description |
|----------|-------------|
| LARK_APP_ID | Feishu App ID (alternative to --app-id) |
| LARK_APP_SECRET | Feishu App Secret (alternative to --app-secret) |
