前言¶
DeepSeek Harness (DSH) 插件 xby-toronto-open-data-server 是一个通过 CKAN API 直接访问多伦多开放数据的工具,由 xby-skill 维护。该插件专为 LLM 代理设计,旨在解决在智能体开发中获取结构化开放数据时面临的 API 复杂性、数据集发现困难以及格式处理繁琐的问题。它通过封装多伦多开放数据集的接口,提供了从发现、查询到预览的完整工作流。
安装¶
使用官方提供的命令进行安装:
dsh plugin --profile web add github:xby_skill/xby-toronto-open-data-server
核心能力¶
插件提供了以下核心功能,覆盖了数据查询的全流程:
- set_xby_apikey
用于在对话中设置 API 密钥。该设置会自动持久化,并在重启后保持有效。 - toronto_start_here
这是任何多伦多数据查询的起点。它会解释如何有效地使用该服务器,并提供访问多伦多开放数据的完整工作流指南。 - toronto_smart_data_helper
这是处理数据最推荐的方式。它是一个智能辅助工具,接收数据集 ID 和查询描述,自动判断数据是 API 可访问还是需要 CSV 下载,并返回相关数据或下一步建议。 - 数据集发现
包括toronto_list_datasets(列出所有数据集)、toronto_search_datasets(通过关键词搜索)和toronto_popular_datasets(获取热门数据集列表)。 - 数据查询与结构
包括toronto_get_dataset_schema(获取数据集的字段名、ID 和类型)以及toronto_query_dataset_data(执行精确过滤、排序和字段选择的高级查询)。 - 数据获取
包括toronto_get_dataset_stats(获取数据集的记录数、字段信息和资源概览)以及toronto_fetch_csv_data(下载并返回 CSV 文件的内容或下载链接)。
使用示例¶
1. 初始化与发现¶
首先,在对话中调用 set_xby_apikey 设置你的密钥。然后,使用 toronto_start_here 了解工作流,或使用 toronto_search_datasets 查找特定主题的数据。
2. 智能查询¶
对于大多数使用场景,直接调用 toronto_smart_data_helper。它接受数据集 ID 和目标描述,自动处理后续逻辑。
3. 高级查询流程¶
如果需要更精细的控制,请遵循以下步骤:
- 使用
toronto_get_dataset_schema(dataset_id)获取字段名称和类型。 - 使用
toronto_query_dataset_data进行查询,传入精确的字段名。
// 示例:查询特定条件的记录
{
"filters": {
"establishment_status": "Pass",
"inspection_date": "2024-01-01"
},
"sorts": "inspection_date desc",
"fields": ["name", "address", "score"]
}
4. 处理 CSV 数据¶
对于 CSV 格式的数据集,toronto_query_dataset_data 会返回下载链接而非查询结果。此时应使用 toronto_fetch_csv_data 来获取文件内容或直接下载。
注意事项¶
- 优先使用智能助手:
toronto_smart_data_helper是处理大多数用例的推荐方法,它能简化流程并处理复杂的格式判断。 - CSV 文件特性:针对 CSV 文件,查询操作返回的是下载链接,而非直接的数据结果。
- 高级查询依赖:在使用
toronto_query_dataset_data进行高级过滤、排序或字段选择前,必须先调用toronto_get_dataset_schema获取正确的字段名。
结语¶
该插件为 LLM 代理提供了与多伦多开放数据交互的标准接口。通过智能助手和结构化查询的结合,开发者可以高效地获取和处理多伦多的公共数据。更多详情可参考插件目录或 GitHub 仓库。