English | 中文
Open source takes effort — sponsorship is welcome:
👉 爱发电 / Afdian
A local AI tool navigator: builds index.html, a free-tier dashboard, and an encyclopedia page from site-data.json. Extend categories via nav-extensions.json (API routers, MCP, RAG, local inference, etc.). Also includes comparison (*-plan.html) pages and an ai-roi/ skills/ROI audit app.
- Node.js 18+ (
fetchfordownload-icons.mjs/ dead-link checks;build-html-data.jsis CommonJS)
# 1. Generate index.html, free-tier.html, encyclopedia, sitemap (+ sync plan-nav)
npm run build
# or: node build-html-data.js
# 2. (Optional) Download icons, then rebuild
npm run icons
npm run buildOpen index.html in a browser. Header/footer link to free-tier, plan pages, and the encyclopedia.
npm run build # regenerate pages; sync plan-nav.js from nav-links.json
npm run icons # download icons from avatar fields
npm run check # link consistency + priority free-tier hints gate
npm run check:hints # require free-tier-priority.json links to be in hints
npm run check:hints:all # full hints coverage (exit 1 if any missing)
npm run check:links # static audit: site vs extensions, placeholder URLs
npm run check:dead # HTTP probe hot + priority links (add --ext for extensions)CI (.github/workflows/ci.yml) on push/PR runs: build → audit-links → check:hints → check:dead (check:dead is continue-on-error to avoid flaky network failures).
- Favorites: star on each card; top “常用收藏” block + sidebar anchor. Stored in
localStorage(ainav-favorites-v1); import/export supported. - Compare basket: “⇄” on cards (max 4, key
ainav-compare-v1); bottom dock opens a small compare table and links to Coding / Agent / Model plan pages. - Scenario filters: Chat / Coding / Search / Image / Video / China / Intl / Agent·RAG (combinable with search).
- Pricing / region badges: if a tool
linkmatchesfree-tier-hints.json, the card shows free-tier level and a China/Intl tag; links tofree-tier.html?q=…. - Hot tools freshness:
daily-tools.jsonasOfrenders as “model info as of YYYY-MM-DD”. - Theme: light / dark / system (
ainav-theme). - ZH / EN UI: toolbar toggle (
ainav-lang); tool copy may usei18n-en.json. - Search shortcuts:
/orCtrl+K(⌘K on Mac). - Top plan bar: generated from
nav-links.json(same source as subpage nav). - Build timestamp: footer shows last
npm run buildtime.
- Deduped products from the menu tree; search + filters by level / category / verified vs inferred.
- Verified rows come from hand-maintained
free-tier-hints.json; others are rule-inferred (trust banner on page). - List prefers verified entries first. Always defer to official pricing.
| Page | Role |
|---|---|
ai-encyclopedia-2026.html |
Long encyclopedia table (from Markdown source) |
*-plan.html / token-optimization.html |
Model / coding / agent / media comparisons (plan-nav.js) |
opc.html etc. |
One-person company guides |
thinking-framework.html + ask/plan/debug/agent |
“AI-first thinking” framework |
ai-roi/ |
Skills landing checklist & ROI (standalone) |
| File | Description |
|---|---|
index.html / free-tier.html / ai-encyclopedia-2026.html |
Build outputs (open directly) |
site-data.json |
Core menu tree & tools |
build-html-data.js |
Merge configs → HTML + sitemap.xml |
nav-links.json |
Single source for subpage nav, home plan bar, plan-nav, sitemap |
plan-nav.js |
Plan-page top nav (LINKS synced from nav-links.json on build) |
subpage-nav-html.js |
Build-time nav HTML / sitemap / plan-nav sync |
nav-extensions.json |
Extra categories (may merge into existing leaves) |
category-order.json |
Optional top-level & child order |
daily-tools.json |
Optional “热门工具” replacement; optional asOf |
append-leaf-tools.json |
Optional append tools under group/leaf |
free-tier-hints.json |
Manual free-tier notes keyed by product link |
free-tier-priority.json |
Priority links that check:hints / CI must cover |
free-tier-infer.js |
Inference when no manual hint |
i18n-en.json |
English titles/descriptions |
download-icons.mjs / icons/ |
Icon download & local assets |
docs/DATA-SOURCES.md |
Dual data sources & merge notes |
docs/update-cadence.md |
Suggested content update cadence |
ai-roi/ |
Skills / ROI audit app |
.github/workflows/ci.yml |
Build & check pipeline |
Cross-page nav lives in nav-links.json:
- Edit
links(and optionalsitemap). - Run
npm run build. - Build updates subpage nav, home plan bar,
plan-nav.jsLINKS, andsitemap.xml.
Useful fields: href / zh / en / match; nav includes sub | plan | home; home groups use homeGroup (highlight | compare | landing | method).
- Edit
daily-tools.json(mode: "replace-hot"replaces the “热门工具” section). - Set
asOf": "YYYY-MM-DD"so the home section shows freshness. npm run build. Restore defaults by deleting the file or changingmode.
Item fields: title, subtitle, link, optional avatar. Order of items is display order (not a live ranking).
- Add entries to
free-tier-hints.jsonkeyed by productlink(freeLevel,quota,dailyCycle,firstBonus,note,updated). - Keep must-verify products in
free-tier-priority.json(usually hot tools + flagships). - Pass
npm run check:hints, thennpm run build.
Missing hints are inferred and labeled “inferred”. Full coverage: npm run check:hints:all (not required by default CI gate).
Edit category-order.json:
topLevel: preferred order of categorynames or extensionids; unlisted keep relative order at the end.childrenOrder: map parent group name → child name array.
Then npm run build.
Edit nav-extensions.json categories:
{
"id": "my-section",
"name": "My Category",
"tools": [
{
"title": "Product Name",
"subtitle": "One-line description",
"link": "https://example.com/"
}
]
}id: optional anchor (normalized).avatar: optional local icon path.
If name/id matches an existing leaf, tools are merged into it. Then npm run build.
- Add a tool:
site-data.jsontools(title+link; optionalsubtitle,avatar), or usenav-extensions.json/append-leaf-tools.json. - Add a category: leaf/group under
menus, or extensions JSON. - After edits: always
npm run build. - Periodically run
npm run check:deadon hot/priority links.
See docs/update-cadence.md and docs/DATA-SOURCES.md.
GPLv3 — covers scripts, configs, and self-built data in this repository only. Derivative works must also be open-sourced under GPLv3. Product names, icons, and links belong to their respective owners.