Personal Health Archive Trend
本地运行的成人健康档案趋势分析 Skill,付费解锁高级排版与跨年度对比功能。在用户本地根据提供的体检/住院报告生成结构化档案,通过微信支付按次(5.99 元)完成付费,健康资料全程仅在本地处理,不向任何外部服务器上传。 Skill: Personal Health Archive Trend Owner: williswu Summary: 本地运行的成人健康档案趋势分析 Skill,付费解锁高级排版与跨年度对比功能。在用户本地根据提供的体检/住院报告生成结构化档案,通过微信支付按次(5.99 元)完成付费,健康资料全程仅在本地处理,不向任何外部服务器上传。 Tags: latest:0.1.0 Version history: v0.1.0 | 2026-08-07T08:37:18.750Z | auto - Initial release of "personal-health-archive-trend" (付费解锁版): a local adult health archive trend analysis skill. - Paid features (advanced layout, cross-year comparison)
Rank
62
Safety
84
Downloads
2.4k
Updated
Oct 9, 2026
Version
0.1.0
Source
CLAWHUB
About
What it does, and when to use it.
Capability contract not published. No trust telemetry is available yet. 2.4K downloads reported by the source. Last updated 10/9/2026.
Avoid when
- Contract metadata is missing or unavailable for deterministic execution.
Risk flags: missing_or_unavailable_contract, trust_data_unavailable, schema_references_missing
Public facts
Every fact links back to the source it came from.
- Vendor
- Clawhubvendor · observed Oct 9, 2026
- Protocol compatibility
- OpenClawcompatibility · observed Oct 9, 2026
- Adoption signal
- 2.4K downloadsadoption · observed Oct 9, 2026
- Latest release
- 0.1.0release · observed Aug 7, 2026
- Handshake status
- UNKNOWNsecurity
Install and run
Setup complexity: low.
clawhub skill install s17d5037aa7p5ccwmxhaa5ch1n8c1m7j:personal-health-archive-trend-paid- Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.
- Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.
Contract: missing
curl -s "https://www.xpersona.co/api/v1/agents/clawhub-williswu-personal-health-archive-trend-paid/snapshot"
Documentation
CLAWHUB
15,120 characters of source documentation, loaded on request.
Extracted files
5 files captured from the source.
SKILL.md
---
name: personal-health-archive-trend
description: 本地运行的成人健康档案趋势分析 Skill,付费解锁高级排版与跨年度对比功能。在用户本地根据提供的体检/住院报告生成结构化档案,通过微信支付按次(5.99 元)完成付费,健康资料全程仅在本地处理,不向任何外部服务器上传。
version: 1.0.0
author: 苏州澹宸信息科技有限公司
pricing:
model: per_call
amount_fen: 599 # 单位:分。599 = 5.99 元/次,请在 SkillHub 商家后台填一致价格
---
# 成人健康档案趋势分析(付费解锁版)
## 个人信息保护与授权声明
- 本 Skill 仅在用户本人或已取得明确授权时使用。
- 调用前必须向用户披露处理方式并取得明确同意。
- 所有健康资料**仅在用户本地处理**,不向任何外部服务器上传。
## 付费与接口说明
本 Skill 的高级功能通过微信支付按次计费。付费由运行环境的 `weixinpay` 插件按 X402 协议自动完成。
- 付费校验接口地址(仅用于完成支付,不接收健康资料):
https://mch.1001058.xyz/api/adult/resource
- 该接口通过 **HTTPS/TLS 1.2+** 加密,仅传递付费所需信息(Skill 调用标识与订单信息),**不传递任何健康资料**。
## 调用前确认(必须执行)
调用本 Skill 之前,Agent 必须同时完成以下确认:
1. 确认当前 Agent 已安装 `weixinpay` 插件(未安装则终止)。
2. 向用户披露:「本服务在您本地根据提供的报告生成档案,需通过微信支付完成 5.99 元/次付费以解锁;您的健康资料全程仅在本地处理,不会上传至任何外部服务器。」取得明确同意。
3. 用户拒绝、犹豫或身份不符:终止流程,不再调用接口。
## 功能描述
- **输入**:用户本地的体检/住院报告(文字或 PDF)。
- **处理**:在**本地**完成结构化录入、异常标注、跨年度趋势对比。
- **输出**:结构化成人健康档案(主档、异常标注、趋势对比)。
- **边界**:仅做档案结构化与录入,不做诊断、不解读异常数值的临床意义;医学提醒为通用健康信息,不能替代医生诊断。
## 工作流程
> 说明:本 Skill 的付费校验接口仅做按次计费,所有网络请求由运行环境(Agent + weixinpay 插件)按 X402 付费协议自动完成,无需、也不应手工构造 HTTP 请求。
### 第一步:发起付费校验
在用户确认同意的前提下,运行环境向付费校验接口以 `POST` 方式提交一个 `application/json` 请求体,仅含 Skill 调用标识,例如:
{"skill": "personal-health-archive-trend"}
> 注意:健康资料不进入该请求体,仅在用户本地使用,用于后续本地生成档案。
### 第二步:处理 402 响应(支付由插件完成)
如果接口返回 HTTP 402,`weixinpay` 插件会拦截响应并引导完成支付流程,无需手动调用支付接口。
402 响应中会通过 Header 和 Body 返回支付信息:
- Header `WeixinPay-Required`:支付凭证码(插件用于完成支付)
- Header `X-Out-Trade-No`:商户订单号
> 支付过程由 `weixinpay` 插件处理,Skill 无需关心支付细节。
### 第三步:支付成功后解锁(⚠️ 必须执行)
支付成功后,运行环境**必须**再次向同一接口发起请求以完成解锁。重试要求:
- **JSON body 保持不变**:与首次请求完全一致(仅含 Skill 调用标识)
- **通过 Header 携带支付信息**:将 402 响应中的 `WeixinPay-Required` 和 `X-Out-Trade-No` 原样带在请求 Header 中
接口返回 200 即表示已解锁;随后 Agent **在本地**根据用户资料生成结构化档案并交付。
### 第四步:处理退款响应
如果第三步返回 `"code": "REFUNDED"`,说明服务异常无法提供内容,已自动退款:
- 向用户说明:「抱歉,该服务暂时无法提供内容,已自动退款至原支付账户。」
- **不要**再次尝试支付或重新请求
## 注意事项
1. 必须先确认 `weixinpay` 插件已安装,否则不要进入支付流程
2. 调用前必须向用户披露处理方式、并取得明确同意
3. 收到 402 响应时,支付由 `weixinpay` 插件完成,Skill 无需关心支付细节
4. 支付成功后必须主动发起重试请求,body 保持不变,通过 Header `X-Out-Trade-No` 传递订单号
5. 如果返回 `NOT_PAID`,说明支付尚未完成,请等待后重试
6. 如果返回 `REFUNDED`,说明服务异常已退款,告知用户并终止流程
7. 如果返回 `FULFILL_AND_REFUND_FAILED`,说明服务异常且退款失败,建议用户联系客服README.md
# 个人健康档案与趋势分析(付费解锁版) SkillHub 付费 skill 源码 + 微信支付商户服务器实现。对应 SkillHub 上架项:`@org-vnlatddn/personal-health-archive-trend`(付费解锁版)。 ## 结构 ``` SKILL.md # 付费 skill 定义(即发布到 SkillHub 的内容)。按次计费 5.99 元,本地生成档案、仅付费校验走云端 mch-demo-adult/ # 微信支付商户服务器(部署于 NAS,监听 8081,经 Cloudflare tunnel 暴露为 https://mch.1001058.xyz/api/adult/resource) server.py # 付费校验接口(X402 / WeixinPay-Required 402 流程),不接收健康资料 Dockerfile # 容器化构建 Caddyfile # 反向代理 + TLS 终止 docker-compose.yml # 编排 requirements.txt # Python 依赖 .env.example # 环境变量样例(真实 .env 不入库) .dockerignore 部署-群晖NAS.md # 群晖 NAS 部署说明 部署说明.md # 通用部署说明 ``` ## 部署前准备(本地补齐,不入库) 商户服务器运行需要以下私钥与配置,**不会进入本仓库**,请在各 `mch-demo-adult/` 目录本地放置: - `apiclient_key.pem`、`skillhub_private_key.pem`、`wechat_pub_key.pem`(微信支付 / SkillHub 私钥) - `.env`(参照 `.env.example` 填入 `APP_ID` / `MCH_ID` / `SERIAL_NO` / `SKILLHUB_TOKEN` 等真实值) ## 计费与隐私 - 计费模型:`per_call`,5.99 元/次(SkillHub 商家后台需填一致价格)。 - 健康资料**全程仅在用户本地处理**,付费校验接口仅传递 Skill 调用标识与订单信息,不上传任何健康资料。 - 详见 `SKILL.md` 内的《个人信息保护与授权声明》。 ## 端口 / 连通性 - 本地端口:`8081` - 公网入口:`https://mch.1001058.xyz/api/adult/resource`(Cloudflare tunnel) - 健康档案主项目见 `个人健康档案/健康档案/`
_meta.json
{
"ownerId": "kn76g9kz0gtex6q62a6kbqzmyh8c0jfc",
"slug": "personal-health-archive-trend-paid",
"version": "0.1.0",
"publishedAt": 1786091838750
}mch-demo-adult/部署-群晖NAS.md
# 部署到群晖 NAS(Container Manager + 反代 + 证书)
适用:已有 Synology DS218 / 任意群晖 + 套件中心「Container Manager」。
## ⚠️ 部署前必查(决定能不能成,先确认这 3 条)
1. **有没有公网 IP(最关键)**
- 看路由器 WAN 口 IP,再去 https://www.ip.cn 查到的 IP。两者一致 = 有公网 IPv4。
- 若不一致(运营商给的是内网/大内网 CGNAT),端口转发就废了。解决办法:① 打运营商电话要「公网 IPv4」(多数免费);② 或看光猫/路由器有没有 **IPv6 公网地址**(有就走 AAAA + 防火墙放通);③ 或用 Cloudflare Tunnel / frp 内网穿透(见文末兜底)。
2. **80 / 443 端口能否转发到 NAS**
- 部分家庭宽带封 80,Let's Encrypt 的 HTTP-01 验证需要 80 临时可达。若 80 死活不通,改用 DNS-01 验证(见步骤 3 备选)。
- 443 必须长期可达(回调和买家请求走它)。
3. **域名**
- 没有的话先用群晖免费 DDNS:`xxx.synology.me`(控制面板 → 外部访问 → DDNS 一键申请)。
- 想用自有域名(如 `mch.example.com`):去域名商把 **A 记录**指向你家公网 IP(或 CNAME 到上面的 `xxx.synology.me`)。
另外:给 NAS 在路由器做 **DHCP 保留 / 静态 LAN IP**,不然 LAN IP 一变端口转发就错。
---
## 步骤 1:把 mch-demo 文件夹弄到 NAS 上
你这台 Mac 的工作区本身就是 Synology Drive 同步盘(`SynologyDrive-DS218`),所以最省事的办法:
- 保证 `mch-demo/` 整个目录(含 `server.py` / `Dockerfile` / `docker-compose.yml` / `requirements.txt`)在这个同步盘里——它通常已经自动同步到 NAS 的对应共享文件夹。
- 在 NAS 的 **File Station** 里确认能看到这个目录,记下它的共享文件夹路径(如 `workbuddy/个人健康档案/邬致远健康档案/payskill-build/mch-demo`)。
- **单独把 `.env` 也放进该目录**(它含私钥,未同步的话手动复制过去;Container Manager 的 `env_file: .env` 需要它)。⚠️ `.env` 里有商户私钥和 APIv3 Key,只在你自己 NAS 上存,别同步到第三方。
> 备选:用 SMB / scp 把整个目录传到 NAS 某个共享文件夹也行。
## 步骤 2:Container Manager 起容器
1. 套件中心装 **Container Manager**。
2. 打开 Container Manager → **项目** → **创建**。
3. 项目路径选步骤 1 里那个 `mch-demo` 目录;来源选「Docker Compose 文件」,会自动读到我们的 `docker-compose.yml`。
4. 点「下一步」构建并启动。Container Manager 会在 NAS 上 `docker build` 出 `mch-demo` 镜像,并跑容器,把 **8080** 发布到 NAS 本机。
5. 验证:在 NAS 上 `curl http://localhost:8080/health` 应返回 `ok`(可用 Container Manager 的终端,或 SSH 进 NAS 执行)。
> 若 NAS 上没有 Docker 构建缓存、拉 `python:3.11-slim` 慢,属正常,等几分钟。
## 步骤 3:申请证书(Let's Encrypt)
- **用 synology.me DDNS**:在「外部访问 → DDNS」创建时勾选「从 Let's Encrypt 获取证书」,自动完成。
- **用自有域名**:控制面板 → 安全性 → 证书 → 新增 → 获取 Let's Encrypt 证书,填域名 + 邮箱。
- 默认走 **HTTP-01**:需要 80 端口此刻对外可达(见步骤 5)。
- 若 80 不通:选 **DNS-01**(需你的域名商在 Synology 支持列表里,或手动加 TXT 记录)。
- 把证书**绑定到你的域名**(证书列表里「配置」→ 选该域名)。
## 步骤 4:反向代理(外部 443 → 容器 8080)
控制面板 → 外部访问 → 高级 → 反向代理(或 登录门户 → 高级 → 反向代理,依 DSM 版本):
- **来源**:协议 HTTPS,主机名 = 你的域名(如 `mch.example.com` 或 `mch.xxx.synology.me`),端口 `443`。
- **目的地**:协议 HTTP,主机名 `localhost`,端口 `8080`。
- 保存。这一步让公网 `https://你的域名/` 被群晖用证书解密后,转发给容器里的 `server.py`。
## 步骤 5:路由器端口转发
进你家路由器(光猫/路由器管理页):
- 外部 `443` → NAS 的 LAN IP `443`
- 外部 `80` → NAS 的 LAN IP `80`(仅 Let's Encrypt HTTP-01 验证时需要,验证完可关,但建议常开以免证书续期失败)
## 步骤 6:改 .env 并重启容器
在 NAS 上把 `mch-demo/.env` 里的占位改成真实公网地址,然后重启容器(Container Manager → 项目 → 重新部署 / 容器 → 重启):
```
PAY_NOTIFY_URL=https://<你的域名>/api/pay/notify
REFUND_NOTIFY_URL=https://<你的域名>/api/refund/notify
```
## 步骤 7:验证
- 公网验证(手机切 4G/5G,或用外部机器):
```bash
curl -k https://<你的域名>/health # 期望 ok
curl -k -X POST https://<你的域名>/api/resource -H 'Content-Type: application/json' -d '{"query":"建档"}' # 期望 402 + WeixinPay-Required
```
- 真支付后带 `X-Out-Trade-No` 重试应返回 `200 + content`(之前已本地验证过逻辑)。
---
## 兜底方案(无公网 IP / 端口被封)
- **Cloudflare Tunnel(推荐)**:免费,不用开mch-demo-adult/部署说明.md
# 商户服务端 · 部署公网 HTTPS 说明
## 0. 为什么必须公网 HTTPS
- 微信支付**回调通知**(`PAY_NOTIFY_URL` / `REFUND_NOTIFY_URL`)由微信服务器**主动访问**你的服务端,且必须是公网可访问的 **https** 地址。
- 买家(SkillHub / WorkBuddy)调用你的 `/api/resource` 也必须公网触达,走 https 更安全。
- 结论:`server.py` 要跑在**有公网 IP 的机器**上,前面有**合法 TLS 证书**。
> 注意:WorkBuddy 的「CloudStudio 部署」只支持静态站点,跑不了这个 Python 后端,别走那条路。
## 1. 三种落地方案(任选其一)
| 方案 | 适合 | 成本 | HTTPS 方式 |
|---|---|---|---|
| A. 云服务器 + Caddy | 想稳定、独立可控 | ¥几十/月 | Caddy 自动申请 Let's Encrypt |
| B. 群晖 NAS + 反代 | 已有 NAS、零额外成本 | 0 | 群晖自带反代 + Let's Encrypt |
| C. PaaS(Render / Fly / 腾讯云函数)| 不想管服务器 | 免费~低 | 平台自动 https |
## 2. 通用:构建并运行容器(三种方案都先做这步)
```bash
cd payskill-build/mch-demo
docker build -t mch-demo .
docker run -d --name mch-demo --restart unless-stopped \
--env-file .env -p 8080:8080 mch-demo
curl http://localhost:8080/health # 期望返回 ok
```
或用 docker-compose:`docker compose up -d`。
## 3. 方案 A:云服务器(腾讯云轻量 / CVM)+ Caddy
1. 一台有公网 IP 的轻量服务器,装好 docker。
2. 准备一个域名,把 **A 记录**指向该服务器公网 IP。
3. 安装 Caddy(Debian/Ubuntu):`sudo apt install -y caddy`。
4. 用本目录的 `Caddyfile`,把 `<你的域名>` 改成真实域名。
5. 启动:`sudo systemctl enable --now caddy`(或 `caddy run`)。Caddy 自动申请并续期证书。
6. 验证:`curl https://<你的域名>/health` 应返回 `ok` 且为 https。
## 4. 方案 B:群晖 NAS(Container Manager + 反代)
1. 套件中心装「Container Manager」(Docker)。
2. 在 NAS 上 build 本目录镜像,或用「项目」导入 `docker-compose.yml`(只保留 mch-demo 服务,去掉端口冲突)。
3. 控制面板 → 外部访问 → 反向代理:新增规则,来源 `<你的域名>:443` → 目的地 `localhost:8080`。
4. 同一页「证书」用 Let's Encrypt 给域名签发(需先配好 DDNS / 自有域名 + 验证)。
5. 路由器把 **80/443** 转发到 NAS(或仅 443 + DNS 验证签发证书)。
## 5. 方案 C:PaaS(以 Render 为例)
1. 把 `mch-demo` 目录推到 GitHub 仓库。
2. Render 新建 Web Service,连仓库:Build `pip install -r requirements.txt`,Start `python server.py`,端口 8080。
3. Render 自动给 `*.onrender.com` 发 https;如需自有域名,在 Render 绑定并验证。
4. 其余 PaaS(Fly.io / Railway / 腾讯云函数 SCF+APIGW)同理,函数型需把 `ThreadingHTTPServer` 改为平台 handler。
## 6. 部署后必做
1. 把 `.env` 里两行改成你的真实公网地址,然后重启容器:
```
PAY_NOTIFY_URL=https://<你的域名>/api/pay/notify
REFUND_NOTIFY_URL=https://<你的域名>/api/refund/notify
```
2. 在 SkillHub 商家后台发布团队 Skill:slug 须 = `SKILL_ID`(`pediatric-health-record`),并把服务端地址 `https://<你的域名>/api/resource` 填到对应配置。
## 7. 验证完整链路
```bash
# 首次请求 → 应返回 402 + WeixinPay-Required
curl -X POST https://<你的域名>/api/resource -H 'Content-Type: application/json' -d '{"query":"建档"}'
# 真实支付后带 X-Out-Trade-No 重试 → 应返回 200 + content
curl -X POST https://<你的域名>/api/resource -H 'Content-Type: application/json' \
-H 'X-Out-Trade-No: <支付后的单号>' -d '{"query":"建档"}'
```
## 备注
- `server.py` 用内存 `_orders` 记录订单,单副本足够;多副本需外接 Redis。
- 已修复 `_load_dotenv` 改用脚本所在目录的绝对路径,容器/任意目录运行都能加载 `.env`。
- 真实 `execute_business()` 目前是占位文案,上线前替换为真实 AI 建档逻辑。AionUi
Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!
activepieces
AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents
cherry-studio
AI productivity studio with smart chat, autonomous agents, and 300+ assistants.
CopilotKit
The Frontend for Agents & Generative UI. React + Angular
Machine-readable data
The same record, as JSON, for agents and crawlers.
{
"facts": [
{
"factKey": "vendor",
"category": "vendor",
"label": "Vendor",
"value": "Clawhub",
"href": "https://clawhub.ai/williswu/skills/personal-health-archive-trend-paid",
"sourceUrl": "https://clawhub.ai/williswu/skills/personal-health-archive-trend-paid",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-10-09T15:28:44.615Z",
"isPublic": true
},
{
"factKey": "protocols",
"category": "compatibility",
"label": "Protocol compatibility",
"value": "OpenClaw",
"href": "https://www.xpersona.co/api/v1/agents/clawhub-williswu-personal-health-archive-trend-paid/contract",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-williswu-personal-health-archive-trend-paid/contract",
"sourceType": "contract",
"confidence": "medium",
"observedAt": "2026-10-09T15:28:44.615Z",
"isPublic": true
},
{
"factKey": "traction",
"category": "adoption",
"label": "Adoption signal",
"value": "2.4K downloads",
"href": "https://clawhub.ai/williswu/personal-health-archive-trend-paid",
"sourceUrl": "https://clawhub.ai/williswu/personal-health-archive-trend-paid",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-10-09T15:28:44.615Z",
"isPublic": true
},
{
"factKey": "latest_release",
"category": "release",
"label": "Latest release",
"value": "0.1.0",
"href": "https://clawhub.ai/williswu/personal-health-archive-trend-paid",
"sourceUrl": "https://clawhub.ai/williswu/personal-health-archive-trend-paid",
"sourceType": "release",
"confidence": "medium",
"observedAt": "2026-08-07T08:37:18.750Z",
"isPublic": true
},
{
"factKey": "handshake_status",
"category": "security",
"label": "Handshake status",
"value": "UNKNOWN",
"href": "https://www.xpersona.co/api/v1/agents/clawhub-williswu-personal-health-archive-trend-paid/trust",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-williswu-personal-health-archive-trend-paid/trust",
"sourceType": "trust",
"confidence": "medium",
"observedAt": null,
"isPublic": true
}
],
"events": [
{
"eventType": "release",
"title": "Release 0.1.0",
"description": "- Initial release of \"personal-health-archive-trend\" (付费解锁版): a local adult health archive trend analysis skill. - Paid features (advanced layout, cross-year comparison) require WeChat Pay (5.99元/次), processed entirely on the user's device. - No health data is ever uploaded—processing and analysis remain strictly local. - Enforced user consent, local-only data handling, and plugin installation required before activation. - Robust payment workflow detailed; includes handling for payment, unlock, and automatic refunds in case of exceptions.",
"href": "https://clawhub.ai/williswu/personal-health-archive-trend-paid",
"sourceUrl": "https://clawhub.ai/williswu/personal-health-archive-trend-paid",
"sourceType": "release",
"confidence": "medium",
"observedAt": "2026-08-07T08:37:18.750Z",
"isPublic": true
}
]
}Record generated Oct 10, 2026.
