前言¶
智能體直接查詢 OpenSearch 原始端點容易陷入數據過載。億級文檔、GB 級響應或重複的錯誤日誌會消耗大量 Token,且難以提取有效信息。dsh-searchops 針對此場景設計,它是一個 Agent 原生的證據獲取層,而非簡單的 API 封裝。插件負責處理確定性、高消耗的分析工作(如邊界限制、分組、指紋識別),將結構化的證據包交給智能體,讓智能體專注於推理。
插件定位¶
這是一個專爲 DeepSeek Harness 設計的 Agent 原生搜索、日誌調查與集羣操作插件。它基於 OpenSearch 構建,但保持提供商中立,且嚴格爲只讀模式。
核心能力¶
- Agent 原生工具集:提供
searchops_*命名空間下的 9 個只讀工具,專門爲智能體交互設計。 - 確定性指紋識別:對日誌進行去重和模式化處理,例如將多次
Connection refused合併爲一個帶計數的模式,無需機器學習即可提取關鍵信息。 - 靈活的源與配置:支持配置多個命名源,每個源可綁定獨立的字段配置(如時間戳、消息、TraceID),插件會自動檢測映射或遵循約定。
- 提供者抽象與擴展:核心邏輯基於
SearchSource/SearchQuery/SearchResult/SearchProvider接口,OpenSearch 爲默認適配器,Elasticsearch 爲擴展點。 - 嚴格的安全邊界:憑證永不進入模型上下文;禁用重定向防止跨域憑證泄露;響應被大小和時間限制;所有返回內容被視爲不可信數據。
- 構造性邊界:所有列表和查詢操作均明確披露截斷信息,而非靜默丟棄數據。
安裝與啓用¶
環境要求
* Node.js >= 20.11
* DeepSeek Harness 版本 0.1.0-rc.6 至 0.1.5(預發佈版本)
安裝
插件爲純 ESM JavaScript,無構建步驟。
dsh plugin --profile <profile> add github:guhanfei-ai/dsh-searchops#v0.1.0
安裝後請重啓選定的 DSH Profile。
典型用法¶
配置源
在 Settings → Plugins → SearchOps 中添加源。密碼必須存儲在 DSH 憑證存儲中,通過源 ID 推導的引用訪問(例如 SEARCHOPS_PASSWORD_prod)。
Agent 交互示例
配置完成後,Agent 可以執行以下操作:
Is the prod search cluster healthy?
Show me the last hour of payment-api errors.
Investigate why payment-api is returning 500s.
注意事項與生態¶
項目狀態
當前版本爲 v0.1.0,處於 pre-1.0 狀態。尚未針對所有 OpenSearch 發行版和版本進行認證。
安全與限制
* 所有工具嚴格只讀,不會寫入、刪除或更改集羣狀態。
* OpenSearch-first,provider-neutral by design。
* 建議在基於 OpenSearch 的環境中使用。
生態背景
DeepSeek Harness 採用「一切皆插件」的理念。該插件託管在獨立社區目錄,與 DeepSeek 或幻方無官方從屬關係。