在 DeepSeek Harness(DSH)的插件生态中,代码评审工具通常聚焦于逻辑漏洞或语法错误。dsh-mbti-jury 提供了一种不同的视角:它将最近一次 commit 投入到一个由 16 种 MBTI 人格构成的评审团中。不同人格基于不同的认知功能,对同一个改动给出完全不同的评审结果。
这是一个由 SleepEggTart 维护的 DSH 插件。它的核心是分析最近一次 commit 及历史提交节奏,模拟 16 种 MBTI 人格(基于认知功能:Si/Ni/Fe/Ne/Te/Ti/Se/Fi)进行并行评审。输出形态由主导认知功能决定,而非单纯改变语气。
安装¶
使用以下命令安装插件:
dsh plugin --profile web add dsh-mbti-jury
核心功能¶
- 16 型人格评审:支持 16 种 MBTI 人格类型,基于主导与辅助认知功能生成不同格式的评审报告。
- 历史行为分析:不仅分析最近一次 commit,还会读取最近 5 次提交的摘要与 message,识别重复修改文件,甚至判断本周第几个 commit(关注节奏)。
- 并行执行:每种人格独立发起请求,互不可见,确保差异是“平行世界”而非相互影响。
- 容错机制:单个人格调用失败不阻塞整体流程,显示占位提示。
- 互怼模式:评审结束后,各人格可以互相反驳最不同意的一句。
使用方法¶
在任意 git 仓库会话中,使用以下指令:
/mbti:默认经典四人组(ISTJ/INTJ/ESFJ/ENTP)评审最近一次 commit。/mbti random:从 16 型中随机抽取四人组。/mbti ENFP ISTP INTP ISFP:指定上场名单(支持空格、逗号或顿号分隔)。/mbti-fight:指定名单 + 互怼环节。/mbti-fight random:随机四人组 + 互怼。
技术实现¶
插件依赖宿主的 ctx.llm 模型。它利用并行执行技术,确保不同人格的评审过程互不干扰。如果某个人格的请求失败,不会中断其他人格的评审,而是显示占位提示。命令支持取消,中止信号会贯穿到每一个模型调用。
开发与调试¶
插件使用 TypeScript 开发,依赖 @deepseek-ai/cordis。本地调试需在修改代码后升级 package.json 版本号,再通过 dsh plugin --profile web add "file:<本目录路径>" 安装。
总结¶
通过观察不同人格对同一代码提交的分歧,开发者可以更直观地发现代码中潜在的盲区或不同维度的风险。这是一个结合了心理学与工程实践的代码审查工具。