开发工具箱
English | 中文
对话页输入框旁边的本地转换器。JSON、URL、Base64、时间戳、UUID 都在浏览器里完成,不调用模型,也不出网。

打开任意会话,输入框 + 右侧的代码图标就是入口。上次用过的 Tab 会记住;输入和输出不会写进磁盘。
底部三个按钮对每个工具都生效:
- 从输入框载入 — 把当前草稿拷进这个 Tab 的输入(UUID 除外)。
- 复制输出 — 写入剪贴板。
- 插入输入框 — 草稿为空则替换;否则换行后追加,然后关掉面板。
超过 512 KiB 字符的输入会被拒绝,避免一次粘贴卡死标签页。
JSON
把压缩或手写的 JSON 变成可读文本,也可以压回一行、校验是否合法,或把普通字符串转成 JSON 字符串字面量。
{"ok":true,"user":{"id":42,"name":"Joshua","roles":["admin","reviewer"]},"items":[{"sku":"A-100","qty":3,"region":"ap-east-1"},{"sku":"B-200","qty":1,"region":"us-west-2"}],"trace":"req-7f3a"}
| 按钮 | 作用 |
|---|---|
| 格式化 | JSON.parse 之后按两空格缩进打印 |
| 压缩 | 去掉空白,压成一行 |
| 校验 | 只检查能否解析,不改写文本 |
| 转义 | 把整段输入变成 JSON 字符串(含两侧引号),例如 a "b" → "a \"b\"" |
| 反转义 | 解析 JSON 字符串;若没有外层引号,会按字符串内容再试一次 |
对象和数组请用格式化,不要用反转义。
查找
输出区下方可以搜。有输出时搜输出,没有输出时搜输入。
- 默认按字面量匹配。
- 勾选 正则 后按 JavaScript 正则搜(非法正则会直接报错)。
- 区分大小写 可选。
- Enter 下一条,Shift+Enter 上一条;最多标出 2000 处。

放大
输出标题右侧的按钮把面板切成阅读视图:只留输出、查找和底部按钮,输出铺满窗口。图标在放大 / 还原之间切换。再点一次、按 Escape,或点遮罩,回到普通面板。

URL
编码整段文本、解码百分号序列,或在 query 和 JSON 对象之间转换。
https://api.example.com/v1/search?q=%E5%B7%A5%E5%85%B7%E7%AE%B1&lang=zh-CN&tag=json&tag=url&debug=1
| 按钮 | 作用 |
|---|---|
| 编码 | encodeURIComponent |
| 解码 | decodeURIComponent;+ 当成空格 |
| Query → JSON | 接受 a=1&b=2、前导 ?,或完整 URL(只取 query)。同一 key 出现多次则变成数组 |
| JSON → Query | 输入必须是对象。值只能是字符串、数字、布尔,或它们的数组;null 会跳过 |
Base64
UTF-8 文本和标准 Base64 互转。解码时会忽略编码串里的空白,方便从日志里整段粘贴。
时间戳
输入 10 位 Unix 秒、13 位 Unix 毫秒、带小数的秒,或浏览器能 Date.parse 的文本(例如 ISO)。点 现在 填入当前 ISO。
1710000000

一次给出四种表示:Unix 秒、Unix 毫秒、ISO、本地时间。空输入不会当成「现在」。
UUID
点 生成 得到一个 UUID v4(crypto.randomUUID())。这一页没有输入框。
安装
本目录是独立 npm 包(Node ^22.19)。从 git 安装时,dsh plugin add 拿到的是源码,会跑 prepare 生成 lib/。pnpm ≥10 会拦住这个脚本,直到你把它加入允许列表。
dsh plugin --profile web add github:Qingzhou-Joshua/dsh-dev-toolbox
# 第一次 add 会失败并打印 allowBuilds 键,把它写进 ~/.dsh/profiles/web/pnpm-workspace.yaml
dsh plugin --profile web add github:Qingzhou-Joshua/dsh-dev-toolbox
dsh web若在 harness 仓库旁边本地开发:
pnpm install
pnpm run build
pnpm dsh plugin --profile web add /absolute/path/to/dsh-dev-toolbox
pnpm dsh web不要在 harness 仓库根目录跑 pnpm run build。装好后刷新 Web UI,按钮在输入框工具行。