dsh-plugin-envtime
August 14, 2026 · View on GitHub
一个 DeepSeek Harness (dsh) 插件示例:注册两个轻量工具,演示标准的 dsh 插件写法
(Cordis 插件 + defineTool 工具契约 + Schemastery 配置 schema)。
工具
| 工具 | 说明 |
|---|---|
current_time | 返回当前时间:ISO 字符串 + 指定时区的人类可读渲染。可传 timezone 参数覆盖默认。 |
env_report | 汇总宿主环境:工作目录、OS/架构、Node.js 版本、PID、DSH_* 环境变量。可用 section 过滤。 |
配置
在 profile 的 patch 层(如 cordis.patch.yml)中覆盖:
- id: plugin-envtime
config:
timezone: Asia/Shanghai # 任意 IANA 时区,或 "local"(默认)
dateStyle: medium # full | long | medium | short
timeStyle: short # full | long | medium | short
includeHostname: true # env_report 是否包含主机名
安装到 profile
# 在 profile 目录里安装(本地路径或 npm 包名均可)
cd ~/.dsh/profiles/web
pnpm add /path/to/dsh-plugin-envtime
# 然后在 cordis.patch.yml 顶部插入该插件:
# - id: plugin-envtime
本地开发与测试
npm install
node test/run-test.mjs # 无需 dsh 运行时,mock ctx 直接验证工具契约
文件结构
lib/index.js # Cordis 插件入口:name / inject / Config / apply
test/run-test.mjs # 独立测试:schema 子集校验 + 工具执行验证