前言¶
在构建基于 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 版本的兼容性。
总结¶
通过上述功能,开发者可以高效地完成地理空间数据的发现、检索与元数据分析。这套机制解决了大规模数据对接的复杂性,是构建地理信息类智能体的实用工具。