dsh-sekaisync-connect:在 DSH 中直連本地 SekaiSync 知識庫

前言

在 DeepSeek Harness(DSH)裏做帶長期上下文的智能體時,模型往往缺少可覈對、可更新的本地事實源。把 SekaiSync 這類已同步的知識庫接到運行時,通常要自行維護 HTTP 客戶端、配置路徑,並在對話裏控制檢索粒度與 token 消耗。社區插件 dsh-sekaisync-connect(維護者 omoinoki)把 SekaiSync 作爲 DSH 直連模塊:由插件拉起或複用本地 sekaisync HTTP 服務,並暴露 10 個只讀工具;在 Web profile 下還可在插件面板裏選擇部署路徑,而不必手改 JSON。下面介紹它的定位、能力與安裝配置方式。

這是什麼

dsh-sekaisync-connect 是 SekaiSync 知識庫的 DeepSeek Harness 直連插件:無第三方 npm 依賴、免構建,設計上強調低 token 佔用。它面向已用 sekaisync init / sync 得到 store(含 kb/)的環境,在 DSH 進程內連接回環地址上的 SekaiSync 服務,供模型按工具契約查詢實體、事實、用語與公告等。

DSH 生態的理念是「一切皆插件」;SkillHub 等爲獨立社區目錄,安裝前仍應自行查看源碼與許可證。

核心功能

十個只讀工具

插件向模型註冊 10 個緊湊工具,均對本地知識庫只讀(名稱與用途以倉庫中文 README 爲準):

工具 用途概要
sekai_probe 判定話題是否屬於《世界計劃》,並建議下一步工具
sekai_lookup 多語言名稱匹配實體(角色、活動、卡片、卡池、曲目、區域等),含跨服名稱與活動簡稱
sekai_fact 按實體 id 取緊湊事實包(如 character:1)
sekai_resolve 專有名詞解析爲官方本地化名稱
sekai_term 遊戲內用語與跨語言譯名,含 tags、weight 與證據
sekai_penetrate 單點用語跨語言穿透(耗時較長)
sekai_alias 活動簡稱與官方活動名解析
sekai_web 已爬取劇情全文檢索
sekai_news 五服官方公告過濾查詢
sekai_status 知識庫就緒、新鮮度與各服覆蓋

HTTP 僅連接 loopback,拒絕重定向;成功響應有字節預算(默認 128 MiB,可通過 SEKAISYNC_MAX_RESPONSE_BYTES 或配置中的 maxResponseBytes 調整,上限 1 GiB)。

Web 插件面板(可選)

在提供 Web 客戶端的 profile 下,側邊欄 插件 → 已安裝 → dsh-sekaisync-connect 可出現 配置 頁:輸入路徑並用 檢查 分類 store / 倉庫根 / kb/,保存並生效 寫入 profile 的 cordis.patch.yml(經官方 settings 服務),測試連接 對選定部署請求 /health。純 CLI 組合無面板時,10 個工具仍可用,文件與環境變量配置方式不變。

面板刻意不可從界面編輯 python 可執行路徑;不提供目錄瀏覽器,路徑需手動輸入。

DSH 運行時版本門控

插件對 DSH 運行時版本做顯式放行/拒絕:例如 0.1.x 與未驗證的 0.3.0 / 0.3.0-rc.1 / 1.0.0 會被 DENY;0.2.0-rc.1 起至 0.2.x 爲 allow。不兼容時整包拒絕加載(工具消失、面板不加載),而非半加載崩潰。若必須在未驗證版本上運行,README 提到可使用 dsh plugin allow-version。

安裝與啓用

環境前提(README 原文要求):

  • Python ≥ 3.10,且能執行 python -m sekaisync(SekaiSync 側零第三方依賴)
  • 已有同步完成的 store(sekaisync init / sync 產物)

在目標 profile 下安裝指定版本:

# 從 Git 安裝本版本:
dsh plugin --profile web add github:omoinoki/dsh-sekaisync-connect#v0.3.9-alpha.1

# 或從本地檢出的目錄安裝:
dsh plugin --profile web add ./dsh-sekaisync-connect

請將 --profile web 換成你實際使用的 profile 名。安裝後按下一節解析 store / 根目錄;若運行時版本不在放行範圍內,需升級 DSH 或使用文檔中的 allow-version 流程。

配置要點

配置優先級(高到低):環境變量 > profile 行 config > SEKAISYNC_CONFIG 文件 > 插件目錄 config.local.json > config.json > 自動發現。

常用項:

配置項 說明
SEKAISYNC_STORE 含 kb/ 的 store 目錄
SEKAISYNC_ROOT SekaiSync 倉庫根(python -m sekaisync 的工作目錄)
SEKAISYNC_PYTHON Python 可執行文件,默認 python
SEKAISYNC_PORT 探測已有服務的端口,默認 8787;0 表示跳過外部探測、直接啓動託管服務
SEKAISYNC_MAX_RESPONSE_BYTES 單次成功 HTTP 響應字節上限,默認 134217728

在 profile patch 中覆蓋示例(注意行 id 必須爲 sekaisync-connect,與面板寫入鍵一致):

- id: sekaisync-connect
  name: 'dsh-sekaisync-connect'
  config:
    store: 'D:\\sekaisync\\store'
    python: 'py'

若端口 8787 上已有就緒的 SekaiSync,插件會複用該實例;/health 不攜帶 store 標識,需自行確認端口對應的是目標知識庫。

典型用法

README 中的 使用建議(token 紀律) 可作爲對話策略參考,摘要如下:

  1. 生成本地化文本前先 sekai_resolve;精確事實用 sekai_fact,避免模型憑記憶作答。
  2. 不確定是否與世界計劃相關時先 sekai_probe,再按返回的 next_tool 繼續。
  3. 時效性問題(活動、卡池、維護)先 sekai_status 看新鮮度與覆蓋率。
  4. 覈對譯名語境:sekai_term 確證用語 → 必要時 sekai_penetrate(較慢)。
  5. 引用劇情原文再用 sekai_web;平時優先 sekai_lookup / sekai_term。
  6. 活動簡稱或箱活名可直接自然語言提問,sekai_lookup / sekai_alias 負責解析。

區服相關事實示例(sekai_fact 可選 region):

{"entity_id":"character_profile:18","language":"en","region":"jp"}

結果會披露實際區服與正文語言;舊後端忽略 region 時會提示升級,而不是靜默返回未過濾數據。

適用場景與注意

適合誰:已在本地維護 SekaiSync store、希望在 DSH 對話中穩定調用同一知識庫的開發者;分類上社區目錄將其標爲「記憶」類插件,適合把結構化遊戲/項目事實接入智能體工具鏈。

使用前注意:

  • 插件在 當前 DSH 進程權限 下運行,會按配置啓動或連接本地 Python 服務;安裝前應閱讀倉庫源碼與 MIT 許可證,並確認 store 路徑與端口不指向非預期實例。
  • 依賴 Python 與 Node 雙運行時;SekaiSync 後端升級不會自動補全舊庫已缺失字段,需按上游說明同步或重建後再驗正文。
  • 社區目錄頁顯示該倉庫約 2 stars(以站點/GitHub 當時數據爲準),屬早期社區組件;版本爲 alpha,生產環境請自行驗收工具延遲與數據新鮮度。

常見故障 README 有專節:如找不到 store、無法啓動 python -m sekaisync、服務器冷卻、面板 forbidden 等與 Host/Origin/cookie 柵欄相關項,可按文檔逐項對照。

結尾

dsh-sekaisync-connect 把 SekaiSync 的 HTTP 能力與 DSH 工具面接在一起:10 個只讀工具覆蓋探測、檢索、事實、用語與狀態,Web profile 下還可圖形化保存 store/root。若你已在用 SekaiSync 做本地知識庫,可按上文安裝命令與配置優先級接入;細節以倉庫 README 與 CHANGELOG 爲準。

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

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

小夜