@deepseek-ai/dsh-tool-time
DSH time tool plugin
AI 分析
为模型提供获取当前 UTC 时间、格式化日期等时间处理能力。适合需要精确时间戳、日程计算或时区转换的自动化任务。
インストール
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:omdsh-dev/dsh-tool-timeドキュメント
README 全文を読む ↗一次性任务(headless)profile —— dsh run 默认使用 headless
dsh plugin --profile headless add "C:/path/to/dsh-tool-time"
包内 `dsh.bundle.patch`(指向 `cordis.patch.yml`)会在安装后自动把插件加入 profile 的 layer stack;插件的 `cordis.patch.yml` 以 `- insert:` 插入 `tool-time` 条目。插件缺失的 peer 依赖(`cordis`、`@deepseek-ai/dsh-tools`)由 profile 的 healed `profiles/node_modules` 回退安装提供。
> ⚠️ web 与 headless 是**不同 profile**:web 安装不会自动覆盖 headless;`dsh run` 默认使用 headless profile。Windows 路径使用正斜杠(`C:/...`)。
### 验证安装
```sh
dsh --profile web --dump-config | grep tool-time
运行验证
dsh run "使用 time 工具获取当前 UTC 时间"
手动安装与旧版本兼容
仅适用于不支持 Profile Bundle 的旧快照或插件开发调试环境:
- 放入 monorepo:
cp -r time ~/.dsh/source/master/packages/tools/time(开发调试) apps/cli/package.json加"@deepseek-ai/dsh-tool-time": "workspace:^";tsconfig.host.jsonreferences 加{ "path": "./packages/tools/time" }pnpm install && pnpm run build- 在 profile 用户层 patch 插入插件(
~/.dsh/profiles//cordis.patch.yml):
- insert:
- id: tool-time
name: '@deepseek-ai/dsh-tool-time'
- 验证:
dsh --profile --dump-config | grep tool-time
0806 注意:patch 是 id-targeted 语义——裸
- id:条目会报entry "xxx" not found,必须用- insert:列表包裹。
已知限制
- 分发链路:
@deepseek-ai/dsh-tools私有,需 monorepo workspace add是 UTC 日历运算,非当地墙钟语义(当地墙钟需 v2)- 不支持自然语言日期("next week")与日历月/年差(v2)
- 时区数据来自 Node 内置 ICU:"跨平台一致" = "相同 Node/ICU 数据下一致"
- 输入年份范围为 1000–9999(
0000–0999拒绝:JavaScriptDate.UTC对这些年份有 1900+ 映射的历史行为) - 精度契约:
iso/unix保留毫秒;local/formatted为秒精度展示字段 - offset 精度到分钟:v1 只支持现代时区;历史时区(<1900)的秒级 offset 会被截断
测试
pnpm test
功能/错误/攻击载荷共 63 个用例(fake clock、时区已知向量、月末钳制、严格 ISO 边界、年份范围、offset 跨年、极端 amount、原型链时区名等)。完整清单见本地维护的设计文档。
许可
MIT