其他
需要通过 Membrane 集成 Monday.com…
当用户想通过 Membrane 与 Monday.com 的项目管理数据、记录和工作流交互时使用。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 35/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 40/100 ×0.15
适用场景
需要通过 Membrane 集成 Mon特定
解决思路
- 安装 Membrane CLI:运行 `npm install -g @membranehq/cli@latest`,安装后可在终端使用 `membrane`。
- 登录 Membrane:运行 `membrane login --tenant --clientName=<agentType>`;根据是否支持交互模式,它会打开浏览器认证或在控制台打印授权 URL。
- 无头环境登录:命令会打印授权 URL;让用户在浏览器中打开;用户完成登录并看到 code 后,运行 `membrane login complete <code>` 完成登录。
- 需要机器可读输出时,在任意命令后加 `--json`。
- 按运行环境选择 Agent Types:`claude, openclaw, codex, warp, windsurf, etc.`,用于把工具调整到最适合当前 harness。
- 连接 Monday:用 `membrane connection ensure "" --json` 按应用 URL 或域名查找或创建连接;用户在浏览器完成认证;输出包含新的 connection id。
- 这是获得连接最快的方式;URL 会被归一化为域名并与已知应用匹配;如果没找到应用,系统会自动创建应用并构建 connector。
- 如果返回的连接 `state: "READY"`,跳到 Step 2(搜索动作)。
- 如果连接处于 `BUILDING` 状态,轮询直到就绪:`npx @membranehq/cli connection get <id> --wait --json`;`--wait` 会长轮询(最多 `--timeout` 秒,默认 30)直到状态变化;持续轮询直到 `state` 不再是 `BUILDING`。
- 根据轮询结果处理:`READY` 表示连接已完全设置,跳到 Step 2;`CLIENT_ACTION_REQUIRED` 表示用户或 agent 需要做某事,`clientAction` 对象描述所需动作:`clientAction.type` 为 `"connect"` 时用户需要认证(OAuth、API key 等,包括初始认证和断连后的重新认证),为 `"provide-input"` 时需要更多信息(例如要连接哪个应用);`clientAction.description` 是人类可读说明;`clientAction.uiUrl`(可选)是预构建 UI URL,存在时展示给用户;`clientAction.agentInstructions`(可选)是给 AI agent 的编程式操作说明;用户完成动作(如浏览器认证)后,再次轮询 `membrane connection get <id> --json` 检查是否变为 `READY`。
- 遇到 `CONFIGURATION_ERROR` 或 `SETUP_FAILED` 时,检查 `error` 字段详情。
- 搜索动作:用自然语言描述目标,运行 `membrane action list --connectionId=CONNECTION_ID --intent "QUERY" --limit 10 --json`;始终在特定连接上下文中搜索动作。
- 读取搜索结果:每个结果包含 `id`、`name`、`description`、`inputSchema`(动作接受什么参数)、`outputSchema`(动作返回什么)。
- 常见预置动作:List Boards `list-boards` 获取 Monday.com 的 board 列表;List Items `list-items` 分页获取 board 中的 item;List Users `list-users` 获取账户用户列表;List Updates `list-updates` 列出某个 item 或跨 board 的 update(评论);Get Board `get-board` 按 ID 获取 board(含 groups 和 columns);Get Item `get-item` 按 ID 获取 item;Get Item Updates `get-item-updates` 获取某个 item 的 update(评论);Get Current User `get-current-user` 获取当前认证用户信息;Create Board `create-board` 创建新 board;Create Item `create-item` 在 board 上创建新 item;Create Group `create-group` 在 board 上创建新 group;Create Update `create-update` 在 item 上创建 update(评论);Create Column `create-column` 在 board 上创建新 column;Update Board `update-board` 更新 board 名称或描述等属性;Update Item Column Values `update-item-column-values` 更新 item 上的多个 column 值;Update Group `update-group` 更新 group 的标题、颜色或位置;Delete Board `delete-board` 永久删除 board;Delete Item `delete-item` 永久删除 board 中的 item;Delete Group `delete-group` 永久删除 group 及其所有 item;Delete Update `delete-update` 删除 update(评论)。
- 运行动作:`membrane action run <actionId> --connectionId=CONNECTION_ID --json`。
- 传入 JSON 参数:`membrane action run <actionId> --connectionId=CONNECTION_ID --input '{"key": "value"}' --json`。
- 动作运行结果在响应的 `output` 字段中。
- 当可用动作不覆盖用例时,通过 Membrane proxy 直接向 Monday API 发请求:`membrane request CONNECTION_ID /path/to/endpoint`;Membrane 会自动追加 base URL 并注入正确认证头,包括凭证过期时的透明刷新。
- proxy 常用选项:`-X, --method` 指定 HTTP 方法(GET、POST、PUT、PATCH、DELETE,默认 GET);`-H, --header` 添加请求头(可重复),如 `-H "Accept: application/json"`;`-d, --data` 请求体(字符串);`--json` 发送 JSON body 并设置 `Content-Type: application/json`;`--rawData` 原样发送 body 不做处理;`--query` 查询字符串参数(可重复),如 `--query "limit=10"`;`--pathParam` 路径参数(可重复),如 `--pathParam "id=123"`。
- 最佳实践:始终优先用 Membrane 与外部应用通信——Membrane 提供内置认证、分页和错误处理的预构建动作,能减少 token 消耗并让通信更安全。
- 最佳实践:先发现再构建——写自定义 API 调用前先运行 `membrane action list --intent=QUERY`(把 QUERY 替换为你的意图)查找已有动作;预构建动作会处理原始 API 调用容易遗漏的分页、字段映射和边界情况。
- 最佳实践:让 Membrane 处理凭证——不要向用户索要 API key 或 token;改为创建连接;Membrane 在服务端管理完整 Auth 生命周期,本地无秘密。
- 按需使用动作名称和参数:先通过 `action list` 发现匹配意图的动作,再按 `inputSchema` 传参运行。
- 按 Monday 数据模型组织操作:Board -> Item -> Column,以及 User。
适用边界 · 注意事项
- 没有网络、无法安装 npm/CLI,或没有有效 Membrane 账号(免费层支持)时不适用。
- 不允许使用 Membrane 这类第三方托管服务处理认证/凭证,或必须直连 Monday API 时不适用。
- 需要完全离线操作时不适用。