前言¶
在 DeepSeek Harness(DSH)或其它能调用工具的 Agent 里,模型若凭训练数据回答「今天会不会下雨」「PM2.5 多少」,往往缺少实时地点与数值。自行对接商业天气 API 还要申请 Key、维护 SDK。下面介绍社区插件 dsh-plugin-weather(维护者 whaoran1018-cmd),用 Open-Meteo 拉取实况与预报,无需 API Key、注册或专用 SDK;同一套逻辑可通过 DSH 插件、MCP 服务或命令行暴露,便于在 Cursor、Claude Code、Codex 等环境里复用。
这是什么¶
dsh-plugin-weather 归类为 DSH 社区目录中的「联网工具」。当前 package 版本为 0.4.1,许可证 MIT,运行需 Node.js ≥ 20。
插件向 Agent 注册两个可调用工具,模型可按自然语言意图选用:
| 工具 | 返回内容 |
|---|---|
get_weather |
当前天气与空气质量;默认附带 3 天 outlook(days: 0 时仅当前) |
get_weather_forecast |
1–16 天逐日预报;可选逐小时(未来 48 小时,或指定 date 的 24 小时) |
数据来源以 Open-Meteo 为主;配置项 provider 为 auto 时,Open-Meteo 失败会回退 wttr.in;设为 open-meteo 则不回退。
每次调用通常包含两块:本地化可读摘要(含等级说明)与 完整 JSON,便于模型引用精确数值。
核心功能¶
实况与空气质量¶
当前条件字段包括:温度、体感温度、湿度、露点、UV 指数及等级(Low / Moderate / High / Very high / Extreme)、当地时区的日出/日落/日照时长、16 方位风名与风向/风速/阵风、降水与雨雪、云量、气压、WMO 天气描述,以及 PM2.5、PM10、O₃、NO₂、SO₂、CO、US AQI 与 European AQI 及对应类别。
多日预报与趋势¶
逐日行包含:日期与星期、天气、最低/最高温与体感、降水概率与量、最大 UV 及等级、主导风向、日出日落。多日结果可带趋势线(温度区间、最湿日、UV 峰值等)。
多语言摘要¶
摘要可本地化(天气描述、16 方位风、UV 与 AQI 等级、星期、标签与错误信息等)。插件配置 language 默认 en;环境变量 WEATHER_LANG 可用于 MCP/CLI(例如 zh)。README 语言表在截断处仍列出 zh、ko 等代码,完整列表见仓库 Languages 一节。
多种接入面¶
同一套核心逻辑,注册层因运行时而异:
| 接入方式 | 入口 | 适用 |
|---|---|---|
| DSH 插件 | cordis.patch.yml + lib/index.js |
DeepSeek Harness |
| MCP(stdio) | bin/mcp-server.mjs |
Claude Code、Codex CLI、Cursor、Windsurf、Gemini CLI、Cline、Zed 等 |
| 一次性 CLI | bin/cli.mjs(命令名 dsh-weather) |
能执行 shell 的 Agent、CI、cron |
| 工具 Schema | bin/schemas.mjs、schema/*.json |
OpenAI / Anthropic 等 function calling |
安装与启用¶
在 DSH 中安装(推荐)¶
通过插件管理器安装 bundle,会写入 dsh.profile.bundles 并激活;若工具未立即出现,可重载或重启 DSH 一次。
plugin_manager { "action": "install_bundle", "target": "github:whaoran1018-cmd/dsh-plugin-weather" }
也可在 Agent 对话中说明安装,或使用 DSH 的 Plugins 页面(与 DeepSeek / 幻方无官方从属关系的社区目录见 SkillHub 插件页)。
手动挂到已有 Profile¶
在 ~/.dsh/profiles/<profile> 下用包管理器链接本地或已发布包,并在该 profile 的 package.json 的 dsh.profile.bundles 中加入 "dsh-plugin-weather"。包内自带 cordis.patch.yml,Loader 会自动插入插件行。
无包管理器的拷贝方式¶
将目录放到 ~/.dsh/profiles/<profile>/plugins/dsh-plugin-weather,并在 profile 的 cordis.patch.yml 追加:
- insert:
- id: weather
name: 'dsh-plugin-weather'
注意:勿放在以 . 开头的目录下,DSH 的 watcher 会忽略 **/.*。
全局 npm 与 MCP / CLI(非 DSH 专用)¶
若只需命令行或 MCP,可全局安装(README 原文):
npm i -g github:whaoran1018-cmd/dsh-plugin-weather
Cursor 等项目级 MCP 示例(路径需改为本机绝对路径):
{
"mcpServers": {
"dsh-weather": { "command": "node", "args": ["/absolute/path/to/dsh-plugin-weather/bin/mcp-server.mjs"] }
}
}
中文摘要示例环境变量:
"env": { "WEATHER_LANG": "zh" }
配置项¶
可在插件设置 UI 或 profile 的 cordis.patch.yml 对应行的 config 中设置:
| 键 | 默认 | 含义 |
|---|---|---|
defaultLocation |
"" |
未传地点时使用;空则按公网 IP 推断 |
language |
en |
摘要语言 |
units |
metric |
metric 或 imperial |
includeAirQuality |
true |
是否附带空气质量块 |
cacheTtlSeconds |
300 |
相同请求本地缓存秒数;0 关闭 |
requestTimeoutMs |
15000 |
上游单次请求超时 |
provider |
auto |
auto 或 open-meteo(见上文) |
MCP/CLI 等面还可通过环境变量统一配置:WEATHER_DEFAULT_LOCATION、WEATHER_LANG、WEATHER_UNITS、WEATHER_PROVIDER,以及 WEATHER_TOOL_PREFIX(为 MCP 工具名加前缀)。
典型用法¶
在 DSH 里直接提问¶
用自然语言即可,例如:
- 「上海现在天气怎么样」/ “What’s the weather in Shanghai?”
- 「上海未来 7 天会不会下雨」/ “Is it going to rain this week in New York?”
- 「雅加达空气好不好」/ “Air quality in Jakarta”
- 「明天几点日出」/ “What time is sunrise tomorrow?”
- 指定日期逐小时:「Hourly forecast for Oct 7」(模型可传
date: "2026-10-07") - 坐标:「UV index at 31.23,121.47」
工具参数要点¶
| 参数 | 适用 | 说明 |
|---|---|---|
location |
两者 | 中英文城市或 "lat,lon";否则用 defaultLocation,再否则公网 IP |
latitude / longitude |
两者 | 显式坐标,优先于 location |
units |
两者 | metric 或 imperial |
includeAirQuality |
两者 | 默认跟随插件配置 |
days |
两者 | 0–16;get_weather 默认 3,get_weather_forecast 默认 5 |
includeHourly |
预报 | 从当前起最多 48 小时逐小时 |
date |
预报 | YYYY-MM-DD,返回该日 24 条逐小时;必要时自动扩到 16 天窗口 |
命令行示例¶
适合写在 AGENTS.md / 系统提示里,让 Agent 用命令代替猜测:
dsh-weather 上海 --days 7
dsh-weather "New York" --units imperial --json | jq '.current.uvIndex'
dsh-weather --lat -6.21 --lon 106.85 --date 2026-10-07 --json
适用场景与注意¶
适合谁: 需要在 DSH 或任意 MCP/shell Agent 中查询全球实况、1–16 日预报、UV、日出日落与 PM2.5/AQI,且不想维护天气 API Key 的开发者。
权限与安全: 插件以当前 DSH 进程权限访问网络并执行逻辑;安装前应自行审阅 GitHub 源码 与 MIT 许可证,确认符合你的环境策略。联网请求会打到 Open-Meteo(及 auto 模式下的 wttr.in 回退)。
生态说明: DSH 强调「一切皆插件」;SkillHub 目录页 为社区收录,并非 DeepSeek 官方应用商店。
结尾¶
dsh-plugin-weather 用两个 Agent 工具覆盖实况、预报与空气质量,数据来自 Open-Meteo、免 Key,并可通过 MCP 与 dsh-weather CLI 延伸到 Cursor、Claude Code 等运行时。目录与文档: