在 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:<本目錄路徑>" 安裝。
總結¶
通過觀察不同人格對同一代碼提交的分歧,開發者可以更直觀地發現代碼中潛在的盲區或不同維度的風險。這是一個結合了心理學與工程實踐的代碼審查工具。