adaptive-memory-multi-model-router 2.14.49 → 2.14.52

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (605) hide show
  1. package/.dockerignore +82 -0
  2. package/.env.example +303 -0
  3. package/.github/DISCUSSIONS_WELCOME.md +27 -0
  4. package/.github/DISCUSSION_TEMPLATE.yml +5 -0
  5. package/.github/FUNDING.yml +2 -0
  6. package/.github/ISSUE_TEMPLATE/bug_report.md +94 -0
  7. package/.github/ISSUE_TEMPLATE/config.yml +17 -0
  8. package/.github/ISSUE_TEMPLATE/feature_request.md +71 -0
  9. package/.github/PULL_REQUEST_TEMPLATE.md +71 -0
  10. package/.github/dependabot.yml +9 -0
  11. package/.github/workflows/ci.yml +263 -0
  12. package/.github/workflows/codeql.yml +38 -0
  13. package/.github/workflows/npm-publish.yml +20 -0
  14. package/.github/workflows/pages.yml +37 -0
  15. package/.github/workflows/stale.yml +54 -0
  16. package/.publish-tick +1 -0
  17. package/.well-known/ai-plugin.json +16 -0
  18. package/AGENT_COUNCIL_FINDINGS.md +142 -0
  19. package/ARCHITECTURE.md +346 -0
  20. package/AUDIT_REPORT.md +28 -0
  21. package/CODE_OF_CONDUCT.md +128 -0
  22. package/CONTRIBUTING.md +50 -0
  23. package/CONTRIBUTORS.md +20 -0
  24. package/Dockerfile +53 -0
  25. package/Dockerfile.proxy +33 -0
  26. package/HEALTH_REPORT.md +118 -0
  27. package/IMPROVEMENT_PLAN.md +107 -0
  28. package/LANDING.md +43 -0
  29. package/LAUNCH-PAIN-DRIVEN.md +339 -0
  30. package/LAUNCH.md +337 -0
  31. package/LAUNCH_CHECKLIST.md +141 -0
  32. package/LAUNCH_SNAPSHOT.md +260 -0
  33. package/MANIFESTO.md +41 -0
  34. package/POPULARITY_BOOSTERS.md +285 -0
  35. package/PR_STATUS_REPORT.md +148 -0
  36. package/README.md +25 -14
  37. package/REDESIGN.md +95 -0
  38. package/RUNKIT.md +83 -0
  39. package/SECURITY.md +29 -0
  40. package/SUBMISSIONS.md +43 -0
  41. package/_schema.html +53 -0
  42. package/ai-plugin.json +16 -0
  43. package/articles/AI_AGENT_LLM_ROUTING.md +150 -0
  44. package/articles/CHINESE_DIRECTORIES.md +100 -0
  45. package/articles/CHINESE_SUBMISSIONS_READY.md +322 -0
  46. package/articles/COMPETITOR_ALERTS.md +31 -0
  47. package/articles/COMPLETE_POSTING_DIRECTORY.md +147 -0
  48. package/articles/CONTENT_STRUCTURE.md +292 -0
  49. package/articles/DEVTO_COST_GUIDE.md +473 -0
  50. package/articles/DEVTO_FINAL.md +416 -0
  51. package/articles/DEVTO_MULTI_PROVIDER.md +542 -0
  52. package/articles/DEVTO_READY.md +255 -0
  53. package/articles/DEVTO_V2_ANNOUNCEMENT.md +160 -0
  54. package/articles/DEVTO_VIRAL_GROWTH.md +280 -0
  55. package/articles/FRESH_devto.md +460 -0
  56. package/articles/FRESH_devto_2026_05.md +73 -0
  57. package/articles/FRESH_hackernews.md +14 -0
  58. package/articles/FRESH_reddit_ml.md +90 -0
  59. package/articles/FRESH_reddit_node.md +198 -0
  60. package/articles/FRESH_reddit_sideproject.md +72 -0
  61. package/articles/FRESH_reddit_webdev.md +130 -0
  62. package/articles/FROM_ZERO_TO_10K.md +107 -0
  63. package/articles/HN_10X_BETTER.md +430 -0
  64. package/articles/HN_ACCOUNT_GUIDE.md +21 -0
  65. package/articles/HN_CHINESE_STYLE.md +308 -0
  66. package/articles/HN_FINAL.md +148 -0
  67. package/articles/HN_POSTED_VERSION.md +56 -0
  68. package/articles/HN_POST_READY.md +137 -0
  69. package/articles/HN_RESEARCH.md +364 -0
  70. package/articles/HN_SHOW_routerarena.md +17 -0
  71. package/articles/HN_TIMING_GUIDE.md +52 -0
  72. package/articles/INDIEHACKERS_POST.md +52 -0
  73. package/articles/INDIEHACKERS_READY.md +120 -0
  74. package/articles/LLM_BENCHMARK_DEEP_DIVE.md +153 -0
  75. package/articles/MASTER_POSTING_DIRECTORY.md +189 -0
  76. package/articles/NEWSLETTER_SEND_NOW.md +259 -0
  77. package/articles/NEWSLETTER_SUBMISSIONS.md +112 -0
  78. package/articles/PAIN-DRIVEN-devto-v2.md +308 -0
  79. package/articles/PAIN-DRIVEN-devto-v3.md +268 -0
  80. package/articles/PAIN-DRIVEN-devto.md +242 -0
  81. package/articles/PAIN-DRIVEN-hackernews-v2.md +138 -0
  82. package/articles/PAIN-DRIVEN-hackernews-v3.md +151 -0
  83. package/articles/PAIN-DRIVEN-hackernews.md +131 -0
  84. package/articles/PAIN-DRIVEN-reddit-v2.md +301 -0
  85. package/articles/PAIN-DRIVEN-reddit-v3.md +236 -0
  86. package/articles/PAIN-DRIVEN-reddit.md +218 -0
  87. package/articles/PAIN-DRIVEN-twitter-v2.md +110 -0
  88. package/articles/PAIN-DRIVEN-twitter-v3.md +121 -0
  89. package/articles/PAIN-DRIVEN-twitter.md +120 -0
  90. package/articles/PORTKEY_VS_A3M.md +147 -0
  91. package/articles/POSTING_KIT_2026_05.md +67 -0
  92. package/articles/PRESS_KIT_routerarena.md +77 -0
  93. package/articles/PRODUCTHUNT_LISTING.md +48 -0
  94. package/articles/PRODUCTHUNT_READY.md +106 -0
  95. package/articles/PR_PLAN_vault.md +125 -0
  96. package/articles/REDDIT_FINAL.md +232 -0
  97. package/articles/REDDIT_POST.md +67 -0
  98. package/articles/REDDIT_SUBMISSION_READY.md +348 -0
  99. package/articles/ROUTERARENA_9677.md +78 -0
  100. package/articles/ROUTERARENA_LEADER.md +45 -0
  101. package/articles/SHOW_HN_FINAL.md +29 -0
  102. package/articles/TWEETS_10K_DOWNLOADS.md +47 -0
  103. package/articles/TWEETS_BENCHMARK_FIRST.md +46 -0
  104. package/articles/TWEETS_MCP_PLAY.md +51 -0
  105. package/articles/TWEETS_SEQUENTIAL_BROKEN.md +49 -0
  106. package/articles/TWEETS_WHY_BUILD.md +54 -0
  107. package/articles/TWEETS_routerarena_leader.md +53 -0
  108. package/articles/TWEET_STORM_READY.md +165 -0
  109. package/articles/TWITTER_FINAL.md +167 -0
  110. package/articles/WHY_10X_BETTER.md +261 -0
  111. package/articles/WHY_CHINESE_STYLE_BETTER.md +323 -0
  112. package/articles/ai-discoverability-llm-routing.md +210 -0
  113. package/articles/devto-llm-routing.md +138 -0
  114. package/articles/hackernews-show-hn.md +54 -0
  115. package/articles/hashnode-llm-cost-optimization.md +125 -0
  116. package/articles/hn_show_2026_05.md +11 -0
  117. package/articles/medium-building-llm-router.md +205 -0
  118. package/articles/reddit-ml.md +76 -0
  119. package/articles/twitter-thread-cost-savings.md +50 -0
  120. package/articles/youtube-tutorial-script.md +262 -0
  121. package/assets/a3m_3blue1brown.mp4 +0 -0
  122. package/assets/banner.svg +109 -0
  123. package/assets/chart-cost-v2.svg +91 -0
  124. package/assets/chart-cost-v3.svg +143 -0
  125. package/assets/chart-features-v2.svg +132 -0
  126. package/assets/chart-features-v3.svg +211 -0
  127. package/assets/chart-growth-v2.svg +122 -0
  128. package/assets/chart-growth-v3.svg +189 -0
  129. package/assets/cost-comparison.svg +134 -0
  130. package/assets/cost-simple.svg +64 -0
  131. package/assets/demo-hn.gif +0 -0
  132. package/assets/feature-matrix.svg +136 -0
  133. package/assets/growth-chart-animated.svg +76 -0
  134. package/assets/growth-chart.svg +82 -0
  135. package/assets/growth-simple.svg +69 -0
  136. package/assets/hero-diagram.svg +81 -0
  137. package/assets/logo-new.svg +21 -0
  138. package/assets/logo.svg +68 -0
  139. package/assets/provider-comparison.svg +121 -0
  140. package/assets/social-preview-new.svg +100 -0
  141. package/assets/social-preview.svg +194 -0
  142. package/assets/social-v2.svg +130 -0
  143. package/assets/social-v3.svg +212 -0
  144. package/benchmark-provider-results.json +245 -0
  145. package/benchmark-results.json +54 -0
  146. package/council-votes/architecture-vote.md +121 -0
  147. package/council-votes/coverage-vote.md +93 -0
  148. package/data/adaptive-benchmark.json +92 -0
  149. package/data/benchmark-results.json +47 -0
  150. package/data/labeled-benchmark.json +88 -0
  151. package/demo/3blue1brown_video.py +285 -0
  152. package/demo/3blue1brown_video_v2.py +310 -0
  153. package/demo/IMPROVED_PROMPTS.md +229 -0
  154. package/demo/VEO3_PROMPTS.md +269 -0
  155. package/demo/VIDEO_PRODUCTION_GUIDE.md +333 -0
  156. package/demo/a3m_3blue1brown.mp4 +0 -0
  157. package/demo/asciinema-demo.sh +195 -0
  158. package/demo/demo-hn.tape +74 -0
  159. package/demo/demo-script.md +53 -0
  160. package/demo/demo-script.sh +62 -0
  161. package/demo/demo.svg +75 -0
  162. package/demo/frame1_ai_data_center.png +0 -0
  163. package/demo/frame1_sunset_video.mp4 +0 -0
  164. package/demo/frame2_cost_comparison.png +0 -0
  165. package/demo/frame2_cost_comparison_fallback.png +0 -0
  166. package/demo/frame3_parallel_execution.png +0 -0
  167. package/demo/frame3_parallel_execution_fallback.png +0 -0
  168. package/demo/frame4_providers.png +0 -0
  169. package/demo/frame4_providers_fallback.png +0 -0
  170. package/demo/frame5_endcard.png +0 -0
  171. package/demo/frame5_endcard_fallback.png +0 -0
  172. package/demo/new_frame1_hook.png +0 -0
  173. package/demo/new_frame2_proof.png +0 -0
  174. package/demo/new_frame3_wow.png +0 -0
  175. package/demo/new_frame4_social.png +0 -0
  176. package/demo/new_frame5_cta.png +0 -0
  177. package/demo/package.json +13 -0
  178. package/demo/product-video-final.mp4 +0 -0
  179. package/demo/product-video-hype-v1.mp4 +0 -0
  180. package/demo/product-video-v1.mp4 +0 -0
  181. package/demo/public/index.html +762 -0
  182. package/demo/recording.cast +55 -0
  183. package/demo/server.js +405 -0
  184. package/demo-new.tape +71 -0
  185. package/demo-real.sh +198 -0
  186. package/demo-simple.tape +205 -0
  187. package/demo.html +520 -0
  188. package/demo.sh +85 -0
  189. package/demo.tape +259 -0
  190. package/dist/analytics/costAnalytics.d.ts.map +1 -0
  191. package/dist/analytics/costAnalytics.js.map +1 -0
  192. package/dist/benchmark/comprehensive.js.map +1 -0
  193. package/dist/benchmark/reproducible.d.ts.map +1 -0
  194. package/dist/benchmark/reproducible.js.map +1 -0
  195. package/dist/cache/prefixCache.d.ts.map +1 -0
  196. package/dist/cache/prefixCache.js.map +1 -0
  197. package/dist/cache/responseCache.d.ts.map +1 -0
  198. package/dist/cache/responseCache.js.map +1 -0
  199. package/dist/cache/semanticCache.d.ts.map +1 -0
  200. package/dist/cache/semanticCache.js.map +1 -0
  201. package/dist/cli/setupWizard.d.ts.map +1 -0
  202. package/dist/cli/setupWizard.js.map +1 -0
  203. package/dist/cost/budgetEnforcer.d.ts.map +1 -0
  204. package/dist/cost/budgetEnforcer.js.map +1 -0
  205. package/dist/cost/costTracker.d.ts.map +1 -0
  206. package/dist/cost/costTracker.js.map +1 -0
  207. package/dist/ensemble/multiRoundDialog.js.map +1 -0
  208. package/dist/ensemble/shapleyValue.js.map +1 -0
  209. package/dist/integrations/langchainAdapter.d.ts.map +1 -0
  210. package/dist/integrations/langchainAdapter.js.map +1 -0
  211. package/dist/integrations/oauth.d.ts.map +1 -0
  212. package/dist/integrations/oauth.js.map +1 -0
  213. package/dist/integrations/scienceAdapter.js.map +1 -0
  214. package/dist/memory/autoFetch.d.ts.map +1 -0
  215. package/dist/memory/autoFetch.js.map +1 -0
  216. package/dist/memory/episodicMemory.d.ts.map +1 -0
  217. package/dist/memory/episodicMemory.js.map +1 -0
  218. package/dist/memory/hybridMemory.js.map +1 -0
  219. package/dist/memory/memoryTree.d.ts.map +1 -0
  220. package/dist/memory/memoryTree.js.map +1 -0
  221. package/dist/memory/obsidianVault.d.ts.map +1 -0
  222. package/dist/memory/obsidianVault.js.map +1 -0
  223. package/dist/memory/reasoningBank.js.map +1 -0
  224. package/dist/observability/changeWatch.d.ts.map +1 -0
  225. package/dist/observability/changeWatch.js.map +1 -0
  226. package/dist/observability/fatigueDetector.d.ts.map +1 -0
  227. package/dist/observability/fatigueDetector.js.map +1 -0
  228. package/dist/observability/index.d.ts.map +1 -0
  229. package/dist/observability/index.js.map +1 -0
  230. package/dist/observability/metrics.d.ts.map +1 -0
  231. package/dist/observability/metrics.js.map +1 -0
  232. package/dist/observability/middleware.d.ts.map +1 -0
  233. package/dist/observability/middleware.js.map +1 -0
  234. package/dist/observability/tracer.d.ts.map +1 -0
  235. package/dist/observability/tracer.js.map +1 -0
  236. package/dist/observability/types.d.ts.map +1 -0
  237. package/dist/observability/types.js.map +1 -0
  238. package/dist/orchestration/haloOrchestrator.d.ts.map +1 -0
  239. package/dist/orchestration/haloOrchestrator.js.map +1 -0
  240. package/dist/orchestration/mctsWorkflow.d.ts.map +1 -0
  241. package/dist/orchestration/mctsWorkflow.js.map +1 -0
  242. package/dist/providers/localProvider.d.ts.map +1 -0
  243. package/dist/providers/localProvider.js.map +1 -0
  244. package/dist/providers/providerConfig.d.ts.map +1 -0
  245. package/dist/providers/providerConfig.js.map +1 -0
  246. package/dist/providers/registry.d.ts.map +1 -0
  247. package/dist/providers/registry.js.map +1 -0
  248. package/dist/routing/advancedRouter.d.ts.map +1 -0
  249. package/dist/routing/advancedRouter.js +1 -1
  250. package/dist/routing/advancedRouter.js.map +1 -0
  251. package/dist/routing/crossModelValidation.d.ts.map +1 -0
  252. package/dist/routing/crossModelValidation.js.map +1 -0
  253. package/dist/routing/providerHealth.d.ts.map +1 -0
  254. package/dist/routing/providerHealth.js.map +1 -0
  255. package/dist/routing/providerRetry.d.ts.map +1 -0
  256. package/dist/routing/providerRetry.js.map +1 -0
  257. package/dist/scripts/banner.js +29 -0
  258. package/dist/security/guardrails.d.ts.map +1 -0
  259. package/dist/security/guardrails.js.map +1 -0
  260. package/dist/server/dashboard.d.ts.map +1 -0
  261. package/dist/server/dashboard.js.map +1 -0
  262. package/dist/server/modelMapper.d.ts.map +1 -0
  263. package/dist/server/modelMapper.js.map +1 -0
  264. package/dist/server/proxyServer.d.ts.map +1 -0
  265. package/dist/server/proxyServer.js.map +1 -0
  266. package/dist/skills/__tests__/skill_manager.test.d.ts +2 -0
  267. package/dist/skills/__tests__/skill_manager.test.d.ts.map +1 -0
  268. package/dist/skills/__tests__/skill_manager.test.js +268 -0
  269. package/dist/skills/__tests__/skill_manager.test.js.map +1 -0
  270. package/dist/tools/tmlpdTools.d.ts.map +1 -0
  271. package/dist/tools/tmlpdTools.js.map +1 -0
  272. package/dist/tui/dashboard.d.ts.map +1 -0
  273. package/dist/tui/dashboard.js.map +1 -0
  274. package/dist/tui/index.d.ts.map +1 -0
  275. package/dist/tui/index.js.map +1 -0
  276. package/dist/utils/batchProcessor.d.ts.map +1 -0
  277. package/dist/utils/batchProcessor.js.map +1 -0
  278. package/dist/utils/compression.d.ts.map +1 -0
  279. package/dist/utils/compression.js.map +1 -0
  280. package/dist/utils/costUtils.d.ts.map +1 -0
  281. package/dist/utils/costUtils.js.map +1 -0
  282. package/dist/utils/reliability.d.ts.map +1 -0
  283. package/dist/utils/reliability.js.map +1 -0
  284. package/dist/utils/sorting.d.ts.map +1 -0
  285. package/dist/utils/sorting.js.map +1 -0
  286. package/dist/utils/speculativeDecoding.d.ts.map +1 -0
  287. package/dist/utils/speculativeDecoding.js.map +1 -0
  288. package/dist/utils/tokenUtils.d.ts.map +1 -0
  289. package/dist/utils/tokenUtils.js.map +1 -0
  290. package/docs/.nojekyll +0 -0
  291. package/docs/ANALYSIS_PRINCIPLES.md +162 -0
  292. package/docs/API.md +855 -0
  293. package/docs/ARCHITECTURAL-IMPROVEMENTS-2025.md +1391 -0
  294. package/docs/ARCHITECTURAL-IMPROVEMENTS-REVISED-2025.md +1051 -0
  295. package/docs/BENCHMARK.md +170 -0
  296. package/docs/CHINESE_PROVIDER_RELIABILITY.md +37 -0
  297. package/docs/CITATIONS.md +74 -0
  298. package/docs/CLAIMS_AND_EVIDENCE.md +58 -0
  299. package/docs/CONFIGURATION.md +476 -0
  300. package/docs/COUNCIL_DECISION.json +816 -0
  301. package/docs/COUNCIL_SUMMARY.md +319 -0
  302. package/docs/COUNCIL_V2.2_DECISION.md +416 -0
  303. package/docs/ENGINEERING_SPEC.md +55 -0
  304. package/docs/FACTORY_RESET.md +34 -0
  305. package/docs/GEO.md +66 -0
  306. package/docs/GEO_OPTIMIZATION.md +30 -0
  307. package/docs/GEO_ROOT_CAUSE.md +136 -0
  308. package/docs/GEO_STATUS.md +85 -0
  309. package/docs/GEO_TEST_RESULTS.md +176 -0
  310. package/docs/HN_CHECKLIST.md +38 -0
  311. package/docs/HN_FOUNDER_COMMENT.md +17 -0
  312. package/docs/HN_SUBMISSION_FINAL.md +180 -0
  313. package/docs/HN_SUBMISSION_V3.md +56 -0
  314. package/docs/IMPROVEMENT_ROADMAP.md +515 -0
  315. package/docs/INTEGRATIONS.md +420 -0
  316. package/docs/LANGCHAIN_INTEGRATION.md +147 -0
  317. package/docs/LLM_COUNCIL_DECISION.md +508 -0
  318. package/docs/MIDDLEWARE_CHAIN.md +35 -0
  319. package/docs/PROMO_CHECKLIST.md +200 -0
  320. package/docs/QUICKSTART.md +271 -0
  321. package/docs/QUICK_START.md +43 -0
  322. package/docs/QUICK_START_VISIBILITY.md +782 -0
  323. package/docs/REDDIT_GAP_ANALYSIS.md +299 -0
  324. package/docs/RELEASE_CHECKLIST.md +32 -0
  325. package/docs/REPRODUCIBILITY.md +63 -0
  326. package/docs/RESEARCH_BACKED_IMPROVEMENTS.md +1180 -0
  327. package/docs/ROUTING_RUBRIC.md +197 -0
  328. package/docs/SEO_AUDIT.md +186 -0
  329. package/docs/SOCIAL_LISTENING.md +219 -0
  330. package/docs/TMLPD_QNA.md +751 -0
  331. package/docs/TMLPD_V2.1_COMPLETE.md +763 -0
  332. package/docs/TMLPD_V2.2_RESEARCH_ROADMAP.md +754 -0
  333. package/docs/UPDATE_TOPICS.md +15 -0
  334. package/docs/USE_CASES.md +59 -0
  335. package/docs/V2.2_IMPLEMENTATION_COMPLETE.md +446 -0
  336. package/docs/V2_IMPLEMENTATION_GUIDE.md +388 -0
  337. package/docs/VERCEL_AI_SDK.md +209 -0
  338. package/docs/VISIBILITY_ADOPTION_PLAN.md +1005 -0
  339. package/docs/_config.yml +49 -0
  340. package/docs/ai-plugin.json +16 -0
  341. package/docs/api.html +513 -0
  342. package/docs/architecture-diagram.md +40 -0
  343. package/docs/benchmark-chart.png +0 -0
  344. package/docs/benchmark.html +387 -0
  345. package/docs/blog/routerarena-9677.html +92 -0
  346. package/docs/blog/routerarena-number-one.html +73 -0
  347. package/docs/cli-cheatsheet.md +339 -0
  348. package/docs/compare.md +109 -0
  349. package/docs/comparison-litellm.md +88 -0
  350. package/docs/comparison.md +108 -0
  351. package/docs/cost-chart-ascii.md +42 -0
  352. package/docs/cost-comparison-chart.svg +88 -0
  353. package/docs/curl-examples.md +247 -0
  354. package/docs/demo-auto.html +264 -0
  355. package/docs/demo.html +416 -0
  356. package/docs/geo/GENERATIVE_ENGINE_OPTIMIZATION.md +232 -0
  357. package/docs/index.html +507 -0
  358. package/docs/launch-content/LAUNCH_EXECUTION_CHECKLIST.md +421 -0
  359. package/docs/launch-content/README.md +457 -0
  360. package/docs/launch-content/assets/cost_comparison_100_tasks.png +0 -0
  361. package/docs/launch-content/assets/cumulative_savings.png +0 -0
  362. package/docs/launch-content/assets/parallel_speedup.png +0 -0
  363. package/docs/launch-content/assets/provider_pricing_comparison.png +0 -0
  364. package/docs/launch-content/assets/task_breakdown_comparison.png +0 -0
  365. package/docs/launch-content/generate_charts.py +313 -0
  366. package/docs/launch-content/hn_show_post.md +139 -0
  367. package/docs/launch-content/partner_outreach_templates.md +745 -0
  368. package/docs/launch-content/reddit_posts.md +467 -0
  369. package/docs/launch-content/twitter_thread.txt +460 -0
  370. package/{llms.txt.bak → docs/llms.txt} +6 -6
  371. package/docs/npm-downloads-chart.svg +43 -0
  372. package/docs/openapi.json +139 -0
  373. package/docs/openapi.yaml +1318 -0
  374. package/docs/quick-start.html +366 -0
  375. package/docs/robots.txt +52 -0
  376. package/docs/sitemap.xml +57 -0
  377. package/docs/styles.css +682 -0
  378. package/docs/well-known/ai-plugin.json +16 -0
  379. package/docs/wellknown/ai-plugin.json +16 -0
  380. package/docs-site/assets/og-banner.svg +194 -0
  381. package/docs-site/index.html +632 -0
  382. package/eval/README.md +46 -0
  383. package/eval/baselines/main.json +12 -0
  384. package/eval/benchmark_dataset.jsonl +16 -0
  385. package/eval/check_golden_routes.js +64 -0
  386. package/eval/datasets/catalog.json +33 -0
  387. package/eval/datasets/slices/cn_provider_reliability_v1.jsonl +3 -0
  388. package/eval/datasets/slices/cost_pressure_v1.jsonl +3 -0
  389. package/eval/datasets/slices/safety_guardrails_v1.jsonl +3 -0
  390. package/eval/evals.json +199 -0
  391. package/eval/fault_injection_thresholds.json +3 -0
  392. package/eval/generate_report.js +128 -0
  393. package/eval/golden_routes.json +114 -0
  394. package/eval/lib/experiment_registry.js +24 -0
  395. package/eval/run_eval.js +197 -0
  396. package/eval/run_fault_injection.js +201 -0
  397. package/eval/run_shadow_eval.js +85 -0
  398. package/eval/thresholds.json +9 -0
  399. package/examples/QUICKSTART.md +183 -0
  400. package/examples/README.md +61 -0
  401. package/examples/a3m-sdk.js +124 -0
  402. package/examples/basic-route.js +54 -0
  403. package/examples/chat-loop.js +202 -0
  404. package/examples/classify-then-route.js +102 -0
  405. package/examples/cost-compare.js +120 -0
  406. package/examples/ensemble.js +160 -0
  407. package/examples/whatsapp-telegram-bridge-demo.js +302 -0
  408. package/examples/whatsapp-telegram-bridge.js +269 -0
  409. package/hf-space/README.md +23 -0
  410. package/hf-space/app.py +240 -0
  411. package/hf-space/requirements.txt +1 -0
  412. package/huggingface_space/README.md +35 -0
  413. package/huggingface_space/app.py +126 -0
  414. package/huggingface_space/create_space.py +208 -0
  415. package/huggingface_space/requirements.txt +1 -0
  416. package/index.html +1 -1
  417. package/mcp-server/README.md +188 -0
  418. package/mcp-server/package.json +29 -0
  419. package/mcp-server/src/index.ts +744 -0
  420. package/mcp-server/tsconfig.json +19 -0
  421. package/openclaw-alexa-bridge/ALL_REMAINING_FIXES_PLAN.md +313 -0
  422. package/openclaw-alexa-bridge/REMAINING_FIXES_SUMMARY.md +277 -0
  423. package/openclaw-alexa-bridge/src/alexa_handler_no_tmlpd.js +1234 -0
  424. package/openclaw-alexa-bridge/test_fixes.js +77 -0
  425. package/package.json +76 -272
  426. package/playground/README.md +51 -0
  427. package/playground/codesandbox.json +12 -0
  428. package/playground/index.js +39 -0
  429. package/proxy/README.md +227 -0
  430. package/proxy/package-lock.json +831 -0
  431. package/proxy/package.json +17 -0
  432. package/proxy/rate-limit.js +145 -0
  433. package/proxy/rate-limit.test.js +311 -0
  434. package/proxy/server.js +970 -0
  435. package/python/README.md +102 -0
  436. package/python/a3m/__init__.py +6 -0
  437. package/python/a3m/client.py +190 -0
  438. package/python/a3m/models.py +40 -0
  439. package/python/a3m/sync_client.py +61 -0
  440. package/python/examples.py +53 -0
  441. package/python/integrations.py +330 -0
  442. package/python/pyproject.toml +23 -0
  443. package/python/setup.py +28 -0
  444. package/python/tmlpd.py +369 -0
  445. package/qna/REDDIT_GAP_ANALYSIS.md +299 -0
  446. package/qna/TMLPD_QNA.md +751 -0
  447. package/research/FINDING_001_safety.md +28 -0
  448. package/research/FINDING_002_error_diversity.md +32 -0
  449. package/research/FINDING_003_confidence_weighted_voting.md +32 -0
  450. package/research/FINDING_004_cross_model_semantic_detection.md +37 -0
  451. package/research/FINDING_005_knowledge_gap_orthogonality.md +34 -0
  452. package/research/HALLUCINATION_RESEARCH.md +27 -0
  453. package/research/ensemble-voting.md +324 -0
  454. package/research/loss-functions.md +545 -0
  455. package/research-log.md +49 -0
  456. package/scripts/banner.js +29 -0
  457. package/scripts/benchmark-local-routerarena.ts +176 -0
  458. package/scripts/benchmark.js +145 -0
  459. package/scripts/benchmark.sh +61 -0
  460. package/scripts/compare-providers.sh +230 -0
  461. package/scripts/content-planner.js +25 -0
  462. package/scripts/create-labeled-benchmark.ts +105 -0
  463. package/scripts/cross_post.py +443 -0
  464. package/scripts/local-router-benchmark.ts +154 -0
  465. package/scripts/post-all.sh +41 -0
  466. package/scripts/publish_fcc.py +106 -0
  467. package/scripts/push-to-gitee.sh +25 -0
  468. package/scripts/routerarena_ensemble.js +144 -0
  469. package/scripts/routing-benchmark-v2.js +373 -0
  470. package/scripts/routing-benchmark-v3.js +118 -0
  471. package/scripts/routing-benchmark.js +462 -0
  472. package/scripts/run-labeled-benchmark.mjs +104 -0
  473. package/scripts/run-mmlu-benchmark.js +176 -0
  474. package/scripts/run-provider-benchmark.js +244 -0
  475. package/scripts/update-npm-badges.js +158 -0
  476. package/skill/SKILL.md +238 -0
  477. package/src/__tests__/integration/tmpld_integration.test.py +540 -0
  478. package/src/ensemble.ts +2 -0
  479. package/src/routing/advancedRouter.ts +1 -1
  480. package/src/skills/__tests__/skill_manager.test.ts +328 -0
  481. package/submissions/benchmarks/ALL_PLATFORMS_SUBMISSION.md +94 -0
  482. package/submissions/benchmarks/LLMROUTERBENCH_SUBMISSION.md +121 -0
  483. package/submissions/benchmarks/MMRBENCH_SUBMISSION.md +94 -0
  484. package/submissions/benchmarks/ROUTERARENA_UPDATE.md +83 -0
  485. package/submissions/benchmarks/ROUTERBENCH_SUBMISSION.md +225 -0
  486. package/test-council/1-structure-tests.test.js +353 -0
  487. package/test-council/1-structure-tests.test.ts +353 -0
  488. package/test-council/2-edge-case-tests.test.ts +361 -0
  489. package/test-council/3-performance-tests.test.ts +652 -0
  490. package/test-council/4-integration-tests.test.ts +391 -0
  491. package/test-council/5-agent-council-eval.test.ts +413 -0
  492. package/test-council/AGENT_COUNCIL_ARCHITECTURE.md +349 -0
  493. package/test-council/TEST_COUNCIL_REPORT.md +201 -0
  494. package/test-council/agents/edge-case-agent.ts +363 -0
  495. package/test-council/agents/performance-agent.ts +426 -0
  496. package/test-council/agents/structure-agent.ts +227 -0
  497. package/test-council/council.md +183 -0
  498. package/tests/__mocks__/tokenUtils.ts +8 -0
  499. package/tests/memory/episodicMemory.test.ts +227 -0
  500. package/tests/package-lock.json +1785 -0
  501. package/tests/package.json +19 -0
  502. package/tests/routing/ensembleVoting.test.ts +236 -0
  503. package/tests/routing/providerRetry.test.ts +360 -0
  504. package/tests/routing/queryTypePresets.test.ts +208 -0
  505. package/tests/security/guardrailEngine.test.ts +700 -0
  506. package/tests/tsconfig.json +21 -0
  507. package/tests/vitest.config.ts +18 -0
  508. package/tmlpd-pi-extension/README.md +66 -0
  509. package/tmlpd-pi-extension/dist/cache/prefixCache.d.ts +114 -0
  510. package/tmlpd-pi-extension/dist/cache/prefixCache.d.ts.map +1 -0
  511. package/tmlpd-pi-extension/dist/cache/prefixCache.js +285 -0
  512. package/tmlpd-pi-extension/dist/cache/prefixCache.js.map +1 -0
  513. package/tmlpd-pi-extension/dist/cache/responseCache.d.ts +58 -0
  514. package/tmlpd-pi-extension/dist/cache/responseCache.d.ts.map +1 -0
  515. package/tmlpd-pi-extension/dist/cache/responseCache.js +153 -0
  516. package/tmlpd-pi-extension/dist/cache/responseCache.js.map +1 -0
  517. package/tmlpd-pi-extension/dist/cli.js +59 -0
  518. package/tmlpd-pi-extension/dist/cost/costTracker.d.ts +95 -0
  519. package/tmlpd-pi-extension/dist/cost/costTracker.d.ts.map +1 -0
  520. package/tmlpd-pi-extension/dist/cost/costTracker.js +240 -0
  521. package/tmlpd-pi-extension/dist/cost/costTracker.js.map +1 -0
  522. package/tmlpd-pi-extension/dist/index.d.ts +723 -0
  523. package/tmlpd-pi-extension/dist/index.d.ts.map +1 -0
  524. package/tmlpd-pi-extension/dist/index.js +239 -0
  525. package/tmlpd-pi-extension/dist/index.js.map +1 -0
  526. package/tmlpd-pi-extension/dist/memory/episodicMemory.d.ts +82 -0
  527. package/tmlpd-pi-extension/dist/memory/episodicMemory.d.ts.map +1 -0
  528. package/tmlpd-pi-extension/dist/memory/episodicMemory.js +145 -0
  529. package/tmlpd-pi-extension/dist/memory/episodicMemory.js.map +1 -0
  530. package/tmlpd-pi-extension/dist/orchestration/haloOrchestrator.d.ts +102 -0
  531. package/tmlpd-pi-extension/dist/orchestration/haloOrchestrator.d.ts.map +1 -0
  532. package/tmlpd-pi-extension/dist/orchestration/haloOrchestrator.js +207 -0
  533. package/tmlpd-pi-extension/dist/orchestration/haloOrchestrator.js.map +1 -0
  534. package/tmlpd-pi-extension/dist/orchestration/mctsWorkflow.d.ts +85 -0
  535. package/tmlpd-pi-extension/dist/orchestration/mctsWorkflow.d.ts.map +1 -0
  536. package/tmlpd-pi-extension/dist/orchestration/mctsWorkflow.js +210 -0
  537. package/tmlpd-pi-extension/dist/orchestration/mctsWorkflow.js.map +1 -0
  538. package/tmlpd-pi-extension/dist/providers/localProvider.d.ts +102 -0
  539. package/tmlpd-pi-extension/dist/providers/localProvider.d.ts.map +1 -0
  540. package/tmlpd-pi-extension/dist/providers/localProvider.js +338 -0
  541. package/tmlpd-pi-extension/dist/providers/localProvider.js.map +1 -0
  542. package/tmlpd-pi-extension/dist/providers/registry.d.ts +55 -0
  543. package/tmlpd-pi-extension/dist/providers/registry.d.ts.map +1 -0
  544. package/tmlpd-pi-extension/dist/providers/registry.js +138 -0
  545. package/tmlpd-pi-extension/dist/providers/registry.js.map +1 -0
  546. package/tmlpd-pi-extension/dist/routing/advancedRouter.d.ts +68 -0
  547. package/tmlpd-pi-extension/dist/routing/advancedRouter.d.ts.map +1 -0
  548. package/tmlpd-pi-extension/dist/routing/advancedRouter.js +332 -0
  549. package/tmlpd-pi-extension/dist/routing/advancedRouter.js.map +1 -0
  550. package/tmlpd-pi-extension/dist/tools/tmlpdTools.d.ts +101 -0
  551. package/tmlpd-pi-extension/dist/tools/tmlpdTools.d.ts.map +1 -0
  552. package/tmlpd-pi-extension/dist/tools/tmlpdTools.js +368 -0
  553. package/tmlpd-pi-extension/dist/tools/tmlpdTools.js.map +1 -0
  554. package/tmlpd-pi-extension/dist/utils/batchProcessor.d.ts +96 -0
  555. package/tmlpd-pi-extension/dist/utils/batchProcessor.d.ts.map +1 -0
  556. package/tmlpd-pi-extension/dist/utils/batchProcessor.js +170 -0
  557. package/tmlpd-pi-extension/dist/utils/batchProcessor.js.map +1 -0
  558. package/tmlpd-pi-extension/dist/utils/compression.d.ts +61 -0
  559. package/tmlpd-pi-extension/dist/utils/compression.d.ts.map +1 -0
  560. package/tmlpd-pi-extension/dist/utils/compression.js +281 -0
  561. package/tmlpd-pi-extension/dist/utils/compression.js.map +1 -0
  562. package/tmlpd-pi-extension/dist/utils/reliability.d.ts +74 -0
  563. package/tmlpd-pi-extension/dist/utils/reliability.d.ts.map +1 -0
  564. package/tmlpd-pi-extension/dist/utils/reliability.js +177 -0
  565. package/tmlpd-pi-extension/dist/utils/reliability.js.map +1 -0
  566. package/tmlpd-pi-extension/dist/utils/speculativeDecoding.d.ts +117 -0
  567. package/tmlpd-pi-extension/dist/utils/speculativeDecoding.d.ts.map +1 -0
  568. package/tmlpd-pi-extension/dist/utils/speculativeDecoding.js +246 -0
  569. package/tmlpd-pi-extension/dist/utils/speculativeDecoding.js.map +1 -0
  570. package/tmlpd-pi-extension/dist/utils/tokenUtils.d.ts +50 -0
  571. package/tmlpd-pi-extension/dist/utils/tokenUtils.d.ts.map +1 -0
  572. package/tmlpd-pi-extension/dist/utils/tokenUtils.js +124 -0
  573. package/tmlpd-pi-extension/dist/utils/tokenUtils.js.map +1 -0
  574. package/tmlpd-pi-extension/examples/QUICKSTART.md +183 -0
  575. package/tmlpd-pi-extension/package-lock.json +79 -0
  576. package/tmlpd-pi-extension/package.json +172 -0
  577. package/tmlpd-pi-extension/python/examples.py +53 -0
  578. package/tmlpd-pi-extension/python/integrations.py +330 -0
  579. package/tmlpd-pi-extension/python/setup.py +28 -0
  580. package/tmlpd-pi-extension/python/tmlpd.py +369 -0
  581. package/tmlpd-pi-extension/qna/REDDIT_GAP_ANALYSIS.md +299 -0
  582. package/tmlpd-pi-extension/qna/TMLPD_QNA.md +751 -0
  583. package/tmlpd-pi-extension/skill/SKILL.md +238 -0
  584. package/tmlpd-pi-extension/src/cache/responseCache.ts +147 -0
  585. package/tmlpd-pi-extension/src/cost/costTracker.ts +302 -0
  586. package/tmlpd-pi-extension/src/index.ts +232 -0
  587. package/tmlpd-pi-extension/src/memory/episodicMemory.ts +257 -0
  588. package/tmlpd-pi-extension/src/orchestration/haloOrchestrator.ts +266 -0
  589. package/tmlpd-pi-extension/src/orchestration/mctsWorkflow.ts +262 -0
  590. package/tmlpd-pi-extension/src/providers/localProvider.ts +406 -0
  591. package/tmlpd-pi-extension/src/providers/registry.ts +164 -0
  592. package/tmlpd-pi-extension/src/routing/ensembleVoting.ts +159 -0
  593. package/tmlpd-pi-extension/src/routing/queryTypePresets.ts +136 -0
  594. package/tmlpd-pi-extension/src/tools/tmlpdTools.ts +433 -0
  595. package/tmlpd-pi-extension/src/utils/batchProcessor.ts +232 -0
  596. package/tmlpd-pi-extension/src/utils/compression.ts +325 -0
  597. package/tmlpd-pi-extension/src/utils/reliability.ts +221 -0
  598. package/tmlpd-pi-extension/src/utils/tokenUtils.ts +145 -0
  599. package/tmlpd-pi-extension/tsconfig.json +18 -0
  600. package/tsconfig.build.json +29 -0
  601. package/tsconfig.json +18 -0
  602. package/README.md.bak +0 -1185
  603. package/src/routing/advancedRouter.ts.bak +0 -650
  604. package/test.js.bak +0 -376
  605. /package/{llms-full.txt.bak → docs/llms-full.txt} +0 -0
@@ -0,0 +1,150 @@
1
+ ---
2
+ title: "Every AI Agent Needs a Router (Here's Why)"
3
+ description: "AI agents burn through LLM API calls faster than you think. A smart router cuts costs by 40% and keeps agents running when providers go down."
4
+ tags: ["ai-agents", "llm", "claude-code", "cursor", "cost-optimization"]
5
+ date: 2026-05-28
6
+ canonical_url: https://github.com/Das-rebel/a3m-router
7
+ ---
8
+
9
+ > **Ready to publish** — This article targets AI/ML developer blogs. Tone: technical, practical, forward-looking. Length: ~800 words.
10
+
11
+ ---
12
+
13
+ # Every AI Agent Needs a Router (Here's Why)
14
+
15
+ I run Claude Code regularly. Each time I ask it to "debug this function" or "refactor this module," it doesn't make one LLM call. It makes 5, 10, sometimes 20.
16
+
17
+ That's how agents work. Every decision — "should I read this file?" "should I run this command?" "does this output make sense?" — is a separate LLM call. The agent loop doesn't pause to ask "is this the right model for this task?" It just fires everything at the same provider.
18
+
19
+ I ran a simple experiment: traced a 5-minute Claude Code session and counted the API calls. Result: **17 LLM queries** for what felt like one task. Each one hit the premium model. Each one cost money.
20
+
21
+ Total: about $0.85 for a trivial debugging session.
22
+
23
+ Scale that to a team of 10 developers running agents daily, and you're looking at **$2,500+/month** just in agent API costs.
24
+
25
+ ## The Hidden Cost of Agent Loops
26
+
27
+ Here's what happens inside an AI agent:
28
+
29
+ ```
30
+ User: "Fix the login bug"
31
+ Agent thinks: "I need to read the auth module first" → 1 LLM call (premium)
32
+ Agent executes: reads auth.ts
33
+ Agent thinks: "There's a race condition in the token check" → 2nd LLM call (premium)
34
+ Agent executes: edits the file
35
+ Agent thinks: "Let me verify the fix" → 3rd LLM call (premium)
36
+ Agent executes: runs the tests
37
+ Agent thinks: "Tests pass. Should I also check...?" → 4th LLM call (premium)
38
+ ...continues until Agent is happy
39
+ ```
40
+
41
+ Five minutes of work. Four to seventeen API calls. All premium pricing.
42
+
43
+ The problem isn't that agents make many calls — that's their job. The problem is that **every single call uses the same expensive model**, even when most of them are simple decisions ("is this code correct?") that a cheaper model could handle perfectly well.
44
+
45
+ ## Why Agents Need Routing
46
+
47
+ A router — specifically, a per-query intelligent router — solves three concrete problems for AI agents:
48
+
49
+ ### 1. Rate Limits Will Kill Your Agent
50
+
51
+ Popular models (GPT-4o, Claude Sonnet) get rate-limited constantly. When an agent's single provider hits its limit, the agent either blocks waiting for reset or fails mid-task.
52
+
53
+ A router with 47+ providers means your agent has 47 fallbacks. Groq hitting limits? Route to DeepSeek. DeepSeek slow? Try NVIDIA. The agent never stalls.
54
+
55
+ ### 2. Different Decisions Need Different Models
56
+
57
+ Not all LLM calls in an agent loop are equal.
58
+
59
+ - **Simple classification** ("is this a bug report?"): taste-1 (free) handles this perfectly
60
+ - **Code generation** ("write a sorting function"): DeepSeek or Groq (cheap, fast for code)
61
+ - **Architecture analysis** ("find the root cause of this race condition"): GPT-4o or Claude (premium reasoning)
62
+ - **Summarization** ("what did we change in this session?"): GPT-4o-mini (mid-tier, fast)
63
+
64
+ A smart router classifies each query in <1ms and routes it to the cheapest capable model. The agent doesn't need to know which model is running. It just gets results.
65
+
66
+ ### 3. Cost Control at Agent Scale
67
+
68
+ Agents burn tokens fast because they're loops. A 5-minute Agent session can consume 10-20K tokens just in thinking.
69
+
70
+ Here's the cost difference with and without routing:
71
+
72
+ ```
73
+ 100 Agent sessions/day:
74
+ Without router: 100 × 17 calls × $0.005 = $8.50/day = $255/month
75
+ With routing: 100 × 17 calls × $0.002 = $3.40/day = $102/month
76
+ Savings: $153/month
77
+
78
+ 1,000 sessions/day (small team):
79
+ Without router: $2,550/month → With router: $1,020/month → Save: $1,530/month
80
+ ```
81
+
82
+ The savings multiply because agents make more calls than humans do. A smart router for agents isn't a luxury — it's the difference between sustainable AI tooling and budget surprise.
83
+
84
+ ## The MCP Pattern: How Agents Ask for Routing
85
+
86
+ A3M Router exposes an MCP (Model Context Protocol) server that agents can query before making an LLM call:
87
+
88
+ ```bash
89
+ # Agent asks A3M: "What model should I use for this?"
90
+ npx a3m-router mcp-route "is this code correct?"
91
+
92
+ # A3M responds in <1ms:
93
+ {
94
+ "model": "groq/llama-3.3-70b",
95
+ "tier": "cheap",
96
+ "cost": "$0.0002",
97
+ "fallbacks": ["nvidia/llama-3.1-8b", "deepseek/deepseek-chat"]
98
+ }
99
+ ```
100
+
101
+ The agent takes this suggestion and routes the actual LLM call through A3M's proxy. The routing decision is free (<1ms). The savings compound on every call.
102
+
103
+ ## Practical Example
104
+
105
+ Here's what this looks like in practice with the OpenAI-compatible proxy:
106
+
107
+ ```python
108
+ from openai import OpenAI
109
+
110
+ # Point your agent at A3M instead of OpenAI directly
111
+ client = OpenAI(
112
+ base_url="http://localhost:8787/v1", # A3M Router
113
+ api_key="not-needed"
114
+ )
115
+
116
+ # Agent makes calls like normal — A3M handles routing
117
+ response = client.chat.completions.create(
118
+ model="auto", # ← this triggers intelligent routing
119
+ messages=[{"role": "user", "content": "What does this function do?"}]
120
+ )
121
+
122
+ # Agent never knows which provider handled the call
123
+ # It just gets results, faster and cheaper
124
+ ```
125
+
126
+ Zero code changes. The agent SDKs (Claude Code, Cursor, AutoGPT) all support OpenAI-compatible endpoints. Point them at A3M, set model to `"auto"`, and the router handles the rest.
127
+
128
+ ## The Future: Agents That Learn Their Provider Preferences
129
+
130
+ The next step is persistent memory. A3M already tracks which providers perform best for which query types using exponential moving average (EMA). After a few hundred agent calls, the router learns:
131
+
132
+ - *"Groq is fastest for code queries from this agent"*
133
+ - *"DeepSeek handles multilingual better"*
134
+ - *"Premium is only needed for architectural decisions"*
135
+
136
+ The agent doesn't manage this. It doesn't even need to know. The router adapts automatically based on real performance data.
137
+
138
+ That's the endgame: agents that route intelligently without thinking about it, saving 40-60% on API costs while maintaining or improving output quality.
139
+
140
+ ---
141
+
142
+ *A3M Router is open source (MIT). 19.5 KB. Zero ML dependencies. Works with any OpenAI-compatible agent framework.*
143
+
144
+ ```bash
145
+ npm install -g adaptive-memory-multi-model-router
146
+ npx a3m-router serve
147
+ # → OpenAI proxy at localhost:8787 — agent SDKs work with zero changes
148
+ ```
149
+
150
+ [github.com/Das-rebel/a3m-router](https://github.com/Das-rebel/a3m-router)
@@ -0,0 +1,100 @@
1
+ # Chinese AI Directory Submissions
2
+
3
+ ## 9 Platforms to Submit To
4
+
5
+ ### 1. 未来百科 (nav.6ai.cn)
6
+ **URL:** https://nav.6ai.cn (requires manual registration)
7
+
8
+ ### 2. AI工具集 (aigc.cn)
9
+ **URL:** https://aigc.cn (requires manual registration)
10
+
11
+ ### 3. 掘金AI (ai.juejin.cn)
12
+ **URL:** https://ai.juejin.cn (developer community)
13
+
14
+ ### 4. 思否AI (segmentfault.com/ai)
15
+ **URL:** https://segmentfault.com/ai (developer Q&A)
16
+
17
+ ### 5. 开源中国 (oschina.net)
18
+ **URL:** https://oschina.net (open-source community)
19
+
20
+ ### 6. 知乎AI (zhihu.com/topic/ai)
21
+ **URL:** https://zhihu.com/topic/ai (Chinese Quora)
22
+
23
+ ### 7. CSDN (csdn.net)
24
+ **URL:** https://csdn.net (developer community)
25
+
26
+ ### 8. InfoQ中文 (infoq.cn)
27
+ **URL:** https://infoq.cn (tech media)
28
+
29
+ ### 9. 机器之心 (jiqizhixin.com)
30
+ **URL:** https://jiqizhixin.com (AI media)
31
+
32
+ ---
33
+
34
+ ## Chinese Submission Template
35
+
36
+ ```
37
+ 项目名称: A3M Router
38
+
39
+ 英文名称: A3M Router
40
+
41
+ 项目描述 (Chinese):
42
+ A3M Router 是一个开源的 LLM 路由代理,在 RouterArena 基准测试中排名第一(70.32分),
43
+ 成本仅为 $0.047/1K 查询,比 GPT-5 便宜 213 倍。
44
+
45
+ 核心功能:
46
+ - 🏆 RouterArena 排名第一
47
+ - 💰 $0.047/1K,比 GPT-5 便宜 213 倍
48
+ - ⚡ 12 个关键词信号,<1ms 路由决策
49
+ - 🔄 支持 47+ 提供商:OpenAI、Anthropic、Groq、Cerebras、DeepSeek、Gemini、Mistral
50
+ - 🧠 持久化记忆功能
51
+ - 📦 语义缓存(30%+ 命中率)
52
+ - 🔌 OpenAI 兼容 API
53
+
54
+ 项目地址: https://github.com/Das-rebel/a3m-router
55
+ Demo: https://asciinema.org/a/RpqOZM9tFMALYWvs
56
+ 许可证: MIT
57
+ 编程语言: TypeScript/JavaScript, Python
58
+ ```
59
+
60
+ ---
61
+
62
+ ## English Template (for platforms that accept English)
63
+
64
+ ```
65
+ Name: A3M Router
66
+
67
+ Tagline: #1 LLM Routing Benchmark — 213× cheaper than GPT-5
68
+
69
+ Description:
70
+ A3M Router is an open-source LLM routing proxy that ranks #1 on RouterArena
71
+ (arXiv:2510.00202) with a 70.32 score at $0.047 per 1K queries — 213× cheaper
72
+ than GPT-5.
73
+
74
+ Key Features:
75
+ - #1 on RouterArena benchmark (70.32/19 routers)
76
+ - $0.047/1K queries — 213× cheaper than GPT-5
77
+ - <1ms routing decision, no GPU required
78
+ - 47+ providers: OpenAI, Anthropic, Groq, Cerebras, DeepSeek, Gemini, Mistral
79
+ - Parallel multi-LLM execution
80
+ - Persistent episodic memory
81
+ - Semantic cache (30%+ hit rate)
82
+ - OpenAI-compatible API
83
+
84
+ Category: AI Infrastructure / LLM Gateway / Cost Optimization
85
+
86
+ Website: https://github.com/Das-rebel/a3m-router
87
+ Demo: https://asciinema.org/a/RpqOZM9tFMALYWvs
88
+ License: MIT
89
+ ```
90
+
91
+ ---
92
+
93
+ ## Submission Notes
94
+
95
+ 1. **Register accounts** on each platform first
96
+ 2. **Some require Chinese phone number** verification
97
+ 3. **Priority order**: 掘金 > CSDN > OSChina (most developer traffic)
98
+ 4. **Auto-translate** description using Google Translate if needed
99
+ 5. **Add logo** (240x240 recommended)
100
+ 6. **Link back** to your GitHub for SEO
@@ -0,0 +1,322 @@
1
+ # A3M Router — Chinese Directory Submission Templates
2
+
3
+ All 9 platforms listed in priority order. Register accounts first, then submit.
4
+
5
+ ---
6
+
7
+ ## Submission Priority Order
8
+
9
+ | Priority | Platform | URL | Notes |
10
+ |----------|----------|-----|-------|
11
+ | 1 | 掘金AI (juejin) | https://ai.juejin.cn | Most developer traffic, easiest registration |
12
+ | 2 | CSDN | https://www.csdn.net | Huge Chinese dev community |
13
+ | 3 | OSChina (开源中国) | https://www.oschina.net | Open-source community |
14
+ | 4 | 思否AI | https://segmentfault.com/ai | Developer Q&A |
15
+ | 5 | 未来百科 | https://nav.6ai.cn | AI directory |
16
+ | 6 | AI工具集 | https://www.aigc.cn | AI tools directory |
17
+ | 7 | 知乎AI | https://www.zhihu.com/topic/ai | Chinese Quora |
18
+ | 8 | InfoQ中文 | https://www.infoq.cn | Tech media |
19
+ | 9 | 机器之心 | https://www.jiqizhixin.com | AI media |
20
+
21
+ ---
22
+
23
+ ## Template 1: 掘金AI (juejin) — HIGHEST PRIORITY
24
+
25
+ **URL:** https://ai.juejin.cn/submit
26
+
27
+ **Registration:** Use GitHub OAuth or手机号登录
28
+
29
+ **Submission fields:**
30
+
31
+ ```
32
+ 项目名称: A3M Router
33
+
34
+ 标签: LLM路由 / 成本优化 / 开源 / API网关
35
+
36
+ 项目描述 (English accepted):
37
+ A3M Router is an open-source LLM routing proxy that ranks #1 on RouterArena
38
+ (70.32 score) at $0.047 per 1K queries — 213x cheaper than GPT-5.
39
+
40
+ Key Features:
41
+ - #1 on RouterArena benchmark (70.32/19 routers)
42
+ - $0.047/1K queries — 213x cheaper than GPT-5
43
+ - <1ms routing decision, no GPU required
44
+ - 47+ providers: OpenAI, Anthropic, Groq, Cerebras, DeepSeek, Gemini, Mistral
45
+ - Parallel multi-LLM execution
46
+ - Persistent episodic memory
47
+ - OpenAI-compatible API
48
+
49
+ Category: AI Infrastructure / LLM Gateway
50
+
51
+ Website: https://github.com/Das-rebel/a3m-router
52
+ Demo: https://asciinema.org/a/RpqOZM9tFMALYWvs
53
+ License: MIT
54
+ Stars: 8 (growing)
55
+ npm: https://www.npmjs.com/package/adaptive-memory-multi-model-router
56
+ ```
57
+
58
+ ---
59
+
60
+ ## Template 2: CSDN
61
+
62
+ **URL:** https://www.csdn.net (submit article or company page)
63
+
64
+ **Registration:** 手机号 + 验证码
65
+
66
+ **Submission fields:**
67
+
68
+ ```
69
+ 项目名称: A3M Router
70
+ 英文名称: A3M Router
71
+ 项目分类: AI开发工具 > AI API和网关
72
+
73
+ 项目简介:
74
+ A3M Router 是开源的 LLM 路由代理,在 RouterArena 基准测试中排名第一
75
+ (70.32分),成本仅为 $0.047/1K 查询,比 GPT-5 便宜 213 倍。
76
+
77
+ 核心功能:
78
+ - 🏆 RouterArena 排名第一
79
+ - 💰 $0.047/1K,比 GPT-5 便宜 213 倍
80
+ - ⚡ 12 个关键词信号,<1ms 路由决策
81
+ - 🔄 支持 47+ 提供商:OpenAI、Anthropic、Groq、Cerebras、DeepSeek、Gemini、Mistral
82
+ - 🧠 持久化记忆功能
83
+ - 📦 语义缓存(30%+ 命中率)
84
+ - 🔌 OpenAI 兼容 API
85
+
86
+ 项目地址: https://github.com/Das-rebel/a3m-router
87
+ Demo: https://asciinema.org/a/RpqOZM9tFMALYWvs
88
+ 许可证: MIT
89
+ 编程语言: TypeScript/JavaScript
90
+ ```
91
+
92
+ ---
93
+
94
+ ## Template 3: OSChina (开源中国)
95
+
96
+ **URL:** https://www.oschina.net (login → 发布项目)
97
+
98
+ **Registration:** 手机号 or GitHub OAuth
99
+
100
+ **Submission fields:**
101
+
102
+ ```
103
+ 项目名称: A3M Router
104
+
105
+ 项目描述:
106
+ A3M Router 是一个开源的 LLM 路由代理,在 RouterArena 基准测试中排名第一(70.32分),
107
+ 成本仅为 $0.047/1K 查询,比 GPT-5 便宜 213 倍。
108
+
109
+ 主要特点:
110
+ - RouterArena 排名第一
111
+ - $0.047/1K 查询,比 GPT-5 便宜 213 倍
112
+ - <1ms 路由决策,无需 GPU
113
+ - 支持 47+ 提供商
114
+ - 并行多 LLM 执行
115
+ - 持久化记忆
116
+ - OpenAI 兼容 API
117
+
118
+ 编程语言: TypeScript/JavaScript
119
+ 许可证: MIT
120
+ GitHub: https://github.com/Das-rebel/a3m-router
121
+ Demo: https://asciinema.org/a/RpqOZM9tFMALYWvs
122
+ ```
123
+
124
+ ---
125
+
126
+ ## Template 4: 思否AI (SegmentFault)
127
+
128
+ **URL:** https://segmentfault.com/ai
129
+
130
+ **Registration:** GitHub OAuth
131
+
132
+ **Submission fields:**
133
+
134
+ ```
135
+ 名称: A3M Router
136
+
137
+ 标签: LLM路由 / 开源 / API网关 / 成本优化
138
+
139
+ 简介:
140
+ 开源 LLM 路由代理,RouterArena 排名第一(70.32分),
141
+ $0.047/1K,213倍便宜于 GPT-5。支持 47+ 提供商。
142
+
143
+ 功能:
144
+ - #1 on RouterArena
145
+ - $0.047/1K (vs GPT-5 $10.02)
146
+ - <1ms 路由,无需 ML/GPU
147
+ - 47+ 提供商
148
+ - OpenAI 兼容 API
149
+
150
+ 链接: https://github.com/Das-rebel/a3m-router
151
+ ```
152
+
153
+ ---
154
+
155
+ ## Template 5: 未来百科 (nav.6ai.cn)
156
+
157
+ **URL:** https://nav.6ai.cn
158
+
159
+ **Registration:** 手机号 verification required
160
+
161
+ **Submission fields:**
162
+
163
+ ```
164
+ 项目名称: A3M Router
165
+
166
+ 项目描述:
167
+ 开源 LLM 智能路由工具,根据查询复杂度自动选择最合适的模型,
168
+ 大幅降低 AI 推理成本。
169
+
170
+ 核心数据:
171
+ - RouterArena 排名第一: 70.32 分
172
+ - 成本: $0.047/1K 查询
173
+ - 比 GPT-5 便宜 213 倍
174
+
175
+ 链接: https://github.com/Das-rebel/a3m-router
176
+ 许可证: MIT
177
+ ```
178
+
179
+ ---
180
+
181
+ ## Template 6: AI工具集 (aigc.cn)
182
+
183
+ **URL:** https://www.aigc.cn
184
+
185
+ **Registration:** 手机号 verification
186
+
187
+ **Submission fields:**
188
+
189
+ ```
190
+ 名称: A3M Router
191
+ 分类: AI开发工具 > LLM路由
192
+
193
+ 简介:
194
+ A3M Router 是一款开源 LLM 路由代理,RouterArena 基准测试第一名,
195
+ 成本 $0.047/1K,比 GPT-5 便宜 213 倍,支持 47+ 提供商。
196
+
197
+ 功能列表:
198
+ - RouterArena 第一名
199
+ - 213x 比 GPT-5 便宜
200
+ - 47+ 提供商支持
201
+ - OpenAI 兼容 API
202
+ - 语义缓存
203
+ - 持久化记忆
204
+
205
+ 官网: https://github.com/Das-rebel/a3m-router
206
+ 演示: https://asciinema.org/a/RpqOZM9tFMALYWvs
207
+ ```
208
+
209
+ ---
210
+
211
+ ## Template 7: 知乎AI (Zhihu)
212
+
213
+ **URL:** https://www.zhihu.com/topic/ai
214
+
215
+ **Note:** Posting to 知乎 requires an account with karma. Post an article instead of a topic submission.
216
+
217
+ **Article template (post to 知乎专栏):**
218
+
219
+ ```
220
+ 标题: 我开源了一个 LLM 路由器,成本只有 GPT-5 的 1/213
221
+
222
+ 正文:
223
+
224
+ 背景
225
+
226
+ 大多数 AI 应用把每个查询都发送到 GPT-4o,不管复杂度如何。
227
+ A3M Router 分析每个查询,然后路由到最便宜的合适模型。
228
+
229
+ 核心数据
230
+
231
+ - RouterArena 排名第一(70.32 分,击败 GPT-5 的 64.32)
232
+ - 成本: $0.047/1K 查询(GPT-5 是 $10.02)
233
+ - 支持 47+ 提供商
234
+ - 62% 成本降低
235
+
236
+ 原理
237
+
238
+ 使用 12 个关键词信号判断查询复杂度,无需 ML 模型,无需 GPU。
239
+
240
+ 示例:
241
+ - "Hi" → Groq(免费层)
242
+ - "Debug my Python code" → DeepSeek ($0.0003/查询)
243
+ - "Explain quantum entanglement" → GPT-4o mini
244
+
245
+ 链接: https://github.com/Das-rebel/a3m-router
246
+ npm: https://www.npmjs.com/package/adaptive-memory-multi-model-router
247
+ ```
248
+
249
+ ---
250
+
251
+ ## Template 8: InfoQ中文
252
+
253
+ **URL:** https://www.infoq.cn
254
+
255
+ **Registration:** 手机号
256
+
257
+ **Submission fields:**
258
+
259
+ ```
260
+ 标题: A3M Router — 开源 LLM 路由器,RouterArena 排名第一
261
+
262
+ 正文:
263
+ A3M Router 是一款开源 LLM 路由代理,在 RouterArena 基准测试中排名第一
264
+ (70.32分),成本仅为 $0.047/1K 查询。
265
+
266
+ 核心特点:
267
+ - #1 on RouterArena (70.32分)
268
+ - $0.047/1K — 比 GPT-5 便宜 213 倍
269
+ - <1ms 路由决策,无需 ML 训练
270
+ - 47+ 提供商支持
271
+ - OpenAI 兼容 API
272
+
273
+ 项目地址: https://github.com/Das-rebel/a3m-router
274
+ ```
275
+
276
+ ---
277
+
278
+ ## Template 9: 机器之心 (jiqizhixin.com)
279
+
280
+ **URL:** https://www.jiqizhixin.com
281
+
282
+ **Registration:** 手机号 or 邮箱
283
+
284
+ **Submission fields:**
285
+
286
+ ```
287
+ 项目名称: A3M Router
288
+
289
+ 项目介绍:
290
+ A3M Router 是开源 LLM 路由代理,在 RouterArena 基准测试中排名第一
291
+ (70.32分),$0.047/1K,213倍便宜于 GPT-5。
292
+
293
+ 关键数据:
294
+ - RouterArena: #1 (70.32分 vs GPT-5 64.32分)
295
+ - 成本: $0.047/1K
296
+ - 提供商: 47+
297
+ - 路由延迟: <1ms
298
+
299
+ 官网: https://github.com/Das-rebel/a3m-router
300
+ npm: https://www.npmjs.com/package/adaptive-memory-multi-model-router
301
+ ```
302
+
303
+ ---
304
+
305
+ ## Submission Checklist
306
+
307
+ - [ ] 掘金AI: Register at https://ai.juejin.cn → Submit project
308
+ - [ ] CSDN: Register at https://www.csdn.net → Submit project
309
+ - [ ] OSChina: Register at https://www.oschina.net → Publish project
310
+ - [ ] 思否AI: Register at https://segmentfault.com → Submit to AI section
311
+ - [ ] 未来百科: Register at https://nav.6ai.cn → Submit listing
312
+ - [ ] AI工具集: Register at https://www.aigc.cn → Submit listing
313
+ - [ ] 知乎: Write article about A3M Router in Chinese
314
+ - [ ] InfoQ中文: Register at https://www.infoq.cn → Submit article
315
+ - [ ] 机器之心: Register at https://www.jiqizhixin.com → Submit
316
+
317
+ **Tips:**
318
+ - Register accounts first, verify phone number if required
319
+ - Use English template for platforms that accept it (掘金, OSChina)
320
+ - Add project logo (240x240) if the platform allows
321
+ - Link back to GitHub for SEO
322
+ - Priority: 掘金 > CSDN > OSChina (most developer traffic)
@@ -0,0 +1,31 @@
1
+ # Competitor Alert Setup (F5bot)
2
+
3
+ From vault insight: "Set up alerts for competitors' products on HN, Reddit, and X"
4
+
5
+ ## F5bot Setup (5 min)
6
+ 1. Go to https://f5bot.com
7
+ 2. Sign in with Google/GitHub
8
+ 3. Set up alerts for these keywords:
9
+ - "litellm" (48K★ competitor)
10
+ - "openrouter" (major competitor)
11
+ - "portkey" (enterprise gateway)
12
+ - "llm router" (our category)
13
+ - "llm gateway" (our category)
14
+ - "model routing" (related)
15
+ - "a3m router" (our product)
16
+ 4. When you get alerts, comment on those HN/Reddit threads with helpful info about A3M
17
+
18
+ ## ReplyGuy Setup
19
+ 1. Go to https://replyguy.com
20
+ 2. Set up monitoring for same keywords
21
+ 3. Auto-drafts replies you can approve
22
+
23
+ ## Manual HN Search
24
+ Search weekly for:
25
+ - "site:news.ycombinator.com litellm"
26
+ - "site:news.ycombinator.com openrouter"
27
+ - "site:news.ycombinator.com llm router"
28
+ - "site:news.ycombinator.com model routing"
29
+ EOT
30
+ cat >> articles/COMPETITOR_ALERTS.md << 'EOF'
31
+ '