前言¶
在 DSH 裏做會議、訪談或語音筆記相關的工作流時,常見做法是錄完再在電腦上整理:要麼用本機麥克風重錄,要麼手動拷貝錄音文件再上傳。若日常已經用實體 BLE 錄音卡採集,更自然的路徑是「卡上錄完 → 在對話裏選文件 → 導入 Host 本地 → 可選轉寫與歸檔」,而不是繞開硬件另開一條鏈路。dsh-recorder-card 面向這類場景:在 DSH Host 上通過藍牙拉取兼容錄音卡上的音頻,支持按需導入、本地歸檔校驗,以及可選的語音識別(含 DSH 側識別器或雲 ASR)。插件由 SynSwarm 維護,歸類爲模型推理相關能力;當前爲第三方開發預覽版(package.json 標註 0.6.0)。
這是什麼¶
dsh-recorder-card 是 DeepSeek Harness 插件,把物理 BLE 錄音卡上的錄音帶入 DSH 工作流:在對話中選錄音、經 BLE 導入、可選轉寫並寫入帶指紋關聯的 Markdown 歸檔。實現遵循上游 AI recorder card open protocol;具體卡片與固件是否兼容需自行覈實,產品名相同並不保證可用。
音頻路徑爲:錄音卡 → BLE → Host bundled Python CLI → 本地音頻 → 可選 transcript 與歸檔。連接圖標與八個 Agent 工具共用持久化 Host 服務,不依賴 Web Bluetooth,也無需單獨 checkout 上游倉庫。
核心功能¶
以下能力均來自項目 README 與發佈說明,「已實現」指代碼存在,部分硬件與長錄音場景仍標註待驗證。
連接與設備
- 點擊錄音卡圖標或讓 Agent 調用
recorder_connect連接設備;唯一設備會自動記住,多候選時需選擇。 - 圖標上下文菜單可切換設備;也可對
recorder_connect傳空地址重新掃描。高級場景可用deviceAddress配置作爲兜底。
列表與導入
- 通過
recorder_list列出卡上錄音;0.5.0 起支持recorder_import({ "filename": "列表中的精確文件名" }),省略filename時導入列表第一項。默認不開啓轉寫;多條錄音需順序調用,遇傳輸錯誤應停止。 - 導入時做 PCM 完整性檢查,不覆蓋已有音頻;錄音保留在卡上。
- 音頻默認落在 Host 的
~/.dsh-recorder-card/archive/audio/,應使用工具返回的絕對路徑。
轉寫與歸檔
- 轉寫與導入分離調用。優先使用已配置的 DSH 識別器;雲回落(如 Doubao ASR)需顯式轉寫意圖並配置憑證。僅掃描與導入不需要 ASR 憑證。
- 簡介中提到的 hash 校驗本地歸檔、可選 SenseVoice 轉寫與 README 中「fingerprint-linked Markdown archive」一致,具體字段見項目文檔。
Agent 工具與診斷
- 註冊八個
recorder_*設備工具,與連接圖標共享 Host 服務。 - 0.5.0 起傳輸診斷(階段耗時、幀/字節計數等)寫入
dataDir/recorder-diagnostics.json,不含音頻、文件名或設備標識;中斷時區分RECORDER_DEVICE_DISCONNECTED與RECORDER_TRANSFER_INTERRUPTED,需檢查設備後從頭重試該文件(不支持斷點續傳)。
環境要求
- DSH Host:Python 3.11+、藍牙硬件與權限;若
python不在 DSH PATH,需在插件python字段配置解釋器絕對路徑。 - 遠程 Host 使用遠端機器自己的藍牙;卡片與 Host 需在同一可連接範圍內。
安裝與啓用¶
官方安裝方式(面向 0.4.0 及以後;插件內已 bundled 固定版本 CLI,無需 repoRoot 或 git clone):
dsh plugin add dsh-recorder-card
python -m pip install bleak requests
也可在安裝目錄用同一解釋器執行:
python -m pip install -r vendor/upstream/tools/requirements.txt
依賴檢查(無需藍牙):
python -B runtime/recorder_cli.py --check-deps
若 DSH/pnpm 配置了 minimumReleaseAge=1440,新版本可能在發佈後 24 小時內不可用,需等待而非關閉該策略。升級前建議備份當前 profile 的 cordis.patch.yml 與 package.json,升級後覈對自定義項與所選模型、語音服務。
典型用法¶
- 喚醒錄音卡並斷開其他藍牙客戶端。點擊界面錄音圖標,或在對話中請 Agent 調用
recorder_connect。 - 在對話中請 Agent 調用
recorder_list,從返回列表中選定授權使用的文件名。 - 調用
recorder_import,例如指定精確文件名(0.5.0+):
recorder_import({ "filename": "exact name from list" })
省略 filename 則導入第一項。使用工具返回的本地音頻絕對路徑進行後續分析或單獨請求轉寫。
4. 需要換設備時,用圖標菜單或 recorder_connect 空地址掃描;斷開連接也可在對話中說明或由 Agent 調用相應工具。
連接清理失敗時,圖標會保留「未確認釋放」類警告;有待處理設備任務時會先失敗再訪問 BLE,應檢查卡片後再顯式重試。僅進程斷開不能證明設備側已正確釋放。
適用場景與注意¶
適合誰
- 已用兼容 BLE 錄音卡做會議、訪談、語音筆記,希望在 DSH 對話裏點選導入、本地歸檔並可選轉寫的人。
- 採集在卡片上完成,本插件不要求通過電腦麥克風錄音。
務必注意
- 插件以當前 DSH 進程權限在 Host 上運行,會訪問藍牙與本地目錄;安裝前應閱讀 GitHub 倉庫 源碼與 MIT 許可證,並確認卡片協議兼容。
- 項目自述爲第三方開發預覽:短測試錄音已在真實 DSH 導入與音頻檢查中通過;非首條、長錄音、中斷恢復與遠端錄音控制等仍不完全驗證。雲 ASR 上傳音頻需明確轉寫意圖。
- 社區目錄頁 SkillHub - dsh-recorder-card 爲獨立生態站點,與 DeepSeek / 幻方無官方從屬關係;DSH 生態理念是「一切皆插件」,本文介紹的是社區插件之一。
結尾¶
dsh-recorder-card 把錄音卡 BLE 導入、本地歸檔與可選轉寫收進 DSH 同一套對話與 Agent 工具裏,適合已有硬件、希望少手工拷文件的用戶。細節、架構與驗收記錄見倉庫 README、architecture 與 import-recovery。
- 目錄頁:https://www.skillhub.cn/plugins/SynSwarm/dsh-recorder-card
- GitHub:https://github.com/SynSwarm/dsh-recorder-card