dsh-persona-manager:在 DSH 設置頁裏管理 Agent 人設預設

前言

DeepSeek Harness(DSH)裏,一個 Agent 預設本質上是一串 Cordis 插件列表:人設正文、這輪會話能用的工具面,以及運行時要帶的提示詞段。平時要改預設,常見做法是直接編輯 profile 裏的 cordis.patch.yml。字段多、YAML 結構細,改名稱或整段人設都要對着文件手改,也不容易一眼看清本機到底有哪些可選預設。

dsh-persona-manager 由社區維護者 linsport 發佈,在 DSH 桌面版設置頁增加「人設預設」一節:新建、編輯、導出導入,並在列表裏區分「本插件管理的」「內置只讀」「其他插件聲明的」。分類上它落在社區目錄的「趣味換裝」一類,當前 GitHub 星標爲 1;版本以倉庫爲準,當前爲 0.1.1(MIT 許可)。

下面按定位、功能、安裝與典型用法說明,事實均來自插件 README 與 package.json。

這是什麼

插件全名 dsh-persona-manager,一句話定位是:在 DeepSeek Harness 桌面版的設置頁裏管理本機的 Agent 預設(人設)。

它不替代 DSH 自帶的預設機制,而是把讀寫預設從「只認 cordis.patch.yml」變成可視化操作;自己建的預設落在獨立 JSON 庫裏,從基準預設複製工具面而不是引用,避免基準日後改名或刪掉導致你的預設失效。插件還附帶示例人設(如「鯨魚娘」),可在設置頁一鍵載入編輯器當模板,不會未經你確認就註冊成會話裏的可選預設。

三類預設,處理方式不同

理解界面行爲,要先看預設是誰聲明的。README 用一張表歸納了權限與落盤位置:

分組 來源 能否編輯 能否刪除 保存時寫到哪裏
本插件管理 在本插件裏新建的 全部字段 是 本插件的庫文件
本插件管理 profile 補丁里手寫的(卡片帶「配置行」) 是,但基準預設鎖定 否 就地改寫 cordis.patch.yml 對應行
內置預設(只讀) DSH 自帶:標準 / PTC / 極簡 / 創造 否 否 只能「複製」出一份自己的
插件包自帶(只讀) 其他已安裝插件聲明 否 否 只能「複製」出一份自己的

「只能複製」指卡片沒有「編輯」,點卡片或「複製」會按該預設的工具面起一份屬於你的新預設,之後可隨意改。內置四個預設的名稱與說明來自語言包,插件內置了中英文文案,避免卡片空白。

核心功能

列表與卡片

一次性列出本機所有預設:自己管的排前可編輯,別人聲明的排後只讀。卡片對齊官方 Agent 預設頁佈局,顯示名稱、標籤(可編輯 / 配置行 / 未生效 / 異常)、ID、說明、插件數量與對應操作按鈕。

新建與編輯

新建時選一個基準預設(下拉只列官方四個:標準、PTC、極簡、創造),把它的工具面複製過來,再填自己的人設正文;排序自動取現有最大值加一。編輯可改顯示名稱、說明、排序、基準預設和人設正文;人設框下方有字數、行數、段數統計,並可開關 Markdown 預覽(標題、列表、引用、代碼塊等),長文不會把保存按鈕擠出視口。

對存在本插件庫裏的預設,保存寫回庫文件。對手寫在 cordis.patch.yml 裏的「配置行」預設,保存分兩步改 config 字段和 persona 的 prefix 正文,全程文本替換、不整文件重序列化,註釋與 !!js 等儘量保留;寫入前會在旁留 cordis.patch.yml.bak-personamanager-<時間戳>,只保留最近 5 份。若人設用了 prefix: > 或行內 prefix: 再跟塊正文,插件會拒絕保存且不改文件;prefix: | / prefix: |- 爲支持寫法。

刪除、導出與導入

刪除只移除本插件庫裏自建的條目;配置行、內置、其他插件帶來的預設不動。導出可選範圍(本插件管理的全部或單個)與格式:JSON 備份(含 id、name、description、order、basePreset、人設正文,可按 basePreset 重建工具面)或 Markdown(僅正文,一次只能導出一個)。導入 .json 時同 ID 覆蓋;ID 屬於內置或你補丁里已有行則跳過並警告。導入 .md / .txt 會打開新建編輯器並預填正文,ID 與基準預設需自行補全。

附贈示例

examples/ 下的一級 .md 可在「附贈示例」裏點「載入」,正文與顯示名稱進編輯器,須自己選 ID、基準預設並保存後才成爲預設。文件首行可用元數據註釋:

<!-- dsh-persona-manager: 顯示名稱 | 一句話簡介 -->

載入時該註釋會剝掉,不進入人設正文。

安裝與啓用

運行要求(來自 package.json 的 engines):DSH >= 0.1.7(需提供 agentPresets 與 webServer)、Node.js >= 20。不滿足版本時安裝會被拒絕,而不是裝完頁面空白。

桌面版(主要方式):打開 設置 → 插件,安裝或啓用 dsh-persona-manager,再打開 設置 → 人設預設。裝完無需單獨起命令;若更新了瀏覽器端代碼,需 Ctrl + F5 強刷(Host 側重載不會重載 client.js)。

命令行:

dsh plugin --profile <profile> add dsh-persona-manager

也可用插件管理器指向插件目錄。若你手動改了 profile 的 package.json,改完後需重啓 DSH 桌面端插件纔會加載,且 Web 訪問端口與令牌會變,應使用新彈出的窗口地址。

典型用法

  1. 打開 設置 → 人設預設。
  2. 點 新建預設。
  3. 填 ID(小寫字母、數字、連字符,例如 my-persona)和 顯示名稱。
  4. 在 基準預設 裏選一個(一般用「標準模式」)。
  5. 把人設正文貼進 人設正文。
  6. 點 保存;下一次新開會話時預設列表裏會出現它(已運行的會話仍用啓動時的配置)。

想先參考寫法:在頁面底部「附贈示例」對「鯨魚娘」點 載入,補全 ID 與基準預設後保存即可。

本插件自建的預設數據在:

$DSH_HOME/persona-manager/presets.json

DSH_HOME 默認爲 ~/.dsh。設置頁頁腳會顯示實際庫路徑。卸載插件不會刪除該文件,但預設會從選擇器裏消失,直到重新安裝並註冊;遷移前建議用 導出 → JSON 備份 留一份。

適用場景與注意

適合誰:經常在 DSH 裏切換或打磨 Agent 人設、又不想每次改 cordis.patch.yml 的桌面版用戶;需要把人設正文導出 Markdown 或跨機器用 JSON 恢復備份的場景也適用。

使用上容易踩的點(README 有詳述):配置行預設的「基準預設」下拉會變灰只讀,改工具面只能改 YAML 裏該行的插件列表;改完預設對已開會話不生效;卡片標「配置行」表示保存會寫回補丁文件而非 JSON 庫。

安全與權限:插件在 DSH 進程權限下運行,HTTP 接口面向本機並帶 CSRF 相關校驗(迴環地址、自定義頭 x-persona-manager: 1 等,詳見 README「安全」節)。安裝前建議瀏覽 GitHub 倉庫 源碼與 MIT 許可證,確認符合你對本機配置數據的預期。

結尾

dsh-persona-manager 把 Agent 人設從「只認補丁 YAML」收成設置裏的一頁:列表看清來源,新建複製官方工具面,編輯帶統計與預覽,導出導入分開處理備份與純文本人設。它不宣稱替代手寫高級 Cordis 配置,但對日常改名稱、改正文、複製內置預設當起點,步驟足夠可復現。

  • 社區目錄頁:https://www.skillhub.cn/plugins/linsport/dsh-persona-manager
  • 源碼與完整說明:https://github.com/linsport/dsh-persona-manager

SkillHub 等社區目錄與 DeepSeek / 幻方無官方從屬關係;插件按 DSH「一切皆插件」的方式分發與啓用。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜