前言¶
DeepSeek Harness(DSH)把模型、工具和工作區拆成可插拔模塊,但身份、私聊/羣聊、郵箱這類「帶賬號邊界」的能力通常不在覈心包裏。若要在 Agent 會話裏複用同一套 DID/Handle,同時讓模型通過工具讀寫會話與郵件,需要 Host 側服務、Rust SDK、Web 客戶端和 Agent 工具協同實現。
下面介紹社區插件 @awiki/dsh-plugin(SkillHub 條目 agentconnect/dsh-awiki)。它由 AgentConnect 維護,分類爲 admin-security,爲 DSH 提供 AWiki 身份註冊/恢復、即時消息 Web UI,以及供 Agent 調用的消息與郵件工具。
這是什麼¶
一句話定位:AWiki identity and messaging plugin for DeepSeek Harness——一個 npm 包同時安裝 Host Service、生產級 Rust SDK Provider、模型工具,以及帶可拖動「AWiki Me」入口的 Web 客戶端。
Rust SDK 獨佔管理 stateRoot 下的身份、SecretVault、數據庫、緩存與元數據。本發佈線採用乾淨切換,不導入舊 TypeScript SDK 的 identity.json;從舊版升級後需創建新的 Rust 身份。
當前 package.json 版本爲 0.3.5;GitHub 倉庫約 10 stars(截至 2026-08-27)。
核心功能¶
身份與本地狀態¶
在 Web UI 統一入口輸入 Handle 和手機號。Host 在發送驗證碼前分類 Handle:新 Handle 走註冊 OTP 並創建部署身份;已有 Handle 走 Recovery V4 OTP 並進入恢復流程。根 Agent 與子 Agent 共用最終身份。
OTP 流程保留驗證碼錶單,按服務端冷卻禁用重發;手機號與 OTP 不進入瀏覽器持久化、controller snapshot 或公開 Remote 結果。Recovery V4 到達 applied 後 Host 立即激活身份;歷史郵箱與模型賬本對賬當前不阻塞恢復。
賬戶菜單支持「退出登錄」(僅鎖本會話,保留加密身份與消息庫)和「重新進入本機身份」。切換身份需先確認永久清除本地 AWiki 數據。設置頁危險區域需輸入確認詞後,纔會清空本機身份、密鑰、令牌、註冊草稿與消息索引。
即時消息(Web UI)¶
- 私聊與羣聊列表、未讀角標、最新消息預覽、持久化顯示名;Core SQLite 爲持久化真相源,local-first 渲染本地時間線,後臺補齊遠端歷史。
- Web UI 建羣:私有發現、開放加入、傳輸保護,1–50 個初始 Handle 或 DID 成員;建羣后立即進入會話,個別成員失敗單獨提示。
- 文本 + 單附件消息,Enter 發送、Shift+Enter 換行,樂觀氣泡按客戶端 message ID 對賬;圖片 SHA 校驗與三層有界緩存(瀏覽器 LRU、IndexedDB、Host 磁盤)。
- 可拖動圓形入口、自適應彈窗、深色模式、會話記憶;用戶觸發的 AI 總結(最多 50 條最近或未讀),僅保留在本次運行期內存。
首版不包含端到端加密、多身份、建羣后管理、單消息多附件。
Agent 工具¶
消息(5 個):身份狀態、會話列表、歷史、需審批的文本發送、需審批的附件發送。
郵件 v1(5 個,按需):郵箱賬戶、收件箱、純文本讀取、需審批的標記已讀、需審批的純文本發送。無瀏覽器收件箱 UI,不以新郵件喚醒 Agent;awiki_mail_mark_read 與 awiki_mail_send 每次執行需審批;發送只嘗試一次,超時返回 delivery-unknown。
可選即時 listener:DSH_AWIKI_LISTENER_ENABLED=true 且配置 exact allowlist 後,allowlist 內私聊對端可續接 DSH Agent 會話,或使用 /new、/status、/help。Listener 只接受明文私聊文本。
可選託管模型(獨立包)¶
主包不再默認安裝 AWiki 託管模型 Provider。需要時在主包之外安裝 @awiki/dsh-model-proxy@latest:僅在 Harness 沒有任何可用模型時,首次引導纔在官方 API Key 步驟前提供 AWiki 託管 DeepSeek 選項(deepseek-v4-flash、deepseek-v4-pro)。只裝主包時,不會出現模型啓停、充值、用量或模型引導 UI。
安裝與啓用¶
在 DSH 項目根目錄執行 Profile 安裝命令(會同時添加包並激活 bundle layer;普通 npm i 不會激活 bundle):
dsh plugin --profile web add @awiki/dsh-plugin@latest
需要 AWiki 託管模型時再裝:
dsh plugin --profile web add @awiki/dsh-model-proxy@latest
請在常規 DSH base 和 Web app bundle 之後應用本包。主包 cordis.patch.yml 加入 AWiki Host Service、Rust SDK Provider 和 Summary Provider;瀏覽器客戶端由 DSH 根據包元數據自動注入。
插件默認連接公開租戶 awiki.ai,無需環境變量即可使用。自部署或覆蓋默認值時,可設置例如:
| 環境變量 | 用途 | 默認值 |
|---|---|---|
DSH_AWIKI_USER_SERVICE_URL |
AWiki user service 絕對 URL | https://awiki.ai |
DSH_AWIKI_STATE_ROOT |
Rust IM Core 狀態目錄 | 按 DSH profile 隔離,見 README |
DSH_AWIKI_LISTENER_ENABLED |
開啓私聊到 Agent 的 listener | false |
DSH_AWIKI_LISTENER_ALLOWED_PEERS |
exact Handle/DID JSON 數組 | [] |
完整變量表見 GitHub README.zh.md。
典型用法¶
1. 首次身份¶
- 安裝插件並啓動 DSH Web profile。
- 點擊左下角可拖動的 AWiki Me 入口,輸入 Handle 與手機號。
- 按提示完成註冊 OTP 或 Recovery V4 OTP;恢復已有 Handle 後 Host 會同步賬號投影並嘗試恢復羣成員身份。
2. Agent 讀取會話併發送(需審批)¶
Agent 可通過註冊的工具查詢身份、列出會話、拉取歷史;文本與附件發送工具需用戶審批後執行。具體工具名以插件註冊爲準(README 列出的五類消息工具與五類郵件工具)。
3. 同進程插件調用 ANP 身份認證¶
可信的 DSH Host 同進程插件可委託 AWiki 處理外部 HTTP 的 ANP 簽名與 Token,無需自行實現 challenge/重試:
const response = await ctx.awiki.externalHttpAuth.dispatch(
new Request('https://api.example.com/orders', {
method: 'POST',
headers: { 'content-type': 'application/json' },
body: JSON.stringify({ productId: '123' }),
}),
request => fetch(request),
)
回調函數仍是唯一網絡 transport owner;該 API 不進入 Browser Remote 或 Agent tools。
4. 可選:私聊觸發 Agent listener¶
啓用 listener 並配置 allowlist 後,allowlist 內對端的明文私聊可路由到共享 AWiki Workspace 上的 DSH Session。生產環境需評估會話隔離與工具審批策略。
適用場景與注意¶
適合誰
- 已在或計劃使用 AWiki(
awiki.ai或自部署租戶)的 DSH 用戶,希望在 Harness 內完成身份、IM 與(可選)郵件,而不是另開客戶端。 - 需要 Agent 在審批邊界內讀寫信箱、查會話、發消息的自動化場景。
- 希望可選接入 AWiki 託管 DeepSeek 模型、且接受獨立
@awiki/dsh-model-proxy包的用戶。
使用前務必瞭解
- 插件以當前 DSH 進程權限運行,可訪問
stateRoot下的密鑰與消息庫;安裝前應閱讀 源碼 與許可證。插件主體爲 MIT;Rust IM Core 運行時依賴爲 AGPL-3.0-only(見THIRD_PARTY_NOTICES.md)。 - SkillHub(skillhub.cn)是社區插件目錄,與 DeepSeek / 幻方無官方從屬關係;DSH 生態遵循「一切皆插件」思路,目錄站點獨立運營。
- 首版限制:無 E2E 加密;身份恢復不重建歷史私聊(僅 Rust SDK 已保留的本地數據按 Core 規則遷移);郵件 v1 功能邊界見上文。
- IM Core 狀態含訪問材料,應放在倉庫外並限制文件權限;不要在倉庫中提交 OTP、令牌、私鑰或
.env。
鏈接¶
- SkillHub 目錄頁:https://www.skillhub.cn/plugins/AgentConnect/dsh-awiki
- GitHub 倉庫:https://github.com/AgentConnect/dsh-awiki
- 中文說明:https://github.com/AgentConnect/dsh-awiki/blob/main/README.zh.md
若你的 DSH 工作流需要統一 AWiki 身份、本地優先的消息界面,以及可審批的 Agent 消息/郵件工具,可按上述 Profile 命令安裝主包,再按需疊加 Model Proxy 與 listener 配置。