cyl2835

企业微信存档服务

运维安全v1.0.0
作者:cyl2835更新于 2026-05-18wework-archive-service@clawhub_cyl2835/wework-archive-service
日志分析监控告警#会话#微信

据 AlphaMoat 统计,截至 2026-09,企业微信存档服务 累计下载 2,896 次、获 1 个星标,在全部 5,078 个 AI 技能中排名第 3,801 位,在「运维安全」分类(264 个)中排名第 242 位。

累计安装
793
累计下载
2,896
星标
1
全站排名
#3,801
全站前 75% · 「运维安全」前 92%
平台累计安装累计下载星标评论
ClawHub ↗331,233--
SkillHub ↗7932,8961—

各平台的计数口径不同,统计时间不一致。

这个技能是做什么的

包含普通回调服务与会话内容存档两部分,可处理消息接收、用户变更等事件回调,并按合规方式存档和查询会话内容。所有回调 URL 必须用企业已备案的官方域名,用 IP 或临时域名会被拦截。 调用可能会把语音、文件、查询或会话数据发送到第三方服务;提交或分享敏感信息前先确认授权与接收方。

资料发布于 2026-10-27

可以用来做什么

  • 接收企业微信应用的消息回调
  • 按合规要求存档并检索会话内容

什么时候用

  • 要自建企业微信回调服务时
  • 需要留存会话内容备查时

示例提示词

以下是根据技能文档生成的示例,不代表实际运行结果。

帮我起一个企业微信回调服务
配置会话内容存档并查询某段记录

月度数据趋势

累计下载2,896
1,1462,0863,0262026-03 · 累计下载 1,2762026-05 · 累计下载 1,8372026-07 · 累计下载 2,1652026-08 · 累计下载 2,3222026-09 · 累计下载 2,89626-0326-09
星标1
0112026-03 · 星标 -2026-05 · 星标 12026-07 · 星标 12026-08 · 星标 12026-09 · 星标 126-0326-09

2026-09 起统计方法调整:同名技能按作者分别统计,并覆盖全部技能。图中虚线为调整前的月份,与之后的数据不直接比较,也不计算跨越调整的增长。

月份累计下载环比星标
2026-092,896—1
2026-082,322+7.3%1
2026-072,165—1
2026-051,837—1
2026-031,276—-

SKILL.md 原文

以下是作者发布的原始文件,按纯文本显示,本站未做修改或审核;其中的链接不可点击,命令请核实后再运行。抓取于 2026-10-23。

7.0 KB · ClawHub v1.0.0
---
name: wework-archive-service
description: 企业微信整合服务技能 - 包含普通回调和会话内容存档功能
version: 1.0.0
author: OpenClaw Team
license: MIT
triggers:
  - "企业微信"
  - "wework"
  - "会话存档"
展开全部(共 295 行)
  - "回调服务"
  - "企业微信服务"
  - "存档服务"
  - "wework-archive"
  - "企业微信回调"
  - "微信企业版"
  - "corp wechat"
categories:
  - enterprise
  - messaging
  - automation
  - integration
requirements:
  - python3
  - pip3
  - flask
  - pycryptodome
  - requests
ports:
  - 8400
---

# 企业微信存档服务技能

## 功能概述

本技能提供完整的企业微信整合服务,包含两大核心功能:

1. **普通回调服务** - 处理企业微信应用的事件回调(消息接收、用户变更等)
2. **会话内容存档服务** - 合规的企业微信会话内容存档与查询

---
### ⚠️ 核心配置强制注意事项(必须严格遵守)
1. **企业微信回调URL要求**:所有回调URL必须使用企业已备案的官方域名,禁止使用IP地址或临时域名,否则企业微信会拦截回调请求
2. **公网暴露方案**:若部署服务器无固定公网IP,必须使用Cloudflare Tunnel将本地8400端口映射到企业官方域名,确保HTTPS访问正常
3. **IP白名单配置**:必须在企业微信管理后台「应用管理」-「会话内容存档」页面配置服务器出口IP白名单,否则企业微信会拒绝回调请求
---

## 快速开始

### 1. 安装依赖
```bash
# 进入技能目录
cd skills/wework-archive-service

# 安装Python依赖
pip3 install flask pycryptodome requests
```

### 2. 配置企业微信
1. 复制配置文件模板:
   ```bash
   cp config/wework_config_template.json config/wework_config.json
   ```

2. 编辑配置文件 `config/wework_config.json`,填写以下信息:
   - `callback_token`: 企业微信后台 > 应用管理 > 自建应用 > 接收消息 > Token
   - `callback_encoding_aes_key`: 企业微信后台 > 应用管理 > 自建应用 > 接收消息 > EncodingAESKey
   - `corp_id`: 企业ID(我的企业 > 企业信息)
   - `agent_id`: 应用ID(应用管理 > 自建应用)
   - `corp_secret`: 应用Secret(应用管理 > 自建应用)
   - `archive_token`: 会话存档Secret(管理工具 > 会话内容存档 > 开启 > Secret)

### 3. 启动服务
```bash
# 启动服务
./scripts/start_service.sh

# 验证服务状态
./scripts/verify_service.sh

# 停止服务
./scripts/stop_service.sh
```

### 4. 配置企业微信后台
#### 普通回调配置:
1. 进入企业微信后台 > 应用管理 > 自建应用
2. 点击"接收消息" > 设置API接收
3. 填写以下信息:
   - URL: `http://你的域名/callback`
   - Token: 与配置文件中的 `callback_token` 一致
   - EncodingAESKey: 与配置文件中的 `callback_encoding_aes_key` 一致

#### 会话存档配置:
1. 进入企业微信后台 > 管理工具 > 会话内容存档
2. 点击"开启"
3. 配置回调地址:
   - URL: `http://你的域名/archive/callback`
   - Token: 与配置文件中的 `archive_token` 一致

## 服务接口

### 健康检查
- `GET /health` - 服务健康状态
- `GET /archive/health` - 存档服务健康状态

### 回调接口
- `GET /callback` - 企业微信回调验证(普通应用)
- `POST /callback` - 接收企业微信事件消息
- `POST /archive/callback` - 接收会话存档数据

### 查询接口
- `GET /messages` - 查询所有消息
- `GET /messages/<msg_id>` - 查询特定消息
- `GET /messages/user/<user_id>` - 查询用户消息
- `GET /messages/room/<room_id>` - 查询群聊消息

## Cloudflare Tunnel 配置

### 1. 安装 Cloudflare Tunnel
```bash
# macOS
brew install cloudflared

# Linux
curl -L --output cloudflared.deb https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb
sudo dpkg -i cloudflared.deb

# 验证安装
cloudflared --version
```

### 2. 登录 Cloudflare
```bash
cloudflared tunnel login
```
在浏览器中完成认证。

### 3. 创建隧道
```bash
# 创建隧道
cloudflared tunnel create wework-tunnel

# 查看隧道ID
cloudflared tunnel list
```

### 4. 配置路由
```bash
# 创建配置文件
cloudflared tunnel route dns wework-tunnel wework.yourdomain.com

# 或者手动配置DNS
# 在Cloudflare DNS设置中添加CNAME记录:
# wework.yourdomain.com -> <隧道ID>.cfargotunnel.com
```

### 5. 配置隧道
创建配置文件 `~/.cloudflared/config.yml`:
```yaml
tunnel: <隧道ID>
credentials-file: /Users/你的用户名/.cloudflared/<隧道ID>.json

ingress:
  - hostname: wework.yourdomain.com
    service: http://localhost:8400
  - service: http_status:404
```

### 6. 启动隧道
```bash
# 测试配置
cloudflared tunnel ingress validate

# 启动隧道
cloudflared tunnel run wework-tunnel

# 或作为服务运行
cloudflared service install
sudo systemctl start cloudflared
```

### 7. HTTPS设置
Cloudflare Tunnel自动提供:
- 自动HTTPS证书(Let's Encrypt)
- DDoS防护
- Web应用防火墙
- 全球CDN加速

## 数据库管理

### 初始化数据库
服务首次启动时会自动创建SQLite数据库 `wework_combined.db`。

### 数据库结构
- `messages` - 存储所有消息记录
- `attachments` - 存储附件信息
- `users` - 存储用户信息
- `rooms` - 存储群聊信息

### 备份数据库
```bash
# 备份数据库
cp wework_combined.db wework_combined_backup_$(date +%Y%m%d).db

# 使用SQLite工具查看
sqlite3 wework_combined.db
```

## 故障排除

### 常见问题

#### 1. 服务启动失败
```bash
# 检查端口占用
lsof -ti:8400

# 检查Python依赖
python3 -c "import flask, Crypto, requests"
```

#### 2. 企业微信回调验证失败
- 检查Token、EncodingAESKey是否与后台一致
- 检查服务器时间是否同步
- 检查网络连通性

#### 3. Cloudflare Tunnel连接失败
```bash
# 检查隧道状态
cloudflared tunnel info <隧道ID>

# 查看日志
cloudflared tunnel run wework-tunnel --debug
```

#### 4. 数据库问题
```bash
# 修复数据库
sqlite3 wework_combined.db "VACUUM;"

# 检查数据库完整性
sqlite3 wework_combined.db "PRAGMA integrity_check;"
```

### 日志查看
```bash
# 查看服务日志
tail -f wework_service.log

# 查看详细日志
tail -f wework_combined.log
```

## 安全建议

1. **定期更新配置**:
   - 定期更换Token和EncodingAESKey
   - 使用强密码

2. **网络防护**:
   - 使用Cloudflare Tunnel的防火墙规则
   - 限制访问IP(企业微信IP白名单)

3. **数据安全**:
   - 定期备份数据库
   - 加密敏感数据
   - 设置访问权限

4. **监控告警**:
   - 监控服务运行状态
   - 设置磁盘空间告警
   - 监控API调用频率

## 更新日志

### v1.0.0 (2024-03-05)
- 初始版本发布
- 支持企业微信普通回调
- 支持会话内容存档
- 集成线程安全存储
- 提供完整Cloudflare Tunnel配置

## 技术支持

如有问题,请参考:
1. `references/` 目录下的详细文档
2. 企业微信官方文档
3. Cloudflare Tunnel文档
4. 查看日志文件排查问题

## 许可证

MIT License - 详见 LICENSE 文件

「运维安全」分类下的热门技能

数据月份:2026-09 · 下载/星标/安装数聚合自公开技能注册库(ClawHub、SkillHub),按月更新。口径说明见数据方法。