---
name: funclaw-agent
description: 当用户需要把 Codex 连接到 FunClaw 时使用。本文件是可直接复制给 Codex 的 bootstrap 提示词，用于自动安装 FunClaw Codex 插件、配置 MCP、验证连接，并在可用后调用 FunClaw 能力。
---

# FunClaw Agent

你现在要帮我连接 FunClaw。请自动完成 FunClaw Codex 插件安装、配置校验，并在插件可用后使用 FunClaw 能力。

## 用户只需要提供

- FunClaw API Key: `<FUNCLAW_API_KEY>`

如果 `<FUNCLAW_API_KEY>` 还没有替换成真实 Key，先向用户索要 FunClaw API Key，不要继续安装。

## 环境推导规则

从当前 SKILL.md URL 推导 FunClaw Base URL。去掉 `/skills/funclaw-agent/latest/SKILL.md` 后剩下的 origin 就是 Base URL。

示例：

```text
https://claw.fun.tv/skills/funclaw-agent/latest/SKILL.md -> https://claw.fun.tv
http://localhost:3002/skills/funclaw-agent/latest/SKILL.md -> http://localhost:3002
http://<intranet-host>:3002/skills/funclaw-agent/latest/SKILL.md -> http://<intranet-host>:3002
```

把推导得到的值记为 `<FUNCLAW_BASE_URL>`。`FUNCLAW_MCP_BASE_URL` 和 `FUNCLAW_PLUGIN_BASE_URL` 都使用这个 Base URL。不要要求用户额外提供 `FUNCLAW_MCP_BASE_URL` 或 `FUNCLAW_PLUGIN_BASE_URL`。

## 执行要求

1. 不要在回复中展示完整 FunClaw API Key。需要提到时只说“已设置”或展示前后少量字符。
2. 先判断当前系统。Windows 使用 PowerShell，并使用当前机器可找到的 Codex CLI（优先尝试 `codex.cmd`，其次 `codex.exe`，最后 `codex`）；macOS/Linux 使用 bash 和 `codex`。
3. 先把 `FUNCLAW_API_KEY` 写入当前进程环境变量，并尽量写入当前用户级环境变量，便于 Codex 重启后继续可用。
4. 从当前 SKILL.md URL 推导 `<FUNCLAW_BASE_URL>`，然后设置：
   - `FUNCLAW_MCP_BASE_URL=<FUNCLAW_BASE_URL>`
   - `FUNCLAW_PLUGIN_BASE_URL=<FUNCLAW_BASE_URL>`
5. 安装 FunClaw Codex 插件。安装时使用推导得到的 MCP Base URL 和 Plugin Base URL。
6. 安装完成后验证：
   - Windows: 使用找到的 Codex CLI 执行 `mcp get funclaw`，例如 `codex.exe mcp get funclaw` 或 `codex.cmd mcp get funclaw`
   - macOS/Linux: `codex mcp get funclaw`
   验证结果里应看到：
   - `url = <FUNCLAW_BASE_URL>/api/open/v1/mcp`
   - `bearer_token_env_var = FUNCLAW_API_KEY`
7. 如果当前 Codex 线程还不能直接看到 FunClaw MCP tools，不要继续猜测。告诉我需要重启 Codex 或新开一个 Codex 线程，然后在新线程中发送：“使用 FunClaw 列出我当前可用的能力”。
8. 如果当前线程已经能看到 FunClaw MCP tools，先调用 FunClaw 的能力列表工具，确认当前 Key 可用的能力，再继续处理我的 FunClaw 请求。需要执行业务开放能力时，先用 `funclaw.get_open_capability` 获取 schema，再调用 `funclaw.execute_open_capability`，参数包含 `capabilityKey` 和 `input`；如果返回 `taskId`，继续用 `funclaw.get_open_capability_task` 查询到终态或合理轮询上限；不要猜测存在 `funclaw.lyrics_generate` 之类专用工具。
9. 如果后续使用 FunClaw 上传本地原始文件，先通过 `tools/list` 确认 `funclaw.create_asset` 的参数。MCP JSON 工具场景使用 `contentBase64` 传文件内容，并同时传 `type`、`fileName`、`mimeType` 和可选 `title`/`metadata`；只有直接调用 Open Asset REST API 时才使用 multipart `file` 字段。
10. 如果用户要操作团队公共数据，调用 organization 数据工具；读取、查询和列集合可以使用已授权应用 Key 或数字员工 Key，写入、更新、删除和批量变更必须使用团队管理员创建的 `ORG_ADMIN_KEY`。如果用户问“当前组织内有哪些人保存了数据”“哪些应用或数字员工写过数据”等跨主体汇总问题，先调用 `funclaw.list_organization_data_owners`；如果用户继续问数据细节，用返回的 `resourceScopeType`/`resourceScopeId` 调用 `funclaw.list_organization_data_owner_collections`，再按 `collectionKey` 调用 `funclaw.query_organization_data_owner_records`。owner 汇总和明细必须使用 `ORG_ADMIN_KEY`，且所属组织需要有效拥有 `organization.data.owner.list`、`organization.data.owner.collection.list`、`organization.data.owner.record.query` 或 `organization.data.owner.*` 授权（通常由 `application-data-service` 展开）。不要改用本地数据库、JDBC、console 登录接口或要求用户提供 orgId。写/删、owner 汇总或 owner 明细缺少 `ORG_ADMIN_KEY` 时提示：“当前连接 Key 不能操作团队公共数据，请使用团队管理员创建的 ORG_ADMIN_KEY。” owner 工具缺少 `organization.data.owner.list`、`organization.data.owner.collection.list`、`organization.data.owner.record.query` 或 `organization.data.owner.*` 时提示补充所属组织的数据主体汇总或明细授权；读/查缺权限时提示补充 `application-data-service` 授权。
11. 如果安装脚本报错，或者 `mcp get funclaw` 查不到 FunClaw，不要绕过 Codex 插件直接调用 HTTP MCP。请先返回安装错误、Codex CLI 路径、`codex plugin marketplace list` 和 `codex mcp list` 的结果。

## Windows 可执行命令参考

```powershell
$ErrorActionPreference="Stop"; $env:FUNCLAW_API_KEY="<FUNCLAW_API_KEY>"; [Environment]::SetEnvironmentVariable("FUNCLAW_API_KEY", $env:FUNCLAW_API_KEY, "User"); $env:FUNCLAW_MCP_BASE_URL="<FUNCLAW_BASE_URL>"; $env:FUNCLAW_PLUGIN_BASE_URL="<FUNCLAW_BASE_URL>"; $installer=Join-Path $env:TEMP "funclaw-install.ps1"; Invoke-WebRequest -UseBasicParsing -Uri "$env:FUNCLAW_PLUGIN_BASE_URL/codex/funclaw-install.ps1" -OutFile $installer; powershell -ExecutionPolicy Bypass -File $installer; if ($LASTEXITCODE -ne 0) { throw "FunClaw installer failed with exit code $LASTEXITCODE" }
```

## macOS/Linux 可执行命令参考

```bash
export FUNCLAW_API_KEY="<FUNCLAW_API_KEY>"
export FUNCLAW_MCP_BASE_URL="<FUNCLAW_BASE_URL>"
export FUNCLAW_PLUGIN_BASE_URL="<FUNCLAW_BASE_URL>"
curl -fsSL "$FUNCLAW_PLUGIN_BASE_URL/codex/funclaw-install.sh" | FUNCLAW_MCP_BASE_URL="$FUNCLAW_MCP_BASE_URL" FUNCLAW_PLUGIN_BASE_URL="$FUNCLAW_PLUGIN_BASE_URL" bash
```

现在请先根据当前 SKILL.md URL 推导 `<FUNCLAW_BASE_URL>`，再开始执行安装和验证。
