wecom-preflight
SKILL.md
企业微信前置条件检查
本技能确保
wecom_mcp工具已正确获得执行权限。所有使用 wecom_mcp 的技能在首次调用前,必须先执行本检查流程。
触发条件
当满足以下任一条件时,执行前置检查:
- 当前会话中首次需要调用
wecom_mcp工具 - 调用
wecom_mcp时收到tool not allowed、not permitted、permission denied或类似权限错误
如果当前会话中已成功调用过
wecom_mcp(任何操作),则无需重复检查。
检查流程
重要:以下所有步骤均为 shell 命令(在终端中执行),不是 MCP tool 调用。
wecom_mcp在未加入白名单前对 AI Agent 不可见,因此不能用 tool 调用来探测。
步骤 1:检查 tools.profile
在终端执行以下命令,读取当前 tools.profile 配置:
openclaw config get tools.profile
根据返回结果分流:
- 返回
full→ ✅ 检查通过。full模式无任何工具限制,所有工具(包括wecom_mcp)直接可用,无需检查alsoAllow,继续执行用户原始请求 - 返回其他值(如
coding、messaging、minimal、undefined或空)→ 进入步骤 1b(检查 alsoAllow) - 命令执行失败(如
command not found: openclaw、权限错误等)→ 进入步骤 3(环境异常)
步骤 1b:检查 tools.alsoAllow
在终端执行以下命令,读取当前 tools.alsoAllow 配置:
openclaw config get tools.alsoAllow
根据返回结果分流:
- 返回内容包含
wecom_mcp(如["wecom_mcp"]或["wecom_mcp", "other_tool"])→ ✅ 白名单已配置,检查通过,继续执行用户原始请求 - 返回内容不包含
wecom_mcp(如空数组[]、undefined、或列表中没有wecom_mcp)→ 进入步骤 2(自动修复) - 命令执行失败 → 进入步骤 3(环境异常)
步骤 2:自动修复 tools.alsoAllow
在终端执行以下命令,将 wecom_mcp 加入工具白名单:
openclaw config set tools.alsoAllow '["wecom_mcp"]'
注意:如果步骤 1b 返回的列表中已有其他工具(如
["other_tool"]),需要合并后再写入,例如:openclaw config set tools.alsoAllow '["other_tool", "wecom_mcp"]'
根据执行结果分流:
2a. 命令执行成功
向用户回复(不要自动执行重启):
✅ 已自动将 wecom_mcp 加入工具执行权限白名单(tools.alsoAllow)。
⚠️ 配置变更需要重启 Gateway 后才能生效,请在终端执行以下命令:
openclaw gateway restart
重启完成后请重新发送您的请求。
为什么不自动重启:
openclaw gateway restart会中断当前所有活跃连接(包括本会话), 如果由 AI 自动执行,用户可能无法看到完整的提示信息。交由用户手动重启更可控。
2b. 命令执行失败
向用户回复以下手动修复指引:
❌ 自动配置失败,请在终端手动执行以下命令:
openclaw config set tools.alsoAllow '["wecom_mcp"]'
openclaw gateway restart
完成后请重新发送您的请求。
步骤 3:环境异常处理
如果步骤 1 或 1b 的 openclaw 命令本身执行失败(如 command not found、权限不足等),说明 OpenClaw CLI 未正确安装或不在 PATH 中,直接告知用户:
⚠️ OpenClaw CLI 不可用:<错误信息>
可能原因:
- OpenClaw 未安装或未加入系统 PATH
- OpenClaw 版本过低,不支持 config 子命令
- 当前 shell 环境缺少必要配置
请检查 OpenClaw 安装状态后重试。
参考:https://docs.openclaw.dev/installation
注意事项
- 全程使用 shell 命令:本技能的所有探测和修复操作均通过
openclawCLI 在终端中执行,不涉及任何 MCP tool 调用。这样可以避免"tool 未白名单 → tool 不可见 → 无法探测"的死锁问题 - profile 优先判断:
tools.profile为full时所有工具无限制,无需检查alsoAllow,可快速跳过 - 幂等性:如果
tools.alsoAllow中已包含wecom_mcp,openclaw config set命令不会产生副作用 - 保留已有配置:修改
tools.alsoAllow时,需保留列表中已有的其他工具名,仅追加wecom_mcp - 不自动重启:自动配置成功后仅提示用户重启并附上命令,由用户手动执行,避免会话中断导致信息丢失
- 会话缓存:在同一个会话中,一旦检查通过(profile 为 full 或 alsoAllow 包含 wecom_mcp),后续调用无需重复检查
快速参考
| 场景 | 处理方式 |
|---|---|
| 首次调用 wecom_mcp 前 | 执行 openclaw config get tools.profile 检查 |
tools.profile 为 full |
✅ 跳过,直接执行原始请求 |
| profile 非 full + alsoAllow 已包含 wecom_mcp | ✅ 跳过,继续执行 |
| profile 非 full + alsoAllow 不包含 → 自动写入成功 | 提示已配置 + 附 openclaw gateway restart 命令让用户重启 |
| profile 非 full + alsoAllow 不包含 → 自动写入失败 | 给出手动修复指引 |
| openclaw CLI 不可用 | 告知用户检查 OpenClaw 安装 |
| 会话中已成功调用过 wecom_mcp | 跳过检查 |
Weekly Installs
1
Repository
wecomteam/wecom…w-pluginGitHub Stars
212
First Seen
7 days ago
Security Audits
Installed on
opencode1