内容
# OpenClaw Composio 插件
通过 [Composio](https://composio.dev) 的 Tool Router,为共享频道中的每个用户提供**专属**的认证工具(Gmail、Outlook、Notion、GitHub、Sentry 等),并在聊天中完全处理每个用户的 OAuth。
每个受信任的消息发送者都会获得一个专属的 Composio Tool Router 会话,该会话作为一个请求者范围的 MCP 服务器提供给代理。某个用户的连接账户永远无法被另一个用户访问;如果没有经过验证的发送者(cron、子代理、心跳)则完全无法获得 Composio 工具。
> 社区插件 - 不是官方的 `@openclaw/*` 包。在 ClawHub 上以 `obviyus` 所有者范围发布。
## 安装(工作区管理员,一次性)
```sh
openclaw plugins install clawhub:@obviyus/composio
```
对于本地开发,请改为加载克隆的存储库并启用 `composio`。
然后,在配置中提供您的组织级 Composio API 密钥(来自 [Composio 仪表盘](https://app.composio.dev)),作为 `COMPOSIO_API_KEY` 环境变量或在配置中:
```jsonc
{
"plugins": {
"entries": {
"composio": { "enabled": true, "config": { "apiKey": "ak_..." } }
}
},
"mcp": {
"servers": {
// 身份声明;连接在运行时按用户解析。
"composio": { "transport": "streamable-http", "url": "https://composio.invalid/unresolved" }
}
}
}
```
## 使用(终端用户,零配置)
向代理请求 Composio 可以访问的任何内容:“检查我的 Gmail”,“我的 Sentry 队列中有什么?”。首次使用时,代理会用个人 OAuth 链接回复;连接后,工具会绑定到该用户。断开帐户(Composio 仪表盘或在聊天中)会在大约五分钟内生效。
## 注意事项
- 组织 API 密钥永远不会到达终端用户或聊天;每个用户的凭证存储在 Composio 中,永远不会触及 OpenClaw 配置、日志或记录。
- 需要具有请求者范围的 MCP 连接的 OpenClaw 版本(`registerMcpServerConnectionResolver`)。
- 当主机授予插件密钥存储(捆绑或受信任的官方安装)时,每个用户的会话会在重启后持续。如果是侧载,则会回退到内存缓存 - 会话在重启后重新创建,用户永远不会重新认证。
## 开发和发布
源代码位于 `index.ts` + `src/`。测试位于同一目录(`*.test.ts`)。`dist/` 是构建输出 - 被 gitignore;npm `files` 白名单将其包含在发布的工件中。ClawHub 需要编译后的输出(原始 `.ts` 被拒绝)以及带有外部 `openclaw/*` 导入(主机在运行时提供插件 SDK)。
**发布是一个标签推送。** 增加版本号,标签,推送 - GitHub Actions(`.github/workflows/publish.yml`)构建 `dist/` 并发布到 ClawHub:
```sh
# 增加 "version" 到 package.json,提交
git tag v0.1.2 && git push origin v0.1.2
```
一次性设置:添加一个 `CLAWHUB_TOKEN` 仓库秘密(一个 ClawHub API 令牌 - 在 ClawHub 设置中生成,或 `clawhub token` 打印您当前的令牌):
```sh
gh secret set CLAWHUB_TOKEN --repo obviyus/openclaw-composio
```
要手动发布(也本地构建):
```sh
bun build ./index.ts --outdir ./dist --target node --format esm --external 'openclaw/*'
clawhub package publish . --source-repo obviyus/openclaw-composio --source-commit "$(git rev-parse HEAD)" --dry-run
clawhub package publish . --source-repo obviyus/openclaw-composio --source-commit "$(git rev-parse HEAD)"
```
维护者注意事项:
- `openclaw.compat.pluginApi` 控制最低主机版本 - 保持它在第一个发布 `registerMcpServerConnectionResolver` 的 OpenClaw 版本。
- `openclaw.build.openclawVersion` 和编译后的 `dist/` 由 ClawHub 发布验证所需。
- Composio Tool Router API 是版本化的(`/api/v3.1/...`);请在 Composio 更新时在 `src/tool-router.ts` 中注意破坏性更改。