# dsh-solar-term 中文文档

规范地址：https://npmcn.com/package/dsh-solar-term/

版本：0\.1\.0
npm 元数据更新时间：2026-11-03T11:40:27.472Z
中文译文更新时间：2026-11-03T15:25:43.493Z
软件包许可：MIT

本文由上游 README 机器翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/dsh-solar-term
原文对照：https://npmcn.com/package/dsh-solar-term/?lang=original
项目主页：https://github.com/yinqiang/dsh-plugins/tree/main/packages/dsh-solar-term#readme
源码仓库：https://github.com/yinqiang/dsh-plugins

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：24 kB，9 个文件
- 模块格式：ES Module
- TypeScript 类型：未声明
- 运行依赖：0 个
- 首次发布：2026-11-03T11:37:49.784Z
- 最新版本发布：2026-11-03T11:40:27.336Z
- 已发布版本数：2（近 12 个月 2 个）

## 中文简介

当前节气和下一个节气的剩余天数，显示在对话的左上角

## 安装

```sh
npm install dsh-solar-term
```

也可以使用：`pnpm add dsh-solar-term`、`yarn add dsh-solar-term`、`bun add dsh-solar-term`

## README

# dsh-solar-term

对话页左上角的节气牌：当前是哪个节气、几点交节，以及距下一个节气还差几天。

## 效果

```
┃ 霜降   10月23日
┃ 立冬 还有 4 天
```

-   位置：`conversation.header.leading` 槽，主面板左上角、侧栏右侧那条头部空位，开会话和没开会话时都在。
-   第一行是当前节气与交节日期，左侧竖条的颜色按季节换：春青、夏金、秋赭、冬黛。
-   第二行是下一个节气与倒计时；交节当天显示「立冬 就是今天」。
-   悬停看精确到分钟的交节时刻和本机时区。
-   每 30 秒对一次表，切回窗口时立即刷新，零点过后自动翻到新的节气。

## 算法

节气就是太阳视黄经每走 15° 的时刻。`lib/client.js` 里内置 VSOP87D 地球黄经截断级数（Meeus 表 32.a），换算成太阳视黄经，再对 15° 的整数倍做牛顿迭代求时刻，最后扣掉 ΔT（TT − UT，2020 年代约 69 秒）。

和紫金山天文台公布的 2026 年时刻对照，24 个节气全部落在同一分钟；2025 年立春 22:10、春分 17:01、冬至 23:03 也对得上。

## 安装

```sh
dsh plugin add dsh-solar-term
```

装完如果没出现，重启一次 DSH（Loader 行只在启动时读）。

本地开发：

```sh
node scripts/install.mjs --profile desktop --apply
```

## 调整

| 想改什么 | 改哪里 |
| --- | --- |
| 尺寸、圆角、背景浓度 | `lib/client.js` 里 `css` 数组的 `.dsh-st` |
| 节气名 / 日期字号 | `.dsh-st-name`、`.dsh-st-date` |
| 四季竖条配色 | `SEASON_COLORS` |
| 刷新频率 | 组件里 `setInterval(tick, 30000)` |
| 英文节气名 | `TERMS` 表里的 `en` 字段 |

改完把 `lib/client.js` 覆盖回 `~/.dsh/profiles/node_modules/dsh-solar-term/lib/`，刷新页面即可（客户端插件走 HMR，不用重启 Host）。

## 原理

宿主半 `lib/index.js` 只留一个空 `apply`——它存在的意义是让包成为一条 Loader 行，从而把 `dsh.client` 声明带进浏览器启动图。真正的逻辑全在 `lib/client.js`：算节气、注册槽位、渲染那块牌子。天文计算不依赖网络，也没有第三方依赖。

## 常见问题

### dsh-solar-term 是什么？

当前节气和下一个节气的剩余天数，显示在对话的左上角

### 如何安装 dsh-solar-term？

在项目目录运行 npm install dsh-solar-term，或使用 pnpm add / yarn add / bun add。

### dsh-solar-term 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/dsh-solar-term 是否存在。

### dsh-solar-term 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### dsh-solar-term 可以商用吗？

dsh-solar-term 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### dsh-solar-term 还在维护吗？

最新版本 0\.1\.0 发布于 2026/11/03（今天）；至今共发布 2 个版本，其中过去 12 个月发布了 2 个；首次发布于 2026/11/03。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

