前言¶
在 DeepSeek Harness (DSH) 的插件生态中,处理不同编程语言的命名规范转换是常见需求。dsh-case 插件解决了这一痛点,它通过注册 case_convert 工具,允许在多种命名风格之间快速转换。
插件定位¶
该插件由 ZhijiangTang 维护,采用纯 ESM 模块编写,零依赖,无需构建步骤。它旨在为 DSH 智能体提供轻量级的文本格式化能力。
安装与启用¶
使用官方安装命令将插件添加到指定配置文件:
dsh plugin --profile <name> add dsh-case
核心功能¶
插件提供的核心工具名为 case_convert,主要参数包括:
text(string, 必填):待转换的文本内容。target(string, 必填):目标命名风格。source(string, 可选):源命名风格,默认为auto,由插件自动检测。
典型用法¶
该工具支持多种常见的命名风格转换。以输入 hello_world 为例,支持的 target 参数及对应输出如下:
| target 参数 | 输出结果 |
|---|---|
camelCase |
helloWorld |
PascalCase |
HelloWorld |
snake_case |
hello_world |
kebab-case |
hello-world |
CONSTANT_CASE |
HELLO_WORLD |
UPPER |
HELLO WORLD |
lower |
hello world |
Title Case |
Hello World |
分词规则¶
插件对输入文本的分词逻辑如下:
- 分隔符切分:按
-、_、空白、.进行切词。 - 大小写边界:在无分隔符片段内,依据大小写边界切分:
- 小写转大写(
helloWorld→hello/World) - 连续大写后接小写(
HTTPApi→HTTP/Api) - 数字后接「大写 + 小写」(
my2Factor→my2/Factor)
- 小写转大写(
- 数字粘合:数字粘合到相邻单词,不单独成词(例如
version2保持为version2),开头的2FA不拆分。 - 空值处理:空输入或纯符号输入原样返回,
words字段为空数组。
返回值¶
工具返回一个规范的 JSON 对象,包含输入、目标、源风格、输出结果及分词后的单词列表:
{ "input": "...", "target": "camelCase", "source": "snake_case", "output": "...", "words": [...] }
注意事项¶
插件以当前 DSH 进程的权限运行。安装前请检查源码与许可证(MIT)。插件依赖于以下 peerDependencies:@deepseek-ai/cordis ^4.0.1、@deepseek-ai/dsh-tools ^0.1.0-rc.6、@deepseek-ai/dsh-llm ^0.1.0-rc.6。
结语¶
dsh-case 提供了简洁、零依赖的命名转换方案。更多细节可查阅 GitHub 仓库:https://github.com/ZhijiangTang/dsh-case