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.