前言¶
在用 DeepSeek Harness(DSH)做多場景對話時,一個會話可能需要不同的身份:有的要耐心講題,有的要直接指出代碼問題,有的要扮演特定角色。傳統方式是修改系統提示詞,但這會全局生效,改動成本高、容易衝突。DSH 的理念是「一切皆插件」,我們可以在會話層疊加一個輕量層的身份定義:誰在說話、語氣如何、寫代碼的習慣,以及不能跨越的邊界。dsh-character-cards 就是爲此設計的插件。
這是什麼¶
dsh-character-cards 是一個 DSH 插件,讓每個會話可以擁有獨立的角色卡片(.dshcd 文件)。它定義了身份、語氣、代碼風格、工作流程和硬性約束,並支持通過可視化編輯器管理。維護者爲 sildo466。它不改變系統提示詞,而是在會話側注入一層身份與風格,與任何預設共存,並可以在會話中隨時切換。
核心功能¶
- 按會話切換身份:每個會話可以獨立選擇一張角色卡片,定義說話人是誰、語氣如何、寫代碼的風格,以及必須遵守或不做的約束。
- 可視化編輯器:在設置界面中創建、編輯卡片,分組字段(身份、語氣、代碼、工作流程、邊界),無需手寫 JSON。
- 即時生效與重新應用:切換卡片後,當前會話立即應用新身份;保存修改後,可對正在使用的會話點擊「重新應用」以推送最新版本。
- 默認卡片與全局默認:可以爲新會話設置全局默認卡片,也可以在會話側單獨選擇卡片或不使用卡片。
- 導入導出與分享:卡片是單個 .dshcd 文件,可導出、發送給他人、再導入,保持字段兼容。
- 示例卡片:插件提供 example_cards 目錄,可導入示例後修改。
安裝與啓用¶
DeepSeek Harness 版本要求:>= 0.2.0-rc.2;Node.js 版本要求:>= 22。
安裝命令:
dsh plugin --profile <profile> add dsh-character-cards
桌面客戶端:打開設置 -> 插件,安裝 dsh-character-cards,然後重啓應用。安裝後無需重啓即可創建、編輯和切換卡片。
典型用法¶
- 安裝插件後,在設置中找到「角色卡」入口,點擊「新建卡片」。
- 在編輯器中填寫角色的身份、語氣、代碼風格、工作流程和邊界。例如:
- 身份:初級導師,負責用通俗語言解釋概念。
- 語氣:耐心、鼓勵,使用「我們一起來看看」「這個點很重要」等短語。
- 代碼:註釋簡明、命名清晰,優先使用標準庫而非第三方庫。
- 工作流程:先解釋概念,再給小示例,最後讓用戶自己試寫。
- 邊界:不跳過基礎知識講解,不提供未經解釋的 API 調用。 - 保存卡片後,在會話側的卡片選擇器中:
- 選擇「具體卡片」:將該會話固定爲該角色。
- 選擇「跟隨默認」:使用全局默認卡片。
- 選擇「無角色卡片」:恢復到宿主默認人格。 - 隨時切換卡片,會話上下文保持不變,僅身份與風格更新。對正在使用的會話,點擊卡片行的「重新應用」可推送最新保存的版本。
適用場景與注意¶
適合在以下場景使用:需要區分不同角色的多會話工作流(如教學、代碼審查、角色扮演);希望在不修改系統提示詞的情況下爲每個會話注入風格約束;需要與同事分享一套角色定義。注意:
- 該插件以當前 DSH 進程權限運行,安裝前應檢查源碼與許可證。
- 如果預設已經承載完整人格,再疊加角色卡片可能導致身份衝突,建議二選一。
- 當前桌面配置由應用管理,安裝與更新建議在桌面客戶端內進行。
- 保存卡片不會靜默更新正在進行的會話,需手動點擊「重新應用」。
結尾¶
dsh-character-cards 讓你用輕量層的方式,爲每個會話注入專屬身份與風格,無需改動系統提示詞。你可以爲教學、代碼審查、角色扮演等場景定製卡片,並在會話間隨時切換。更多細節見插件目錄頁與 GitHub 倉庫。
參考資料¶
- https://github.com/sildo466/dsh-character-cards
- https://www.skillhub.cn/plugins/sildo466/dsh-character-cards