dsh-qqnt-chat-export:在 DSH 裏讀、搜、導 NTQQ 聊天記錄

前言

給智能體接 QQ 上下文時,常見做法是手工截圖、複製粘貼,或依賴未公開的接口。NTQQ(QQ 9.9.x / NT 架構)的消息落在本機 SQLCipher 庫裏,密鑰在已登錄進程裏,私聊與羣聊混在一起,體量大、格式專。DeepSeek Harness(DSH)把能力拆成插件;下面介紹社區維護者 ariyflow 的 dsh-qqnt-chat-export(目錄分類:記憶):在 Windows / Linux 上從本機 NTQQ 讀聊天記錄,建旁路索引,用模型工具或本地網頁檢索、統計、導出,並支持按問題檢索片段與可點回引用。

這是什麼

dsh-qqnt-chat-export 是一個 DSH 插件包:README 寫明包含十六個模型工具與一個本地網頁界面,支持羣聊和私聊,可導出多種格式,並可對截圖 OCR、語音轉寫後納入搜索與問答文本池。維護者 ariyflow,源碼與文檔在 GitHub,許可證 MIT。插件行 id 固定爲 qqnt-chat-export;不支持 macOS,要求本機已安裝並登錄 NTQQ。

核心功能

模型工具

README 工具表與功能列表涵蓋:體檢與排障(qqnt_doctor)、建索引(qqnt_index)、統計(qqnt_stats)、後臺任務(qqnt_jobs)、取圖(qqnt_media)、存儲盤點與清理(qqnt_storage)、提取密鑰、羣列表、會話列表、跨會話搜索、單羣 / 單會話 / 批量導出,以及問答檢索(qqnt_ask)與主題回看(qqnt_recall)。qqnt_list_chats、qqnt_stats、qqnt_search 與導出類工具讀旁路索引 index.sqlite,可覆蓋私聊與跨會話;索引未建時可調 qqnt_index(action: "build")在後臺構建。

本地網頁與 DSH 側邊欄

默認網頁地址爲 http://127.0.0.1:46728/(端口可配置)。單頁應用提供會話列表、組合查詢與高亮、圖片預覽、統計、批量導出、導出預設,以及模型與組件、設置、任務面板;窄屏小於 720px 時列表與閱讀器單欄切換。DSH 側邊欄會增加「QQ 聊天記錄」入口,主區打開同一頁面。

索引、搜索與問答

首次同步會建旁路明文索引;之後查詢與導出只讀索引。關鍵詞走 FTS5 trigram,中文子串可索引查找;支持多賬號索引緩存。會話可切分爲帶上下文的片段並做本地嵌入;qqnt_ask 返回最相關的幾段對話與引用,答案由宿主模型或用戶撰寫,引用可回到原文;不裝嵌入模型仍可用關鍵詞檢索。

導出與保護

單會話可導出 txt / csv / json / md / html / sqlite;單羣另有 txt / sqlite / csv;批量導出最多 200 個會話到一個 ZIP(含 manifest.json)。支持暱稱 / QQ 脫敏、媒體打包、按天分文件、AES-256 密碼 ZIP 等選項(詳見倉庫 docs/features.md)。

安裝與啓用

DSH 通過 profile 目錄內的 pnpm 安裝依賴,官方命令如下(將 web 換成你的 profile 名):

dsh plugin --profile web add github:ariyflow/dsh-qqnt-chat-export

裝好後插件行 qqnt-chat-export 自動啓用,網頁在 http://127.0.0.1:46728/。若曾安裝舊的 @local/qqnt-chat-export,需先 remove,避免兩個包爭搶同一行 id。裝完重啓 DSH,GET /api/qqnt/panel 返回 200 表示宿主側已加載。

卸載:

dsh plugin --profile web remove dsh-qqnt-chat-export

插件以當前 DSH 進程權限運行;安裝前請自行查看源碼與 MIT 許可證。README 聲明本項目僅供學習參考,未獲騰訊授權。

典型用法

第一次使用(QQ 保持登錄):

  1. 打開 http://127.0.0.1:46728/,在「設置」查看運行環境;
  2. 缺依賴時用「默認源安裝」或「清華鏡像安裝」,在插件獨立虛擬環境中安裝(不改動系統 Python);
  3. 點「提取密鑰」或在對話中運行 qqnt_extract_key(首次約 1~3 分鐘,期間保持 QQ 登錄);
  4. 頂欄點「從 QQ 同步」,約 1 分鐘建好索引;
  5. 之後可搜索、統計、導出或在對話裏調用各 qqnt_* 工具。

之後:默認每 60 分鐘自動同步一次(設置頁可關或改間隔),也可隨時手動同步。Linux 提取密鑰需能讀取 qq 進程內存;被拒絕時 qqnt_status 會顯示狀態,qqnt_extract_key 會給出修復命令(如臨時調整 kernel.yama.ptrace_scope,細節見 docs/setup.md)。

在對話中可直接調用工具,例如建立索引:

qqnt_index(action: "build")

跨會話關鍵詞搜索使用 qqnt_search;聚合統計使用 qqnt_stats;單會話導出使用 qqnt_export_chat(支持 dryRun、keyword、sender、since、until 等過濾)。

適用場景與注意

適合:在本機已登錄 NTQQ 的前提下,希望把聊天記錄交給 DSH 智能體檢索、統計、導出,或需要在本地網頁裏瀏覽與批量處理,且運行在 Windows 10/11 或 Linux(x86_64 / arm64)的用戶。

環境與依賴:64 位 Python 3,sqlcipher3 裝在插件自有虛擬環境;推薦安裝 uv 以創建環境。WSL 內讀不到 Windows 側 QQ 內存,需在 WSL 內使用 Linux 版 QQ。

隱私與安全:workDir 內含明文密鑰、解密副本與索引;用完建議整目錄刪除。網頁僅綁定 127.0.0.1。對 QQ 原始數據庫只讀,不結束 QQ 進程。完整說明見 docs/security.md;已知限制見 docs/limitations.md(例如增量同步不感知消息編輯、媒體僅導出本機已下載文件等)。

結尾

dsh-qqnt-chat-export 把 NTQQ 本機聊天記錄接到 DSH 的工具鏈與本地 UI 上,索引、FTS、可選嵌入與導出格式都在同一插件包內完成。社區目錄頁:https://www.skillhub.cn/plugins/ariyflow/dsh-qqnt-chat-export;源碼與 README:https://github.com/ariyflow/dsh-qqnt-chat-export。

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

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

小夜