尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证制作者的介绍仅有上面的一句话。 更多详情请阅读仓库 README。 仓库 README ↗
正在加载完整 README。
查看完整 README ↗A single-user notebook for Dao. It lays market news on a calendar, lists the same items on a timeline, plots the prices and percent moves that were actually written down, and draws the links between stories.
There is no login. The app reads one file, data/news.json, at build time. Updating the news means committing a new version of that file.
npm install
npm run dev
Open http://localhost:3000. npm run build produces a production build that Vercel can deploy with no extra configuration and no environment variables.
price_mentioned rows whose ticker is the one you picked. Percent moves are markers from move_pct. Filled markers are items that name only that ticker. Open markers name several tickers, so the percent may describe the group or the tape rather than that symbol alone. Linked items from related_ids can be shown on the same timeline, including reactions that land on a later date.related_ids. Drag to pan, drag a node to move it, and click a node for the write-up. Two reading paths are laid out from links already in the file: Meta capex → Nvidia → CoreWeave debt → rates, and Iran / oil → airlines and defense.upcoming. It follows the filters.Filters (industry, ticker or company or headline, event type, status, stated price range, and move direction plus a minimum size) apply to every view. Prices and moves are never filled in when the file leaves them null.
Light and dark follow the system preference until you toggle them. The choice is stored in this browser.
data/news.json is a JSON array. One object per item:
| Field | Meaning |
|---|---|
id | Stable slug, usually YYYY-MM-DD-short-name. Other items point at this. |
date | YYYY-MM-DD. When the news happened or the event is scheduled. For a month or quarter, use a day inside that period (the first day is fine). |
date_precision | day, month, quarter, or unknown. Only day is pinned to a calendar cell. |
status | happened, upcoming, or developing. |
title | Short headline. |
summary | One or two plain sentences. |
tickers | Symbols, or []. |
companies | Names, or []. |
industry | Free text. Known industries get a stable color; a new one still gets a color. |
event_type | earnings, fda, trial, fed, macro_data, policy, deal, ipo, lockup, analyst, market_move, geopolitics, or other. |
key_number | The figure worth remembering, or "". |
price_mentioned | { "ticker": "ORCL", "price": 136 } or null. Do not invent a price. |
move_pct | Signed percent, such as -4.4, or null. Do not invent a move. |
source_digest_date | YYYY-MM-DD the note was written down. |
related_ids | Ids of connected items. Use [] when nothing connects. |
connection_notes | Why the links exist, or . |
Only record what was actually in the source notes. Leave price and move null when a number was not stated.
data/news.json.id.related_ids at ids that already exist, and add the new id onto those items when the link should be visible from both sides (the graph treats a link in either direction as one edge).{
"id": "2026-10-24-example",
"date": "2026-10-24",
"date_precision": "day",
"status": "happened",
"title": "Short headline",
"summary": "One or two sentences with only figures that were stated.",
"tickers": ["NVDA"],
"companies": ["Nvidia"],
"industry": "Semiconductors",
"event_type": "market_move",
"key_number": "",
"price_mentioned": null,
"move_pct": null,
"source_digest_date": "2026-10-24",
"related_ids": [],
"connection_notes": ""
}
""