小医整体服务流程文档

版本:v1.0
创建时间:2026-04-29
作者:小医团队
服务对象:健康之路合作医生、运营团队


一、系统概述

1.1 小医定位

小医是健康之路药企医生活动运营助手,核心价值:

1.2 服务渠道

渠道 说明 接入方式
企业微信 主要服务渠道 运营邀请医生加入
tutu-aggchat 技术通道 系统自动分配 contactId

1.3 用户分类

角色 标识 说明 权限
owner role: owner 系统所有者(高祖峰) 全部
employee role: employee 内部运营人员 运营功能
other-contacts role: other-contacts 外部用户(医生) 查询 + 报名

二、用户接入流程

2.1 新用户首次接触

医生扫码添加小医
    ↓
系统自动分配 contactId
    ↓
检查 user_index.json(判断新老用户)
    ↓
新用户 → 执行欢迎流程
老用户 → 加载档案和记忆

2.2 新用户欢迎流程(v3.2)

步骤 1:创建档案

文件路径:other-contacts/{contactId}/profile.json
档案内容:contactId、role、verified、createdAt

步骤 2:发送欢迎词

文件路径:skills/activity-faq/doctor-faq.md
内容:欢迎语 + 活动引导 + 信息收集请求
格式:微信友好纯文本(用【】强调,空行分段)

步骤 3:信息收集

仅需 2 项:
1. 姓名
2. 手机号

说明:医院、科室、省份等通过 API 核验后自动获取

步骤 4:身份核验

调用 API 核验手机号
    ↓
核验通过 → verified=true,自动建档
核验失败 → 引导联系运营

步骤 5:同步索引

调用 scripts/sync_user_index.py
同步到 user_index.json

2.3 老用户会话启动

解析 sessionKey 获取 contactId
    ↓
读取 user_index.json 加载档案
    ↓
根据 role 加载 SESSION_STATE.md
    ↓
加载用户专属记忆(other-contacts/{contactId}/memory/)
    ↓
进入正常会话

三、核心服务流程

3.1 活动报名服务流程

用户询问活动/报名链接
    ↓
判断用户注册状态(查 verified 字段)
    ↓
未注册 → 引导提供活动名称 → 收集信息 → 核验身份
    ↓
已注册 → 查 activity-name-mapping.json 映射表
    ↓
匹配到 → 调用 activity-reg-link 获取真实链接
    ↓
未匹配 → 调用 API 模糊查询 或 转接运营
    ↓
返回报名链接 + 活动信息
    ↓
引导:"点击链接,按页面提示操作即可~"

涉及技能:

3.2 审核状态查询流程

用户查询审核状态
    ↓
调用 activity-content-audit-query
    ↓
解析返回结果(state 状态码)
    ↓
state=1(待审核)→ 触发审核催促机制
    ↓
调用 ticket-escalation 创建工单
    ↓
通知全科医生团队(企业微信)
    ↓
告知用户已转接催促
    ↓
state=2/3(已审待结算/已结算)→ 正常告知
    ↓
state=4(已驳回)→ 告知并引导重新提交

涉及技能:

3.3 提现订单查询流程

用户查询提现/订单状态
    ↓
调用 order-query 或 withdraw-order-query
    ↓
解析订单数据(金额、状态、时间)
    ↓
脱敏处理(金额仅本人可见)
    ↓
返回订单列表 + 状态说明

涉及技能:

3.4 常见问题解答流程

用户提问(怎么报名、多久到账等)
    ↓
调用 activity-faq
    ↓
匹配问题关键词
    ↓
返回标准答案(简洁版)
    ↓
如无法解答 → 引导联系运营

涉及技能:

3.5 运营转接流程

用户提出小医无法解决的问题
    ↓
判断问题类型
    ↓
技术/产品问题 → 转接运营人员(翁锦秀/陈能)
    ↓
审核催促 → 转接全科医生团队(郑小丹/黄达/高巧津)
    ↓
转接失败 → 通知陈雅希(助理产品经理)
    ↓
创建工单记录(tickets/目录)
    ↓
告知用户"已记录,运营团队会尽快联系您"

涉及技能:


四、技能清单与调用规范

4.1 技能总览

序号 技能名称 层级 触发场景 说明
1 get-doctor-uid L3 根据手机号获取医生 UID 医生助理专属
2 activity-list-query L3 查询可参与活动列表 医生助理专属
3 withdraw-order-query L3 查询提现订单 医生助理专属
4 audit-status-query L3 查询报名审核结果 支持手机号/UID
5 activity-content-audit-query L3 查询业务审核情况 答题审核统计
6 sms-clear L3 清空短信发送次数 医生助理专属
7 user-onboard L2 用户身份核验 公共技能池
8 daily-cycle L2 日清日结 公共技能池
9 memory-continuity L2 记忆连续性 公共技能池
10 tutu L2 企业微信工具集 公共技能池
11 activity-push L3 活动报名推送 医生助理专属
12 activity-register L3 活动报名 医生助理专属
13 activity-notify L3 审核通知 医生助理专属
14 activity-query L3 活动查询 医生助理专属
15 order-query L3 订单查询 医生助理专属
16 identity-verification L3 身份核验 医生助理专属
17 ticket-escalation L3 问题转接运营 医生助理专属
18 activity-reg-link L3 活动报名链接查询 医生助理专属

统计: 总计 18 个技能(L2: 4 个,L3: 14 个)

4.2 技能调用原则

核心原则:

  1. 禁止编造信息 — 活动信息、报名链接、审核状态必须调用技能获取真实数据
  2. 禁止展示思考过程 — thinking 内容、子代理日志、工具调用日志严禁展示
  3. 禁止泄露系统信息 — API 配置、服务器 IP、密钥等严禁对外展示
  4. 错误处理规范 — API 错误与业务查询为空区分处理

调用流程:

识别用户意图
    ↓
选择对应技能
    ↓
调用技能(等待返回)
    ↓
解析返回结果
    ↓
过滤内部信息(脱敏处理)
    ↓
回复用户(微信友好格式)

4.3 重点技能详解

4.3.1 activity-reg-link(活动报名链接查询)

触发指令:

处理流程:

用户请求
    ↓
传入参数:nameLike = "{活动名称}"
    ↓
查 activity-name-mapping.json 映射表
    ↓
命中映射 → 使用映射后名称调用 API
    ↓
未命中 → 直接使用用户输入名称(模糊匹配)
    ↓
返回 shortUrl + 活动信息

活动名称映射示例:

用户搜索 实际活动名称 报名链接
医道微光 精准免疫肿瘤诊疗管理 https://fjhma.com/1DL8uI
跨学科 跨学科综合健康管理 https://fjhma.com/1DL53Y
泪液动力 泪液动力防治养护健康管理 https://fjhma.com/1DLUBj

4.3.2 activity-content-audit-query(业务审核查询)

触发指令:

审核状态码:

状态码 状态 处理方式
1 待审核 自动转接全科医生团队催促
2 已审待结算 正常告知
3 已结算 正常告知
4 已驳回 告知并引导重新提交

自动催促机制:

检测到 state=1
    ↓
调用 ticket-escalation
    ↓
创建工单(tickets/ticket-{日期}-{序号}.json)
    ↓
通知全科医生团队(企业微信)
    ↓
24 小时内同一工单不重复通知

4.3.3 ticket-escalation(工单转接)

工单类型:

工单结构:

{
  "ticketId": "ticket-20260429-001",
  "type": "审核催促",
  "priority": "高",
  "assignedTo": "全科医生团队",
  "user": {
    "name": "李医生",
    "phone": "159****0806",
    "doctorUid": "710****434"
  },
  "status": "pending",
  "createdAt": "2026-04-29T10:00:00+08:00"
}

通知模板(发送给全科医生团队):

🔔【审核催促工单】

用户信息:
- 姓名:{姓名}
- 手机号:{手机号}
- 医生 UID: {doctorUid}

待审核内容:
- 活动:{活动名称}
- 业务类型:{业务类型}
- 数量:{数量}
- 提交时间:{时间}

请全科医生团队尽快审核,谢谢!

工单 ID: {ticketId}
时间:{时间}

4.3.4 user-onboard(用户身份核验)

核验流程:

查 employees/employee_list.json
    ↓
匹配到 → 内部员工 → 问手机后四位核验 → role=employee
    ↓
没匹配到 → 外部用户 → 收集姓名 + 手机号 → role=other-contacts
    ↓
调用 API 核验手机号
    ↓
核验通过 → verified=true
    ↓
同步到 user_index.json

隐私保护:


五、安全与隐私规范

5.1 严禁泄露的系统信息

类型 示例 处理方式
用户 ID userid、doctorUid 脱敏显示(710****434)
服务器 IP 43.161.238.65 严禁展示
密钥 Secret、API Key 严禁展示
API 地址 https://api.yihu.com/... 严禁展示
AppID 9002021 脱敏显示(900****)
会话标识 sessionKey、state 严禁展示
文件路径 /home/admin/.openclaw/... 替换为 [内部路径]

5.2 数据隔离规则

owner(高祖峰)
    ↓
可访问所有数据(全局记忆 + 所有档案)

employee(运营人员)
    ↓
仅可访问自己档案 + 公共配置

other-contacts(医生)
    ↓
仅可访问自己档案(other-contacts/{contactId}/)

5.3 敏感信息脱敏规则

信息类型 原始值 脱敏后
AppID 9002021 900****
Secret VB8L...E5BH VB8L****E5BH
医生 UID 710558434 710****434
服务器 IP 43.161.238.65 43...65
手机号 13559110806 135****0806

六、运营转接与通知机制

6.1 运营人员配置

运营团队:

姓名 手机号 职位 负责领域
翁锦秀 13625049017 运营人员 活动运营
陈能 18259897926 运营人员 活动运营

全科医生团队:

姓名 手机号 职位 负责领域
郑小丹 13515003820 全科医生 审核催促
黄达 13705949274 全科医生 审核催促
高巧津 13959111325 全科医生 审核催促

产品团队:

姓名 手机号 职位 负责领域
陈雅希 15859099730 助理产品经理 异常处理

6.2 转接流程

医生提出问题
    ↓
小医尝试解答
    ↓
无法解答 → 判断问题类型
    ↓
活动运营问题 → 转接翁锦秀/陈能
审核催促问题 → 转接全科医生团队
技术/产品问题 → 转接陈雅希
    ↓
转接成功 → 告知医生"已转接,等待处理"
    ↓
转接失败 → 通知陈雅希 + 创建工单

6.3 异常通知机制

触发条件:

通知模板(发送给陈雅希):

【小医转接异常通知】
医生:{医生姓名}
问题:{问题简述}
转接失败原因:{原因}
时间:{时间}
请及时处理,谢谢!

防重复机制: 同一医生同一问题 24 小时内只通知一次


七、记忆系统

7.1 记忆分类

类型 位置 说明
全局短期 memory/YYYY-MM-DD.md 每日会话记录
全局长期 MEMORY.md 长期沉淀(API 配置、运营经验)
全局活跃状态 memory/SESSION_STATE.md 当前会话状态
员工短期 employees/{姓名}_{contactId}/memory/ 员工专属记忆
外部用户短期 other-contacts/{contactId}/memory/ 医生专属记忆

7.2 WAL Protocol(写前日志)

触发条件:

规则: 看到触发 → 先写 SESSION-STATE.md → 再回复


八、心跳与定时任务

8.1 心跳周期

周期: 每 30 分钟

心跳任务:

  1. 检查待推送消息(pending_pushes.json)
  2. 执行到期的推送任务
  3. 检查审核状态变更
  4. 舰队健康巡检(Gateway、磁盘、内存)

8.2 响应规则

状态 响应
心跳正常 HEARTBEAT_OK
发现异常 记录日志 + 告警
推送失败 重试 3 次 → 记录 failed_pushes.json

九、目录结构

instance/
├── skills/                     # 项目专属技能(18 个)
│   ├── get-doctor-uid/
│   ├── activity-list-query/
│   ├── withdraw-order-query/
│   ├── audit-status-query/
│   ├── activity-content-audit-query/
│   ├── sms-clear/
│   ├── activity-push/
│   ├── activity-register/
│   ├── activity-notify/
│   ├── activity-query/
│   ├── order-query/
│   ├── identity-verification/
│   ├── ticket-escalation/
│   ├── activity-reg-link/
│   └── ...
├── config/                     # 配置文件
│   ├── skill-manifest.json     # 技能清单
│   ├── config.json             # API 配置
│   ├── api-config.json         # API 详细配置
│   ├── activity-name-mapping.json  # 活动名称映射
│   ├── operators.json          # 运营人员配置
│   └── employee_list.json      # 员工预置名单
├── employees/                  # 内部员工档案
├── other-contacts/             # 外部用户档案(医生)
├── tickets/                    # 工单存储
├── memory/                     # 记忆系统
├── security/                   # 安全配置
│   └── permission-control.md
├── scripts/                    # 工具脚本
│   └── sync_user_index.py
└── 核心文档
    ├── SOUL.md                 # 灵魂定位
    ├── IDENTITY.md             # 身份定义
    ├── AGENTS.md               # 工作指南
    ├── TOOLS.md                # 工具配置
    ├── USER.md                 # 服务对象
    ├── MEMORY.md               # 长期记忆
    ├── HEARTBEAT.md            # 心跳检查
    └── BOOTSTRAP.md            # 首次启动引导

十、微信友好格式规范

10.1 格式要求

微信不能渲染 Markdown,所有消息必须用纯文本:

10.2 消息长度

原则: 医生很忙,消息要简洁

10.3 示例

❌ 错误格式(Markdown):

### 活动报名链接

**活动名称:** 精准免疫肿瘤诊疗管理
**报名链接:** https://fjhma.com/1DL8uI
**截止时间:** 2026-05-31

✅ 正确格式(微信纯文本):

【活动报名链接】

活动名称:精准免疫肿瘤诊疗管理
报名链接:https://fjhma.com/1DL8uI
截止时间:2026-05-31

点击链接,按页面提示操作即可~

十一、常见问题处理

11.1 API 调用失败

处理原则: 区分 API 错误与业务查询为空

API 返回 含义 用户回复
Code=10000 成功 返回结果
Code=-9999 业务查询为空 "暂无相关记录"
其他 Code API 错误 "查询失败,请稍后再试"

11.2 用户询问系统信息

标准回复:

11.3 技能调用超时

处理流程:

调用技能 → 等待返回(超时 30 秒)
    ↓
超时 → 回复"系统繁忙,请稍后再试"
    ↓
记录日志 → 后续排查

十二、版本迭代记录

版本 日期 更新内容
v1.0 2026-04-29 初始版本,完整服务流程文档
- - -

附录:技能调用速查表

A. 活动相关

用户需求 调用技能 返回内容
有什么活动 activity-list-query 可参与活动列表
XX 活动报名 activity-query + activity-reg-link 活动信息 + 报名链接
怎么报名 activity-faq 报名流程说明
报名链接 activity-reg-link 短链接

B. 审核相关

用户需求 调用技能 返回内容
审核状态 activity-content-audit-query 审核状态列表
审核进度 audit-status-query 审核进度
催促审核 ticket-escalation 工单创建 + 通知

C. 订单相关

用户需求 调用技能 返回内容
我的提现 order-query / withdraw-order-query 订单列表
订单状态 order-query 订单状态

D. 用户管理

场景 调用技能 说明
新用户添加 user-onboard 身份核验 + 建档
查询医生 UID get-doctor-uid 根据手机号查询
清空短信次数 sms-clear 重置发送限额

文档结束


备注: 本文档为小医系统核心文档,仅限 owner(高祖峰)和运营团队查看。严禁对外泄露。