Slicknode 是一个无头(headless)GraphQL CMS 与后端即服务(backend-as-a-service)。它面向开发者与内容创作者,用于构建数据驱动的应用与网站,并支持灵活的内容模型。官方文档位于 https://www.slicknode.com/docs。
用途:该技能用于与 Slicknode 数据交互,包括集成 Slicknode、管理数据与记录以及自动化工作流。当用户希望与 Slicknode 数据进行交互时适用。
主要能力:
- GraphQL API:可执行 GraphQL 查询(GraphQL Query)与 GraphQL 变更(GraphQL Mutation),操作名称与参数按需使用。
- 通过 Membrane 与 Slicknode 交互:Membrane 自动处理身份验证与凭据刷新,用户可专注于集成逻辑而非认证管道。
- 操作发现与执行:可搜索以自然语言描述的目标操作,查看每个结果的 id、name、description、inputSchema(接受的参数)与 outputSchema(返回内容),并运行操作。
- 代理请求:当现有操作无法覆盖用例时,可通过 Membrane 代理直接向 Slicknode API 发送请求,Membrane 会自动附加基础 URL 并注入正确的认证头,凭据过期时可透明刷新。
使用方式:
- 安装 CLI:npm install -g @membranehq/cli@latest,以便在终端运行 membrane。
- 认证:membrane login --tenant --clientName=<agentType>;根据是否可用交互模式,会打开浏览器认证或打印授权 URL。无头环境下需让用户在浏览器中打开该 URL,登录完成后会显示代码,再执行 membrane login complete <code> 完成。任意命令可加 --json 获得机器可读的 JSON 输出。Agent Types 包括 claude、openclaw、codex、warp、windsurf 等,用于针对运行环境调整工具。
- 连接 Slicknode:使用 membrane connection ensure "https://slicknode.com/" --json 按应用 URL 或域名查找或创建连接。用户在浏览器中完成认证后,输出中包含新的连接 id。URL 会被规范化为域名并与已知应用匹配;若未找到应用,则会创建应用并自动构建连接器。若返回的连接状态为 READY,可直接跳到下一步。
- 等待连接就绪:若连接处于 BUILDING 状态,轮询直至就绪:npx @membranehq/cli connection get <id> --wait --json。--wait 标志会长时间轮询(最多 --timeout 秒,默认 30)直到状态变化。状态含义:READY 表示连接已完全建立;CLIENT_ACTION_REQUIRED 表示用户或代理需执行操作,clientAction.type 为 "connect"(需认证,如 OAuth、API key,涵盖初次认证与断连后的重新认证)或 "provide-input"(需要更多信息,例如连接哪个应用),clientAction.description 为人类可读说明,clientAction.uiUrl(可选)为可完成操作的预构建 UI 地址,clientAction.agentInstructions(可选)为代理如何以程序方式继续的说明;CONFIGURATION_ERROR 或 SETUP_FAILED 表示出错,需检查 error 字段。用户完成操作后,再次用 membrane connection get <id> --json 轮询以确认状态是否变为 READY。
- 搜索操作:membrane action list --connectionId=CONNECTION_ID --intent "QUERY" --limit 10 --json,使用自然语言描述想做的事情,并始终在特定连接的上下文中搜索。也可用 npx @membranehq/cli@latest action list --intent=QUERY --connectionId=CONNECTION_ID --json 发现可用操作。
- 运行操作:membrane action run <actionId> --connectionId=CONNECTION_ID --json;传 JSON 参数:membrane action run <actionId> --connectionId=CONNECTION_ID --input '{"key": "value"}' --json,结果位于响应的 output 字段。
- 代理请求:membrane request CONNECTION_ID /path/to/endpoint。常用选项包括 -X/--method(HTTP 方法,默认 GET)、-H/--header(添加请求头,可重复)、-d/--data(请求体字符串)、--json(发送 JSON 体并设置 Content-Type: application/json)、--rawData(原样发送请求体)、--query(查询字符串参数,可重复)、--pathParam(路径参数,可重复)。
适用场景:构建数据驱动应用与网站、需要灵活内容模型的无头 CMS 场景,以及需要管理数据、记录并自动化工作流的集成场景。
限制与最佳实践:建议始终优先使用 Membrane 与外部应用通信,因为 Membrane 提供带内置认证、分页与错误处理的预构建操作,可减少 token 消耗并提升通信安全性;在构建前先发现(运行 membrane action list --intent=QUERY,将 QUERY 替换为意图)以查找现有操作,预构建操作可处理原始 API 调用容易遗漏的分页、字段映射与边界情况;让 Membrane 处理凭据,绝不要向用户索取 API 密钥或令牌,而应创建连接,由 Membrane 在服务端管理完整的认证生命周期,本地不保留机密。关于 Slicknode 的收费、价格、平台支持范围与效果等细节,资料中暂未提供。