360 Secure SkillHub
360 安全技能中心

qingtian-psyche-scale-assessment

覆盖19个常用心理自评量表,按量表JSON呈现题目并收集作答,自动完成正向/反向计分、维度聚合与判级,生成中文HTML报告;触发危机题时优先展示求助资源,明确不诊断、不开药、不替代专业服务。

wangdaozhenren
wangdaozhenren
热度 16.20
最近更新 2026-09-17 02:02:31
分类:生活依赖:代码执行 / 读写文件 / 联网浏览搜索应用场景:健康 / 数据处理 / 报告撰写 / 工作流

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add qingtian-psyche-scale-assessment
Metadata
name
qingtian-psyche-scale-assessment
displayName
青田心理量表测评与报告生成
slug
qingtian-psyche-scale-assessment
summary
数据驱动的心理自评量表测评引擎,覆盖19个市场常用成熟量表,自动计分、判级、生成中文报告,含危机干预护栏。
description
心理量表测评与报告生成器。当用户想做心理自评筛查(抑郁/焦虑/压力/睡眠/正念/自尊/职业倦怠/依恋等)、运行某个具体量表(如 PHQ-9、GAD-7、MAAS、PSS-10、SCL-90)、或生成一份测评报告时使用。本技能采用"量表即数据"架构:所有量表存于 scales/ 目录的 JSON 文件,scoring_engine.py 通用计分(支持正向/反向计分、子量表维度聚合、标准分换算、判级、危机检测),report_generator.py 渲染中文 HTML 报告(自包含、已美化)。覆盖 19 个临床与科普常用的成熟量表,不诊断、不开药、不治疗、不替代专业服务,含最高优先级的危机干预护栏。
version
0.1.0
tags
["心理测评","心理量表","自评筛查","计分引擎","报告生成","正念评估","抑郁焦虑"]
license
自评筛查辅助工具,不替代专业诊断;量表版权见 references/scale_authority.md
agent_created
true

青田心理量表测评与报告生成

数据驱动的心理量表测评引擎 —— 给一份量表,收一份作答,出一份报告。

加载策略:本文件始终加载;量表数据按需读取 scales/<id>.json;安全护栏在检测到危机信号时立即加载(见第七节)。references/safety_protocol.md 与 references/scale_authority.md 为最高优先级约束文档。


零、启动引导语(用户输入「启动」时首先输出)

触发:用户输入「启动」「开始」「start」等激活词时,首先输出下方引导语(不要直接跳到题目),再进入「三、量表库」让用户选择量表。 引导语是固定开场,目的是让用户知情、自愿参与并清楚边界;输出后停留等待用户选择,不要自作主张开始某个量表。

以下是引导语(可逐字输出,亦可按语气微调,但必须包含 ① 询问困扰并承诺推荐 ② 允许直接指明想测的量表 ③ 一句安全须知(非诊断) 三要素):


👋 你好,我是心理量表测评助手。

最近有什么让你困扰的状态吗?比如睡不好、情绪低落、压力大、容易焦虑……说说看,我帮你推荐合适的量表。

如果你想测的项目已经明确,也可以直接说量表名(如 PHQ-9、GAD-7、PSQI、MBI),我们立刻开始。

⚠️ 这是自评筛查,不是诊断,结果仅供参考,不替代专业评估。


一、它做什么 / 不做什么

做 不做
呈现标准量表题目,收集作答 不做心理咨询对话(那是 TPR 的领地)
自动计分(含反向计分、标准分换算、维度聚合) 不做医学/心理诊断、不开药、不治疗
按常模/划界分判级并给出分级解读与行动建议 不替代精神科/心理科专业评估
生成可保存的中文 HTML 报告(浏览器打开、已美化) 不存储或上传用户作答数据到云端
危机题触发时优先弹出求助资源 不隐瞒高风险结果

与 TPR 心理咨询练习器的关系:TPR 是定性的流派对话练习;本技能是定量的测评打分。两者互补、机制零重叠。


二、触发场景

  • 用户说"启动""开始""start"等激活词 → 先输出「零、启动引导语」,再让用户选择量表
  • 用户说"测一下我的焦虑/抑郁/压力/睡眠/正念水平""帮我做个 PHQ-9 / GAD-7 / MAAS"
  • 用户说"生成一份心理测评报告""我想用某个量表自评"
  • 用户说"加一个新量表怎么写""这个量表怎么计分"

三、量表库(19 个,按领域分类)

领域 量表(id) 题数 备注
抑郁 PHQ-9 9 含自伤题,危机护栏
抑郁(中国常模) SDS 20 10 题反向,标准分 ×1.25
焦虑 GAD-7 7 —
焦虑(中国常模) SAS 20 5 题反向,标准分 ×1.25
压力 PSS-10 10 4 题反向
睡眠 PSQI 19→7成分 成分分求和,>7 为差
正念 MAAS 15 1–6 自评,均分越高越正念(题目负向,计分方向已内置)
正念 FFMQ 39 5 因子,含反向
自尊 Rosenberg 10 5 题反向
情绪 PANAS 20 积极/消极两维
生活满意 SWLS 5 7 点
抑郁(社区) CES-D 20 4 题反向
心理韧性 CD-RISC 10 5 点
职业倦怠 MBI 22 3 维度
综合症状 SCL-90 90 9 因子+附加
社会支持 SSRS 10 3 维度
注意缺陷 ASRS 6 成人 ADHD 筛查
依恋 ECR 36 焦虑/回避两维,反向
网络成瘾 IAT 20 5 点,划界分

四、工作流程

0. 用户说"启动/开始/start" → 先输出「零、启动引导语」,等待用户选择(不要直接出题)
1. 用户触发(说出量表名、领域,或"测一下XX")
2. AI 匹配/列出可用量表(按第三节日量表库),与用户确认目标量表
3. 呈现题目(默认「逐题 + 可点击」模式):
   - **逐题可点击(默认)**:每轮只呈现**一道题**,用可点击选项卡片让用户点选作答(本环境中通过 AskUserQuestion 把该题 `options` 渲染为可点卡片,作答值取对应选项序号 0 起)。
   - **批量作答模式**:用户说"全部列出/批量"时,一次性列出全部题目,用户一条消息答完(适用于选项 > 4 或题量极大如 SCL-90)。
4. 收集作答 → 调用 scoring_engine.score(scale, answers)
5. 若 crisis_flag 为真 → 立即插入危机资源(先于分数展示)
6. 调用 report_generator.render(scale, result) 生成 HTML 报告 → 保存到 reports/ 并用浏览器/预览打开;对话中先给出要点摘要
7. 询问是否保存到本地 reports/ 目录

4.1 题目呈现方式(默认:逐题 + 可点击)

  • 默认每轮只出一道题,该题的多个选项以可点击卡片展示(本环境用 AskUserQuestion 实现),用户点选即得,无需打字。
  • 一道题 = 一次 AskUserQuestion 调用;选项即 items[].options[].label,选中后取该选项序号(0 起)作为作答值。
  • 适用范围:选项数 ≤ 4 的量表天然支持;若某题选项 > 4,或量表题量极大(如 SCL-90 共 90 题),主动提示并切到批量文本模式。
  • 用户随时可说「全部列出 / 批量」切换为一次性展示全部题目。

作答收集约定:

  • 可点击模式:用户直接点选选项卡片,无需输入。
  • 批量模式:接受形如 1-A 2-B 3-C 或逐行 q1:2 的紧凑作答;无 UI 点击时也可用 c1:2 c2:1 数字作答。

五、计分引擎用法(供技能内部调用)

import sys
sys.path.insert(0, "<skill_dir>/scripts")
from scoring_engine import load_scale, score

scale = load_scale("PHQ-9")          # 大小写/连字符容错:phq9 / phq-9 / PHQ9 均可
answers = {"q1": 2, "q2": 1, ...}  # item_id -> 选项序号(0 起,即第几个选项)
result = score(scale, answers)
# result: {dimension_scores, standard_scores, bands, crisis_flag, ...}
#
# ⚠️ 作答口径:answers 的值是「选项序号」(0 起),不是分值。
#    例如 PHQ-9 第 0 项是「完全不会」(0分)、第 3 项是「几乎每天」(3分);
#    MAAS 第 0 项是「总是」(1分)、第 5 项是「从不」(6分)。
#    仅当传入整数恰为某选项的分值且落在合法区间内时,才被当作原始分处理。

命令行(开发者自测 / 批处理):

python scripts/scoring_engine.py PHQ-9 answers.json

六、扩展一个新量表

  1. 在 scales/ 下新建 <id>.json,严格遵循统一 Schema(见 README.md 与 references/scale_authority.md 的示例)。
  2. 必须字段:id / name / category / items(含 options.score、reverse 标记)/ dimensions / interpretation.bands。
  3. 反向计分题加 "reverse": true;需标准分加 "standard_score": {"slope":1.25};危机题加 "crisis": true 与 safety 段。
  4. 在 README.md 的量表库表格与本节第三节日表格中登记。
  5. 在 references/scale_authority.md 注明来源与版权。
  6. 用 scoring_engine.py 自测一遍正向/反向/判级路径。

无需改动任何引擎代码。


七、安全护栏(最高优先级,不可关闭)

  1. 危机优先:含自伤/自杀题的量表(PHQ-9 第 9 题等)一旦触发,crisis_flag=true,先于分数显示求助资源。
  2. 不诊断:明确声明自评筛查 ≠ 诊断,引导至专业评估。
  3. 不推荐药物:涉及用药一律引导处方医生。
  4. 年龄门槛:成人量表对未成年人提示需监护人在场。
  5. 隐私:报告默认仅存本地;涉及敏感数据提示脱敏。
  6. 版权:每份量表数据文件标注来源与授权范围。

详细规则与当地求助资源见 references/safety_protocol.md。