omdsh-dev/dsh-tool-json2

@deepseek-ai/dsh-tool-json

DSH JSON query tool

AI 分析

允许模型使用特定路径语法高效查询和提取复杂 JSON 对象中的字段。适合处理 API 响应、配置文件解析等结构化数据提取任务。

パッケージ
@deepseek-ai/dsh-tool-json
バージョン
0.0.1
ライセンス
MIT
最終更新
2026/08/14

インストール

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:omdsh-dev/dsh-tool-json

ドキュメント

README 全文を読む ↗

一次性任务(headless)profile —— dsh run 默认使用 headless

dsh plugin --profile headless add "C:/path/to/dsh-tool-json"


包内 `dsh.bundle.patch`(指向 `cordis.patch.yml`)会在安装后自动把插件加入 profile 的 layer stack;插件的 `cordis.patch.yml` 以 `- insert:` 插入 `tool-json` 条目。插件缺失的 peer 依赖(`cordis`、`@deepseek-ai/dsh-tools`)由 profile 的 healed `profiles/node_modules` 回退安装提供。

> ⚠️ web 与 headless 是**不同 profile**:web 安装不会自动覆盖 headless;`dsh run` 默认使用 headless profile。Windows 路径使用正斜杠(`C:/...`)。

### 验证安装

```sh
dsh --profile web --dump-config | grep tool-json

运行验证

dsh run "使用 json 工具查询 {"a":{"b":1}} 的 a.b"

手动安装与旧版本兼容

仅适用于不支持 Profile Bundle 的旧快照或插件开发调试环境:

  1. 放入 monorepo:cp -r json ~/.dsh/source/master/packages/tools/json(开发调试)
  2. apps/cli/package.json"@deepseek-ai/dsh-tool-json": "workspace:^"tsconfig.host.json references 加 { "path": "./packages/tools/json" }
  3. pnpm install && pnpm run build
  4. 在 profile 用户层 patch 插入插件(~/.dsh/profiles//cordis.patch.yml):
- insert:
    - id: tool-json
      name: '@deepseek-ai/dsh-tool-json'
  1. 验证:dsh --profile --dump-config | grep tool-json

0806 注意:patch 是 id-targeted 语义——裸 - id: 条目会报 entry "xxx" not found,必须用 - insert: 列表包裹。

用法

json { input: , query: "items[0].name" }        → "hello"
json { input: , query: "items[*].name" }         → ["a", "b"](合法 null 保留)
json { input: , query: "items['complex-key']" }  → "ok"

已知限制

  1. 分发链路:@deepseek-ai/dsh-tools 私有,需 monorepo workspace
  2. 只读:不能修改 JSON 字段(原地修改用 str_replace_editor/write;v2 可考虑 set 模式)
  3. 无过滤器表达式、无标准 JMESPath 投影扁平化(见语义边界)
  4. 对象形态 input 依赖 DSH 参数管线保证 lossless JSON

测试

pnpm test

54 个用例(功能、错误、攻击载荷、对象/字符串双形态输入、资源上限与转义边界)。完整清单见本地维护的设计文档。

许可

MIT