学术推广资料审核

Polar Sponsor
爱发电 赞助
.NET 9.0

医药行业学术推广资料(DA)合规审核技能。通过三道防线审核流程(内容红线筛查 → 利益冲突声明 → 分发轨迹留痕), 覆盖医学合规、广告法合规、反不正当竞争合规三个维度共 24 个检查项, 为医药企业市场部/医学事务部提供专业的 DA 印前合规审核服务。 触发词:学术推广审核、DA审核、推广资料合规、学术资料审核、药品广告审查、 推广DA审核、医药推广合规检查。 适用场景: 处方药学术推广资料(DA)印刷前的合规审核 科室推广材料、学术会议资料的合规审查 医学撰写公司提交的 DA 样稿质量把关 各类学

学术推广资料审核

功能概述

学术推广资料审核是一项面向实际任务的技能,主要用于Python 环境检测(必须最先执行);执行任何 Python 脚本前, 先静默检测,成功则直接执行,失败才报告;

核心要点

  • 检测与执行流程;
  • PYTHON_CMD 有值 + 版本 OK;
  • ✅ 直接执行 $PYTHON_CMD scripts/auth.py ...;

使用与执行

PYTHON_CMD 有值 + 版本低;⚠️ 报告(见下方模板);PYTHON_CMD 为空;用户可能提供全路径 :。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。

结果检查与注意事项

实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。

学术推广资料审核

Python 环境检测(必须最先执行)

执行任何 Python 脚本前,先静默检测,成功则直接执行,失败才报告。

检测与执行流程

# 1. 按优先级检测可用的 Python 命令(静默,不展示给用户)
PYTHON_CMD=""
for cmd in python3 python; do
    command -v "$cmd" &> /dev/null && PYTHON_CMD="$cmd" && break
done
# Windows Python Launcher
[ -z "$PYTHON_CMD" ] && command -v py &> /dev/null && py -3 --version &> /dev/null && PYTHON_CMD="py -3"
# Windows 常见安装路径
[ -z "$PYTHON_CMD" ] && for p in "/c/Users/"*"/AppData/Local/Programs/Python/Python3"*/python.exe "/c/Python3"*"/python.exe"; do
    [ -x "$p" ] && "$p" --version &> /dev/null && PYTHON_CMD="$p" && break
done
# macOS/Linux 常见路径
[ -z "$PYTHON_CMD" ] && for p in /usr/local/bin/python3 /opt/homebrew/bin/python3 /usr/bin/python3 /usr/bin/python; do
    [ -x "$p" ] && "$p" --version &> /dev/null && PYTHON_CMD="$p" && break
done

# 2. 检查版本 >= 3.8
[ -n "$PYTHON_CMD" ] && ! "$PYTHON_CMD" -c "import sys; sys.exit(0 if sys.version_info >= (3,8) else 1)" 2>/dev/null && PYTHON_VERSION_LOW=true

# 3. 根据结果决定下一步

结果处理

结果 处理
PYTHON_CMD 有值 + 版本 OK ✅ 直接执行 $PYTHON_CMD scripts/auth.py ...
PYTHON_CMD 有值 + 版本低 ⚠️ 报告(见下方模板)
PYTHON_CMD 为空 ⚠️ 报告(见下方模板)

用户可能提供全路径:如果用户告知 Python 已装但检测不到,直接用用户给的路径执行。

错误报告模板

Python 未找到:

⚠️ Python 环境未配置,无法执行授权脚本。

【需要你完成】
1. 安装 Python 3.8+(安装时勾选「Add Python to PATH」)
2. 或告诉我 Python 的安装路径,我用全路径执行

【在此之前】本次任务无法继续。

Python 版本过低:

⚠️ Python 版本过低(当前:$PYTHON_VERSION,要求:3.8+)。

【需要你完成】升级 Python 到 3.8+,或告诉我 Python 安装路径。

【在此之前】本次任务无法继续。

Windows 特殊情况

python 命令可能打开 Microsoft Store 而非执行 Python。解决方案:

  • 使用 py -3 启动器(推荐)
  • 或设置 → 应用 → 应用执行别名 → 关闭 python.exe/python3.exe

授权要求

本 Skill 是受保护能力。每次使用前必须先完成授权检查,授权通过后才能继续执行本 Skill 的任何工作流。

授权逻辑全部由 scripts/auth.py 处理,包含本地凭证缓存、WorkBuddy 用户绑定、平台授权校验和错误信号输出。不要在 SKILL.md 中手动解析 JWT、拼接 AppKey/AppSecret 或调用绑定接口。

强制授权流程

前置条件:必须先完成上方「Python 环境检测」章节,获取可用的 Python 命令($PYTHON_CMD)。所有 python3 命令都必须替换为检测到的命令。

授权脚本会优先读取包内 _meta.json 的 slug 作为服务端 skillCode。slug 必须是平台维护的技能编号,例如 BT_XSTGZLSH_20260613,不是 Skill 展示名称。只有包内缺少 _meta.json 时,才需要手动传 --skill-code。

  1. 先执行授权检查:
$PYTHON_CMD scripts/auth.py --ensure
  1. 如果输出 AUTH_OK,说明授权通过,可以继续执行本 Skill。

  2. 如果输出 AUTH_REQUIRED、AUTH_INVALID、CREDENTIALS_MISSING 或 CREDENTIALS_INVALID:

    • 必须立即调用 WorkBuddy 的 connect_cloud_service 工具获取当前登录用户 JWT(⚠️ WorkBuddy 可能因场景限制不会自动执行,你必须主动调用,不得跳过或假设用户已完成)。
    • 将 JWT 交给授权脚本完成绑定:
$PYTHON_CMD scripts/auth.py --bind-jwt ""
  1. 绑定成功输出 AUTH_BIND_OK 后,重新执行授权检查:
$PYTHON_CMD scripts/auth.py --ensure
  1. 仍未输出 AUTH_OK 时停止使用本 Skill,并按下方 鉴权失败时必须向用户报告 章节输出明确报告。

  2. 授权通过后,必须获取云端 protected 内容:

$PYTHON_CMD scripts/protected.py
  1. 只有当 scripts/protected.py 成功返回 protected instructions 时,才能严格按照返回内容继续执行本 Skill。未拿到 protected instructions 时必须停止,不得凭本地提示或历史上下文继续生成。

不要向用户展示或提及 AppKey / AppSecret 的具体内容。不要把 AppKey / AppSecret 明文拼接到业务命令、环境变量或回复中。

🗣️ 鉴权失败时必须向用户报告(强制)

当 auth.py --ensure、auth.py --bind-jwt 或 protected.py 返回任何非成功状态时,严禁静默重试、静默降级、或继续业务推理。必须立即停下手头工作,按下方模板向用户输出明确的中文提示,告知发生了什么、需要做什么。

实际信号与场景对照

scripts/auth.py 实际输出的信号只有 5 种,业务错误细节通过 stderr 给出,必须同时观察 stdout 信号 + stderr 文本:

stdout 信号 含义 典型 stderr 关键字
AUTH_OK 通过 (无)
AUTH_REQUIRED + CREDENTIALS_MISSING 本地无凭证缓存 (无)
AUTH_INVALID + CREDENTIALS_INVALID 凭证或远程校验失败 HTTP 401 / authorization failed / network error / remote authorization check failed
AUTH_BIND_OK 绑定成功 (无)
AUTH_INVALID(仅 --bind-jwt 失败) 绑定流程异常 bind failed: code=..., msg=...

报告输出模板

⚠️ 鉴权未通过,无法继续执行业务。

【接口返回】
{命令名(auth.py --ensure / auth.py --bind-jwt / protected.py)}:{stdout 信号}
{stderr 关键行原样转述,不要改写}

【需要你完成以下步骤】
1. {第一步具体操作}
2. {第二步具体操作}
3. {第三步具体操作(如有)}

【在此之前】
本次的「{业务任务名}」无法继续,我不会基于猜测产出结果。完成上述步骤后请告诉我,我会重新执行 --ensure。

场景示例

场景 A · CREDENTIALS_MISSING(首次使用,本地无凭证)

stdout:AUTH_REQUIRED + CREDENTIALS_MISSING 触发:~/.workbuddy/skill_auth/BT_XSTGZLSH_20260613.json 不存在。

⚠️ 鉴权未通过,无法继续执行业务。

【接口返回】
auth.py --ensure:AUTH_REQUIRED / CREDENTIALS_MISSING
(本地未找到本 Skill 的凭证缓存:~/.workbuddy/skill_auth/BT_XSTGZLSH_20260613.json)

【需要你完成以下步骤】
1. 我会立即调用 WorkBuddy 的 connect_cloud_service 工具获取当前登录用户 JWT(⚠️ 不会等待自动触发,我会主动调用)
2. 拿到 JWT 后自动执行 $PYTHON_CMD scripts/auth.py --bind-jwt "" 完成绑定($PYTHON_CMD 为检测到的 Python 命令,如 python/python3/py)
3. 绑定成功(AUTH_BIND_OK)后我会重新执行 --ensure

【在此之前】
本次的「{业务任务名}」无法继续,我不会基于猜测产出结果。

场景 B · CREDENTIALS_INVALID(凭证存在但服务端拒绝)

stdout:AUTH_INVALID + CREDENTIALS_INVALID stderr 包含:HTTP 401 / authorization failed: code=..., msg=签名已过期。

⚠️ 鉴权未通过,无法继续执行业务。

【接口返回】
auth.py --ensure:AUTH_INVALID / CREDENTIALS_INVALID
stderr:[auth] remote authorization check failed: HTTP 401: {"code":401,"msg":"签名已过期"}

【需要你完成以下步骤】
1. 本地缓存的 AppKey/AppSecret 可能已被服务端重置或已过期
2. 我会立即调用 WorkBuddy 的 connect_cloud_service 获取新 JWT(⚠️ 不会等待自动触发,我会主动调用)
3. 拿到新 JWT 后自动重新绑定(会覆盖旧缓存),随后重新执行 --ensure

【在此之前】
本次的「{业务任务名}」无法继续。

场景 C · 绑定接口返回业务错误(手机号未注册 / skillCode 不存在 / 被禁用)

stdout:AUTH_INVALID(仅在 --bind-jwt 路径) stderr 包含:[auth] bind failed: code=500, msg=...。

⚠️ 鉴权未通过,无法继续执行业务。

【接口返回】
auth.py --bind-jwt:AUTH_INVALID
stderr:[auth] bind failed: code=500, msg=该手机号未在百通服务平台注册
(这是百通服务平台 /api/skill/bind 返回的明确业务错误,不是网络问题;WorkBuddy 只负责提供登录 JWT,账号开通/skill 授权归属百通服务平台)

【需要你完成以下步骤】
1. 前往百通服务平台注册/开通账号:https://s.1100111.cn (手机号需与 WorkBuddy 登录手机号一致,例如 138****0000)
2. 或联系管理员核实 skillCode "BT_XSTGZLSH_20260613" 是否对你的账号开放
3. 处理完成后告诉我,我会重新执行绑定流程

【在此之前】
本次任务无法继续。

场景 D · 网络错误(服务端不可达)

stdout:AUTH_INVALID + CREDENTIALS_INVALID stderr 包含:network error: ... 或 non-JSON response: ...。

⚠️ 鉴权未通过,无法继续执行业务。

【接口返回】
auth.py --ensure:AUTH_INVALID / CREDENTIALS_INVALID
stderr:[auth] remote authorization check failed: network error: 
(连接 https://s.1100111.cn/baitong_ai/api/skill/verify 超时 / DNS 失败 / 连接被拒)

【需要你完成以下步骤】
1. 检查本机网络是否正常
2. 确认是否需要走 VPN / 公司内网
3. 服务端确认在线后,告诉我重试,我会重新执行 --ensure

【在此之前】
本次任务无法继续,已停止推理避免产出未经鉴权的结果。

场景 E · 远程授权校验失败(VIP 过期 / 权限不足)

stdout:AUTH_INVALID + CREDENTIALS_INVALID stderr 包含:remote authorization check failed: authorization failed: code=..., msg=VIP_EXPIRED。

⚠️ 鉴权未通过,无法继续执行业务。

【接口返回】
auth.py --ensure:AUTH_INVALID / CREDENTIALS_INVALID
stderr:[auth] remote authorization check failed: authorization failed: code=403, msg=VIP_EXPIRED
(凭证本身有效,但服务端判定当前账号无权使用本 Skill)

【需要你完成以下步骤】
1. 前往百通服务平台续费 VIP 或升级权限等级:https://s.1100111.cn
2. 续费完成后告诉我「已续费」,我会重新执行 --ensure
3. 若你认为不应出现此提示,请联系管理员核实 skillCode "BT_XSTGZLSH_20260613" 的权限配置

【在此之前】
本次的「{业务任务名}」无法继续,本 Skill 需要有效 VIP 才能使用。

报告原则(必须遵守)

⛔ 禁止行为 ✅ 必须行为
静默重试 / 不告知用户就反复尝试 第一次失败立即向用户输出报告模板
用"系统繁忙、稍后再试"等模糊提示糊弄 原样转述 stdout 信号与 stderr 关键行
跳过鉴权直接产出业务结果 鉴权失败立即停止业务推理
自行决定"用户应该重启 / 清缓存 / 重装" 给出明确的 1/2/3 步操作清单
暴露 AppKey / AppSecret 明文 错误码与错误消息原样展示,密钥相关字段必须打码(如 app_key=abc****)
把网络错误当成凭证错误处理 根据 stderr 关键字区分网络问题与鉴权问题,给出不同处理建议

⛔ 特别警告:绝不允许出现「鉴权失败,但我仍按业务流程产出了一份结果,并在末尾轻描淡写地说一句『另外鉴权好像有点问题』」。鉴权门禁与业务输出是互斥关系:鉴权未通过 = 业务输出禁止。

鉴权错误重试上限

当 --ensure 或后续业务请求出现以下情况时,说明本地缓存凭证已失效或不存在,按上方流程重新走一次绑定,完成后必须重新 --ensure 拿到 AUTH_OK 才能继续业务:

触发条件 说明
stdout 含 CREDENTIALS_MISSING 本地无缓存凭证
stdout 含 CREDENTIALS_INVALID 凭证或远程校验失败
stderr 含 HTTP 401 / HTTP 403 签名过期或权限不足
stderr 含 authorization failed 服务端鉴权拒绝
stderr 含 sign / 签名 / 认证 / 鉴权 鉴权类错误关键字
protected.py 退出码非 0 且 stderr 提示鉴权类错误 受保护内容拉取被拒

最多重试 1 次。两次失败说明是服务端问题,告知用户"数据服务暂时不可用",停止重试,不得再次尝试任何业务推理。

相关专题

更多
Postman身份认证怎么配置
Postman身份认证怎么配置

本专题从实际API接口调试场景出发,讲解Postman身份认证的完整配置流程,包括常见认证协议介绍、授权参数设置、访问令牌填写、OAuth 2.0授权及认证失败排查,帮助用户正确完成接口授权与访问验证。

2026.11.06

0

12

Postman请求头Headers怎么设置
Postman请求头Headers怎么设置

围绕Postman HTTP请求头配置展开,讲解Headers选项的具体使用方式,包括Key和Value参数填写、请求头信息添加、常见Header字段设置及请求头修改方法,帮助用户解决接口调试过程中遇到的请求头配置问题。

2026.11.06

0

13

Postman接口请求发送教程
Postman接口请求发送教程

详细介绍Postman接口请求的创建与发送方法,涵盖GET和POST请求、URL配置、请求参数、Headers请求头、Body请求体设置以及响应结果查看,帮助用户掌握Postman接口请求的完整操作流程。

2026.11.06

0

10

DBeaver怎么导入数据
DBeaver怎么导入数据

DBeaver数据导入专题,整理Excel、CSV、SQL、TXT等常见文件的数据导入方法,涵盖目标数据库选择、数据表创建、字段映射、数据类型设置及导入参数配置等操作,帮助用户将本地文件中的数据写入数据库,并了解批量导入、重复数据处理和导入失败等常见问题的解决方法。

2026.11.05

0

12

DBeaver安全防护教程大全
DBeaver安全防护教程大全

DBeaver安全防护专题,围绕数据库连接安全、账号密码保护和访问权限管理展开,整理SSL/TLS加密连接、SSH隧道、数据库凭据保存及证书验证等配置方法,同时介绍敏感信息保护、远程连接风险和高权限账号使用等注意事项,帮助用户提高数据库日常管理的安全性。

2026.11.05

0

12

DBeaver连接创建与配置教程
DBeaver连接创建与配置教程

本专题聚焦DBeaver数据库连接配置与管理,覆盖从新建连接、选择数据库类型到填写连接参数和验证连接的完整流程。针对MySQL、PostgreSQL、SQL Server等常见数据库,整理相应的连接设置方法,并提供驱动缺失、认证失败和连接异常等问题的排查方向。

2026.11.04

0

16

XORM框架结构体映射与表结构同步
XORM框架结构体映射与表结构同步

本专题围绕XORM框架的结构体映射展开,说明表名与字段的命名策略、xorm标签常用属性、主键自增与时间字段自动填充,并演示Sync2自动建表、增量字段升级、索引声明与反向生成结构体的完整流程。

2026.11.04

0

15

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

2026.11.04

0

15

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

2026.11.04

0

16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 134.1万人学习