前言¶
DeepSeek Harness (DSH) 提供了一個 Web GUI 環境用於智能體開發與調試。在處理數據時,開發者往往需要在 DSH 界面與數據庫客戶端之間切換,這會打斷工作流。dsh-database-manager 插件在 DSH 側邊欄增加了一個「數據庫管理」入口,提供統一的數據源配置與獨立面板,支持在同一個界面裏查數據、改結構、跑 SQL、翻 Redis 鍵值。
核心功能¶
統一數據源管理¶
插件在側邊欄提供一個獨立的「數據庫管理」入口。數據源列表支持搜索(名稱/主機/標籤)、分組顯示(按類型/分組/標籤)以及標籤管理。每個數據源獨立配置,支持運行時測試連接(含連通性、延遲與服務端版本)、編輯與刪除。
MySQL / SQLite 面板¶
進入數據庫後,左側顯示庫/表樹,右側提供六個標籤頁:
- 瀏覽:支持分頁、跳頁、按列/索引排序。列註釋顯示在列名下方,表註釋顯示在分頁行右側。支持雙擊單元格就地編輯、行編輯/複製/刪除、多選批量刪除。執行 SQL 查詢後結果集也在此頁渲染。
- 結構:支持新增/修改/刪除列、管理索引、主鍵與唯一約束。列註釋支持鼠標懸停查看全文。
- SQL:支持庫級 SQL 執行(一個整頁編輯器,無需
USE語句),支持 Ctrl+Enter 執行。 - 搜索:依例查詢(QBE),每列一行,填值的行參與 AND 條件匹配。
- 插入:按列類型生成控件,支持生成多行並整批提交。支持區分「留空」(使用 DEFAULT)、NULL 和空字符串。
- 操作:包含移動表、表選項、複製表、表維護、刪除數據或表。
庫級 SQL:在表列表頁頂部提供庫操作行,包含導出整庫、導入到本庫、重命名、複製數據庫、字符集設置、刪除數據庫以及新建表。多表多庫時,列表先出名字,行數與大小隨後補齊。
Redis 面板¶
左側顯示目錄樹(按 : 分層摺疊,顯示每個目錄下的鍵數),頂部過濾框支持在已展開層內匹配鍵名。右側包含:
- 值:按類型渲染並可編輯(支持 string/list/set/hash/zset),支持 TTL 管理。Stream 類型僅讀。
- 服務信息:顯示版本、內存、連接數、各庫鍵數。
- 命令行:支持對當前選中庫執行任意命令。
導入導出與兼容性¶
- 導入導出:支持 SQL 轉儲(結構/數據/DROP 可選,整庫或單表)與 CSV 導出。導出完成後會顯示文件名與大小,並提供「再次導出」按鈕。
- 引擎兼容:MySQL 面板會按服務端能力取數據,不假定最新版(兼容 5.5+),探測服務端是否支持
GENERATION_EXPRESSION字段以適配不同版本。SQLite 面板依賴 Node 內置驅動,零依賴。引擎不支持的功能會在界面禁用並寫明原因。
大庫可用性¶
針對千萬級 keyspace 的 Redis 庫,插件採用按層加載 + 大庫一次性建索引的策略:
- 小庫 (< 100 萬鍵):逐層掃描,點開目錄才掃該前綴,同時得出子目錄與精確鍵數。
- 大庫 (≥ 100 萬鍵):遍歷一次、建全樹並緩存。利用 Lua 腳本在服務端摺疊鍵名,減少網絡傳輸開銷。直接開始建索引,頂部有真實進度條,不做前置確認框。
- 數據準確性:索引爲完整遍歷而非採樣,不留漏目錄。目錄與計數準確,超過上限會報錯而非靜默丟棄。
安裝與啓用¶
安裝命令原文缺失(資料截斷)。
典型用法¶
在同一個界面裏查數據、改結構、跑 SQL、翻 Redis 鍵值。
- MySQL / SQLite 面板:包含瀏覽、結構、SQL、搜索、插入、操作六個標籤頁。庫級 SQL 在表列表頁頂部操作行提供。
- Redis 面板:包含目錄樹、值、服務信息、命令行四個功能區。
適用場景與注意¶
- 權限與安全:插件以當前 DSH 進程權限運行。提供的 agent 工具受寫保護閘門約束,涉及寫操作需注意審批策略。
- 引擎限制:大表上的危險操作(如 SQLite 改類型、刪列)在執行前會說明代價。
- 兼容性:MySQL 面板兼容舊版本,SQLite 面板零依賴。
短結尾¶
dsh-database-manager 通過側邊欄面板與受保護的 agent 工具,將 SQLite、MySQL、Redis 的管理能力集成到了 DSH Web 界面中。它不僅提供了完整的瀏覽、編輯與 SQL 執行能力,還特別優化了對大庫與舊版 MySQL 的兼容性。