前言¶
在構建基於 DeepSeek Harness(DSH)的智能體時,調用外部數據是常見需求。地理空間數據通常體量大、存儲複雜,直接對接往往需要處理 S3 協議或複雜的 API。下面介紹 xby-source-coop,它是一個連接 Source Cooperative 數據源的 MCP 服務器,通過 JSON-RPC 協議讓 AI 客戶端能夠發現並訪問 800TB+ 的地理空間數據。
插件定位¶
這是一個由 xby-skill 維護的聯網工具插件。它通過 MCP(Model Context Protocol)標準提供服務,允許開發者通過代碼方式與 Source Cooperative 中的組織、產品和文件進行交互。
核心功能¶
插件提供了從認證、發現到具體文件操作的完整鏈路。
1. 認證與賬戶發現¶
使用前需要在聊天中設置 API 密鑰,該密鑰會自動持久化,重啓進程後依然有效。
await set_xby_apikey()
設置成功後,可以列出 Source Cooperative 中的所有組織或賬戶 ID。
await list_accounts()
2. 產品(數據集)瀏覽¶
支持混合 S3 與 API 模式來列出產品。默認使用 S3 直接掃描,速度較快,包含未發佈產品。
await list_products(account_id="youssef-harby")
如果只需已發佈產品且需要豐富的元數據,可以關閉未發佈掃描,轉爲 API 模式。
await list_products(account_id="youssef-harby", include_unpublished=False)
3. 獲取綜合元數據¶
獲取特定產品的詳細信息,包括賬戶信息、存儲配置等。如果產品根目錄存在 README,也會一併返回。
await get_product_details("harvard-lil", "gov-data")
4. 文件列表與樹狀視圖¶
列出產品中的所有文件,包含完整的 S3 路徑。支持通過 show_tree 參數以樹狀結構展示,節省 Token 並優化展示效果。
# 列出特定前綴的文件
await list_product_files("harvard-lil", "gov-data", "metadata/")
# 以樹狀結構展示
await list_product_files("harvard-lil", "gov-data", show_tree=True)
5. 文件元數據檢索¶
僅獲取文件的元數據(如大小、類型、修改時間等),而不需要下載文件本身,利用 obstore 的 head 操作實現高效查詢。
await get_file_metadata("harvard-lil/gov-data/README.md")
6. 智能模糊搜索¶
支持對產品進行跨賬戶搜索,具備模糊匹配能力,可處理拼寫錯誤和部分匹配。搜索結果返回前 5 個最相關的賬戶或產品。
# 處理拼寫錯誤
await search("climte")
# 模糊匹配
await search("geo")
性能參考¶
根據使用場景不同,性能表現如下:
* S3 模式(默認):約 240ms
* API 模式:約 500ms
安裝與啓用¶
該插件可在 DSH 插件生態中查找。由於未提供明確的命令行安裝指令,建議通過以下目錄或倉庫進行查找與配置:
* 生態目錄:https://www.skillhub.cn/plugins/xby-skill/xby-source-coop
* 倉庫地址:https://github.com/xby-skill/xby-source-coop
注意事項¶
- 權限:插件以當前 DSH 進程的權限運行,請確保訪問 Source Cooperative 所需的密鑰配置正確。
- 許可證:採用 MIT 許可證,可自由使用。
- 檢查源碼:在啓用前,建議查閱源碼以確認與當前 DSH 版本的兼容性。
總結¶
通過上述功能,開發者可以高效地完成地理空間數據的發現、檢索與元數據分析。這套機制解決了大規模數據對接的複雜性,是構建地理信息類智能體的實用工具。