Current collected state Current
Observed since 20 Oct, 16:22 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
A207 统一身份注入 / 权限矩阵 / 状态路径策略包(Plan A 单一事实源)
A207 统一身份注入 / 权限矩阵 / 状态路径策略包(Plan A 单一事实源)。
13 个 MCP 统一依赖本包,取代原先散落在 M1/M2/M4/M11/M13 的多份权限副本。
from a207_policy import get_caller, enforce_read, enforce_write, LIS_READ_FULL
def get_labs(patient_id: str) -> dict:
caller = get_caller() # 来自 env A207_CALLER,模型碰不到
enforce_read("a207-lis-mcp") # 确定性拒绝越权(fail-closed)
...
A207_CALLER 环境变量由部署配置写入,模型无法自证(修复 P0-1)。from a207_policy import set_caller; set_caller("doctor_assistant")。from a207_policy import resolve_state_path; resolve_state_path("followup_store.json")
落到 A207_DATA_DIR 或系统临时目录,避免只读安装目录崩溃(修复 P1-3)。| 值 | 对应角色 | 能干什么(举例) |
|---|---|---|
doctor_assistant | 医生助手 | 全量读写、写化验、生成报告 |
parent_assistant | 家长助手 | 只看受限视图(没有原始数值) |
nutritionist | 营养师 | 出食谱、算目标 |
child_companion | 患儿伙伴 | 打卡、科普、简单记录 |
orchestrator | 编排层 | 调度所有服务 |
risk_warning | 风险预警 | 发预警通知 |
魔搭社区添加环境变量如下
| 弹窗字段 | 应该填什么 | 详细说明 |
|---|---|---|
| 变量名 | A207_CALLER | (必填) 必须与 Python 代码中 os.environ.get('A207_CALLER') 的键名完全一致 |
| 描述 | 调用方身份标识 | 写给人类看的备注信息,方便你自己或别人理解这个变量是干嘛的 |
| 详细指引 | (可留空) | 如果有特殊格式要求可以写提示,没有就留空 |
| 是否必填 | 建议开启(拨到必填) | 如果缺少这个变量 Python 代码会报错退出,就开启必填 |
| 类型 | string | 保持默认的 string 即可 |
| 测试值 | parent_assistant | (最关键!) 魔搭容器运行时真正注入的值,直接填你的实际业务值 |
| 弹窗字段 | 应该填什么 | 详细说明 |
|---|---|---|
| 变量名 | A207_DATA_DIR | (必填) 必须与 Python 代码中 os.environ.get('A207_DATA_DIR') 的键名完全一致 |
| 描述 | 数据存储路径 | 写给人类看的备注信息,方便你自己或别人理解这个变量是干嘛的 |
| 详细指引 | (可留空) | 如果有特殊格式要求可以写提示,没有就留空 |
| 是否必填 | 建议开启(拨到必填) | 如果缺少这个变量 Python 代码会报错退出,就开启必填 |
| 类型 | string | 保持默认的 string 即可 |
| 测试值 | /data/a207 | (最关键!) 魔搭容器运行时真正注入的值,直接填你的实际业务值 |
但是在云函数条件下,大概率是没有权限写/data目录的,可以改为/tmp/a207
pypistats · 71 observations shown. Missing days are unknown. Source category: overall: without mirrors.
| Date / source period | Value | Observed at |
|---|---|---|
| 2026-10-20 – 2026-10-20 | 21 | 2026-10-21T16:36:42.7503830Z |
| 2026-10-19 – 2026-10-19 | 24 | 2026-10-21T16:36:42.7503830Z |
| 2026-10-18 – 2026-10-18 | 23 | 2026-10-21T16:36:42.7503830Z |
| 2026-10-17 – 2026-10-17 | 26 | 2026-10-21T16:36:42.7503830Z |
| 2026-10-16 – 2026-10-16 | 18 | 2026-10-21T16:36:42.7503830Z |
| 2026-10-15 – 2026-10-15 | 15 | 2026-10-21T16:36:42.7503830Z |
| 2026-10-14 – 2026-10-14 | 45 | 2026-10-21T16:36:42.7503830Z |
| 2026-10-13 – 2026-10-13 | 157 | 2026-10-21T16:36:42.7503830Z |
| 2026-10-12 – 2026-10-12 | 38 | 2026-10-21T16:36:42.7503830Z |
| 2026-10-11 – 2026-10-11 | 89 | 2026-10-21T16:36:42.7503830Z |
| 2026-10-10 – 2026-10-10 | 78 | 2026-10-21T16:36:42.7503830Z |
| 2026-10-09 – 2026-10-09 | 178 | 2026-10-21T16:36:42.7503830Z |
| 2026-10-08 – 2026-10-08 | 35 | 2026-10-21T16:36:42.7503830Z |
| 2026-10-07 – 2026-10-07 | 133 | 2026-10-21T16:36:42.7503830Z |
| 2026-10-06 – 2026-10-06 | 13 | 2026-10-21T16:36:42.7503830Z |
| 2026-10-04 – 2026-10-04 | 2 | 2026-10-21T16:36:42.7503830Z |
| 2026-10-03 – 2026-10-03 | 128 | 2026-10-21T16:36:42.7503830Z |
| 2026-10-02 – 2026-10-02 | 128 | 2026-10-21T16:36:42.7503830Z |
| 2026-10-01 – 2026-10-01 | 8 | 2026-10-21T16:36:42.7503830Z |
| 2026-09-30 – 2026-09-30 | 156 | 2026-10-21T16:36:42.7503830Z |
| 2026-09-29 – 2026-09-29 | 84 | 2026-10-21T16:36:42.7503830Z |
| 2026-09-28 – 2026-09-28 | 34 | 2026-10-21T16:36:42.7503830Z |
| 2026-09-27 – 2026-09-27 | 38 | 2026-10-21T16:36:42.7503830Z |
| 2026-09-26 – 2026-09-26 | 38 | 2026-10-21T16:36:42.7503830Z |
| 2026-09-25 – 2026-09-25 | 50 | 2026-10-21T16:36:42.7503830Z |
| 2026-09-24 – 2026-09-24 | 120 | 2026-10-21T16:36:42.7503830Z |
| 2026-09-23 – 2026-09-23 | 8 | 2026-10-21T16:36:42.7503830Z |
| 2026-09-22 – 2026-09-22 | 22 | 2026-10-21T16:36:42.7503830Z |
| 2026-09-21 – 2026-09-21 | 73 | 2026-10-21T16:36:42.7503830Z |
| 2026-09-20 – 2026-09-20 | 4 | 2026-10-21T16:36:42.7503830Z |
| 2026-09-19 – 2026-09-19 | 21 | 2026-10-21T16:36:42.7503830Z |
| 2026-09-18 – 2026-09-18 | 139 | 2026-10-21T16:36:42.7503830Z |
| 2026-09-17 – 2026-09-17 | 14 | 2026-10-21T16:36:42.7503830Z |
| 2026-09-16 – 2026-09-16 | 138 | 2026-10-21T16:36:42.7503830Z |
| 2026-09-15 – 2026-09-15 | 13 | 2026-10-21T16:36:42.7503830Z |
| 2026-09-14 – 2026-09-14 | 72 | 2026-10-21T16:36:42.7503830Z |
| 2026-09-13 – 2026-09-13 | 10 | 2026-10-21T16:36:42.7503830Z |
| 2026-09-12 – 2026-09-12 | 53 | 2026-10-21T16:36:42.7503830Z |
| 2026-09-11 – 2026-09-11 | 1 | 2026-10-21T16:36:42.7503830Z |
| 2026-09-10 – 2026-09-10 | 2 | 2026-10-21T16:36:42.7503830Z |
| 2026-09-09 – 2026-09-09 | 5 | 2026-10-21T16:36:42.7503830Z |
| 2026-09-08 – 2026-09-08 | 7 | 2026-10-21T16:36:42.7503830Z |
| 2026-09-07 – 2026-09-07 | 14 | 2026-10-21T16:36:42.7503830Z |
| 2026-09-06 – 2026-09-06 | 20 | 2026-10-21T16:36:42.7503830Z |
| 2026-09-05 – 2026-09-05 | 6 | 2026-10-21T16:36:42.7503830Z |
| 2026-09-04 – 2026-09-04 | 125 | 2026-10-21T16:36:42.7503830Z |
| 2026-09-03 – 2026-09-03 | 10 | 2026-10-21T16:36:42.7503830Z |
| 2026-09-02 – 2026-09-02 | 35 | 2026-10-21T16:36:42.7503830Z |
| 2026-09-01 – 2026-09-01 | 74 | 2026-10-21T16:36:42.7503830Z |
| 2026-08-31 – 2026-08-31 | 27 | 2026-10-21T16:36:42.7503830Z |
| 2026-08-30 – 2026-08-30 | 16 | 2026-10-21T16:36:42.7503830Z |
| 2026-08-29 – 2026-08-29 | 210 | 2026-10-21T16:36:42.7503830Z |
| 2026-08-28 – 2026-08-28 | 149 | 2026-10-21T16:36:42.7503830Z |
| 2026-08-27 – 2026-08-27 | 8 | 2026-10-21T16:36:42.7503830Z |
| 2026-08-26 – 2026-08-26 | 73 | 2026-10-21T16:36:42.7503830Z |
| 2026-08-25 – 2026-08-25 | 208 | 2026-10-21T16:36:42.7503830Z |
| 2026-08-24 – 2026-08-24 | 426 | 2026-10-21T16:36:42.7503830Z |
| 2026-08-23 – 2026-08-23 | 1,309 | 2026-10-21T16:36:42.7503830Z |
| 2026-08-22 – 2026-08-22 | 1,748 | 2026-10-21T16:36:42.7503830Z |
| 2026-08-21 – 2026-08-21 | 534 | 2026-10-21T16:36:42.7503830Z |
| 2026-08-20 – 2026-08-20 | 314 | 2026-10-21T16:36:42.7503830Z |
| 2026-08-19 – 2026-08-19 | 866 | 2026-10-21T16:36:42.7503830Z |
| 2026-08-18 – 2026-08-18 | 732 | 2026-10-21T16:36:42.7503830Z |
| 2026-08-17 – 2026-08-17 | 565 | 2026-10-21T16:36:42.7503830Z |
| 2026-08-16 – 2026-08-16 | 995 | 2026-10-21T16:36:42.7503830Z |
| 2026-08-15 – 2026-08-15 | 1,328 | 2026-10-21T16:36:42.7503830Z |
| 2026-08-14 – 2026-08-14 | 890 | 2026-10-21T16:36:42.7503830Z |
| 2026-08-13 – 2026-08-13 | 546 | 2026-10-21T16:36:42.7503830Z |
| 2026-08-12 – 2026-08-12 | 773 | 2026-10-21T16:36:42.7503830Z |
| 2026-08-11 – 2026-08-11 | 1,930 | 2026-10-21T16:36:42.7503830Z |
| 2026-08-10 – 2026-08-10 | 371 | 2026-10-21T16:36:42.7503830Z |
| Version | Published | Direct dependencies | Open version |
|---|---|---|---|
| 0.3.66 | 23 Aug 2026 | 0 |
This describes our collected data; it is not a security assessment.
Observed since 20 Oct, 16:22 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package:2b0df745214bc7397bade12adc5a0293a7fae716ededeb474021afade490732b