# 问题执行清单

> 会话时间：2026-04-27 15:11 ~ 18:48  
> 问题数量：7 个  
> 已解决：5 个 | 待处理：2 个

---

## 问题清单

### 1. 新用户欢迎流程未正确执行

**问题 ID：** #001  
**发现时间：** 17:40  
**用户：** q29m0gev（陈美华）  
**严重级别：** ⚠️ 高

**问题描述：**
新用户首次添加小医后，欢迎词未发送，用户信息未收集，verified=false 状态持续 2 小时。

**根本原因：**
- 渠道未激活（用户未主动发消息）
- 系统未正确识别新用户状态

**执行方式：**
```bash
# 1. 检查用户档案
cat /home/admin/.openclaw/workspace/other-contacts/{contactId}/profile.json

# 2. 标记为待欢迎状态
{
  "status": "pending_welcome",
  "rebuildReason": "新用户欢迎流程未正确执行"
}

# 3. 引导用户主动发消息
# 用户发消息后自动触发欢迎流程
```

**解决状态：** ✅ 已解决（18:15 用户完成核验）

---

### 2. activity-reg-link 接口签名验证失败

**问题 ID：** #002  
**发现时间：** 16:40  
**接口：** `DoctorIncomeUI.UserEnterInfoApi.getPartnerRegistrUrl`  
**严重级别：** 🔴 严重

**问题描述：**
调用报名链接接口返回"签名验证不通过，请检查 secret 是否正确/加密方式是否正确"。

**根本原因：**
api_client.py 中签名计算顺序错误：
- ❌ 错误：先添加 appId，再签名（导致 appId 被重复计算）
- ✅ 正确：先签名，后添加 appId

**执行方式：**
```python
# 修复前（错误）
sign_params['timestamp'] = timestamp
sign_params['appId'] = self.app_id  # ❌ 先添加 appId
sign = create_sign(self.app_id, self.secret, sign_params)
sign_params['sign'] = sign

# 修复后（正确）
sign_params['timestamp'] = timestamp
sign = create_sign(self.app_id, self.secret, sign_params)  # ✅ 先签名
sign_params['appId'] = self.app_id
sign_params['sign'] = sign
```

**修复文件：** `/home/admin/.openclaw/workspace/skills/api_client.py`

**解决状态：** ✅ 已解决（16:52）

---

### 3. API URL 双斜杠问题

**问题 ID：** #003  
**发现时间：** 16:53  
**严重级别：** ⚠️ 中

**问题描述：**
API 请求 URL 出现双斜杠：`.../1.0//DoctorIncomeUI...`

**根本原因：**
```python
# API_BASE_URL 末尾已有 /
API_BASE_URL = "https://api.yihu.com/OpenPlatform/cgiBin/1.0/"

# 拼接时又添加了 /
url = f"{API_BASE_URL}/{api_path}"  # ❌ 导致双斜杠

# 修复
url = f"{API_BASE_URL}{api_path}"  # ✅ 正确
```

**执行方式：**
```bash
# 编辑 api_client.py
sed -i 's|f"{API_BASE_URL}/{api_path}"|f"{API_BASE_URL}{api_path}"|g' skills/api_client.py
```

**解决状态：** ✅ 已解决（16:53）

---

### 4. 企业微信通知发送失败

**问题 ID：** #004  
**发现时间：** 17:06  
**严重级别：** ⚠️ 高

**问题描述：**
通过 message 工具发送企业微信消息返回 500 错误："未找到渠道"。

**根本原因：**
接收方（全科医生团队）虽已建档，但**未主动给小医发消息**，渠道未激活。

**执行方式：**
```bash
# 1. 检查渠道状态
curl -X POST https://tutu-gateway.lovebenefits.com/tutu-api/api/jkzl/mcp/chat/contact/message/send \
  -H "Content-Type: application/json" \
  -d '{"tenant":"jkzl","channelId":"vgw9nk8r","contactId":"{contactId}",...}'

# 返回 "未找到渠道" → 渠道未激活

# 2. 解决方案
# 让接收方主动给小医发微信消息
# 系统自动激活渠道
```

**解决状态：** ⏳ 待处理（等待全科医生团队激活渠道）

---

### 5. 全科医生团队渠道未激活

**问题 ID：** #005  
**发现时间：** 17:22  
**严重级别：** ⚠️ 中

**问题描述：**
全科医生团队（高巧津、黄达、郑小丹）无法接收工单通知。

**人员状态：**
| 姓名 | contactId | 建档 | 渠道激活 |
|------|-----------|------|---------|
| 高巧津 | v18m32zk | ✅ | ❌ |
| 黄达 | q49pp4zk | ❌ | ❌ |
| 郑小丹 | 未建档 | ❌ | ❌ |

**执行方式：**
```bash
# 1. 让全科医生用微信给小医发任意消息
# 如："你好"

# 2. 系统自动激活渠道
# tutu-aggchat 接收消息 → 激活 contactId 渠道

# 3. 验证渠道激活
curl -X POST https://tutu-gateway.lovebenefits.com/tutu-api/api/jkzl/mcp/chat/contact/message/send \
  -d '{"contactId":"v18m32zk",...}'
# 返回成功 → 渠道已激活
```

**解决状态：** ⏳ 待处理（等待医生团队主动发消息）

---

### 6. device identity required 警告

**问题 ID：** #006  
**发现时间：** 17:55  
**严重级别：** ℹ️ 低（配置警告）

**问题描述：**
系统显示"device identity required"，误以为有设备配对申请。

**根本原因：**
配置警告，非实际申请：
```json
{
  "gateway.controlUi.dangerouslyDisableDeviceAuth": true,
  "gateway.controlUi.allowInsecureAuth": true
}
```

**执行方式：**
```bash
# 1. 检查 pending 配对申请
openclaw nodes pending
# 返回：No pending pairing requests.

# 2. 查看网关令牌
cat ~/.openclaw/openclaw.json | jq '.gateway.auth'

# 3. 如需修复配置
nano ~/.openclaw/openclaw.json
# 设置：
# "dangerouslyDisableDeviceAuth": false
# "allowInsecureAuth": false
```

**解决状态：** ✅ 已澄清（非实际问题，是配置警告）

---

### 7. 活动名称映射不完善

**问题 ID：** #007  
**发现时间：** 16:29  
**严重级别：** ⚠️ 中

**问题描述：**
用户搜索"医道微光"等品牌名时，无法匹配系统实际活动名称。

**执行方式：**
```bash
# 1. 创建映射配置文件
cat > /home/admin/.openclaw/workspace/config/activity-name-mapping.json << 'EOF'
{
  "mappings": [
    {
      "keywords": ["医道微光", "精准免疫"],
      "actualName": "精准免疫肿瘤诊疗管理",
      "shortUrl": "https://fjhma.com/1DL8uI"
    }
  ]
}
EOF

# 2. 更新 AGENTS.md
# 添加"活动名称映射规则"章节

# 3. 处理逻辑
# 用户输入 → 匹配 keywords → 使用 actualName 调用 API
```

**解决状态：** ✅ 已解决（18:21 更新完成）

---

## 问题统计

### 按状态分类

| 状态 | 数量 | 占比 |
|------|------|------|
| ✅ 已解决 | 5 | 71% |
| ⏳ 待处理 | 2 | 29% |

### 按严重级别分类

| 级别 | 数量 | 问题 ID |
|------|------|---------|
| 🔴 严重 | 1 | #002 |
| ⚠️ 高 | 2 | #001, #004 |
| ⚠️ 中 | 3 | #003, #005, #007 |
| ℹ️ 低 | 1 | #006 |

### 按类型分类

| 类型 | 数量 | 问题 ID |
|------|------|---------|
| API 接口 | 2 | #002, #003 |
| 渠道激活 | 2 | #004, #005 |
| 用户流程 | 1 | #001 |
| 配置警告 | 1 | #006 |
| 功能优化 | 1 | #007 |

---

## 待处理问题跟进

### #004 企业微信通知发送失败

**责任人：** 全科医生团队  
**预计解决：** 等待医生主动发消息  
 **跟进措施：**
1. 已创建工单 ticket-20260427-001
2. 等待渠道激活后重新发送通知

### #005 全科医生团队渠道未激活

**责任人：** 高巧津、黄达、郑小丹  
**预计解决：** 等待医生主动发消息  
**跟进措施：**
1. 已告知医生团队需要主动发消息
2. 激活后自动可接收通知

---

## 经验总结

### 技术类

1. **签名算法**：必须先签名，后添加 appId/sign 参数
2. **URL 拼接**：注意基础 URL 末尾是否已有 /
3. **渠道激活**：tutu-aggchat 需要用户主动发消息才能激活

### 流程类

1. **新用户欢迎**：必须检测 verified 状态，未验证用户优先发送欢迎词
2. **员工建档**：employee_list 中的人员也需主动发消息才能激活渠道
3. **工单通知**：接收方渠道未激活时，工单创建成功但通知失败

### 文档类

1. **活动名称映射**：品牌名→系统名映射必须维护
2. **用户服务流程**：已整理完整文档（docs/user-service-flow.md）

---

_最后更新：2026-04-27 18:48_
