Tokens
Track, visualize, and compete on AI coding assistant token usage across Claude Code, Cursor, OpenCode, Codex, Gemini, Kimi, and Qwen. The Kardashev Scale for AI Devs.
翻譯準備中
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證Interactive 3D/2D map of my repos, live sites and channels, and every link between them, with a daily link-health check
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗Everything I publish, on one interactive map: my GitHub profile, every public repo, the apps live on GitHub Pages, julianhilgemann.com and the channels around them, with every link between them. Because it checks each of those links, it also works as a link checker for all of it.
| Shape | Node |
|---|---|
| Orange hub | The GitHub profile (this account's profile README) |
| Blue sphere / dot | A public repo |
| Green diamond | A live site: julianhilgemann.com, a GitHub Pages app, another domain |
| Violet cube / square | A channel: LinkedIn, YouTube, email, Buy Me a Coffee |
| Grey dot | An external host (hidden by default) |
| Red cross | A repo that is linked but does not exist |
Particles flow along each link in its direction. A link is one of: a hyperlink, an embedded image, a deploy (repo → its live site), a repo's About website, a git submodule, or a video's channel.
Link colours carry health: grey works, amber works only through a redirect (the old name of a renamed repo, which keeps redirecting only until a new repo takes that name), red is broken. The link problems button lists every one with the file and line, or the page, where it lives and, for renames, the URL to use instead.
Views: 3D (default on desktop), 2D (default on phones), and a list. Drag to orbit (3D) or pan (2D), scroll to zoom, click a node for its links, press / to search.
Deep links: #repo:fx_macro_platform opens a node, #health the link-health panel, and ?view=2d (or 3d, list) picks the view.
scripts/crawl.mjs builds graph.json from three sources:
README.md at any depth, and .gitmodules. GitHub links are resolved against the API (catching renamed repos) and against the target repo's file tree (catching links to files that no longer exist). Relative links inside a README are checked against the same tree.graph.config.json are crawled page by page, each Pages app by its home page.A GitHub Action re-crawls every morning at 05:17 UTC and on every push, builds the Vite app and deploys it to GitHub Pages. Its token sees public repos only, so a private repo never reaches the published graph. Nothing is committed back: the live graph.json is always the latest crawl.
The page is plain JavaScript on 3d-force-graph (Three.js) and force-graph. Colours and type come from design-system, included as a git submodule, so the graph matches julianhilgemann.com.
git clone --recurse-submodules https://github.com/julianhilgemann/ecosystem_graph_app.git
cd ecosystem_graph_app
npm ci
npm run crawl # needs GITHUB_TOKEN, or a logged-in gh CLI
npm run dev
npm run crawl -- --private also includes your private repos, for a look on your own machine. public/graph.json is gitignored, and CI always crawls fresh, so that file never reaches the published site.
graph.config.json:
sites: websites to crawl page by page. hosts are the domains that count as the site, repo binds a custom domain to the repo that deploys it, seeds are the paths to start from.socials: channels to show even when nothing links to them yet, and the label to give them.edges: links the crawler cannot see, such as the website field of a LinkedIn profile: { "source": "<node id>", "target": "<node id>", "note": "…" }. Node ids are shown at the bottom of each node's panel.ignoreHosts: badge and image hosts that are not worth a node.uncheckedHosts: hosts that refuse crawlers; their links are drawn but not checked.GitHub disables scheduled workflows in a repo with no activity for 60 days. If the crawl date in the page footer stops moving, re-enable the workflow under Actions, or run it by hand there.