📦 Clawhub Publish Kmwrip1j — MBTI人格分析
v0.4.0基于授权的 OpenClaw 本地记忆、会话历史与工作区笔记,自动推断用户 MBTI 类型并生成可视化报告,支持 HTML/Markdown/JSON 多格式输出。
详细分析 ▾
运行时依赖
版本
- **mbti-analyzer** (v0.4.0) 首次公开发布:使用授权的 OpenClaw 记忆、会话历史与工作区笔记,分析用户 MBTI 与人格特征。 - 新增基于证据的 MBTI 报告工作流,包含用户驱动的记忆源授权。 - 支持报告格式:HTML、Markdown、JSON 结果及详细证据池。 - 数据提取与推断过程清晰分离,保障隐私与可追溯性。 - 新增通过后续问题交互解决不确定结果的流程。 - 包含完整 CLI 使用说明及面向开发者的各阶段测试工具。
安装命令
点击复制技能文档
从已授权的 OpenClaw 历史记录与工作区笔记中生成有证据支持的 MBTI 报告。
快速开始
本包是一个 技能(skill)。其他 agent 的公开 handoff 入口见 README.md。
主要入口:
- 触发短语:
MBTI、personality analysis、type me - 技能命令:
mbti-report
最小运行依赖:
python3
本地开发或手动安装:
ln -s /absolute/path/to/mbti "$CODEX_HOME/skills/mbti"
在聊天中启动分析:
Analyze my MBTI using only my authorized memory and session history
给 agent 和维护者:
- 运行任何脚本前请完整阅读本页
- 以下现有 pipeline 脚本即为实现步骤
- 不要跳过授权步骤
- 不要直接从原始历史直接推断 MBTI
概览
本技能产出:
report.html:主交付物report.md:紧凑摘要analysis_result.json:类型假设、置信度、后续问题evidence_pool.json:可追踪的已评分证据
首次交互应:
- 发现候选来源类别。
- 向用户展示可用内容。
- 询问授权哪些类别。
- 运行 提取 → 证据 → 推断 → 报告 流水线。
核心规则
始终将工作流拆为两层:
- 完整提取:从已授权来源提取为结构化记录与证据池。
- MBTI 推断:仅从证据池与来源摘要推断,不得直接从完整原始历史推断 MBTI。
使用时机
当用户想要:
- 基于已有对话或记忆的 MBTI 分析
- 无需问卷的性格推断
- 带证据的专业性格报告
- 可能类型、相邻类型与不确定性的结构化总结
不用于临床诊断或心理健康评估。
授权先行
读取任何来源内容前:
- 运行来源发现。
- 向用户展示可用来源类别。
- 说明报告可能引用短片段(如禁用引用则不会)。
- 请用户确认允许哪些来源类别。
默认候选类别:
- 工作区长期记忆:
MEMORY.md - 工作区每日记忆:
memory/.md - OpenClaw 会话:
~/.openclaw/agents//sessions/.jsonl - OpenClaw 记忆索引:
~/.openclaw/memory/main.sqlite - OpenClaw 任务元数据:
~/.openclaw/tasks/runs.sqlite - OpenClaw 定时任务元数据:
~/.openclaw/cron/runs/.jsonl
默认排除:
.envcredentials/identity/- 设备文件
- 审批文件
- 通用配置文件
- 网关与运行时日志
执行流程
若用户未指定输出目录,结果写入:
./.mbti-reports//
推荐顺序:
1. 发现候选来源
python3 {baseDir}/scripts/discover_sources.py \
--workspace-root . \
--openclaw-home ~/.openclaw \
--output /tmp/mbti-source-manifest.json
用该清单向用户解释可分析内容,尚未读取内容。
2. 摄取已授权来源
python3 {baseDir}/scripts/ingest_all_content.py \
--manifest /tmp/mbti-source-manifest.json \
--approved-source-types workspace-long-memory,workspace-daily-memory,openclaw-sessions \
--output-dir ./.mbti-reports/
生成:
raw_records.jsonlsource_summary.json
3. 构建证据池
python3 {baseDir}/scripts/build_evidence_pool.py \
--raw-records ./.mbti-reports//raw_records.jsonl \
--source-summary ./.mbti-reports//source_summary.json \
--output ./.mbti-reports//evidence_pool.json
该阶段应:
- 保持高召回
- 去除明显工具噪音
- 标记伪信号
- 合并重复事实
- 保留可追踪的证据引用
4. 从证据池推断 MBTI
python3 {baseDir}/scripts/infer_mbti.py \
--evidence-pool ./.mbti-reports//evidence_pool.json \
--source-summary ./.mbti-reports//source_summary.json \
--output ./.mbti-reports//analysis_result.json
推断规则:
- 以四组偏好为主要决策层
- 仅将类型动力学与认知功能用作一致性检查
- 独立强证据权重高于重复弱信号
- 保留反证据可见
- 边际弱时生成后续问题
若 analysis_result.json 中 needs_followup: true 且用户可答,则在定稿前提问。
5. 应用后续答案并重新运行
用户回答低置信问题后,将答案作为额外用户证据重新运行流水线:
python3 {baseDir}/scripts/apply_followup_answers.py \
--raw-records ./.mbti-reports//raw_records.jsonl \
--source-summary ./.mbti-reports//source_summary.json \
--analysis ./.mbti-reports//analysis_result.json \
--output-dir ./.mbti-reports/ \
--answer "S/N=" \
--answer "J/P="
更新:
raw_records.jsonlsource_summary.jsonfollowup_answers.jsonevidence_pool.jsonanalysis_result.jsonreport.mdreport.html
若用户拒绝回答,保留当前报告并明确标注不确定性。
6. 渲染最终报告
python3 {baseDir}/scripts/render_report.py \
--analysis ./.mbti-reports//analysis_result.json \
--evidence-pool ./.mbti-reports//evidence_pool.json \
--output-dir ./.mbti-reports/ \
--quote-mode summary \
--open
加 --open 可在渲染后自动用默认浏览器打开 HTML 报告。
生成:
report.mdreport.html
7. 渲染独立 HTML 预览
仅调整布局、CSS、间距或徽章/主题行为时,用内置预览模式,无需重新运行发现、摄取、证据构建与推断:
python3 {baseDir}/scripts/render_report.py \
--debug-preview \
--debug-type INTP \
--output-dir /tmp/mbti-preview
这会从捆绑的 fixture 生成完整的 report.html 与 report.md,报告调试不再依赖之前流水线产物。
阶段测试
如需单独测试某一阶段,先为该阶段准备合成 fixture,再针对这些文件运行真实阶段脚本。
准备 fixture 输入:
python3 {baseDir}/scripts/prepare_stage_fixture.py \
--stage infer \
--output-dir /tmp/mbti-stage-infer
然后运行要检查的阶段:
python3 {baseDir}/scripts/infer_mbti.py \
--evidence-pool /tmp/mbti-stage-infer/evidence_pool.json \
--source-summary /tmp/mbti-stage-infer/source_summary.json \
--output /tmp/mbti-stage-infer/analysis_result.json
支持的 fixture 阶段:
discover:生成合成工作区与 OpenClaw 源文件ingest:添加source_manifest.jsonevidence:添加raw_records.jsonl与source_summary.jsoninfer:添加evidence_pool.jsonrender:添加analysis_result.jsonfollowup:添加answers_input.json供apply_followup_answers.py使用
用以下命令对所有阶段入口做冒烟测试:
python3 -m unittest tests.test_stage_smoke
报告规则
HTML 报告是主要产物。聊天回复仅提供:
- 最可能类型
- 置信度
- 2-4 条关键观察
- 输出文件路径
若 report.html 已存在,勿在聊天中自由发挥完整报告。
证据规则
将以下视为高风险伪信号:
- 关于助手应如何行为的请求
- 格式偏好
- 无自描述上下文的工具与工作流指令
- 命令输出、日志、堆栈跟踪或复制的机器文本
将以下视为更强证据:
- 重复的自我描述
- 稳定的决策模式
- 反复的工作与反思习惯
- 期望结构与实际行为间的冲突
- 跨来源一致性
需要时阅读以下参考:
输出规范
- 保持严谨且非临床语气。
- 最终报告勿用 emoji。
- 将结果呈现为最佳匹配假设,而非绝对真理。
- 始终包含至少一节“为何不是相邻类型”。