@v587d/capital-generation 2.15.1 → 2.16.0

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.
Files changed (50) hide show
  1. package/CHANGELOG.md +62 -0
  2. package/README.md +7 -7
  3. package/automation/client.js +47 -17
  4. package/automation/client.src.cjs +294 -83
  5. package/automation/contract.js +4 -0
  6. package/automation/defaults.js +2 -0
  7. package/automation/index.js +11 -7
  8. package/automation/package.json +2 -1
  9. package/automation/route.js +8 -1
  10. package/automation/runner.js +28 -6
  11. package/automation/service.js +89 -0
  12. package/automation/settings.js +6 -0
  13. package/automation/workspaces.js +113 -13
  14. package/chart-ui/package.json +1 -1
  15. package/config/client.js +12 -5
  16. package/config/client.src.cjs +223 -0
  17. package/config/index.js +2 -0
  18. package/config/package.json +1 -1
  19. package/lib/agents/root-tool-policy.d.ts +3 -3
  20. package/lib/agents/root-tool-policy.js +4 -2
  21. package/lib/data-collector/dataset-tools.js +22 -0
  22. package/lib/data-collector/describe.js +1 -0
  23. package/lib/data-collector/hub.js +5 -0
  24. package/lib/data-collector/store.d.ts +5 -0
  25. package/lib/data-collector/store.js +17 -0
  26. package/lib/data-collector/time-axis.d.ts +15 -0
  27. package/lib/data-collector/time-axis.js +73 -0
  28. package/lib/data-collector/tools.d.ts +1 -1
  29. package/lib/data-collector/tools.js +12 -1
  30. package/lib/index.d.ts +5 -0
  31. package/lib/index.js +2 -0
  32. package/lib/sources/tencent-http.js +7 -2
  33. package/lib/sources/tencent-public-core.d.ts +2 -0
  34. package/lib/sources/tencent-public-core.js +5 -0
  35. package/lib/sources/wind-mcp.js +3 -3
  36. package/lib/sources-entry.d.ts +1 -1
  37. package/lib/web-retriever/local-fetch.d.ts +1 -1
  38. package/lib/web-retriever/local-fetch.js +1 -1
  39. package/lib/web-retriever/sources.d.ts +58 -0
  40. package/lib/web-retriever/sources.js +290 -0
  41. package/lib/web-retriever/tools.js +199 -8
  42. package/lib/web-retriever/wind-client.d.ts +1 -1
  43. package/lib/web-retriever/wind-client.js +1 -1
  44. package/package.json +1 -1
  45. package/preset/capital-generation/agent.patch.yml +20 -19
  46. package/preset/capital-generation/skills/capital-data-protocol/SKILL.md +9 -2
  47. package/preset/capital-generation/skills/capital-orchestration/SKILL.md +2 -1
  48. package/preset/capital-generation/skills/capital-web-evidence/SKILL.md +18 -13
  49. package/preset/capital-generation/skills/capital-web-protocol/SKILL.md +30 -15
  50. package/watchlist/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -7,6 +7,68 @@
7
7
  - **第三位(patch)**:不破坏既有工具 / 配置 / 会话的新增与修复(如 2.1.1、2.1.2)。
8
8
  - **第二位(minor)**:有需要用户知晓的行为变更,且段内附迁移说明(如 2.1.0 的图表呈现通道重做、2.2.0 的数据源与检索来源扩容、2.4.0 的**必须换宿主版本**、2.9.0 的选择器收敛与质检前置——本插件自己的工具与数据契约没变,所以只抬第二位)。
9
9
 
10
+ ## [2.16.0] - 2026-11-03
11
+
12
+ 公告这条线换了默认来源:新增两个零密钥的东财公告工具(列表 + 分页正文),公告清单不再依赖 Wind
13
+ 的自然语言检索,Wind 明确标成按次计费的深研备用;数据侧给每份 Dataset 加上宿主算出的时间覆盖
14
+ 范围,自动化补上统一默认工作区、12 个月运行热力图与以宿主时钟为准的运行预算。
15
+
16
+ ### Added
17
+
18
+ - **东财公告列表 `eastmoney_announcements`(零密钥)**:A/H/US 一次查一个市场、最多 50 个代码,
19
+ 按 `display_time`(北京时间)的日期窗过滤,返回标题、披露时间、分类、`art_code` 与详情页链接,
20
+ 用 `next_cursor` 翻页。最多扫描最近 5 页(500 条);请求窗口早于扫描范围时在 `note` 里明确说
21
+ 「窗口未被覆盖」并给出最早扫描到的日期,不把不完整当完整。混合市场或代码形状不对直接报错。
22
+ - **公告正文 `eastmoney_announcement_body`(零密钥)**:按 `art_code` 读正文,上游约 5,000 字符/页,
23
+ 单次最多返回 4,000 字符,回执带 `next_offset` / `next_page` / `done` / `pdf_url`。美股公告正文
24
+ 常为空而只有 PDF,回执会明说并指向 `ocr`;港股是繁体原文。东财是官方披露的转载,权威引用仍落
25
+ 巨潮 / 发行人 PDF,回传标注「公告全文(东财转载)」。
26
+ - **Wind 与公告的分工写进工具描述与协议**:`wind_docs_announcements` 不再是公告清单的第一选择
27
+ (实测会漏最新公告、混入关联方文件);Wind 五个工具摘要统一加 `[计费]`,只在语义深研或东财
28
+ 覆盖不到时使用。`web_retriever` 的工具从 14 个增到 16 个,persona、两份协议 skill、能力表与
29
+ README 计数同步。
30
+ - **`DatasetRef.time_coverage`**:宿主在落盘前从真实行里算最早/最晚时间(`column` / `from` / `to` /
31
+ `format`),支持 `epoch_ms`、`date_string`、`datetime_string`;没有时间列时显式返回
32
+ `format: "none"`,不拿 `captured_at` 或请求区间冒充。旧 Dataset 的 manifest 没有该字段时保持
33
+ 缺失。data_collector 必须原样转达,分析师据此判断「取到的数据是否覆盖请求窗口」。
34
+ - **腾讯实时行情带 `quote_time`**:交易所当地时间(北京时间)的最后成交时刻,与 `captured_at`
35
+ (抓取时刻)分开;时间戳不可解析时整批响亮失败,不把坏时间写成空值。
36
+ - **投研自动化:统一默认工作区**:设置卡第二格顶部新增「默认工作区」下拉(宿主 `Menu` + 34px
37
+ 胶囊触发器,空 = 专属默认工作区),选项来自新接口 `GET /capital-automation/workspaces`
38
+ (id / 标题 / 路径,路径按家目录缩写成 `~`)。任务自己保存的工作区仍然优先;默认工作区被删除
39
+ 或目录不可用时回退专属默认并 warn,不阻断运行。
40
+ - **运行历史 12 个月热力图**:任务页与运行页的历史卡从 30 天点阵改为 53 周 × 7 天的热力图,
41
+ 按浏览器时区聚合每日运行数,失败描边、进行中脉冲、hover 显示当日成功/失败/进行中明细;
42
+ 新接口 `GET /capital-automation/runs/history?days=371&tz=…` 拒绝非法天数与时区。
43
+ - **运行预算改用宿主时钟**:首条 prompt 增加「最晚结束」硬截止,并明确预算判断只能以
44
+ `get_local_datetime` 的当前时间为准,不得用步数、等待次数或工具耗时估算。
45
+ - **UI/UX 设计规章入库**:新增 `docs/dev/ui-design.md` 并在 `AGENTS.md` §13 挂索引——下拉/日期
46
+ 一律用宿主件(禁原生 `<select>` / `<input type="date">`),尺寸、焦点环、token 与文案自查表。
47
+
48
+ ### Changed
49
+
50
+ - **自动化 session 标题**:从 `[CapGen 投研自动化·<profile>] <任务名>·<id 后 8 位>` 改为
51
+ `<MM-DD> <任务名> <id 前 8 位>`(月-日取触发时区),侧栏按时间读得出来,也不再把 profile 名
52
+ 重复到每个会话上。
53
+ - **专属默认工作区目录**:`<dsh home>/automation-workspace/<显示名>` →
54
+ `<dsh home>/CapGen-automation-workspace/<profile 名>`;换显示名不再换目录,已注册工作区仍按 id 使用。
55
+ - **默认标记跟随设置**:`/meta` 的工作区列表里 `default` 现在指「实际会用的工作区」(设置里选中的
56
+ 那个),专属默认工作区另带 `dedicated: true`,方便设置卡把它作为回退项固定列出。
57
+
58
+ ### Migration
59
+
60
+ - 公告能力不再需要 Wind Key;已有 Wind Key 仍只影响深研调用,不调用不计费。习惯用 Wind 查公告的
61
+ 会话会在 persona / 协议里被引导到东财;要按语义找段落时仍可显式用 Wind。
62
+ - 升级后首次运行任务或打开设置卡会注册新的 `CapGen-automation-workspace/<profile>` 目录;旧的
63
+ `automation-workspace/<显示名>` 不会自动迁移,历史 session 仍在原工作区。想继续用旧目录,在
64
+ 「插件 → Capital Generation → 投研自动化 → 默认工作区」里选中它即可。
65
+ - 已保存任务的工作区 id 优先于统一默认工作区;把默认工作区删掉或目录移走,下次运行自动回退专属
66
+ 默认工作区,并在日志里点一次名。
67
+ - 运行历史口径从最近 30 天变为最近 12 个月,旧运行记录会重新出现在热力图里;页面需刷新一次以
68
+ 加载新的前端资产(`automation/client.js`)。
69
+ - `time_coverage` 只是新增可选字段:升级前落盘的 Dataset 不会补造覆盖范围,重新取数后才有;
70
+ 引用旧 Dataset 时按缺失处理,不要自己填。
71
+
10
72
  ## [2.15.1] - 2026-11-02
11
73
 
12
74
  内置任务模板从三个扩到十六个:三份旧指令重写为「主体 / 覆盖范围 / 什么算做完」,新增 08:00 的
package/README.md CHANGED
@@ -18,7 +18,7 @@
18
18
  <p align="center">
19
19
  <a href="https://awesome-dsh-plugin.com"><img src="https://awesome-dsh-plugin.com/badge.svg" alt="awesome · DSH plugin"></a>
20
20
  <a href="LICENSE"><img src="https://img.shields.io/badge/License-MIT-green" alt="License"></a>
21
- <a href="https://github.com/v587d/capital-generation/releases"><img src="https://img.shields.io/badge/version-2.15.1-9cf" alt="Version"></a>
21
+ <a href="https://github.com/v587d/capital-generation/releases"><img src="https://img.shields.io/badge/version-2.16.0-9cf" alt="Version"></a>
22
22
  <a href="https://www.npmjs.com/package/@v587d/capital-generation"><img src="https://img.shields.io/npm/v/%40v587d%2Fcapital-generation" alt="npm version"></a>
23
23
  <a href="https://github.com/deepseek-ai/deepseek-harness"><img src="https://img.shields.io/badge/powered_by-dsh-4D6BFE?style=flat-square&logo=deepseek&logoColor=white" alt="powered-by-dsh"></a>
24
24
  </p>
@@ -82,7 +82,7 @@ Capital Generation 是运行在 [DeepSeek Harness(DSH)](https://github.com/d
82
82
  | --- | --- |
83
83
  | [同花顺 Fuyao](https://fuyao.aicubes.cn/docs/) | 行情、财务数据和自选股报价 |
84
84
  | [AnySearch](https://www.anysearch.com/docs) | 网页搜索和正文提取 |
85
- | [Wind Alice](https://market.windalice.com/#/home) | 公告与新闻检索,以及宏观/行业/汇率指标与按日期区间取的历史 K 线 |
85
+ | [Wind Alice](https://market.windalice.com/#/home) | 公告与新闻的语义深研(**按次消耗积分**),以及宏观/行业/汇率指标与按日期区间取的历史 K 线;公告清单优先走零 key 的东财公告工具 |
86
86
  | [PaddleOCR AIStudio](https://aistudio.baidu.com/paddleocr) | 解析 PDF 和图片中的文字 |
87
87
  | [FTShare(非凸科技)](https://market.ft.tech/gateway/doc/p/pb8eizu3) | A 股行情与日 K 截面、主力资金流、涨跌停、龙虎榜席位、股东人数、指数权重、可转债行情、宏观利率,以及期货合约与贵金属行情等第二家上游口径 |
88
88
 
@@ -149,7 +149,7 @@ Capital Generation 是运行在 [DeepSeek Harness(DSH)](https://github.com/d
149
149
 
150
150
  ## 还能做什么
151
151
 
152
- - **查数据和资料:** 覆盖 A 股、港股、美股与期货等品种,由专用角色按需获取行情、财务、指数、基金、宏观行业与期货数据,检索公告、新闻和研报。共计 **128** 个数据收集能力和 **14** 个网页检索能力,部分公开数据源无需额外密钥;具体覆盖范围见 [数据收集能力表](docs/data-collector-capabilities.md) 和 [网页检索能力表](docs/web-retriever-capabilities.md)。
152
+ - **查数据和资料:** 覆盖 A 股、港股、美股与期货等品种,由专用角色按需获取行情、财务、指数、基金、宏观行业与期货数据,检索公告、新闻和研报。共计 **128** 个数据收集能力和 **16** 个网页检索能力,部分公开数据源无需额外密钥;具体覆盖范围见 [数据收集能力表](docs/data-collector-capabilities.md) 和 [网页检索能力表](docs/web-retriever-capabilities.md)。
153
153
  - **数据质检:** 结构化数据不会直接进入模型上下文。每份数据先由分析师检查结构、时间轴、缺失与基础统计,再按受控方式汇总;原始数据行始终留在工具层。
154
154
  - **可视化:** 分析师判断数据适合图表,或你明确要图时,绘图专员会生成可交互图表;明确不要图时只完成质检。图表会登记为**最后一轮答复**的交付物,在答复末尾集中出现,可在侧栏查看或离线打开。了解处理流程可看 [Agent 角色说明](docs/agent-roles.md)。
155
155
 
@@ -183,7 +183,7 @@ Capital Generation 是运行在 [DeepSeek Harness(DSH)](https://github.com/d
183
183
  | [Quant Agent Skills](https://github.com/Howard-Jerry/quant-agent-skills) | 1 个跨市场选线 Skill:同一家公司在 A 股与港股、或美股 ADR 与港股各有一条线时该走哪一条——价差、币种与股息税、流动性与通道、披露文件路径各不相同。公司本身只研究一次,便宜的那条线不构成"这家公司更值得买";A/H 溢价与 ADR 平价没有现成条目,须按两条线同一天的收盘价与当日汇率现算,缺任一项就只报缺的那一项 |
184
184
 
185
185
  <a id="capgen-automation" name="capgen-automation"></a>
186
- - **CapGen 投研自动化:** 内置 16 个模板(默认未添加,按需添加),覆盖资讯、行情、复盘、研究、组合与监控:交易日有盘前公告(08:00)、早间资讯(08:30)、午间快照(11:35)、当日公告(16:00)、港股收盘(16:30)与每日复盘(20:00),另有美股收盘(周二至周六 07:00)、美股盘前(周一至周五 20:30)、组合周报、自选股周检、行业周报、研究选题、财报跟踪、下周事件日历、市场周报与组合风险月报;也可新建自己的任务,并从 30 个图标里挑一个;内置模板也有各自的固定图标。到点自动新建 session 执行,也能手动运行。任务、运行历史与任务通知在同一页,支持运行预算、通知和仅交易日触发。
186
+ - **CapGen 投研自动化:** 内置 16 个模板(默认未添加,按需添加),覆盖资讯、行情、复盘、研究、组合与监控:交易日有盘前公告(08:00)、早间资讯(08:30)、午间快照(11:35)、当日公告(16:00)、港股收盘(16:30)与每日复盘(20:00),另有美股收盘(周二至周六 07:00)、美股盘前(周一至周五 20:30)、组合周报、自选股周检、行业周报、研究选题、财报跟踪、下周事件日历、市场周报与组合风险月报;也可新建自己的任务,并从 30 个图标里挑一个;内置模板也有各自的固定图标。到点自动新建 session 执行,也能手动运行。任务、12 个月运行热力图与任务通知在同一页,可在设置卡把任一已注册工作区设为任务统一使用的默认工作区,支持运行预算、通知和仅交易日触发。
187
187
 
188
188
  <p align="center">
189
189
  <a href="assets/capgen-automation-tasks.png">
@@ -194,12 +194,12 @@ Capital Generation 是运行在 [DeepSeek Harness(DSH)](https://github.com/d
194
194
  ## 常见问题
195
195
 
196
196
  - **安装后找不到模式?** 确认插件出现在「插件」→ 已安装列表;Web / CLI profile 安装后要重启该 profile,并在新会话选择模式。选择器里应看到自动模式、行情专家、资讯专员;分析师和绘图专员是自动模式的内部角色,不会出现在这里。
197
- - **配置在哪?** 打开「插件」→ 已安装的 **Capital Generation**,页面顶部就是「数据源 / 投研自动化 / 精选 Skills / 包含的组件」四格,五把密钥都在第一格,自动检查间隔与最长运行时间等上限在第二格;不在 DSH 的普通「设置」页面,也不用点进任何一行组件。保存密钥后新建会话再试。
197
+ - **配置在哪?** 打开「插件」→ 已安装的 **Capital Generation**,页面顶部就是「数据源 / 投研自动化 / 精选 Skills / 包含的组件」四格,五把密钥都在第一格;第二格可指定任务统一使用的默认工作区,也能改自动检查间隔与最长运行时间等上限;不在 DSH 的普通「设置」页面,也不用点进任何一行组件。保存密钥后新建会话再试。
198
198
  - **升级到 2.9.0 后,分析师和绘图专员去哪了?** 这一版把它们收进自动模式内部,不再出现在选择器与预设管理里,避免误开一个没有取数入口的空会话。旧会话仍能按原身份恢复;新任务直接用自动模式提出即可。
199
- - **桌面端升级后仍是旧版?** 桌面端安装时会固定所解析的版本,不会自动升级。卸载后重新安装,再到插件详情查看版本号;如需指定版本,可在地址末尾加 `#v2.15.1` 或 `@2.15.1`。
199
+ - **桌面端升级后仍是旧版?** 桌面端安装时会固定所解析的版本,不会自动升级。卸载后重新安装,再到插件详情查看版本号;如需指定版本,可在地址末尾加 `#v2.16.0` 或 `@2.16.0`。
200
200
  - **刚发布的新版本装不到?** 桌面端取包时会跳过**刚发布不久**的版本(宿主侧包管理器的发布冷却策略,实测会静默装成上一个版本),国内镜像的同步也可能滞后一段时间。急着用最新代码,改用仓库地址安装最直接。
201
201
  - **网页抓取失败?** 配置卡片中的「允许启动本地提取网页内容」默认开启:AnySearch 提取失败时可尝试本机直连。关闭后,本机直连的具名来源查询也不可用;请检查该开关和网络连接。
202
- - **Wind 那部分会消耗积分?** 会。公告与新闻检索、宏观 / 行业 / 汇率指标、按日期区间取的历史 K 线都按次消耗你在 Wind 侧的额度;额度与条款以 Wind 为准,插件不做用量封顶。没配 `WIND_API_KEY` 时这几类不可用,其余功能照常。
202
+ - **Wind 那部分会消耗积分?** 会。Wind 的公告 / 新闻语义检索、宏观 / 行业 / 汇率指标、按日期区间取的历史 K 线都按次消耗你在 Wind 侧的额度;额度与条款以 Wind 为准,插件不做用量封顶。没配 `WIND_API_KEY` 时这几类不可用,其余功能照常——公告清单与正文有零密钥的东财工具,不配 Wind 也能查。
203
203
  - **没有加载想要的精选 Skill?** 先看「智能装载 Skills」开关:关着时只给已勾选的方法;打开后按角色放开全部方法,但仍由模型判断任务是否命中。再确认它归哪个预设——自动模式偏研究/组合/写作,估值、财务与筛选由分析师在计算时加载,文档深读与核验由资讯专员加载。列表上方可以按「Skill 特点」和「适用预设」两个维度取交集筛选;点技能名可看原文。需要强制使用时,在对话里直接输入 `/` 加原文中的英文名(例如 `/china-earnings-analysis`),不要用中文标题。
204
204
  - **怎么知道这次分析用了哪些精选 Skill?** 最终答复会有一节「使用的方法」,逐项列出实际加载过的 Skill 并说明各自支撑了哪个判断;主 Agent 和子 Agent 的加载都会计入。没有加载过就不会出现这一节,答复里也不会挂没读过的名字。
205
205
  - **精选 Skill 的方法论很长,Agent 读得完吗?** 读得完。超过一次可读长度的正文已经重排成「入口 + 分册」:Agent 先看入口目录,需要具体规则、模板或阈值时把对应那一册整本读进来,并会告诉你它读了哪几册、哪些没读。设置卡片里点技能名打开的原文预览仍然只给入口那一份,想看某一册直接问 Agent。