READMESource: main@875ebef4
@deepseek-ai/dsh-clock
DSH 桌面端输入框工具行里的实时时钟,就在发送按钮前面。
A live clock chip in the DSH composer tool row, before the submit action.
… ◷ 22:30:44 · 9月29日 周二 ⏎
- 微表盘 + 时间:14px SVG 指针表盘,13px 等宽数字;秒数小一号排在右侧,每秒闪一下。
- 日期:跟随界面语言(
9月29日 周二/Sep 29 Mon)。 - 点击:24 / 12 小时制切换,选择记在
localStorage。 - 悬停:tooltip 给出完整本地时间、时区名、
GMT+08:00与 ISO 周次。 - 窄窗口逐级收起:
≤880px收起星期,≤680px收起日期。
样式对齐工具行里已有的无边框控件,所以它读起来像第 N 个控件,而不是贴上去的外挂。时钟读的是浏览器本机时间,不请求 Host —— Host 半边是空的。
安装
方式一:插件管理器(推荐)
本仓库通过 dsh.bundle.patch 声明了自带的 cordis.patch.yml,不需要手写补丁行:
dsh plugin --profile desktop add github:wangxiang0605qvq/dsh-clock
方式二:作为 profile 本地插件
把 lib/ 下的两个文件当作插件的两个半边:
~/.dsh/profiles/desktop/plugins/clock/
├── package.json # name 必须与下面 client.js 的 load id 一致
├── index.js # 即 lib/index.js
└── client.js # 即 lib/client.js
补丁行用相对路径,由 patch 文件所在目录解析:
- insert:
- id: clock
name: ./plugins/clock/index.js
window.__ModuleLoader__.load({ id })必须与 package.json 的name完全一致,否则 browser 模块表找不到 factory,插件会静默不生效。
文件
| 文件 | 作用 |
|---|---|
lib/client.js |
浏览器半边:样式、秒边界时钟源、Intl 本地化、微表盘、胶囊组件、conversation.input.right 注册 |
lib/index.js |
Host 半边:空的 apply,只为让 Loader 有可挂载的条目 |
cordis.patch.yml |
bundle 层:声明本包自带的挂载行 |
已知边界
- 只在有会话时显示 ——
conversation.input.right是 session 作用域,空白新会话页上没有。 - 时钟读的是浏览器本机时间,不做 NTP 校时。
- 秒闪动画尊重
prefers-reduced-motion: reduce。 - 无头 / TUI 环境没有输入框,胶囊不显示。
License
MIT
No comments yet. Be the first to write one.