@liangdi/wecom-pro
v0.1.7
Published
企业微信命令行工具 — 让人类和 AI Agent 都能在终端中操作企业微信
Readme
wecom-pro
企业微信命令行工具 — 让人类和 AI Agent 都能在终端中操作企业微信。覆盖通讯录、待办、会议、消息、日程、文档、智能表格等核心业务域,提供 7 大品类及 12 个 AI Agent Skills。
项目说明: 本项目是从 WecomTeam/wecom-cli fork 而来,增加了多 Bot 支持功能。
- 作者: Liangdi [email protected]
- 项目地址: https://github.com/Liangdi/wecom-pro
- NPM 包: @liangdi/wecom-pro
安装 · AI Agent Skills · 命令 · 品类一览
为什么选 wecom-pro?
- 为 AI Agent 所设计 — 开箱即用的 Skills,适配主流 AI 工具,支持非交互式初始化,Agent 可直接操作企业微信,无需额外适配
- 覆盖用户核心需求 — 7 大业务品类、12 个 AI Agent Skills,覆盖通讯录、待办、会议、消息、日程、文档与智能表格
- 多 Bot 支持 — 支持配置多个企业微信机器人,实现工作与个人账号分离,不同业务场景使用不同 Bot
- 多种安装方式 — 支持 Rust cargo 和 Node.js npm 双重安装方式,适应不同开发环境
- 快速上手 —
init配置凭证,支持交互式和非交互式模式,直接调用品类工具,从安装到第一次 API 调用只需两步 - AI 友好 — 提供 JSON 输出格式,便于 AI Agent 解析和集成
功能
| 类别 | 能力 | | ------------ | ----------------------------------------------------------------------------- | | 👤 通讯录 | 获取可见范围成员列表、按姓名/别名搜索 | | ✅ 待办 | 创建、查询列表、查询详情、更新、删除待办,变更用户处理状态 | | 🎥 会议 | 创建预约会议、取消会议、更新受邀成员、查询会议列表、获取会议详情 | | 💬 消息 | 会话列表查询、消息记录拉取(文本/图片/文件/语音/视频)、多媒体下载、发送文本 | | 📅 日程 | 日程 CRUD、参与人管理、多成员闲忙查询 | | 📄 文档 | 文档创建/读取/编辑 | | 📊 智能表格 | 智能表格创建、子表与字段管理、表格记录增删改查 |
安装与快速开始
环境要求
- Rust (cargo) 或 Node.js (npm/npx)
- 企业微信机器人的 Bot ID 和 Secret
安装
方式一:使用 cargo 安装(推荐)
# 使用 cargo 安装(推荐)
cargo install wecom-pro
# 静态链接版本(适用于 musl Linux 系统)
cargo install wecom-pro --target x86_64-unknown-linux-musl方式二:使用 npm 安装
# 使用 npm 全局安装
npm install -g @liangdi/wecom-pro
# 使用 npx 直接运行(无需安装)
npx @liangdi/wecom-pro --help方式三:使用 pnpm/yarn 安装
# 使用 pnpm
pnpm add -g @liangdi/wecom-pro
# 使用 yarn
yarn global add @liangdi/wecom-pro~~从 GitHub Releases 下载预编译二进制文件(暂未发布)~~
# ~~Linux(暂未发布)~~
# wget https://github.com/Liangdi/wecom-pro/releases/download/v0.1.0/wecom-pro-linux-x64 -O wecom-pro
# chmod +x wecom-pro
# ~~macOS(暂未发布)~~
# wget https://github.com/Liangdi/wecom-pro/releases/download/v0.1.0/wecom-pro-macos-x64 -O wecom-pro
# chmod +x wecom-pro~~从源码编译(暂未发布)~~
# ~~git clone https://github.com/Liangdi/wecom-pro.git~~
# ~~cd wecom-pro~~
# ~~cargo install --path .~~快速开始
使用 cargo 安装
# 1. 安装 wecom-pro
cargo install wecom-pro
# 2. 查看所有命令帮助(可选)
wecom-pro help-all
# 3. 配置企业微信机器人凭证(交互式,仅需一次)
wecom-pro init
# 或使用非交互式模式(适用于 AI Agent)
wecom-pro init --method manual --bot-id YOUR_BOT_ID --secret YOUR_SECRET
# 4. 调用工具
wecom-pro contact get_userlist '{}'使用 npm/npx 安装
# 1. 安装(或使用 npx 无需安装)
npm install -g @liangdi/wecom-pro
# 2. 查看所有命令帮助(可选)
wecom-pro help-all
# 3. 配置企业微信机器人凭证(交互式,仅需一次)
wecom-pro init
# 或使用非交互式模式(适用于 AI Agent)
wecom-pro init --method manual --bot-id YOUR_BOT_ID --secret YOUR_SECRET
# 4. 调用工具
wecom-pro contact get_userlist '{}'多 Bot 模式
# 1. 初始化多个 Bot
wecom-pro init --bot work
wecom-pro init --bot personal
# 2. 查看已配置的 Bot
wecom-pro bot list
# 3. 使用指定 Bot 调用工具
wecom-pro msg --bot work send_message '{"chat_type": 1, "chatid": "zhangsan", "msgtype": "text", "text": {"content": "工作消息"}}'
wecom-pro todo --bot personal create_todo '{"content": "个人待办", "todo_status": 1}'Agent Skills
| Skill | 品类 | 说明 |
| ----- | ---- | ---- |
| wecomcli-lookup-contact | contact | 通讯录成员查询,按姓名/别名搜索 |
| wecomcli-get-todo-list | todo | 待办列表查询,按时间过滤和分页 |
| wecomcli-get-todo-detail | todo | 待办详情批量查询 |
| wecomcli-edit-todo | todo | 待办创建、更新、删除、状态变更 |
| wecomcli-create-meeting | meeting | 创建预约会议 |
| wecomcli-edit-meeting | meeting | 取消会议、更新受邀成员 |
| wecomcli-get-meeting | meeting | 查询会议列表和详情 |
| wecomcli-get-msg | msg | 会话列表、消息记录、媒体下载、文本发送 |
| wecomcli-manage-schedule | schedule | 日程 CRUD、参与人管理、闲忙查询 |
| wecomcli-manage-doc | doc | 文档创建/读取/编辑 |
| wecomcli-manage-smartsheet-schema | smartsheet | 智能表格子表与字段管理 |
| wecomcli-manage-smartsheet-data | smartsheet | 智能表格记录增删改查 |
命令参考
--help
列出所有支持的命令和品类。
wecom-pro --help输出示例:
Usage: wecom-pro <COMMAND>
Commands:
init 初始化企业微信机器人配置
bot 管理多个 Bot 配置
help-all 显示所有命令的完整帮助信息
contact 通讯录 — 成员查询和搜索
doc 文档 — 文档/智能表格创建和管理
meeting 会议 — 创建/管理/查询视频会议
msg 消息 — 聊天列表、发送/接收消息、媒体下载
schedule 日程 — 日程增删改查和可用性查询
todo 待办事项 — 创建/查询/编辑待办项
Options:
-h, --help Print help
-V, --version Print versionhelp-all
显示所有命令的完整帮助信息,包括 init、bot 和所有业务分类的详细用法。
wecom-pro help-all输出示例:
╔════════════════════════════════════════════════════════════════╗
║ WECOM-PRO 完整命令帮助 ║
╚════════════════════════════════════════════════════════════════╝
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
init - 初始化企业微信机器人配置
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
使用方式:
wecom-pro init [选项]
选项:
-b, --bot <id> 指定初始化的 Bot ID(默认为 default)
--method <method> 初始化方式:qrcode 或 manual(非交互模式)
--bot-id <id> 手动模式:企业微信机器人 Bot ID
--secret <secret> 手动模式:企业微信机器人 Secret
-o, --output <format> 输出格式:json 或 text(默认 text)
示例:
wecom-pro init
wecom-pro init --bot mybot
wecom-pro init --method manual --bot-id xxx --secret yyy
wecom-pro init --method qrcode --output json
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
bot - 管理多个 Bot 配置
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
子命令:
list 列出所有已配置的 Bot
show <id> 显示指定 Bot 的详细信息
remove <id> 删除指定 Bot
示例:
wecom-pro bot list
wecom-pro bot show mybot
wecom-pro bot remove mybot
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
业务命令分类
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
contact - 通讯录 — 成员查询和搜索
wecom-pro contact <method> [json_args] [选项]
wecom-pro contact --help
doc - 文档 — 文档/智能表格创建和管理
wecom-pro doc <method> [json_args] [选项]
wecom-pro doc --help
meeting - 会议 — 创建/管理/查询视频会议
wecom-pro meeting <method> [json_args] [选项]
wecom-pro meeting --help
msg - 消息 — 聊天列表、发送/接收消息、媒体下载
wecom-pro msg <method> [json_args] [选项]
wecom-pro msg --help
schedule - 日程 — 日程增删改查和可用性查询
wecom-pro schedule <method> [json_args] [选项]
wecom-pro schedule --help
todo - 待办事项 — 创建/查询/编辑待办项
wecom-pro todo <method> [json_args] [选项]
wecom-pro todo --help
通用选项:
-b, --bot <BOT> 指定使用的 Bot(默认使用 default)
-h, --help 显示该分类下所有工具的详细信息
示例:
wecom-pro msg list_chat
wecom-pro msg send_text '{"to_chat_id": "xxx", "content": "hello"}'
wecom-pro schedule list --bot mybotinit
配置企业微信机器人凭证,支持交互式和非交互式两种模式,凭证加密存储到本地。
交互式模式(默认)
# 初始化默认 Bot(单 Bot 模式)
wecom-pro init
# 初始化指定 Bot(多 Bot 模式)
wecom-pro init --bot work
wecom-pro init --bot personal交互式模式提供友好的 TUI 引导,支持扫码和手动输入两种方式。
非交互式模式(适用于 AI Agent 和自动化脚本)
非交互式模式通过参数直接提供所有必要信息,无需人工干预。
手动模式:直接提供 Bot ID 和 Secret
# 使用手动模式初始化
wecom-pro init --method manual --bot-id YOUR_BOT_ID --secret YOUR_SECRET
# 初始化指定 Bot
wecom-pro init --bot work --method manual --bot-id YOUR_BOT_ID --secret YOUR_SECRET
# JSON 输出格式
wecom-pro init --method manual --bot-id YOUR_BOT_ID --secret YOUR_SECRET --output json扫码模式:输出二维码 URL,等待扫码完成
# 使用扫码模式初始化
wecom-pro init --method qrcode
# JSON 输出格式
wecom-pro init --method qrcode --output json扫码模式会输出二维码链接,用户打开链接扫码后,工具会自动轮询并完成初始化。
输出格式:
- 文本格式(默认):友好的文本输出
- JSON 格式(
--output json):结构化的 JSON 输出,便于 AI Agent 解析
凭证存储位置:
- 默认 Bot:
~/.config/wecom/bot.enc - 指定 Bot:
~/.config/wecom/bots/{bot_id}.enc
bot
管理多个 Bot 配置。
# 列出所有已配置的 Bot
wecom-pro bot list
# 显示指定 Bot 的详细信息
wecom-pro bot show work
# 删除指定 Bot
wecom-pro bot remove personal品类调用
每个品类作为独立子命令使用。不传方法名时列出该品类下所有可用工具,传方法名时调用指定工具。
单 Bot 模式
# 列出品类下的所有工具
wecom-pro <category>
# 调用品类下的指定工具
wecom-pro <category> <method> [json_args]示例:
# 列出通讯录品类下的工具
wecom-pro contact
# 列出待办品类下的工具
wecom-pro todo
# 调用工具(传 JSON 参数)
wecom-pro contact get_userlist '{}'
# 调用工具(无参数)
wecom-pro contact get_userlist多 Bot 模式
所有品类命令都支持 --bot / -b 参数,用于指定使用的 Bot。
# 使用指定 Bot 调用工具
wecom-pro <category> --bot <bot_id> <method> [json_args]
# 列出指定 Bot 可用的工具
wecom-pro msg --bot work示例:
# 使用 work Bot 发送消息
wecom-pro msg --bot work send_message '{"chat_type": 1, "chatid": "zhangsan", "msgtype": "text", "text": {"content": "工作通知"}}'
# 使用 personal Bot 创建待办
wecom-pro todo --bot personal create_todo '{"content": "个人事项", "todo_status": 1}'
# 使用 work Bot 查询通讯录
wecom-pro contact --bot work get_userlist '{}'
# 使用 personal Bot 管理文档
wecom-pro doc --bot personal create_doc '{"doc_type": 3, "doc_name": "个人笔记"}'品类与能力一览
contact — 通讯录
| 工具 | 说明 |
|------|------|
| get_userlist | 获取当前用户可见范围内的通讯录成员(userid、姓名、别名) |
# 获取全量通讯录成员
wecom-pro contact get_userlist '{}'
# 使用指定 Bot 获取通讯录
wecom-pro contact --bot work get_userlist '{}'todo — 待办
| 工具 | 说明 |
|------|------|
| get_todo_list | 查询待办列表,支持按时间过滤和分页 |
| get_todo_detail | 根据待办 ID 批量查询完整详情 |
| create_todo | 创建待办,可指定内容、分派人、提醒时间 |
| update_todo | 更新待办内容、状态、分派人或提醒时间 |
| delete_todo | 删除待办(不可撤销) |
| change_todo_user_status | 变更当前用户在待办中的状态 |
# 查询待办列表
wecom-pro todo get_todo_list '{}'
# 使用 work Bot 创建待办
wecom-pro todo --bot work create_todo '{"content": "完成Q2规划文档", "remind_time": "2026-06-01 09:00:00"}'
# 使用 personal Bot 创建待办
wecom-pro todo --bot personal create_todo '{"content": "个人学习计划", "todo_status": 1}'
# 批量查询待办详情
wecom-pro todo get_todo_detail '{"todo_id_list": ["TODO_ID_1", "TODO_ID_2"]}'
# 标记待办完成
wecom-pro todo update_todo '{"todo_id": "TODO_ID", "todo_status": 0}'
# 删除待办
wecom-pro todo delete_todo '{"todo_id": "TODO_ID"}'meeting — 会议
| 工具 | 说明 |
|------|------|
| create_meeting | 创建预约会议,支持设置参数、邀请参与人、安全设置 |
| cancel_meeting | 取消指定的预约会议 |
| set_invite_meeting_members | 更新会议受邀成员(全量覆盖) |
| list_user_meetings | 查询用户在时间范围内的会议列表(当日前后 30 天) |
| get_meeting_info | 获取会议完整详情 |
# 查询本周会议
wecom-pro meeting list_user_meetings '{"begin_datetime": "2026-03-23 00:00", "end_datetime": "2026-03-29 23:59", "limit": 100}'
# 使用 work Bot 创建会议
wecom-pro meeting --bot work create_meeting '{"title": "技术方案评审", "meeting_start_datetime": "2026-03-30 15:00", "meeting_duration": 3600, "invitees": {"userid": ["zhangsan", "lisi"]}}'
# 使用 personal Bot 创建会议
wecom-pro meeting --bot personal create_meeting '{"title": "个人学习讨论", "meeting_start_datetime": "2026-03-30 20:00", "meeting_duration": 1800, "invitees": {"userid": ["zhangsan"]}}'
# 获取会议详情
wecom-pro meeting get_meeting_info '{"meetingid": "MEETING_ID"}'
# 取消会议
wecom-pro meeting cancel_meeting '{"meetingid": "MEETING_ID"}'msg — 消息
| 工具 | 说明 |
|------|------|
| get_msg_chat_list | 按时间范围查询有消息的会话列表 |
| get_message | 拉取会话消息记录(支持文本/图片/文件/语音/视频) |
| get_msg_media | 下载消息中的多媒体文件到本地 |
| send_message | 向单聊或群聊发送文本消息 |
# 获取最近一周会话列表
wecom-pro msg get_msg_chat_list '{"begin_time": "2026-03-22 00:00:00", "end_time": "2026-03-29 23:59:59"}'
# 使用 work Bot 发送工作消息
wecom-pro msg --bot work send_message '{"chat_type": 1, "chatid": "zhangsan", "msgtype": "text", "text": {"content": "项目进度更新"}}'
# 使用 personal Bot 发送个人消息
wecom-pro msg --bot personal send_message '{"chat_type": 1, "chatid": "lisi", "msgtype": "text", "text": {"content": "周末聚会安排"}}'
# 拉取聊天记录
wecom-pro msg get_message '{"chat_type": 1, "chatid": "zhangsan", "begin_time": "2026-03-29 09:00:00", "end_time": "2026-03-29 18:00:00"}'
# 下载多媒体文件
wecom-pro msg get_msg_media '{"media_id": "MEDIA_ID"}'schedule — 日程
| 工具 | 说明 |
|------|------|
| get_schedule_list_by_range | 查询时间范围内的日程 ID 列表(当日前后 30 天) |
| get_schedule_detail | 批量获取日程详情(1~50 个) |
| create_schedule | 创建日程,支持设置提醒、参与人 |
| update_schedule | 修改日程(只传需修改的字段) |
| cancel_schedule | 取消日程 |
| add_schedule_attendees | 添加日程参与人 |
| del_schedule_attendees | 移除日程参与人 |
| check_availability | 查询多成员闲忙状态(1~10 人) |
# 查询今天的日程
wecom-pro schedule get_schedule_list_by_range '{"start_time": "2026-03-29 00:00:00", "end_time": "2026-03-29 23:59:59"}'
# 使用 work Bot 创建工作日程
wecom-pro schedule --bot work create_schedule '{"schedule": {"start_time": "2026-03-30 14:00:00", "end_time": "2026-03-30 15:00:00", "summary": "需求评审", "attendees": [{"userid": "zhangsan"}], "reminders": {"is_remind": 1, "remind_before_event_secs": 900, "timezone": 8}}}'
# 使用 personal Bot 创建个人日程
wecom-pro schedule --bot personal create_schedule '{"schedule": {"start_time": "2026-04-05 19:00:00", "end_time": "2026-04-05 20:00:00", "summary": "健身", "reminders": {"is_remind": 1, "remind_before_event_secs": 1800, "timezone": 8}}}'
# 查询闲忙
wecom-pro schedule check_availability '{"check_user_list": ["zhangsan", "lisi"], "start_time": "2026-03-30 09:00:00", "end_time": "2026-03-30 18:00:00"}'doc — 文档
| 工具 | 说明 |
|------|------|
| create_doc | 创建文档(doc_type=3) |
| get_doc_content | 获取文档内容(Markdown 格式,异步轮询) |
| edit_doc_content | 用 Markdown 覆写文档正文 |
# 创建文档
wecom-pro doc create_doc '{"doc_type": 3, "doc_name": "项目周报"}'
# 使用 work Bot 创建工作文档
wecom-pro doc --bot work create_doc '{"doc_type": 3, "doc_name": "工作总结"}'
# 使用 personal Bot 创建个人文档
wecom-pro doc --bot personal create_doc '{"doc_type": 3, "doc_name": "个人笔记"}'
# 读取文档内容(首次调用)
wecom-pro doc get_doc_content '{"docid": "DOC_ID", "type": 2}'
# 读取文档内容(轮询,携带 task_id)
wecom-pro doc get_doc_content '{"docid": "DOC_ID", "type": 2, "task_id": "TASK_ID"}'
# 使用 work Bot 编辑文档内容
wecom-pro doc --bot work edit_doc_content '{"docid": "DOC_ID", "content": "# 项目周报\n\n## 本周进展\n...", "content_type": 1}'doc — 智能表格
| 工具 | 说明 |
|------|------|
| create_doc | 创建智能表格(通过 doc create_doc,doc_type=10) |
| smartsheet_get_sheet | 查询智能表格的所有子表 |
| smartsheet_add_sheet | 添加子表 |
| smartsheet_update_sheet | 修改子表标题 |
| smartsheet_delete_sheet | 删除子表(不可逆) |
| smartsheet_get_fields | 查询子表的字段/列信息 |
| smartsheet_add_fields | 添加字段/列 |
| smartsheet_update_fields | 更新字段标题 |
| smartsheet_delete_fields | 删除字段/列(不可逆) |
| smartsheet_get_records | 查询子表全部记录 |
| smartsheet_add_records | 添加记录 |
| smartsheet_update_records | 更新记录 |
| smartsheet_delete_records | 删除记录(不可逆) |
# 创建智能表格
wecom-pro doc create_doc '{"doc_type": 10, "doc_name": "任务跟踪表"}'
# 查询智能表格子表
wecom-pro doc smartsheet_get_sheet '{"docid": "DOC_ID"}'
# 查询子表字段信息
wecom-pro doc smartsheet_get_fields '{"docid": "DOC_ID", "sheet_id": "SHEET_ID"}'
# 添加子表字段
wecom-pro doc smartsheet_add_fields '{"docid": "DOC_ID", "sheet_id": "SHEET_ID", "fields": [{"field_title": "状态", "field_type": "FIELD_TYPE_SINGLE_SELECT"}]}'
# 查询子表记录
wecom-pro doc smartsheet_get_records '{"docid": "DOC_ID", "sheet_id": "SHEET_ID"}'
# 添加记录
wecom-pro doc smartsheet_add_records '{"docid": "DOC_ID", "sheet_id": "SHEET_ID", "records": [{"values": {"标题": [{"type": "text", "text": "新任务"}]}}]}'
# 更新记录
wecom-pro doc smartsheet_update_records '{"docid": "DOC_ID", "sheet_id": "SHEET_ID", "key_type":"CELL_VALUE_KEY_TYPE_FIELD_TITLE", "records": [{"record_id": "RECORD_ID", "values": {"标题": [{"type": "text", "text": "已更新"}]}}]}'
# 删除记录
wecom-pro doc smartsheet_delete_records '{"docid": "DOC_ID", "sheet_id": "SHEET_ID", "record_ids": ["RECORD_ID"]}'多 Bot 功能
概述
wecom-pro 支持配置多个企业微信机器人,实现工作与个人账号分离,不同业务场景使用不同 Bot。
使用场景
- 工作/个人分离: 使用
workbot 处理工作任务,personalbot 处理个人事务 - 多项目管理: 为不同项目配置专用 bot,实现数据和权限隔离
- 团队协作: 不同团队使用各自的 bot,避免操作冲突
- 环境隔离: 开发、测试、生产环境使用不同的 bot
配置管理
初始化多个 Bot
# 初始化默认 Bot(单 Bot 模式)
wecom-pro init
# 初始化多个 Bot
wecom-pro init --bot work
wecom-pro init --bot personal
wecom-pro init --bot project-a管理 Bot 配置
# 列出所有已配置的 Bot
wecom-pro bot list
# 显示 Bot 详细信息
wecom-pro bot show work
# 删除指定 Bot
wecom-pro bot remove project-a使用方式
基本语法
所有业务命令都支持 --bot / -b 参数:
wecom-pro <category> --bot <bot_id> <method> [json_args]实际示例
# 工作场景 - 使用 work bot
wecom-pro msg --bot work send_message '{"chat_type": 1, "chatid": "zhangsan", "msgtype": "text", "text": {"content": "会议开始提醒"}}'
wecom-pro todo --bot work create_todo '{"content": "提交月度报告", "todo_status": 1, "remind_time": "2026-04-30 17:00:00"}'
wecom-pro meeting --bot work create_meeting '{"title": "周会", "meeting_start_datetime": "2026-04-07 14:00", "meeting_duration": 3600, "invitees": {"userid": ["team"]}}'
# 个人场景 - 使用 personal bot
wecom-pro msg --bot personal send_message '{"chat_type": 1, "chatid": "lisi", "msgtype": "text", "text": {"content": "周末聚餐"}}'
wecom-pro todo --bot personal create_todo '{"content": "买菜", "todo_status": 1, "remind_time": "2026-04-05 18:00:00"}'
wecom-pro schedule --bot personal create_schedule '{"schedule": {"start_time": "2026-04-06 14:00:00", "end_time": "2026-04-06 16:00:00", "summary": "朋友聚会"}}'
# 项目场景 - 使用项目专用 bot
wecom-pro doc --bot project-a create_doc '{"doc_type": 3, "doc_name": "项目A需求文档"}'
wecom-pro doc --bot project-a edit_doc_content '{"docid": "DOC_ID", "content": "# 项目A需求\\n\\n## 功能列表\\n1. ...", "content_type": 1}'配置存储
多 Bot 配置独立存储在:
~/.config/wecom/
├── bot.enc # default bot 的配置
├── bots/ # 其他 bot 的配置目录
│ ├── work.enc
│ ├── personal.enc
│ └── project-a.enc
└── mcp_configs/ # MCP 配置缓存
├── default.enc
├── work.enc
├── personal.enc
└── project-a.enc向后兼容性
多 Bot 功能完全向后兼容:
- ✅ 不指定
--bot参数时,默认使用defaultbot - ✅ 所有现有命令和脚本继续正常工作
- ✅ 渐进式采用,可按需启用多 Bot 功能
技术特性
- 配置隔离: 每个 bot 独立的配置文件和 MCP 缓存
- 加密存储: AES-256-GCM 加密,Keyring 优先
- 原子操作: 文件写入保证原子性,防止数据损坏
- 权限安全: 敏感文件权限设为 0o600
- 跨平台: 支持 macOS/Linux/Windows
项目说明
与原项目的关系
本项目(wecom-pro)是从 WecomTeam/wecom-cli fork 而来,主要增加了以下功能:
- 多 Bot 支持: 可以配置多个企业微信机器人,实现工作与个人账号分离
- 配置隔离: 每个 bot 独立的配置文件和 MCP 缓存
- 更好的灵活性: 支持不同业务场景使用不同的 bot
技术栈
- 语言: Rust
- NPM 包: @liangdi/wecom-pro
- 作者: Liangdi [email protected]
- 仓库: https://github.com/Liangdi/wecom-pro
贡献
欢迎提交 Issue 和 Pull Request!
构建 npm 包
如果您想自己构建 npm 包或贡献代码,请参阅 BUILD_NPM.md 了解详细的构建步骤。
发布到 npm
如果您是维护者,请参阅 PUBLISH_NPM.md 了解如何发布新版本。
快速构建:
# 构建所有平台
./build-npm.sh
# 或使用 npm 脚本
npm run build:npm
# 单独构建某个平台
npm run build:linux
npm run build:darwin-x64
npm run build:darwin-arm64
npm run build:windows发布到 npm:
# 发布所有平台包
npm run publish:all
# 或手动发布
cd packages/linux-x64 && npm publish
cd ../darwin-x64 && npm publish
cd ../darwin-arm64 && npm publish
cd ../win32-x64 && npm publish
cd ../.. && npm publish许可证
本项目基于 MIT 许可证 开源。
