dsh-fmt
by ZhijiangTang
DSH 插件:格式化 / 校验文本,支持 JSON / YAML / TOML / SQL 四种格式。纯 ESM、无构建、无原生依赖。
DSH plugin: JSON/YAML/TOML/SQL formatter with error line/column locations
安装
dsh plugin --profile web add github:ZhijiangTang/dsh-fmtGitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试
安装与环境配置指引、插件开发教程见 DSH 中文社区文档 ↗
安装即在你的机器上以你的权限运行第三方代码——它可读写文件、使用凭据、访问网络,DSH 的工具审批不会为插件代码加沙箱。「检测到 manifest」仅代表发现 dsh.bundle / dsh.plugin 清单,不构成兼容性或安全审查;安装前请审阅源码,不熟悉的插件先在不含密钥的环境试用。
README
DSH 插件:格式化 / 校验文本,支持 JSON / YAML / TOML / SQL 四种格式。纯 ESM、无构建、无原生依赖。
安装
dsh plugin --profile <name> add file:./plugins/dsh-fmt
(发布到 npm 后:dsh plugin --profile <name> add dsh-fmt)
工具
format_text—— 输入文本与目标格式,返回规范值{ format, ok, output, error? }。
参数
| 参数 | 类型 | 必填 | 默认 | 说明 |
|---|---|---|---|---|
text |
string | 是 | - | 要格式化 / 校验的文本 |
format |
enum | 是 | - | json / yaml / toml / sql |
indent |
number | 否 | 2 |
缩进宽度(JSON/YAML 美化;SQL 的 tab 宽度) |
sqlDialect |
enum | 否 | standard |
standard / postgresql / mysql / sqlite,仅 SQL 使用 |
keywordCase |
enum | 否 | upper |
upper / lower / preserve,仅 SQL 使用 |
返回值
规范 JSON 值:
{
"format": "json", // 本次使用的格式
"ok": true, // 解析/格式化是否成功
"output": "…", // 格式化结果(ok=true)
"error": { // 仅 ok=false 时存在
"message": "…",
"line": 1, // 可选
"column": 2 // 可选
}
}
解析失败不算工具失败:错误以 ok:false + error(尽力带 line/column 位置)返回,而不是抛出工具异常。
各格式示例
JSON
输入 {"b":1,"a":[1,2]},format=json,indent=2:
{
"b": 1,
"a": [
1,
2
]
}
非法输入 {bad 返回 ok:false,error.message 含 Node 报错原文,line/column 从报错中的 position … (line L column C) 正则提取。
YAML
输入:
a:
b: 1
c: [x, y]
format=yaml 先 parse 校验,再 stringify 美化(流式数组会展开为块式)。解析失败捕获 YAMLParseError,取 linePos[0] 作为位置。
TOML
输入:
title="demo"
[owner]
name="t"
format=toml 先 parse 校验再 stringify 规范化;解析失败取 TomlError 的 line / column。
SQL
输入 select a,b from t where x=1 order by b,format=sql、keywordCase=upper:
SELECT
a,
b
FROM
t
WHERE
x = 1
ORDER BY
b
sqlDialect 映射到 sql-formatter 的 language:standard→sql、postgresql→postgresql、mysql→mysql、sqlite→sqlite。
SQL 不做语法校验的说明
format_text 的 SQL 分支本身不做主动语法校验:不先解析再格式化,直接把文本交给 sql-formatter 的 format(),多数可读 SQL 都能得到规范化输出。但 sql-formatter 底层是一个完整的 SQL 解析器,遇到根本无法解析的片段会抛错——此时同样遵循「解析失败不算工具失败」的约定,返回 ok:false + error.message,而不会让工具调用失败。
License
MIT
原始 README: https://github.com/ZhijiangTang/dsh-fmt/blob/main/README.md ↗
同类插件
查看全部 →
dsh-anchored-standard
两阶段 DeepSeek Harness 预设:先 Minimal 对齐的 bootstrap,再切完整 Standard 工具(Project2 98/99)

PicGo-Core
极致的图片上传引擎,CLI 与 API 双支持

awesome-deepseek-harness
DeepSeek Harness(DSH)及其优秀社区插件的精选指南。

awesome-deepseek-harness
DeepSeek Harness (DSH)生态系统:来自dsh-external/hub和公共dsh-plugin主题的精选插件、工具和基础设施。

AI-Novel-Writer
本地优先 AI 小说创作工作台,提供 Windows/macOS 桌面版与 DeepSeek Harness 插件开发预览,支持角色、大纲、章节蓝图、审稿修稿和本地模型。

mcp-for-stata
MCP-for-Stata:把 Stata 集成进你的 agent