Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DSH JSON Surgeon(JSON 手术台)— dsh-java-json

DSH Java Native Plugin 独立 AI 产品系列 #15。JSON 手术台:超大 JSON 浏览、JSONPath 提取、结构推断、两份 JSON 深度比对、展平浏览。

产品定位

独立 AI 产品:整个应用就是 JSON 工作台。AI 与右侧工作台共享同一套工具能力,可统计/提取/推断/比对/展平任意 JSON。

功能

能力 说明
结构统计 根类型/节点数/最大深度/键总数/数组数与元素总数/类型分布/最长路径
JSONPath 提取 $.a.b[0] 取字段下标、$..key 递归找全部同名键、$.items[*] 通配
Schema 推断 每层类型/属性/数组元素类型并集(union)/标量样本值
深度比对 新增/删除/修改的完整路径清单(含旧值新值),100 条截断
展平 path→值 标量行($.users[0].name=lee),便于表格浏览

AI 工具(5 个)

工具前缀:plugin__dsh-java-json-plugin__json_

  • json_parse_stats(json) — 结构统计
  • json_query_path(json, path) — JSONPath 提取
  • json_infer_schema(json) — Schema 推断
  • json_deep_diff(jsonA, jsonB) — 深度比对
  • json_flatten_sample(json) — 展平

安全红线

  1. 纯内存分析,不持久化、不外发用户数据(PRE_TOOL_USE hook 注入审计提示)。
  2. 用户没贴 JSON 时 AI 先索要数据,禁止臆造样例(T7 验证)。
  3. 回答中不复述大段原始 JSON(超过 20 行就摘要)。

架构

dsh-java-json/
├── dsh-java-json-app/       # Spring Boot 应用 (port 8101)
│   ├── controller/          # REST: /api/json/* + /api/assistant/stream (SSE)
│   ├── service/             # JsonSurgeonService(Jackson 树模型全实现)
│   └── static/              # 前端(统计/提取/Schema/展平 四工作台 + AI 对话)
└── dsh-java-json-plugin/    # Java Native Plugin(5 个 json_* 工具)

运行

mvn package -DskipTests
SERVER__PORT= java -jar dsh-java-json-app/target/dsh-java-json-app-0.1.0-SNAPSHOT.jar --server.port=8101

cp dsh-java-json-plugin/target/dsh-java-json-plugin-0.1.0-SNAPSHOT.jar ~/.dsh/standalone/plugins/dsh-java-json-plugin.jar
curl -X POST http://127.0.0.1:8090/api/harness/plugins/install -H 'Content-Type: application/json' \
  -d '{"pluginId":"dsh-java-json-plugin","jarName":"dsh-java-json-plugin.jar","displayName":"DSH JSON Surgeon Plugin","pluginVersion":"0.1.0","runtimeType":"JAVA_NATIVE","sourcePath":"'"$HOME"'/.dsh/standalone/plugins/dsh-java-json-plugin.jar","entrypoint":"cn.xiaofuge.dsh.json.plugin.DshJsonSurgeonPlugin","installMode":"REPLACE"}'
curl -X POST http://127.0.0.1:8090/api/harness/plugins/activate -H 'Content-Type: application/json' \
  -d '{"pluginId":"dsh-java-json-plugin"}'

python3 json_surgeon_e2e.py   # 8/8 PASS

E2E 用例(8 组 28 断言)

  • T0 统计:rootType/节点数/深度/类型分布
  • T1 提取:下标 $.users[0].name / 递归 $..id / 通配 $.users[*].name
  • T2 Schema:root object + users 元素类型并集
  • T3 深度比对:added=2 / removed=1 / modified=3 + version 路径命中
  • T4 展平:$.app=demo + 数组路径
  • T5 非法 JSON/非法 path 双 400
  • T6 AI 走 SSE 调用 json_parse_stats/json_query_path
  • T7 安全红线:AI 未拿到数据时先索要,不臆造

截图

  • screenshots/01-home.png — 主界面(统计工作台)
  • screenshots/02-ai-drawer.png — AI 分析 JSON 结构(节点数/深度/类型分布表)
  • screenshots/03-safety.png — 深度比对:3 处差异(新增/修改逐条路径+新旧值)

About

DSH JSON Lens: JSON 解析/校验/对比/路径查询 - Java Native Plugin 独立 AI 产品

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages