前言¶
在 DeepSeek Harness(DSH)裏做電商相關智能體時,常見做法是接一個大模型,讓它「像客服一樣」回買家。問題在於:模型會補全它不知道的價格、庫存和售後承諾,說錯一句的代價往往比少回一句更高。社區插件 dsh-plugin-kefu(維護者 Tulipe1735,GitHub Tulipe1735/dsh-plugin-kefu)把定位寫得很直白:先把店裏的商品學一遍,再按商品資料回答;答不準就交給人,不編造。下面介紹它是什麼、怎麼裝、典型怎麼用,以及和千牛/京麥官方能力邊界的關係。
這是什麼¶
dsh-plugin-kefu 是開源的電商客服臺 DSH 插件(MIT,當前 package 版本 0.2.0,要求 DSH >=0.2.0)。它在 SkillHub 社區目錄中歸類爲工作流(目錄頁:skillhub.cn/plugins/Tulipe1735/dsh-plugin-kefu)。
核心分工可以概括成兩句話:
- AI 只負責措辭,事實來自你的商品資料;回覆由 DSH 的模型生成時,模型只能複述插件給出的證據;證據裏沒有的數字、或碰到平臺紅線,整條回覆丟棄並回退模板。
- 官方開放平臺 + 本地橋接 + 人工一鍵採納:不依賴接管千牛/京麥桌面客戶端,也不包含 DLL 注入、模擬點擊等不可公開分發的實現。
消息怎麼走¶
買家消息進入插件後,大致流程如下(與 README 一致):
買家消息 ──▶ 檢索商品(有依據嗎?)──▶ 夠:交給 DSH 模型寫 ──▶ 敏感詞/紅線/數字校驗 ──▶ 發出
│
└── 不夠 / 命中轉人工規則 ──▶ 待處理隊列(附證據,人工一鍵採納)
官方通道沒配齊時,插件不假裝發送,把草稿交給客服在客戶端裏發。
爲什麼不做「接管客戶端」¶
README 用表格說明了千牛/淘寶、京麥/京東的開放平臺事實:例如旺旺聊天消息服務爲邀約制、人工消息內容脫敏;京麥 JSSDK 主要是喚起能力;千牛應用審覈規範不允許非官方 API。因此插件只做三件能長期維護的事:
- 官方開放平臺通道(淘寶 TOP / 京東 JOS):真發真收,需自行開通接口權限。
- 本地橋接(Local Bridge):自建採集端把消息推進來,插件負責決策與回覆隊列。
- 人工一鍵採納:接口未配齊時,草稿進待處理隊列。
四道閘門:避免瞎答¶
任何一道不過就不自動發(README 列舉的要點):
- 檢索:中文二元組分詞(過濾常見問句詞)+ 字段權重 + IDF,返回命中字段與 0–1 匹配度。
- 字段完備:問發貨需有
shipping,問尺碼需有規格表;缺證據則轉人工(no_evidence);一句話問兩件事時,有一件沒依據則整體轉人工。 - 模型輸出複檢:回覆中每個 ≥2 位數字都必須在證據裏出現;命中商家敏感詞或平臺紅線則丟棄並回退模板。
- 模型表示不確定:輸出「需要確認一下」類話術時不當作最終回覆,連同內容轉人工。
- 去重與轉人工規則:同一句不對同一買家重複發;發圖、改地址、訂單備註、觸發詞、非接待時段、匹配度不足等進待處理隊列。
知識庫爲本地 JSON,無向量檢索;商品量級在幾千條以內體驗最好(README 已知限制)。
四個通道¶
| 通道 | 類型 | 說明 |
|---|---|---|
qianniu |
官方 | 淘寶開放平臺網關。推送 /plugins/dsh-plugin-kefu/channels/qianniu/push,回覆走你開通的 sendMethod |
jingmai |
官方 | 京東 JOS。推送 .../channels/jingmai/push,回覆走 sendMethod |
bridge |
橋接 | POST .../channels/bridge/push 推入,GET .../channels/bridge/pull?after=<cursor> 拉回復,POST .../channels/bridge/ack 確認 |
webhook |
通用 | 外部推入;回覆 POST 到 outboundUrl(x-kefu-signature HMAC-SHA256) |
所有推送需 x-kefu-token(或 ?token=);官方通道額外支持 sign 驗籤。
Local Bridge 最小示例(默認端口以本機 DSH 爲準,README 示例爲 127.0.0.1:54205):
await fetch('http://127.0.0.1:54205/plugins/dsh-plugin-kefu/channels/bridge/push', {
method: 'POST',
headers: { 'content-type': 'application/json', 'x-kefu-token': TOKEN },
body: JSON.stringify({ buyerId: 'u123', buyerName: '小王', text: '這個多少錢', images: [] }),
})
對話工具與側邊欄¶
裝好後側邊欄出現 客服 面板,對話裏增加 5 個工具:
| 工具 | 作用 |
|---|---|
kefu_import_products |
從 CSV / TSV / JSON / Markdown 表格導入商品;重複導入按商品更新 |
kefu_search_products |
檢索商品,返回命中字段、證據、匹配度 |
kefu_draft_reply |
跑決策但不發:action / 轉人工原因 / 依據 / 草稿 |
kefu_send_reply |
發送(敏感詞與紅線;官方通道未配齊則待採納) |
kefu_queue |
查看待處理隊列 |
典型對話示例(README):
把
products.csv導進客服知識庫,然後看看「純棉短袖還有 M 碼嗎」會怎麼回。
商品表格式¶
支持 .csv / .tsv / .json / Markdown 表格,表頭中英文均可:
標題,價格,規格,參數,發貨,售後,關鍵詞
重磅純棉短袖 T 恤,¥129,S/129/12;M/129/8,材質:100% 純棉;克重:230g,48 小時內發出,7 天無理由退換,夏季
規格:多規格用;分隔,每項名稱/價格/庫存用/分隔。參數:用:或=,多組用;分隔。- 無
id時按標題生成;重複導入即更新。
用 DSH 模型寫回復¶
在設置中開啓 用 DSH 的模型寫回復 後,調用 ctx.llm(prepareCall + 文本流);provider/model 選「自動」時使用當前 profile 第一個可用路由。
- 模型僅能看到證據;系統提示禁止補充證據外的承諾與數字。
- 無 LLM 服務(headless profile)或模型報錯時仍可用,只走模板。
- 每條需模型回覆的消息約多一次 ~400 token 調用;模型超時默認 20s,可在設置中修改。
7×24 守護進程(bot 模式)¶
daemon/ 提供不依賴 DSH 面板的常駐 HTTP 服務,直連 DeepSeek API,複用同一套檢索/決策/複檢邏輯:
$env:KEFU_TOKEN = "隨機串"; $env:DEEPSEEK_API_KEY = "sk-..."; $env:KEFU_MODE = "auto"
node daemon/server.js
採集端只需實現 /push、/pull、/ack。注意:同一份數據目錄不要讓面板與守護進程同時寫(JSON 整份落盤會互相覆蓋);常駐時以守護進程爲準。
安裝與啓用¶
在 DSH 中任選 README 寫明的一種方式:
# 插件市場(發佈後)
插件市場 → 搜索 dsh-plugin-kefu → 安裝
# 本地開發(link 方式,改代碼即時生效)
插件管理 → 安裝 → link:C:\path\to\dsh-plugin-kefu
社區插件市場(dshmarket)不抓 npm;出現在精選列表需向 awesome-dsh-plugin 數據源倉庫提 PR(README 發佈說明)。DSH 生態是「一切皆插件」;SkillHub 等社區目錄爲獨立站點,與 DeepSeek / 幻方無官方從屬關係。
數據與備份¶
數據目錄:~/.dsh/kefu/(存在 DSH_HOME 時用其下的 kefu/),含 config.json(0600)、kb/products.json、conversations.json、outbox.json。備份即複製該目錄。
設置頁 數據 卡片可清空會話隊列或含商品的全部數據;也可 POST /plugins/dsh-plugin-kefu/api/reset,body {"catalog": true} 纔會連商品一起清。
適用場景與注意¶
適合:已有結構化商品資料、希望在 DSH 裏做「有依據自動回 + 不確定轉人工」的電商客服工作流;能開通 TOP/JOS 或願意自建橋接採集端的團隊。
務必注意:
- 插件在當前 DSH 進程權限下運行,安裝前應閱讀源碼與 MIT 許可證,自行評估平臺條款;用第三方 UI 自動化採集時須自行評估許可(如 AGPL)與平臺規則。
- 千牛:普通商家往往拿不到對話原文;千牛通道面向已獲批消息服務與自建推送。
- 京麥:商家側通常無公開咚咚會話消息 API,多配合人工採納或橋接。
- README 說明與「閃回 / shanhui.org」無關聯,未使用其代碼或素材。
維護者本地測試:node --test tests/*.test.mjs(README 稱 55 個測試覆蓋檢索、決策、導入、模型複檢、網關簽名、HTTP 橋等)。
結尾¶
dsh-plugin-kefu 把電商客服的重點從「會不會說話」拉到「能不能用店裏的資料負責地說話」:證據鏈、複檢、轉人工隊列和官方/橋接通道一起構成可維護的形態。進一步瞭解可看社區目錄頁 Tulipe1735/dsh-plugin-kefu 與倉庫 github.com/Tulipe1735/dsh-plugin-kefu。