自动化与脚本
需要让 Codex 从终端真实操作…
当你想让 Codex 不只是生成建议文本,而是通过 Composio CLI 在终端直接对已连接应用执行真实动作时使用。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 38/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 59/100 ×0.15
适用场景
需要让 Codex 从终端真实操作 Gm特定
解决思路
- 确认目标应用是否受支持:Composio 支持 1000+ 集成,包括 Gmail、Outlook、SendGrid、Slack、Discord、Teams、Telegram、GitHub、GitLab、Jira、Linear、Notion、Google Docs、Confluence、Sheets、Airtable、PostgreSQL、HubSpot、Salesforce、Pipedrive、Drive、Dropbox、S3、Twitter、LinkedIn、Reddit 等;找到目标 toolkit 后按后续步骤连接。
- 安装 Composio CLI:`curl -fsSL https://composio.dev/install | bash`
- 登录:`composio login`
- 确认登录身份:`composio whoami`
- 登录会打开浏览器进行认证,并让你选择默认 org 和 project;自动化流程中可用 `-y` 跳过提示。
- 连接需要的 toolkit,例如:`composio link github`、`composio link gmail`、`composio link slack`
- 每个 `composio link` 命令会走一次 OAuth,之后连接会持久保持。
- 已知工具 slug 时,直接用 `composio execute <SLUG> ...` 执行动作。
- 不知道 slug 时,用 `composio search "<需求描述>"` 搜索工具。
- 需要确认输入参数时,用 `composio execute <SLUG> --get-schema` 或 `composio execute <SLUG> --dry-run`。
- 如果提示 toolkit 未连接,运行 `composio link <toolkit>` 后重试。
- 需要多步骤流程时用 `composio run`;需要直接调用原始 API 时用 `composio proxy`。
- 发现工具示例:`composio search "create a github issue"`;`composio search "send an email" --toolkits gmail`
- 查看工具信息:`composio tools info GITHUB_CREATE_ISSUE`
- 查看执行 schema:`composio execute GITHUB_CREATE_ISSUE --get-schema`
- 试运行并检查输入:`composio execute GITHUB_CREATE_ISSUE --dry-run -d '{"owner":"acme","repo":"app","title":"Bug"}'`
- 发送邮件:`composio execute GMAIL_SEND_EMAIL -d '{"recipient_email":"sarah@acme.com","subject":"Shipped!","body":"v2.0 is live, let me know if issues"}'`
- 创建 GitHub issue:`composio execute GITHUB_CREATE_ISSUE -d '{"owner":"my-org","repo":"repo","title":"Mobile timeout bug","labels":["bug"]}'`
- 发送 Slack 消息:`composio execute SLACK_SEND_MESSAGE -d '{"channel":"engineering","text":"Deploy complete - v2.4.0 live"}'`
- 并行执行多个调用:`composio execute --parallel GMAIL_FETCH_EMAILS -d '{"max_results": 2}' GITHUB_GET_THE_AUTHENTICATED_USER -d '{}'`
- 用 `composio run` 串联动作,例如:`composio run ' const issues = await search("github issues labeled bug this week"); const summary = issues.map(i => `- ${i.title}`).join("\n"); await execute("SLACK_SEND_MESSAGE", { channel: "bugs", text: `This week’s bugs:\n${summary}` }); '`
- 从文件加载可复用 workflow:`composio run --file ./workflow.ts -- --repo composiohq/composio`
- 没有专用工具时,直接用已认证 API:`composio proxy https://gmail.googleapis.com/gmail/v1/users/me/profile --toolkit gmail`
- 用 proxy 发起原始 POST 请求:`composio proxy https://gmail.googleapis.com/gmail/v1/users/me/drafts --toolkit gmail -X POST -H 'content-type: application/json' -d '{"message":{"raw":"..."}}'`
- 实际工作流:你先向 Codex 提出要做的事,Codex 通过 `composio search` 或已有知识选择 slug。
- CLI 会检查连接状态;缺失时提示运行 `composio link`。
- 动作会对真实 API 执行,并将 JSON 返回到 stdout。
- 全局日志级别:`--log-level <all|trace|debug|info|warning|error|fatal|none>`
- 查看每个命令的文档:`--help`
- 非交互使用设置认证凭据:`COMPOSIO_API_KEY`
- 自定义 API endpoint:`COMPOSIO_BASE_URL`
- 覆盖 artifact 存储目录:`COMPOSIO_SESSION_DIR`
- 关闭遥测:`COMPOSIO_DISABLE_TELEMETRY=true`
- 生成 TypeScript 类型代码:`composio generate ts`
- 生成 Python 类型代码:`composio generate py`
- 类型 SDK 生成可用 flags:`-o <dir>`、`--toolkits <list>`、`--compact`、`--transpiled`、`--type-tools`
- 排查 `Not logged in`:运行 `composio login`
- 排查 `Connection required for <toolkit>`:运行 `composio link <toolkit>`
- 排查 Unknown slug:运行 `composio search "<what you want>"` 或 `composio tools list <toolkit>`
- 排查 Bad inputs:先 `composio execute <SLUG> --get-schema`,再 `--dry-run`
- 排查 Action failed:检查目标应用中的权限。
- 完整参考:`docs.composio.dev/docs/cli`
适用边界 · 注意事项
- 无法安装或运行 Composio CLI、不能访问外部网络/浏览器 OAuth 的环境。
- 目标应用未授权、缺少权限,或操作有高风险副作用(如生产数据库写入、群发邮件)且不允许真实执行时。
- 只需要 Codex 生成草稿、建议或说明,不应产生外部副作用时。