dsh-slash-new:在 DSH 桌面端用 `/new` 開新會話並繼承權限與代理預設

前言

DeepSeek Harness(DSH)的會話是隻追加的日誌,無法在原地「清空」對話;要重新開始,只能新建會話,舊記錄仍留在側邊欄。桌面端 Composer 裏自帶 /compact,但沒有與側邊欄「新會話」或 Cmd+N 等價的斜槓命令。若手動新建會話,權限預設往往會回到 Profile 默認值,和當前會話裏你選好的 read-only、ask、auto 等不一致,容易在新會話裏無意放寬或收緊 Agent 行爲。

下面介紹的 dsh-slash-new 是維護者 deqingLv 發佈的客戶端類 DSH 插件(MIT,當前 package 版本 1.0.0),只增加一條斜槓命令 /new:在當前工作區開啓空白會話,並把舊會話的權限預設與代理預設(agent preset)帶到新會話,避免「開新頁卻丟配置」。

這是什麼

  • 定位:小型 DSH 插件,Host 側註冊命令,Client 側(Web 平臺)監聽執行並切換會話。
  • 維護者:deqingLv;源碼與說明見 GitHub 倉庫,社區目錄頁:SkillHub 插件頁(獨立社區目錄,與 DeepSeek / 幻方無官方從屬關係)。
  • 解決的問題:在 Composer 裏用 /new 完成與「新會話」相同的動作,且權限與代理預設與離開前的會話一致(在可用預設表達的範圍內)。

核心功能:/new 做了什麼

執行 /new 時,插件按 README 描述的順序工作:

步驟 行爲
1 讀取當前會話的 permissions 投影(read-only / ask / never / danger-full-access / auto)及其 agentPreset
2 在同一工作區創建或複用空白會話,創建時傳入 agent preset
3 在主面板打開該會話
4 在新會話中重放權限預設:執行宿主自帶的 /permission <preset>(與 Composer 裏權限芯片的調用方式相同)

舊會話的日誌仍保留在側邊欄,不會被刪除。

限制(資料原文):若當前會話使用的是自定義(custom)權限組合、無法對應到上述某一預設,新會話會回落到宿主默認,並在客戶端控制台輸出警告。

插件由 host 半(lib/index.js:在 ctx.commands 註冊命令)與 client 半(client/client.js:監聽 command/executed)組成;Client bundle 在應用啓動時編譯,改插件或 bundle 配置後需重啓桌面 App。

安裝與啓用

安裝前請自行查看倉庫源碼與 MIT 許可證;插件在當前 DSH 進程權限下運行,僅安裝你信任的來源。

當前 README 給出的安裝方式如下(尚未發佈到 npm 時以本地 link 爲例;發佈後 README 寫明可用 dsh plugin --profile desktop add dsh-slash-new,但 bundle 條目仍必填):

# 1. 讓 desktop profile 指向本包(路徑改爲你機器上的絕對路徑)
dsh plugin --profile desktop add link:/absolute/path/to/dsh-slash-new

# 2. 在 ~/.dsh/profiles/desktop/package.json 的 dsh.bundle.bundles 中加入 "dsh-slash-new"

# 3. 退出並重啓桌面 App(Cmd+Q 後重新打開)

客戶端 bundle 在啓動時編譯,安裝或修改 plugin 與 bundle 任一半之後都要重啓 App。

卸載:

dsh plugin --profile desktop remove dsh-slash-new

然後從 dsh.bundle.bundles 中移除 "dsh-slash-new" 並再次重啓。

典型用法

在 DSH 桌面端、當前工作區的 Composer 中輸入:

/new

效果等同於側邊欄「新會話」或 Cmd+N:新空白會話在當前工作區打開,且儘量繼承離開前會話的權限預設與 agent preset。

開發者在 disposable 實例裏做端到端驗證(不碰真實 Profile)時,README 示例爲:

DSH_HOME=/tmp/dshhome dsh --profile scratch --no-open --port 63002

在該實例中執行 /new 即可檢查行爲。

適用場景與注意事項

適合誰:經常在 DSH 桌面端「換一頁對話」但希望權限芯片與代理預設不變的開發者;需要與 /compact 區分——/compact 壓縮當前日誌,而 /new 是新建空白會話。

兼容性(資料原文):在 DSH desktop 0.2.1-rc.3(Web renderer)下測試。Client 半依賴 sessions、workspaces、uiWorkspace(空白會話創建、會話切換)以及宿主的 /permission 命令。

衝突:不要與同樣註冊 /new 的插件並存(例如 README 提到的 deepseek-harness-ultra-slash)。兩者都會監聽 command/executed,一次 /new 可能導致切換會話兩次。

生態背景:DSH 採用「一切皆插件」的擴展方式;本插件屬於客戶端類擴展,只增加 Composer 斜槓能力,不替代宿主內置的會話存儲模型。

結尾

dsh-slash-new 用一條 /new 補齊桌面 Composer 裏「新會話」的斜槓入口,並在開新會話時繼承權限預設與 agent preset,減少因手動新建會話而回到 Profile 默認權限的情況。安裝涉及 profile 插件命令、dsh.bundle.bundles 與重啓三步,自定義權限無法預設表達時會回退默認並打控制台告警,安裝前請閱讀源碼並注意勿與同名斜槓插件疊裝。

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

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

小夜