Tools & Capabilities

dsh-weather

sunshine-lang/dsh-weather · ★ 8

sunshine-lang

A DeepSeek Harness weather tool for current conditions and multi-day forecasts for any city or location, using free Open-Meteo data without an API key or registration.

License
MIT
Added
2026-08-23
Maintenance
active
Install kind
github
npm
dsh-weather

No manifest check is available; listing does not imply compatibility or security review.

安装

dsh plugin --profile web add github:sunshine-lang/dsh-weather

GitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试

For install and environment setup, plus plugin development tutorials, see DSH community docs ↗

README

Source README · body: en · Read Chinese README

Table of contents
  1. Features
  2. Install
  3. From GitHub
  4. From npm
  5. From a local checkout (development)
  6. Verify
  7. Use
  8. Configuration
  9. Development
  10. More plugins by this author
  11. License

中文 | English

Weather tool for DeepSeek Harness: current conditions and multi-day forecasts for any city or place, powered by Open-Meteo — free, no API key, no sign-up.

Features

  • get_weather tool: current temperature, feels-like, humidity, wind, and conditions.
  • Optional multi-day forecast (up to 7 days): daily min/max and conditions.
  • Celsius or Fahrenheit.
  • No API key required; attribution: data © Open-Meteo.

Install

From GitHub

dsh plugin --profile web add "github:sunshine-lang/dsh-weather"

Then restart dsh --profile web. lib/ is prebuilt and committed, so no build permission is needed.

From npm

dsh plugin --profile web add dsh-weather

From a local checkout (development)

dsh plugin --profile web add ./dsh-weather

Note: pnpm installs the dependencies of a link:-style local dependency only if you add them to the profile yourself. A registry/GitHub install handles them automatically:

dsh plugin --profile web add @deepseek-ai/dsh-tools @deepseek-ai/cordis @deepseek-ai/schemastery

Verify

dsh --profile web --dump-config   # should show a "# == dsh-weather" layer

Use

Start the Web UI and ask the model, for example:

What's the weather in Shanghai right now?

Check the weather in Tokyo and give me a 3-day forecast in Fahrenheit.

The model calls get_weather with location (required), and optionally units (celsius | fahrenheit) and days (1–7).

Configuration

Override any key through cordis.patch.yml or the profile's patch layer:

- patch:
    - id: dsh-weather
      config:
        defaultUnits: fahrenheit
        timeoutMs: 15000
        maxForecastDays: 5
Key Default Meaning
defaultUnits celsius Temperature unit applied when the model omits units.
timeoutMs 10000 Timeout for each weather API call, in milliseconds.
maxForecastDays 7 Upper bound for the days parameter (1–7).

Invalid configuration fails the load with an actionable error.

Development

pnpm install
pnpm build        # tsc → lib/

Rebuild from a DeepSeek Harness checkout (for type resolution against the workspace source) uses tsconfig.local.json instead: tsc -p tsconfig.local.json.

More plugins by this author

All DeepSeek Harness plugins by this author, in one place: dsh-plugins

License

MIT. Weather data © Open-Meteo.