@morehao/dsh-github-trending 0.4.1 → 0.4.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,33 @@
1
1
  # Changelog
2
2
 
3
+ ## [v0.4.3] - 2026-10-31
4
+
5
+ ### 变更
6
+
7
+ - **默认三周期全产出,无需勾选**:`schedule.periods` 固定收敛为 `daily,weekly,monthly`,定时运行默认产出日榜、周榜、月榜;设置页移除周期多选框,改为静态说明。旧配置(只有 `daily` 或空数组)在归一化时自动升级为三周期。相应地移除了「调度开启却未选周期」的校验(周期已恒为三项)。
8
+ - **手动/工具运行也默认三榜**:新增 `Runner.runMany()`,`POST /run` 与 `trending_run` 在省略 `period` 时按顺序依次跑日/周/月三个周期(各自独立 id、日志、历史记录、`periodSuccess`),响应新增 `summaries` 数组;显式传 `period` 时仍只跑单周期。批次期间由 `batching` 标志挡住外部并发触发。
9
+
10
+ ## [v0.4.2] - 2026-10-31
11
+
12
+ ### Features
13
+
14
+ - **榜单视图按周期分段**:工作台的「日报」tab 更名为「榜单」,视图顶部用「日榜 / 周榜 / 月榜」分段切换,每个周期各自一条独立时间线(日按天、周按 ISO 周、月按月),互不吞并。同一期多次运行只保留一条(优先成功且有预览),分段上显示各周期有预览的期数。
15
+ - **运行记录体现周期**:每条记录加周期标签,并新增「全部 / 日榜 / 周榜 / 月榜」筛选;展开详情显示周期。概览「上次交付」加周期标签。
16
+ - **回看窗口扩到 90 条**:`HISTORY_LIMIT` / `PREVIEW_LIMIT` 从 30 提到 90,三周期共用历史时不再挤掉日榜的最近 30 天窗口。
17
+
18
+ ### 修复
19
+
20
+ - **同一天多周期只显示一条**:此前榜单视图按日期分组,月末日榜与月榜同日各跑一次会互相吞并,周日日榜与周榜同日也会被藏起一条;现在按「周期 + 期数桶」分组,三个周期都完整保留。
21
+
22
+ ### 变更
23
+
24
+ - **精简「关于」卡片**:更新区去掉标题与说明句,压缩成与顶部身份条同构的一行(状态 + 按钮)。
25
+ - **「关于」包名行更简洁**:移除「复制完整包名」文字与复制图标,点击整行或手动选中即可复制,复制成功后整行边框短暂转绿。
26
+ - **「核心」增加 GitHub 跳转**:核心版本号链接到 core 仓库并附 GitHub 图标;仓库地址由 `package.json` 的 `dsh.core.repo` 经 `/state.core` 暴露,解析不到时降级为纯文本。
27
+ - **概览页移除「插件更新」卡片**:更新入口只保留顶部身份条与「关于」弹层。
28
+
29
+ **Full Changelog**: https://github.com/morehao/dsh-github-trending/compare/v0.4.1...v0.4.2
30
+
3
31
  ## [v0.4.1] - 2026-10-31
4
32
 
5
33
  ### Features
package/README.md CHANGED
@@ -11,9 +11,9 @@
11
11
 
12
12
  - 按你设定的时间(IANA 时区)每天跑一次;从侧栏入口进入工作台,点「立即运行」
13
13
  - 一次运行 = **spawn 一次本地核心**:抓取 → 模型总结 → 渲染 → commit → push → PR → 合并,全部由核心完成
14
- - 插件只负责:收集配置、调度、传配置与密钥、展示结果与错误、记录最近 30 次运行
14
+ - 插件只负责:收集配置、调度、传配置与密钥、展示结果与错误、记录最近 90 次运行
15
15
  - 内容按核心产出的成品**原样**落地(canonical),插件不改写、不重排、不二次调用模型
16
- - 工作台分「概览 / 日报 / 运行记录 / 设置」:概览回答下次运行、就绪检查与上次交付;日报按日期回看最近 30 天;运行记录可展开交付物并看只读日志
16
+ - 工作台分「概览 / 榜单 / 运行记录 / 设置」:概览回答下次运行、就绪检查与上次交付;榜单按周期(日 / 周 / 月)分别回看;运行记录可展开交付物、按周期筛选并看只读日志
17
17
 
18
18
  **它不做什么**:不抓 GitHub、不解析 HTML、不调模型(回环代理模式除外)、不渲染内容、不执行 git。这些只有核心一处实现,避免两份实现漂移。
19
19
 
@@ -33,14 +33,14 @@ dsh plugin --profile <profile> add @morehao/dsh-github-trending
33
33
 
34
34
  > 设置页分「内容来源 / 模型 / 仓库 / 认证 / 榜单 / 调度」六个 tab;**除「内容来源」(只有状态与核心操作,没有可保存字段)外,每个 tab 独立保存与校验**;某个 tab 有未保存改动时,左侧对应 tab 会显示黄点。
35
35
 
36
- ## 日报预览与最近 30 天
36
+ ## 榜单预览与按周期回看
37
37
 
38
38
  - 运行成功后,Host 从核心本次返回的 `outcome.files` 里挑当天的 `.md`(优先 `YYYY-MM-DD.md`,否则只有一个 `.md` 时用它),**只读**复制到 `$DSH_HOME/github-trending/previews/<runId>.md`:路径必须在 `repo.path` 内(词法 + realpath 各判一次)、不超过 512 KB、sha256 与契约声明一致;失败不阻断运行,只是这次没有预览。
39
- - 预览副本 0600、临时文件 + rename、最多保留 30 份;`state.json` / `history.json` 只存 `file` / `bytes` / `sha256` 元数据,不存正文。
39
+ - 预览副本 0600、临时文件 + rename、最多保留 90 份;`state.json` / `history.json` 只存 `file` / `bytes` / `sha256` 元数据,不存正文。
40
40
  - `GET /preview?id=<runId>` 只接受历史里出现过的 id、不接路径参数;返回 `{ text, truncated }`。客户端渲染 Markdown 子集(标题 / 段落 / 列表 / 引用 / 代码块 / 表格(GFM 管道表,含列对齐)/ 粗体 / 行内代码 / 链接 / 分隔线),**只生成 React 文本节点**,链接仅放行 http(s),不渲染图片或原始 HTML;也可以切「原文」。
41
- - 日报只列最近 30 天**有记录**的日期,每天一条;默认打开最近一期有预览的日报。失败 / 无变更 / 试跑 / 旧记录 / 副本被清理都有各自的空状态,不用示例内容兜底。
41
+ - 榜单视图按周期分三段(日榜 / 周榜 / 月榜),各周期一条独立时间线:日榜列最近 30 天有记录的日期、每天一条;周榜按 ISO 周、月榜按月。同一期多次运行只保留一条(优先成功且有预览的)。默认打开当前周期最近一期有预览的期数;失败 / 无变更 / 试跑 / 旧记录 / 副本被清理都有各自的空状态,不用示例内容兜底。
42
42
  - 预览是运行结束时的派生副本:你在仓库里事后编辑 canonical 文件,不会改变这次记录。
43
- - 工作台顶部第一行是插件身份条:名称 / 版本 / 完整包名(点击复制)/ GitHub 外链 / 检查更新(就地状态);第二行是横向 tab(概览 / 日报 / 运行记录 / 设置),右侧常驻下次运行与就绪 N/4。点版本号可打开「关于」弹层。包名 / 版本 / GitHub 来自 `/state.plugin`(`repository` 由 `package.json` 规范化),仓库缺失时隐藏外链。
43
+ - 工作台顶部第一行是插件身份条:名称 / 版本 / 完整包名(点击复制)/ GitHub 外链 / 检查更新(就地状态);第二行是横向 tab(概览 / 榜单 / 运行记录 / 设置),右侧常驻下次运行与就绪 N/4。点版本号可打开「关于」弹层。包名 / 版本 / GitHub 来自 `/state.plugin`(`repository` 由 `package.json` 规范化),仓库缺失时隐藏外链。
44
44
 
45
45
  ## 插件更新
46
46
 
@@ -97,7 +97,7 @@ dsh plugin --profile <profile> add @morehao/dsh-github-trending
97
97
  | `trending.since` / `languages` / `topN` | `daily` / `all,typescript,python,go,rust` / `25` | `since` 是单次运行周期(`daily`/`weekly`/`monthly`,抓取窗口=标的周期由核心保证);实际支持范围由核心决定 |
98
98
  | `output.dir` | `trending` | 仓库内相对目录 |
99
99
  | `schedule.enabled` / `time` / `timezone` | `true` / `08:30:00` / `Asia/Shanghai` | 插件自己的 60 s tick 驱动 |
100
- | `schedule.periods` | `daily` | 定时自动产出的周期(`daily`/`weekly`/`monthly` 多选):日=每天、周=周日、月=月末触发 |
100
+ | `schedule.periods` | `daily,weekly,monthly` | 定时自动产出的周期:默认三周期全产出(无需勾选),日=每天、周=周日、月=月末触发;旧配置自动升级为三周期 |
101
101
  | `corePath` | 空 | 等价于 `TRENDING_DIGEST_CORE`(仅开发/排障,界面不提供入口,用环境变量或直接改 `settings.json`;设了就完全不下载) |
102
102
  | `coreAutoDownload` | `true` | 缓存缺失时是否自动下载核心;关掉后只报 `CORE_NOT_DOWNLOADED`,由你在设置页点「下载核心」 |
103
103