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 子集校验 + 工具执行验证