现有官方wecom插件
├── MCP工具: doc品类(8个工具)
├── 技能: 15个技能(大部分不可用)
└── 限制: 缺少关键工具(get_records, delete_records等)
插件1: 现有官方wecom插件
├── 功能: 基础连接、消息通道、权限管理
├── 保留: 现有的doc品类工具
└── 作用: 维持现有连接和基础功能插件2: wecom-cli MCP Skills
├── 功能: 补充高级功能(智能表格增删改查等)
├── 品类: 可能包含doc、meeting、schedule、msg等
└── 作用: 提供完整的业务功能
git clone https://github.com/WecomTeam/wecom-cli.git
2. 分析wecom-cli功能 - 检查MCP Skills结构 - 识别可用的工具品类 - 评估与现有插件的兼容性
3. 设计集成方案 - 确定挂载方式(MCP Server vs 直接集成) - 规划工具命名空间 - 设计冲突解决机制
# 安装wecom-cli依赖
cd wecom-cli
npm install
# 配置企业微信凭证
cp .env.example .env
# 编辑.env文件配置企业微信信息
2. 在OpenClaw中挂载MCP Server
// OpenClaw配置文件
{
"mcpServers": {
"wecom-cli": {
"command": "node",
"args": ["/path/to/wecom-cli/mcp-server.js"],
"env": {
"WECOM_CORP_ID": "...",
"WECOM_SECRET": "..."
}
}
}
}
3. 测试连接和功能 - 验证MCP Server启动 - 测试工具可用性 - 检查与现有插件的兼容性
2. 技能更新 - 更新现有技能,优先使用wecom-cli工具 - 创建新的技能,利用完整功能 - 确保向后兼容性
# 保留现有插件
cp -r ~/.openclaw/extensions/wecom-openclaw-plugin ~/.openclaw/extensions/wecom-openclaw-plugin-backup
# 安装wecom-cli插件
openclaw plugins install ./wecom-cli-bundle
2. 功能测试 - 测试加盟商状态同步完整流程 - 测试会议创建和管理 - 测试消息发送功能 - 测试日程管理
3. 性能测试 - 检查双插件资源占用 - 测试响应时间 - 验证稳定性
2. 会议管理 - ✅ 创建会议 - ✅ 查询会议 - ✅ 更新会议 - ✅ 删除会议
3. 消息管理 - ✅ 发送消息 - ✅ 查询消息 - ✅ 发送文件/卡片
4. 日程管理 - ✅ 创建日程 - ✅ 查询日程 - ✅ 更新日程
5. 待办管理 - ✅ 创建待办 - ✅ 查询待办 - ✅ 更新待办
读取状态表 → 检测变化 → 同步到进度表
✅读取 ✅判断 ✅添加 ✅删除
2. 会议自动创建
读取日历 → 创建会议 → 发送通知
✅读取 ✅创建 ✅发送
3. 消息自动化
触发条件 → 组织内容 → 发送消息
✅触发 ✅组织 ✅发送
// wecom-cli MCP Server示例
const { McpServer } = require("@modelcontextprotocol/sdk/server/mcp.js");
const { StdioServerTransport } = require("@modelcontextprotocol/sdk/server/stdio.js");const server = new McpServer({
name: "wecom-cli",
version: "1.0.0"
});
// 注册智能表格工具
server.tool(
"smartsheet_get_records",
"获取智能表格记录",
{ docid: "string", sheet_id: "string" },
async ({ docid, sheet_id }) => {
// 调用企业微信API
const records = await wecomAPI.getRecords(docid, sheet_id);
return { records };
}
);
// 更多工具注册...
现有插件: wecom_mcp call doc
wecom-cli: wecom_cli call 为避免冲突,建议:
- 现有插件: wecom_legacy call ...
- wecom-cli: wecom call ...
async function callTool(method, args) {
try {
// 优先使用wecom-cli
return await wecomCli.call(method, args);
} catch (error) {
// 回退到现有插件
return await wecomLegacy.call(method, args);
}
}
2. 兼容性检查 - 检查工具可用性 - 验证参数格式 - 处理版本差异
2. 性能影响 - 风险: 双插件增加资源占用 - 缓解: 优化工具调用,避免重复
3. 稳定性问题 - 风险: 新插件可能不稳定 - 缓解: 充分测试,逐步上线
2. 功能重叠 - 风险: 相同功能在不同插件实现 - 缓解: 制定明确的工具使用策略