面向医生的 OpenClaw 专业助手: 以临床决策为核心入口,逐步扩展到教学与科研;支持多渠道触达与任务交付回执。
- 提升临床决策效率:把病例信息转成可执行的鉴别诊断与下一步动作。
- 保持医学严谨性:临床场景默认走
strict,明确不确定性与安全边界。 - 保留创新空间:教学/科研场景可走
innovative,输出可验证的新假设。 - 打通交付链路:结果可经飞书、钉钉、邮件、微信、小红书或 WebChat 触达。
flowchart LR
A[医生提出任务] --> B[角色/模式路由]
B --> C[结构化医学推理]
C --> D[行动计划与证据锚点]
D --> E[多渠道交付]
E --> F[任务状态回执与追踪]
flowchart LR
E1[encyclopedia\n查文献/查指南] --> E2[discussion_partner\n复杂病例讨论]
E2 --> E3[trusted_assistant\n交付可执行方案]
E3 --> E4[mentor\n带教与能力提升]
flowchart TD
U[用户请求] --> C{使用场景}
C -->|诊断/治疗/康复| S[strict\n高证据优先]
C -->|教学/科研| I[innovative\n创新假设 + 验证要求]
| 用例 | 输入 | 输出 | 价值 |
|---|---|---|---|
| 复杂临床病例 | 症状、病史、化验、影像摘要 | 鉴别诊断 + 24/72 小时行动计划 + 风险提示 | 缩短决策时间,降低遗漏风险 |
| 规培带教 | 病例主题、教学对象、时长 | 10 页教学骨架 + 提问点 + 常见误区 | 快速形成高质量带教材料 |
| 科研起题 | 研究方向、目标人群、终点 | 文献矩阵草案 + 假设 + 可行性约束 | 降低从 0 到 1 的启动成本 |
graph TD
API[FastAPI API Layer] --> Router[Role/Mode Router]
Router --> Engine[Doctor Assistant Engine]
Engine --> Store[Task Store\nSQLite or Memory]
Engine --> Dispatcher[Channel Dispatcher]
Dispatcher --> Feishu[Feishu]
Dispatcher --> DingTalk[DingTalk]
Dispatcher --> Email[Email SMTP]
Dispatcher --> WeChat[WeChat]
Dispatcher --> XHS[Xiaohongshu]
Dispatcher --> Webchat[WebChat]
sequenceDiagram
participant Doctor as 医生
participant API as API
participant Queue as Async Queue
participant Worker as Worker
participant Store as Task Store
participant Channel as Channel Adapter
Doctor->>API: POST /api/tasks/submit-async
API->>Store: create(status=queued)
API->>Queue: enqueue(task_id)
API-->>Doctor: task_id
Worker->>Queue: consume(task_id)
Worker->>Store: mark_running
Worker->>Worker: execute reasoning
Worker->>Channel: dispatch result
Worker->>Store: mark_completed / mark_failed
Worker-->>Doctor: (optional callback_url)
- 任务执行模式:同步 + 异步
- 任务控制:取消、重试
- 任务状态:
queued/running/completed/failed/cancelled - 可选鉴权:
X-Doctor-Token - 存储后端:
sqlite(默认)/memory - 交付模式:
- 默认构建 payload(安全开发态)
- 可配置开启真实 webhook/SMTP 发送
# 1. 克隆项目
git clone [email protected]:ErinYu/openclaw-for-doctor.git
cd openclaw-for-doctor
# 2. 创建虚拟环境
python3 -m venv .venv
source .venv/bin/activate
# 3. 安装依赖
pip install -r requirements.txt
# 4. 配置环境变量
cp .env.example .env
# 根据需要编辑 .env,配置 OPENCLAW_DOCTOR_API_TOKEN 等选项
# 5. 启动服务
uvicorn app.main:app --reload --port 8010启动成功后访问 http://127.0.0.1:8010/api/health 检查服务状态。
OPENCLAW_DOCTOR_TASK_STORE=sqlite|memoryOPENCLAW_DOCTOR_DB_PATH=./doctor_tasks.dbOPENCLAW_DOCTOR_API_TOKEN=OPENCLAW_DOCTOR_ENABLE_OUTBOUND_SEND=true|falseOPENCLAW_DOCTOR_WEBHOOK_TIMEOUT_SECONDS=5
GET /api/healthPOST /api/tasks/executePOST /api/tasks/submitPOST /api/tasks/submit-asyncPOST /api/tasks/{task_id}/cancelPOST /api/tasks/{task_id}/retryGET /api/tasks/{task_id}GET /api/tasks
同步执行示例:
curl -s -X POST http://127.0.0.1:8010/api/tasks/execute \
-H 'Content-Type: application/json' \
-H 'X-Doctor-Token: your-token-if-configured' \
-d @examples/task_request.json异步执行示例:
curl -s -X POST http://127.0.0.1:8010/api/tasks/submit-async \
-H 'Content-Type: application/json' \
-H 'X-Doctor-Token: your-token-if-configured' \
-d '{
"query":"Need stroke rehab follow-up pathway",
"channel":"feishu",
"use_case":"treatment_rehab",
"callback_url":"https://example.com/task-callback"
}'python3 scripts/doctor_assistant.py \
--query "Complex sepsis differential diagnosis with first-line tests" \
--use-case diagnosis \
--channel webchatdocker compose up --build服务默认启动在 http://127.0.0.1:8010。
- 已提供
SKILL.md(OpenClaw skill 入口) - 已提供脚本入口(便于 OpenClaw
exec调用) - 飞书为官方渠道对齐项;其余渠道以自定义适配器方式接入