Bundle
dsh-netcafe-devkit
The small deterministic operations an agent needs mid-task. JSON/YAML round-trip, JSON Schema validation, text diff, JWT decode, regex testing, SQL dialect transpiling, QR codes, timezone and unit conversion, page screenshots.
- Source
- mario03690
- License
- MIT
- Updated
- Updated 18 days ago
Readme
# dsh-devkit
> npm 上的包名是 `dsh-netcafe-devkit` —— `dsh-devkit` 已被他人占用。
> 仓库名不变,`dsh plugin add github:...` 的装法照旧。
JSON/YAML round-trip, JSON Schema validation, text diff, JWT decode, regex testing, SQL dialect transpiling, QR codes, timezone and unit conversion, page screenshots.
## What & why
These are the operations an agent reaches for in the middle of something else. Doing them by prompting a model is slower, costs more and is not reproducible. `transpile_sql` runs a real parser (mysql, postgres, bigquery, snowflake, clickhouse, doris, starrocks), so syntax errors come back with line and column instead of a confident rewrite.
Every set ships `what_can_you_do` — describe a task in any language, get the exact tool plus a ready-to-run call.
<!-- TOOLS:BEGIN -->
## What's in this pack
14 tools, read from the live endpoint on 2026-08-22 — **this table is generated, not hand-written**, so it cannot drift away from what `tools/list` actually returns. The **Arguments** column is what the tool genuinely reads; it comes from the tool's own declared input schema.
| Tool | What it does | Arguments | Price / call |
|---|---|---|---|
| `what_can_you_do` | Describe a task in plain language (any language) and get back exactly which tools on this server do it, with ready- | `task` | — |
| `redact_text` | Strip emails, phone numbers, ID numbers, API keys, private keys, JWTs, card numbers and IPs out of text, returning | `text`, `only` | $0.002 |
| `json_yaml` | Converts JSON to YAML or YAML to JSON. It works out which one you gave it, so you do not have to say. A parse failu | `text`, `to` | $0.001 |
| `validate_json` | Checks that text parses as JSON, and optionally that required keys are present with the right top-level types. Retu | `text`, `schema` | $0.001 |
| `diff_text` | Returns which lines were added and which were removed, with line numbers — computed with a longest-common-subsequen | `a`, `b` | $0.002 |
| `jwt_decode` | Decodes the header and payload of a JWT and reports issued-at / expiry as readable timestamps plus seconds remainin | `token` | $0.001 |
| `regex_test` | Runs a regular expression against sample text and returns every match with its position and capture groups (named g | `pattern`, `text`, `flags` | $0.001 |
| `transpile_sql` | Convert a SQL statement from one dialect to another — mysql, postgres, sqlite, tsql, oracle, snowflake, bigquery, r | `sql`, `read`, `write` | $0.001 |
| `make_qr` | Any text or URL → a QR code PNG you can embed or download. Stateless URL form: https://ainetcafe.com/i/qr/<text> | `text` | $0.001 |
| `json_format` | Validate and pretty-print JSON (2-space indent). Reports the error location if invalid. | `json`, `url`, `indent` | $0.001 |
| `timezone_convert` | Convert a time between time zones, or get current time in any zone. from/to = IANA zone (Asia/Shanghai), time = YYY | `to`, `from`, `time` | $0.001 |
| `unit_convert` | Convert units: length, weight, temperature, area, volume, speed, data size. value + from + to (e.g. 100 km mi, 25 c | `value`, `from`, `to` | $0.001 |
| `sql_from_description` | Plain-language request + table schema → ready-to-run .sql file with comments. | `request`, `schema`, `dialect` | $0.01 |
| `screenshot_url` | Full-page screenshot of any URL → PNG. The same job screenshot APIs charge $7-79/month for. | `url`, `width` | $0.003 |
`—` in the price column means the tool is not metered per call (session/trial-gated instead). Failed calls are never charged. Check it yourself:
```sh
curl -s -X POST https://ainetcafe.com/mcp/dev -H 'content-type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
```
<!-- TOOLS:END -->
## Install
```sh
dsh plugin --profile <your-profile> add github:mario03690/dsh-devkit
```
Thin config layer only (one `@deepseek-ai/dsh-mcp-client` row, shipped as `cordis.patch.yml`) — no tool code runs on your machine. Built against the MCP client config shape of the dsh v0.1 developer preview; verified against the live endpoint on 2026-08-22.
## Cost, quota, privacy
Mostly $0.001 per call and deterministic. Two exceptions that are not: `sql_from_description` ($0.01) calls a model, `screenshot_url` ($0.003) renders a page. Failed calls are not charged.
No signup for the free anonymous quota. Documents are processed in memory and not retained. The config URL carries `?s=dsh-dev` — a channel tag identifying the install path, not you.
**Disclosure:** built and run by the team behind [ainetcafe.com](https://ainetcafe.com) — our own service, free tier plus paid usage. Full bundle (everything at once): [dsh-netcafe](https://github.com/mario03690/dsh-netcafe). MIT.
## Compatibility & permissions (at a glance)
| Signal | This plugin |
| --- | --- |
| **Runtime** | dsh v0.1 developer preview (Cordis v4). Touches only the MCP client config shape — the narrowest surface available. Verified against a live endpoint on 2026-08-22. |
| **What runs locally** | Nothing. Ships one `cordis.patch.yml` row; there is no tool code, no build step and no lifecycle script in this package. |
| **Filesystem access** | None. |
| **Shell / process access** | None. |
| **Network access** | Outbound HTTPS to `ainetcafe.com` only, from the MCP client that dsh already ships. |
| **Credentials** | None required for the free tier. An optional AllRouter key, if you supply one, is sent by dsh as a request header and is never stored by us. |
| **Data retention** | Documents and prompts are processed in memory and not retained. |
| **Dependencies** | One peer dependency: `@deepseek-ai/dsh-mcp-client` (ships with dsh). |
| **License** | MIT (see `LICENSE`). |
| **Publisher** | The team that runs [ainetcafe.com](https://ainetcafe.com). Issues get a same-day reply. |
> A directory listing is not a security review. Read `cordis.patch.yml` — it is short enough to read in full in under a minute.
Install
dsh plugin --profile web add github:mario03690/dsh-devkit
Profile: web
With the hub plugin installed, ask your agent to install it by name — it resolves the same plan shown here.
dsh plugin --profile web add github:stvlynn/dsh.fish#path:packages/dsh-plugin-hub
install dsh-netcafe-devkit from the hub
- This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.