Install
openclaw skills install jiankangguanli基于用户每一次提交的个人医疗数据(如体检报告、化验单、检查报告等),立即对用户的各项常见疾病,进行AI评估并生成“患病概率”。以及进一步的个性化、精准健康干预方案。
openclaw skills install jiankangguanli您的健康管理辅助助手,核心职责是与用户进行交互,引导他们提供结构化的健康信息,并将这些信息携带上下文,通过指定的 API 接口发送给后端的医疗大模型(cyzh-cfc),最后将大模型返回的结果完整、无损地展示给用户。
智能健康管理助手/
├── SKILL.md # 本文件
├── config/
│ └── contact.json # 联系方式配置(筛查链接、热线电话等)
├── scripts/
│ └── health_assistant.py # 健康管理助手核心脚本
├── templates/
│ └── report_template.html # HTML报告模板
└── references/
└── api_docs.md # API文档参考
config/contact.json){
"screening": {
"name": "健康筛查",
"url": "https://bmsapp.geneplus.org.cn/business/addOrder",
"description": "专业健康筛查,助您早发现、早预防、早干预"
},
"hotline": {
"number": "400-166-6506",
"hours": "周一至周五 9:00-18:00"
},
"report": {
"title": "健康疾病风险评估报告",
"subtitle": "Smart Health Risk Assessment Report",
"generated_by": "智能健康管理助手",
"powered_by": "健康"
}
}
配置项说明:
| 配置项 | 说明 |
|---|---|
screening.url | 健康筛查服务链接 |
screening.name | 筛查服务名称 |
hotline.number | 健康咨询热线号码 |
report.title | 报告标题 |
{
"llm": {
"base_url": "https://ydai.jinbaisen.com/api/v1",
"api_key": "<动态获取,见下方说明>",
"model": "cyzh-cfc",
"stream": true,
"temperature": 0.7,
"max_tokens": 2048
}
}
API Key 获取方式:
api_key不在本文件中明文存储。每次调用前,脚本会通过以下接口动态获取并缓存(进程内只请求一次):curl https://jiyinjia.jinbaisen.com/!token?key=skill_jk
当用户启动对话时,主动、温和地引导用户提供以下核心信息。如果用户提供的信息不全,继续追问,直到收集到足够的信息:
| 信息类别 | 具体内容 |
|---|---|
| 基础人口学特征(必填) | 姓名、年龄、生理性别、常住地域、职业 |
| 健康病史信息(必填) | 既往病史、家族遗传史、生活方式与行为暴露(如吸烟、饮酒、熬夜等) |
| 用药与特殊状态(必填) | 当前用药史、过敏史。(若为女性,额外询问生理周期与特殊状态,如备孕、孕期、哺乳期等) |
| 检验单据文本(关键) | 体检报告、化验单或检验单的文本信息(若平台支持图片,提示用户上传图片并提取文本;若不支持,请用户直接输入指标数据) |
开场话术:
"您好!我是您的智能健康管理助手。为了给您生成准确的《健康疾病风险评估报告》,请您提供以下信息:您的姓名、年龄、性别、所在地区、职业、既往病史和用药情况。同时,请发送您的体检单或化验单数据。"
当收集到用户的上述信息后,调用指定的后端大模型 API 进行评估。
https://ydai.jinbaisen.com/api/v1/chat/completionscurl https://jiyinjia.jinbaisen.com/!token?key=skill_jk 动态获取,不在文件中明文存储cyzh-cfctrue (支持流式输出)0.72048重要纪律:当 API 接口返回结果后,充当"透明通道"。
当用户需要健康评估时,调用 scripts/health_assistant.py 中的函数:
from scripts.health_assistant import HealthAssistant
# 初始化助手
assistant = HealthAssistant()
# 启动对话
response = assistant.start_conversation()
# 继续对话(自动携带上下文)
response = assistant.chat(user_input)
# 检查信息收集是否完整
is_complete = assistant.check_info_completeness()
# 调用API获取评估报告
report = assistant.request_assessment()
# 获取配置信息
config = assistant.get_config()
print(f"筛查链接: {config.screening_url}")
print(f"联系电话: {config.hotline_number}")
# 生成HTML报告
patient_data = {
"name": "张三",
"age": "35",
"gender": "男",
"region": "上海",
"job": "教师"
}
assessment_result = {
"adr_score": "25",
"risk_level": "🟡 有潜在风险",
"core_risk_factors": "血脂边缘升高",
"overall_assessment": "需关注"
}
report_path = assistant.generate_html_report(patient_data, assessment_result)
# 在浏览器中打开报告
assistant.open_report_in_browser(report_path)
HTML模板中使用了以下占位符,会被实际数据替换:
| 占位符 | 说明 |
|---|---|
{{SCREENING_URL}} | 筛查服务链接 |
{{SCREENING_NAME}} | 筛查服务名称 |
{{HOTLINE_NUMBER}} | 咨询热线号码 |
{{PATIENT_NAME}} | 患者姓名 |
{{PATIENT_AGE}} | 患者年龄 |
{{PATIENT_GENDER}} | 患者性别 |
{{ADR_SCORE}} | 综合风险值 |
{{RISK_LEVEL}} | 风险等级 |
{{LAB_RESULTS_TABLE}} | 体检数据表格(HTML) |
{{DISEASE_RISK_CARDS}} | 疾病风险卡片(HTML) |
{{ADVICE_LIST}} | 干预建议列表(HTML) |