dsh-intent-recognition:DSH 五層意圖識別與場景管理

前言

在 DSH 裏做智能體路由時,常見做法是把用戶話術交給大模型「猜意圖」,或手寫少量 if/else。前者成本高、邊界不穩;後者一多場景就難維護,也缺少可觀測的召回與分層兜底。DeepSeek Harness 社區插件 dsh-intent-recognition(維護者 lilixinsniper)把意圖識別做成可配置的流水線:規則、向量檢索、概率打分、微調仲裁、LLM 結構化兜底,並附帶場景/意圖管理界面與可對外提供的 API 服務,便於在 Agent 工具或 Cordis 裏直接消費。

這是什麼

dsh-intent-recognition 是 DSH 插件(npm 包名 dsh-intent-recognition,當前資料中版本 0.7.1,MIT 許可證)。它提供:

  • 控制面:側邊欄 Intent Recognition 管理面板(與 Plugins 同級,可在 More 菜單固定/取消固定),以及 Settings → Intent Recognition(同一套 UI,不參與對話)。
  • 數據面:按場景運行的識別服務,可通過 Agent 工具 或 Cordis 服務 調用。

默認 基礎版(Basic) 使用本地 JSON 文件存儲,零數據庫依賴;需要 L2 向量檢索時,可在頁面升級到 高級版(Advanced)(PostgreSQL + pgvector),已有場景/意圖/模型/服務會自動遷移。

五層識別流水線

用戶 query 依次經過下列層級;每一層可按服務單獨關閉,關閉的層會被完全跳過:

User query
   │
   ▼
┌─ L1 rule hard filter ───────── greeting / exit / command / keyword strong match
│      │ miss
├─ L2 vector retrieval ───────── pgvector cosine search → Top5–Top10 候選
│      │
├─ L3 Jev probabilistic scoring ─ 高置信直接路由;中 → L4;低 → L5
│      │
├─ L4 fine-tuned model ───────── BERT / 小 LLM 仲裁近義意圖與邊界
│      │
└─ L5 LLM structured fallback ── 多意圖 / 跨輪上下文 / 槽位 / 開放問,JSON 輸出

基礎版開箱可用時,L2 在測試控制台中會因版本原因自動跳過並給出說明;向量能力在升級到高級版後啓用。

核心功能(資料已列能力)

  • 零配置起步:安裝後即可在頁面建場景、意圖、模型與服務;高級版在 Database 頁保存 PostgreSQL 連接後升級。
  • 意圖管理:按場景的意圖目錄(名稱/code/描述/示例/關鍵詞/黑白名單/路由配置),Excel 導入(合併或替換)與導出;高級版支持一鍵重建 embedding。
  • 模型配置:Embedding、Jev、微調模型、LLM 均在頁面配置(OpenAI 兼容或普通 http JSON 端點),帶連通性測試。
  • 服務管理:按場景的 API 服務,各層獨立開關與參數;服務可運行/停止/刪除/複製;每服務 API Key;內置測試控制台與調用日誌。
  • Vector lab(高級版):L2 召回調試(召回測試、分塊瀏覽、場景覆蓋與重建)。
  • 路由執行:每意圖可配置路由(無 / DSH workflow / subagent / Cordis service),服務級 route_mode(auto / suggest)。
  • Agent 集成:運行中的服務自動註冊/撤銷工具 intent_recognize_<service-slug>;可選向 system prompt 貢獻可用意圖服務列表。
  • 雙通道消費:
通道 說明 適用
Agent tool(推薦) 高置信命中在工具內執行路由 DSH 主 Agent 對用戶輪次路由
Cordis service ctx.intentRecognition.predict(service, query, context) 其他插件程序化集成

管理頁 Tab 順序:Intents → Models → Services → Vector(高級)→ Database。首個服務創建前,頁頂有三步引導條。

安裝與啓用

前置條件(README 原文):Node.js ≥ 20;已安裝 DSH(npm i -g @deepseek-ai/dsh)。基礎版不需要數據庫。

方式 A:DSH 插件市場(推薦)

側邊欄 Plugins Marketplace → 搜索 dsh-intent-recognition → Install;按提示刷新頁面後,側邊欄會出現 Intent Recognition 入口。

方式 B:npm / 本地包

# 1. 安裝插件
dsh plugin --profile web add dsh-intent-recognition
# 或本地目錄 / tarball
dsh plugin --profile web add ./dsh-intent-recognition
dsh plugin --profile web add ./dsh-intent-recognition-0.7.1.tgz

# 2. 重啓 dsh web(桌面端:重啓應用或 Ctrl+R 刷新)
# 3. 點擊左側 Intent Recognition(或 Settings → Intent Recognition)
# 4. 按 Tab 順序配置:Intents → Models → Services
# 5. 需要向量檢索:Database Tab 保存 PostgreSQL 連接以升級

包聲明 dsh.bundle.patch,dsh plugin add 會自動掛載到 profile bundle,無需手改 cordis.patch.yml。

桌面端提示:安裝或升級後若側邊欄無入口,先刷新頁面;插件詳情頁應顯示 running。若 Settings → Intent Recognition 也無法渲染,說明客戶端 bundle 未加載成功。

插件在 package.json 中聲明 DSH 引擎範圍:dsh >=0.1.0-rc.6 <0.3.0。

典型用法

  1. 管理面:在 Intents 建場景與意圖(可 Excel 批量導入),在 Models 配齊各層模型並做連通性測試,在 Services 創建並 Run 服務。
  2. 調試:在服務管理中使用測試控制台,查看五層 trace;高級版在 Vector lab 做 L2 召回排查。
  3. 對話路由:服務運行後,主 Agent 可調用 intent_recognize_<service-slug>;其他插件通過 Cordis 調用 predict。
  4. 升級存儲:僅在需要 L2 時於 Database Tab 升級;可隨時切回基礎版,本地文件不被破壞(README 說明 ids 與 API keys 保留)。

適用場景與注意

適合:需要在 DSH 內做可運維的意圖庫、分層識別、可分發 API,並希望與 workflow / subagent / Cordis 路由打通的團隊。

注意:

  • 插件以當前 DSH 進程權限運行;安裝前請閱讀 GitHub 源碼 與 MIT 許可證,確認能力與合規要求。
  • 社區目錄 skillhub.cn 插件頁 爲獨立生態站點,與 DeepSeek / 幻方無官方從屬關係;安裝命令以 README 爲準,勿自行拼接未文檔化的 github:owner/repo 形式。
  • 高級版依賴 PostgreSQL + pgvector;Embedding 與各層模型需自行準備兼容端點。

結尾

dsh-intent-recognition 把意圖識別從「單點 Prompt」拆成可開關的五層流水線,並用同一套 UI 管理場景、模型與服務,默認本地文件即可跑通,需要向量時再升級數據庫。進一步瞭解可訪問社區目錄頁與倉庫:

  • 目錄頁:https://www.skillhub.cn/plugins/lilixinsniper/dsh-intent-recognition
  • GitHub:https://github.com/lilixinsniper/dsh-intent-recognition
羽毛球分组比赛记分
小程序二维码

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

小夜