[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-92461":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":9,"language":10,"languages":9,"totalLinesOfCode":9,"stars":11,"forks":12,"watchers":13,"openIssues":13,"contributorsCount":14,"subscribersCount":14,"size":14,"stars1d":14,"stars7d":14,"stars30d":15,"stars90d":14,"forks30d":14,"starsTrendScore":14,"compositeScore":16,"rankGlobal":9,"rankLanguage":9,"license":9,"archived":17,"fork":17,"defaultBranch":18,"hasWiki":19,"hasPages":17,"topics":20,"createdAt":9,"pushedAt":9,"updatedAt":30,"readmeContent":31,"aiSummary":32,"trendingCount":14,"starSnapshotCount":14,"syncStatus":33,"lastSyncTime":34,"discoverSource":35},92461,"kansoku","Innei\u002Fkansoku","Innei","Personal US market observatory with trading records, agent skills, and realtime charts",null,"TypeScript",140,13,1,0,12,41.64,false,"main",true,[21,22,23,24,25,26,27,28,29],"agent-skills","fastify","longbridge","market-intelligence","react","stock-analysis","trading-journal","typescript","us-stocks","2026-07-22 04:02:06","\u003Cp align=\"center\">\n  \u003Cimg src=\".\u002Fapp\u002Fweb\u002Fpublic\u002Fbrand\u002Fkansoku-lockup.svg\" alt=\"Kansoku\" width=\"560\">\n\u003C\u002Fp>\n\n# Kansoku\n\n> 个人美股交易研究工作台：交易日志、市场情报 Agent Skill，以及本地实时图表应用。\n\n这是**交易日志仓库**，不是对外发布的软件产品。它做三件事：\n\n1. **留下可查的研究记录**：每日札记放在 `journal\u002F`，个股笔记放在 `stocks\u002F`，图表快照放在 `journal\u002Fcharts\u002Fdata\u002F`。这些文件是研究结论的主记录。\n2. **提供一套调研工具**：`.claude\u002Fskills\u002F` 放自研 Skill，`.agents\u002Fskills\u002F` 放按 `skills-lock.json` 还原的第三方 Skill。它们调用券商、宏观、监管与新闻数据源，把零散数据整理成能落档的研究稿。\n3. **本地渲染与监控图表**：`app\u002F`（Fastify + TypeScript 服务端内嵌 Vite middleware，React 前端）在 `http:\u002F\u002Flocalhost:5199` 渲染 K 线、资金流、SEPA 仪表盘、短线多周期预测面板和个股驾驶舱。指标由服务端实算，并带实时行情、AI 点评、预测结果统计与运行流水。\n\n> [!IMPORTANT]\n> 研究记录仍以 markdown 和 JSON 为准；`app` 额外使用 `journal\u002Fcharts\u002Fdata\u002Fapp.db` 保存运行流水，例如盘中点评、AI 花费、图表索引和已了结的预测结果缓存。这个 SQLite 文件是本地运行状态，不替代 `journal\u002F` 与 `stocks\u002F`。\n\n> [!NOTE]\n> 这套工具针对**美股**。Skill 内置的 cohort、宏观系列、新闻流都默认美股口径。\n\n## 界面预览\n\n图表应用（`app\u002F`）本地跑在 `http:\u002F\u002Flocalhost:5199`。下面几张图分别是它的四类图表、个股驾驶舱和图表库——数据全部服务端实算，页面打开时实时刷新。\n\n**个股驾驶舱**：一屏看完一只票——左侧多周期 K 线叠加均线 \u002F MACD \u002F K 线形态标注，右侧页签在预测、环境、消息、复盘、研究笔记和 AI 点评之间切换。\n\n![个股驾驶舱](https:\u002F\u002Fgithub.com\u002FInnei\u002Fkansoku\u002Freleases\u002Fdownload\u002Fweb-preview\u002Fcockpit.png)\n\n\u003Ctable>\n  \u003Ctr>\n    \u003Ctd width=\"50%\">\u003Cimg src=\"https:\u002F\u002Fgithub.com\u002FInnei\u002Fkansoku\u002Freleases\u002Fdownload\u002Fweb-preview\u002Fchart-sepa.png\" alt=\"SEPA 策略仪表盘\">\u003C\u002Ftd>\n    \u003Ctd width=\"50%\">\u003Cimg src=\"https:\u002F\u002Fgithub.com\u002FInnei\u002Fkansoku\u002Freleases\u002Fdownload\u002Fweb-preview\u002Fchart-intraday.png\" alt=\"短线多周期预测面板\">\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>\u003Cb>SEPA 策略仪表盘\u003C\u002Fb>——Minervini 趋势模板逐条打钩，长期均线值区、成交密集区、RS 相对强弱、量能比一屏呈现。\u003C\u002Ftd>\n    \u003Ctd>\u003Cb>短线多周期预测面板\u003C\u002Fb>——5m\u002F15m\u002F1h 切换，入场 \u002F 止损 \u002F 目标价位线，MACD 背离与 K 线形态自动标注，右栏给三档情景推演。\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd width=\"50%\">\u003Cimg src=\"https:\u002F\u002Fgithub.com\u002FInnei\u002Fkansoku\u002Freleases\u002Fdownload\u002Fweb-preview\u002Fchart-flow.png\" alt=\"主力资金流曲线\">\u003C\u002Ftd>\n    \u003Ctd width=\"50%\">\u003Cimg src=\"https:\u002F\u002Fgithub.com\u002FInnei\u002Fkansoku\u002Freleases\u002Fdownload\u002Fweb-preview\u002Fchart-cohort.png\" alt=\"跨标的资金净额对比\">\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>\u003Cb>主力资金流曲线\u003C\u002Fb>——日内累计主力净流入，正负分区着色。\u003C\u002Ftd>\n    \u003Ctd>\u003Cb>跨标的资金净额对比\u003C\u002Fb>——一组标的的资金净额横向对比，看板块内谁在流入流出。\u003C\u002Ftd>\n  \u003C\u002Ftr>\n\u003C\u002Ftable>\n\n**图表库**：所有出过的图按日期归档，可按类型（sepa \u002F intraday \u002F flow \u002F cohort）筛选；图表文档存在 `journal\u002Fcharts\u002Fdata\u002F`，渲染永远用最新前端代码。\n\n![图表库](https:\u002F\u002Fgithub.com\u002FInnei\u002Fkansoku\u002Freleases\u002Fdownload\u002Fweb-preview\u002Fchart-list.png)\n\n## 三层结构\n\n仓库按层分工，每一层只做一件事。\n\n### 第一层 · 数据源（原始检索）\n\n| 来源 | 接入方式 | 覆盖范围 |\n|---|---|---|\n| **Longbridge 长桥** | `longbridge ...` CLI \u002F `longbridge-*` skill | 实时报价、K 线、基本面、资金流、技术指标、新闻 |\n| **FRED** | `fred` skill（免费 API key） | 美国\u002F全球宏观时间序列（CPI、GDP、联邦利率、收益率、M2、美元指数） |\n| **SEC EDGAR** | `sec-edgar` skill（UA header） | 10-K\u002F10-Q\u002F8-K\u002FS-1 原文，Form 4 内部人交易解析 |\n| **GDELT 2.0** | `gdelt` skill（5 秒限流） | 全球多语种新闻流，含情绪打分 |\n| **Trump Truth Social** | `trump-truth-monitor` skill（RSS 镜像） | Trump 帖子归档、分类与市场影响分级 |\n| **Yahoo Finance** | `yfinance-data` + 衍生 skill | 估值数据、财报前瞻\u002F复盘、分析师预期、链上 ETF 溢价、流动性指标 |\n\nLongbridge 覆盖价格与基本面；自研的四个 custom skill 补的是盲区（宏观、监管原文、世界新闻、政策口风）；Yahoo Finance 衍生 skill 接管了估值和财报分析方向。\n\n### 第二层 · 编排工作流（真正的价值）\n\n这一层不引入新数据源，只把第一层的调用按规矩排好顺序，并执行一系列防错纪律：\n\n- **`stock-deep-dive`**：第一次看一只新票时用。一次性跑业务\u002F基本面\u002F技术面\u002F催化剂\u002F上下游\u002F自审六个维度。\n- **`capital-rotation`**：盘后一次性扫指数\u002F半导体\u002F软件云\u002F大科技\u002F应用端几个固定 cohort 的资金净流入，定一个轮动叙事，写入 `journal\u002FYYYY-MM-DD-flow.md`。\n- **`market-session-tracker`**：盘前到收盘期间盯一份观察清单，识别突破、派发、回调档位，按时间戳更新判断。\n- **`company-valuation`**：DCF + 相对估值（multiples）+ 分部估值（SOTP）三法并算，给出隐含股价区间和不含偏见的公允价值判断。\n- **`earnings-preview` \u002F `earnings-recap` \u002F `estimate-analysis`**：财报前瞻（一致预期 vs 历史 beat\u002Fmiss 记录）、日志（结果复盘）、预估分析（修订趋势与分布区间）。\n- **`etf-premium`**：ETF 溢价\u002F折价分解——哪些是 NAV 驱动、哪些是结构性的（伽马挤压、做市商对冲、AP 套利堵塞）。\n- **`sepa-strategy`**：Mark Minervini SEPA 方法——趋势模板检查、VCP 收缩识别、杯柄\u002F旗形\u002F高紧旗形态、突破确认与仓位计算。\n- **`stock-correlation`**：股票间相关性与配对分析（滚动相关系数、beta、同行对标、供应链联动）。\n- **`stock-liquidity`**：流动性评分——买卖价差、ADTV、市场冲击估算、Amihud 非流动性指标。\n- **`serenity-skill`**：供应链瓶颈挖掘法——从产业链卡点倒推投资机会，适合独立深度调研。\n- **`options-payoff`**：交互式期权盈亏曲线——多腿组合的 P&L 可视化与盈亏平衡点分析。\n- **更多**：`startup-analysis`（风投\u002F求职\u002F创始人三维评价）、`hormuz-strait`（霍尔木兹海峡实时状态）、`saas-valuation-compression`（SaaS 多轮估值压缩分析）、`yc-reader`、`twitter-reader` 等。\n\n> [!TIP]\n> 工作流之间互有重叠。**单票第一次研究**用 `stock-deep-dive`；**盘后看大盘资金去哪了**用 `capital-rotation`；**盘中实时盯盘**用 `market-session-tracker`；**单票找入场**用 `intraday-signal`；**看估值**用 `company-valuation`；**准备或回顾财报**用 `earnings-preview` \u002F `earnings-recap`；**只看一个维度**（比如只查个报价）就跳过工作流，直接调 `longbridge-*`。\n\n### 第三层 · 落档（步不能省）\n\n每个工作流最后都要写入可审计的文件；运行时缓存只作辅助，不能代替落档。\n\n- `journal\u002FYYYY-MM-DD-flow.md` —— 资金轮动快照\n- `journal\u002FYYYY-MM-DD-\u003Ctheme>.md` —— 盯盘报告\n- `journal\u002Ftrump-feed\u002FYYYY-MM-DD.md` —— Trump 帖子档案（`archive.py` 幂等追加）\n- `stocks\u002F{SYMBOL}.md` —— 个股六维笔记，**增量更新**，不重写\n- `stocks\u002F_chain-ai-stack.md` —— AI 资本支出产业链的跨股映射图\n- `journal\u002Fcharts\u002Fdata\u002FYYYY-MM-DD-\u003Cslug>.json` —— 图表数据快照，带 schema version\n- `journal\u002Fcharts\u002Fdata\u002Fapp.db` —— 本地应用运行流水：点评、AI 花费、图表索引、预测结局缓存\n\n## 自定义 skill（自研）\n\n项目自有 skill 放在 `.claude\u002Fskills\u002F`：\n\n```\n.claude\u002Fskills\u002F\n├── _shared\u002F                # 公共模块（env、缓存客户端、输出协议）\n├── capital-rotation\u002F       # 资金轮动扫描\n├── chart\u002F                  # 图表应用调用规范（skill 内用 POST \u002Fapi\u002Fcharts 出图）\n├── fred\u002F                   # FRED 宏观数据\n├── gdelt\u002F                  # 全球新闻流\n├── intraday-signal\u002F        # 单票短线多周期钻取\n├── market-session-tracker\u002F # 盘中实时盯盘\n├── sec-edgar\u002F              # SEC 文件\n├── stock-deep-dive\u002F        # 单票六维研究\n└── trump-truth-monitor\u002F    # Truth Social 监控与归档\n```\n\n自研 skill 是 stdlib-only 的 Python 3（`\u002Fusr\u002Fbin\u002Fpython3`），从仓库根目录调用：\n\n```bash\n# 自检某个数据源是否可达\npython3 .claude\u002Fskills\u002F\u003Csource>\u002Fscripts\u002F\u003Ccmd>.py --smoke\n\n# 通用参数：--help、--smoke、--verbose；数据脚本额外支持 --fresh、--json\npython3 .claude\u002Fskills\u002Ftrump-truth-monitor\u002Fscripts\u002Ffetch.py --hours 24 --json\npython3 .claude\u002Fskills\u002Ftrump-truth-monitor\u002Fscripts\u002Farchive.py --quiet\n```\n\n共享约定（由 `_shared\u002F` 统一执行）：\n- **输出协议**：成功 → `{\"ok\": true, \"data\": ..., \"meta\": ...}` 到 stdout，exit 0；失败 → `{\"ok\": false, \"error\": ..., \"hint\": ...}`，非零退出，诊断信息走 stderr。\n- **凭证**：`_shared\u002Fenv.py` 在 import 时自动读仓库根 `.env`（`FRED_API_KEY`、`SEC_USER_AGENT`）。`.env` 已 git-ignore。\n- **缓存与限流**：`_shared\u002Fclient.py` 缓存在 `~\u002F.cache\u002Fmarket-intel\u002F`，按数据源自动节流（SEC 10 req\u002Fs、FRED 120 req\u002Fmin、GDELT ≥ 5 秒一次）。\n\n## 第三方 skill（即装即用）\n\n借助 pi 的 skill 机制，项目还集成了一套涵盖估值、财报、期权、流动性、相关性的第三方 skill，放在 `.agents\u002Fskills\u002F` 下，由 `skills-lock.json` 管理版本锁。`pnpm install` 自动还原。\n\n来自 [himself65\u002Ffinance-skills](https:\u002F\u002Fgithub.com\u002Fhimself65\u002Ffinance-skills) 与 [muxuuu\u002Fserenity-skill](https:\u002F\u002Fgithub.com\u002Fmuxuuu\u002Fserenity-skill)，具体清单见 [`skills-lock.json`](.\u002Fskills-lock.json)。\n\n## 图表应用\n\n```bash\ncd app && pnpm install     # 首次\ncd app && pnpm start       # http:\u002F\u002Flocalhost:5199\ncd app && pnpm test        # 金标测试（与原 Python 实现逐数对齐）\ncd app && pnpm typecheck   # server + web 类型检查\n```\n\n单进程运行——server（Fastify + TypeScript）以内嵌 middleware 模式挂载 Vite dev server，前端源码直接热更新，无打包环节。服务端自己调 Longbridge SDK \u002F CLI 拉数据，并用 TypeScript 计算全部指标：均线、MACD、RS、趋势模板、成交分布、14 种 K 线形态、1-2-3 反转、背离\u002F背驰、FVG 缺口、盘前\u002F盘后时段覆盖层等。图表文档以 JSON 落在 `journal\u002Fcharts\u002Fdata\u002F`（gitignored），前端永远用最新代码渲染历史数据，改组件不影响旧图。\n\n应用能力按接口分层：\n\n| 层 | 接口 | 用途 |\n|---|---|---|\n| 图表文档 | `GET\u002FPOST\u002FPATCH\u002FDELETE \u002Fapi\u002Fcharts` | 创建、读取、更新、删除 flow \u002F cohort \u002F sepa \u002F intraday 图表 |\n| 个股页 | `GET \u002Fapi\u002Fsymbols\u002F:sym\u002F*` | 资金流、最新分析、持仓、历史分析、相对量能、研究笔记、deep-dive |\n| 总览页 | `GET \u002Fapi\u002Foverview\u002F*` | 今日看板、日期复盘、历史战绩、AI 花费 |\n| 持仓页 | `GET \u002Fapi\u002Fpositions` | 长桥实时持仓快照 |\n| 实时层 | `GET \u002Fapi\u002Fws` | 统一 WebSocket，订阅 quotes \u002F chart \u002F comments \u002F analyses \u002F position \u002F benchmark \u002F board |\n\n实时订阅会重放最近状态并做去重；盘中图表和看板会持续更新，已经落盘的图表 JSON 仍保持为研判当时的快照。\n\n详情见 [`app\u002FREADME.md`](.\u002Fapp\u002FREADME.md)。\n\n## 安装\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002FInnei\u002Fkansoku.git ~\u002Fgit\u002Fkansoku\ncd ~\u002Fgit\u002Fkansoku\npnpm install   # 会触发 prepare 钩子，自动还原第三方 skill\n```\n\n`pnpm install` 自动调 `skills experimental_install` 按 `skills-lock.json` 把第三方 skill 拉到 `.agents\u002F`。第三方 skill 不进仓库本体。\n\n要更新 skill 锁定版本：\n\n```bash\npnpm skills:update\n```\n\n可选的环境变量放在仓库根的 `.env`：\n\n```bash\nFRED_API_KEY=...                               # FRED 免费申请\nSEC_USER_AGENT=\"Your Name \u003Cyou@example.com>\"   # SEC EDGAR 要求带身份\nAI_COMMENT_MODEL=provider\u002Fmodel                # 盘中轻量点评，可选\nAI_ANALYST_MODEL=provider\u002Fmodel                # 升级重估，可选\nAI_DEEPDIVE_MODEL=provider\u002Fmodel               # 个股研究笔记刷新，可选\n```\n\nAI 模型变量缺失时，对应功能会停用；图表服务本身仍可启动。\n\n## 仓库布局\n\n```text\n.\n├── .agents\u002Fskills\u002F         # 第三方 skill（pnpm 按 skills-lock.json 自动还原，gitignored）\n├── .claude\u002Fskills\u002F         # 自研 skill 源码\n│   ├── _shared\u002F            # 公共 env \u002F 缓存客户端\n│   ├── capital-rotation\u002F   # 资金轮动扫描\n│   ├── chart\u002F              # 图表调用规范\n│   ├── fred\u002F               # FRED 宏观数据\n│   ├── gdelt\u002F              # 全球新闻流\n│   ├── intraday-signal\u002F    # 单票短线多周期\n│   ├── market-session-tracker\u002F\n│   ├── sec-edgar\u002F          # SEC 文件\n│   ├── stock-deep-dive\u002F    # 单票六维研究\n│   └── trump-truth-monitor\u002F\n├── app\u002F                    # 图表应用\n│   ├── server\u002F             # Fastify + TypeScript（指标实算 + API + WebSocket）\n│   ├── web\u002F                # Vite + React（渲染组件 + 实时数据订阅）\n│   └── README.md\n├── docs\u002F                   # 设计文档\n├── journal\u002F                # 每日札记（gitignored）\n├── stocks\u002F                 # 个股笔记（gitignored）\n├── CLAUDE.md               # 给 Claude Code 的项目说明（中文白话）\n├── package.json            # skill 安装与更新脚本\n└── skills-lock.json        # 第三方 skill 版本锁\n```\n\n## 贯穿全局的纪律\n\n这些都是反复踩过坑后写进 skill 里的硬性约束，独立调用脚本时也建议保留：\n\n- **数字溯源**：业绩数据以新闻稿\u002F8-K\u002F真实 OHLCV 为准。Longbridge 的社区帖、被截断的 `…` 标题，不能当作公司口径引用。\n- **区分 GAAP 与 non-GAAP**：`longbridge financial-report --kind IS` 给的是 GAAP 稀释 EPS；卖方、一致预期用的是 non-GAAP。两者数字差距大时，多半是混了口径。\n- **YoY 必带 QoQ**：基数抬高时 YoY 百分比会失真，必须同时看环比。\n- **不模糊描述**：不写\"市场分化\u002F偏弱\u002F偏强\"，要用明确档位——机构派发\u002F主力散户背离\u002F全档抛压\u002F主力吸筹\u002F全档吸金；回调分 1 震荡 → 4 风险传染四档。\n- **不附和方向**：用户说\"突破\u002F冲高\u002F回调\"时，必须重新拉报价，把现货高点与盘前高点对照后再回应。数据矛盾就直说。\n- **只给情景，不给点位预测**：前瞻判断用 Bull\u002FBase\u002FBear 三档，概率合计 100%，附触发条件，按时间戳修订。\n\n## 已知数据坑\n\n> [!WARNING]\n> - **资金流单位不一致**：`capital-rotation` 把 `longbridge capital` 的输出当作**万美元**，盯盘模板默认推断为**千美元\u002F$k**。Longbridge 本身不标单位，记录时一定要把原始数字和你推断的单位都写下来，不要默默换算。\n> - `.SOX.US` 在 Longbridge 上拉不到，用 `SMH`\u002F`SOXX` ETF 代理。\n> - 文件名日期是**美股交易日**，不是亚洲本地日期。同一天再跑会**追加**带时间戳的小节，不会覆盖。\n> - GDELT 只滚动近期窗口，不是历史档案。Trump 的 RSS 镜像只露最近约 5 天（约 100 条），更早的帖子只有靠 `archive.py` 持续抓取才会留存。\n\n## 致谢\n\n第三方 skill 来自 [himself65\u002Ffinance-skills](https:\u002F\u002Fgithub.com\u002Fhimself65\u002Ffinance-skills) 与 [muxuuu\u002Fserenity-skill](https:\u002F\u002Fgithub.com\u002Fmuxuuu\u002Fserenity-skill)。具体清单见 [`skills-lock.json`](.\u002Fskills-lock.json)。\n","Kansoku 是一个面向个人投资者的美股研究工作台，聚焦交易日志管理、多源市场情报整合与本地实时图表分析。核心功能包括：基于 Markdown\u002FJSON 的结构化研究记录（交易日志、个股笔记、图表快照）；通过自研及第三方 Agent Skill 编排调用 Longbridge、FRED、SEC EDGAR、GDELT 等数据源，生成可归档的研究稿；以及基于 Fastify + React 的本地 Web 应用（http:\u002F\u002Flocalhost:5199），提供 SEPA 策略仪表盘、短线多周期预测、主力资金流、跨标的资金对比等服务端实算图表，并支持 AI 点评与预测结果统计。适用于美股个人交易者开展系统性复盘、技术面与基本面交叉验证及策略回溯。",2,"2026-07-09 02:30:05","CREATED_QUERY"]