DSH 圓桌插件:在 @ 提及中組織多角色討論

前言

在 DSH 的日常對話中,常需要讓不同 AI 角色圍繞一個議題發表意見:需求邊界、代碼分層、方案傾向、安全隱私等。dsh-round-table 採用 @ 提及範式:在左側邊欄創建角色,在主輸入框輸入 @ 選擇角色,單角色直接以該角色身份回答,多角色則以獨立 Agent 會話串行討論一輪,最後由主持人收斂共識點、分歧點和行動建議。

這是什麼

vuchisu069-source/dsh-round-table 是 DSH 官方 bundle 格式插件,許可證爲 MIT。package.json 中聲明 web 客戶端平臺。

它把角色庫接入 DSH 主輸入框,支持角色創建、@ 候選、單角色回答、多角色接力討論、宿主工具調用,以及角色狀態持久化。

核心功能

角色庫

左側邊欄提供「+ 新建角色」入口,打開 New Agent 模態,可配置:

  • 形象
  • 名稱
  • Title
  • 描述
  • System Prompt
  • 性格參數
  • Advanced 區 SOUL.md 人設文檔

SOUL.md 有 2000 字符硬上限,超長會截斷。

角色數據持久化到:

~/.dsh/data/round-table/state.json

持久化採用原子寫,並跨重啓保留。

@ 輸入與候選

插件通過官方 @ 輸入觸發管線註冊角色候選源。在主輸入框輸入 @ 後彈出角色候選,選中後插入 @角色名。

@ 解析支持精確匹配、去重,並排除郵箱、URL 中的 @。單次討論最多 4 個角色。

單角色模式

發送 @角色名 後,主會話以該角色身份、第一人稱回答。

角色 @ 時可使用 DSH 宿主自帶工具,例如:

  • 讀文件
  • 搜索
  • 執行命令

多角色模式

多個角色 @ 時,各角色以獨立 Agent 會話串行接力討論。每個角色僅一輪,避免死循環。討論結束後,主持人收斂出:

  • 共識點
  • 分歧點
  • 行動建議

多角色討論的協調等待階段會禁用/清空工具;角色獨立會話與單角色模式不受該限制。

超時保護爲:

  • 單角色發言 90 秒
  • 整體討論 120 秒

超時後自動推進或結束。

安裝與啓用

安裝命令:

dsh plugin --profile web add "github:vuchisu069-source/dsh-round-table#main"

安裝後需要重啓 web。該插件經 profile 管理,bundle 層在啓動時合成,因此重啓後生效。

典型用法

先創建至少一個角色,再在主輸入框使用 @。

單角色示例:

@架構師 看看這個項目的 lib/src 結構,評估一下分層是否合理
@安全專家 這段話有沒有泄露隱私的風險

多角色示例:

@架構師 @產品經理 一句話:導出功能該不該做?
@產品經理 @架構師 @安全專家 討論新功能的需求邊界

如果 @ 后角色未如預期觸發,可檢查角色名稱是否與候選一致,因爲 @ 按名稱精確匹配。多角色討論有 90 秒單角色超時與 120 秒整體超時保護。

配置

配置位於:

<dshHome>/settings.yaml

其中 round-table 段包含:

  • enabled
  • maxRounds
  • defaultMode
  • pauseOnPageLeave

maxRounds、defaultMode、pauseOnPageLeave 爲 v1 房間範式遺留配置;v2 @ 範式下討論固定一輪。

適用場景與注意

適合 DSH 用戶或智能體開發者在日常對話中做角色化評審、方案對比、代碼結構檢查、安全隱私檢查。

需要注意:

  • 角色 @ 時可使用 DSH 宿主全部工具,包括執行命令等宿主能力
  • 插件以當前 dsh 進程權限運行,安裝前應檢查源碼與許可證
  • 單次 @ 最多 4 個角色
  • 多角色討論固定一輪
  • 單角色發言 90 秒超時,整體討論 120 秒超時
  • SOUL.md 有 2000 字符硬上限
  • 角色數據保存在 ~/.dsh/data/round-table/state.json

結尾

dsh-round-table 把角色討論併入 DSH 主輸入框:單角色時直接扮演,多角色時串行接力討論並收斂結論。

社區目錄頁地址未提供;倉庫地址:

https://github.com/vuchisu069-source/dsh-round-table

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

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

小夜