waypoi 0.0.0

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 (260) hide show
  1. package/.github/instructions/ui.instructions.md +42 -0
  2. package/.github/workflows/ci.yml +35 -0
  3. package/.github/workflows/publish.yml +71 -0
  4. package/.github/workflows/release.yml +48 -0
  5. package/.playwright-mcp/console-2026-04-04T01-41-10-746Z.log +2 -0
  6. package/.playwright-mcp/console-2026-04-04T01-41-28-799Z.log +3 -0
  7. package/.playwright-mcp/console-2026-04-05T02-26-51-909Z.log +76 -0
  8. package/.playwright-mcp/page-2026-04-04T01-41-10-816Z.yml +1 -0
  9. package/.playwright-mcp/page-2026-04-04T01-41-29-141Z.yml +77 -0
  10. package/.playwright-mcp/page-2026-04-04T01-41-42-633Z.yml +190 -0
  11. package/.playwright-mcp/page-2026-04-04T01-42-03-929Z.yml +262 -0
  12. package/.playwright-mcp/page-2026-04-04T02-12-54-813Z.yml +6 -0
  13. package/.playwright-mcp/page-2026-04-04T02-14-58-600Z.yml +190 -0
  14. package/.playwright-mcp/page-2026-04-04T02-15-03-923Z.yml +190 -0
  15. package/.playwright-mcp/page-2026-04-04T02-15-07-426Z.yml +190 -0
  16. package/.playwright-mcp/page-2026-04-04T02-15-25-729Z.yml +262 -0
  17. package/.playwright-mcp/page-2026-04-04T02-16-22-984Z.yml +262 -0
  18. package/.playwright-mcp/page-2026-04-04T02-17-00-599Z.yml +190 -0
  19. package/.playwright-mcp/page-2026-04-04T02-17-50-874Z.yml +190 -0
  20. package/.playwright-mcp/page-2026-04-05T02-26-55-570Z.yml +6 -0
  21. package/AGENTS.md +48 -0
  22. package/CHANGELOG.md +131 -0
  23. package/README.md +552 -0
  24. package/assets/agent-mode.png +0 -0
  25. package/assets/categorize.png +0 -0
  26. package/assets/dashboard.png +0 -0
  27. package/assets/endpoint-proxy.png +0 -0
  28. package/assets/icon.png +0 -0
  29. package/assets/mcp-generate-image.png +0 -0
  30. package/assets/mcp-understand-image.png +0 -0
  31. package/assets/peek-token-flow.png +0 -0
  32. package/assets/playground.png +0 -0
  33. package/assets/sankey.png +0 -0
  34. package/cli/index.ts +2805 -0
  35. package/cli/legacyRewrite.ts +108 -0
  36. package/cli/modelRef.ts +24 -0
  37. package/dist/cli/index.js +2536 -0
  38. package/dist/cli/legacyRewrite.js +92 -0
  39. package/dist/cli/modelRef.js +20 -0
  40. package/dist/src/benchmark/artifacts.js +131 -0
  41. package/dist/src/benchmark/capabilityClassifier.js +81 -0
  42. package/dist/src/benchmark/capabilityStore.js +144 -0
  43. package/dist/src/benchmark/config.js +238 -0
  44. package/dist/src/benchmark/gates.js +118 -0
  45. package/dist/src/benchmark/jobs.js +252 -0
  46. package/dist/src/benchmark/runner.js +1847 -0
  47. package/dist/src/benchmark/schema.js +353 -0
  48. package/dist/src/benchmark/suites.js +314 -0
  49. package/dist/src/benchmark/tinyQaDataset.js +422 -0
  50. package/dist/src/benchmark/types.js +25 -0
  51. package/dist/src/config.js +47 -0
  52. package/dist/src/index.js +178 -0
  53. package/dist/src/mcp/client.js +215 -0
  54. package/dist/src/mcp/discovery.js +226 -0
  55. package/dist/src/mcp/policy.js +65 -0
  56. package/dist/src/mcp/registry.js +129 -0
  57. package/dist/src/mcp/service.js +460 -0
  58. package/dist/src/middleware/auth.js +179 -0
  59. package/dist/src/middleware/requestCapture.js +192 -0
  60. package/dist/src/middleware/requestStats.js +118 -0
  61. package/dist/src/pools/builder.js +132 -0
  62. package/dist/src/pools/repository.js +69 -0
  63. package/dist/src/pools/scheduler.js +360 -0
  64. package/dist/src/pools/types.js +2 -0
  65. package/dist/src/protocols/adapters/dashscope.js +267 -0
  66. package/dist/src/protocols/adapters/inferenceV2.js +346 -0
  67. package/dist/src/protocols/adapters/openai.js +27 -0
  68. package/dist/src/protocols/registry.js +99 -0
  69. package/dist/src/protocols/types.js +2 -0
  70. package/dist/src/providers/health.js +153 -0
  71. package/dist/src/providers/importer.js +289 -0
  72. package/dist/src/providers/modelRegistry.js +313 -0
  73. package/dist/src/providers/repository.js +361 -0
  74. package/dist/src/providers/types.js +2 -0
  75. package/dist/src/routes/admin.js +531 -0
  76. package/dist/src/routes/audio.js +295 -0
  77. package/dist/src/routes/chat.js +240 -0
  78. package/dist/src/routes/embeddings.js +157 -0
  79. package/dist/src/routes/images.js +288 -0
  80. package/dist/src/routes/mcp.js +256 -0
  81. package/dist/src/routes/mcpService.js +100 -0
  82. package/dist/src/routes/models.js +48 -0
  83. package/dist/src/routes/responses.js +711 -0
  84. package/dist/src/routes/sessions.js +450 -0
  85. package/dist/src/routes/stats.js +270 -0
  86. package/dist/src/routes/ui.js +97 -0
  87. package/dist/src/routes/videos.js +107 -0
  88. package/dist/src/routing/router.js +338 -0
  89. package/dist/src/services/imageGeneration.js +280 -0
  90. package/dist/src/services/imageUnderstanding.js +352 -0
  91. package/dist/src/services/videoGeneration.js +79 -0
  92. package/dist/src/storage/captureRepository.js +1591 -0
  93. package/dist/src/storage/files.js +157 -0
  94. package/dist/src/storage/imageCache.js +346 -0
  95. package/dist/src/storage/repositories.js +388 -0
  96. package/dist/src/storage/sessionRepository.js +370 -0
  97. package/dist/src/storage/statsRepository.js +204 -0
  98. package/dist/src/transport/httpClient.js +126 -0
  99. package/dist/src/types.js +2 -0
  100. package/dist/src/utils/messageMedia.js +285 -0
  101. package/dist/src/utils/modelCapabilities.js +108 -0
  102. package/dist/src/utils/modelDiscovery.js +170 -0
  103. package/dist/src/version.js +5 -0
  104. package/dist/src/workers/captureRetention.js +25 -0
  105. package/dist/src/workers/configWatcher.js +91 -0
  106. package/dist/src/workers/healthChecker.js +21 -0
  107. package/dist/src/workers/statsRotation.js +41 -0
  108. package/docs/LLM/output_schema.md +312 -0
  109. package/docs/benchmark.md +208 -0
  110. package/docs/mcp-guidelines.md +125 -0
  111. package/docs/mcp-service.md +178 -0
  112. package/docs/opencode.md +86 -0
  113. package/docs/providers.md +79 -0
  114. package/examples/benchmark.config.yaml +28 -0
  115. package/examples/providers/alibaba-dashscope.yaml +88 -0
  116. package/examples/providers/alibaba-llm.yaml +64 -0
  117. package/examples/providers/alibaba-registry.yaml +7 -0
  118. package/examples/providers/inference-v2-ray.yaml +29 -0
  119. package/examples/scenarios/assets/omni-call-sample.wav +0 -0
  120. package/examples/scenarios/custom.jsonl +5 -0
  121. package/examples/scenarios/custom.yaml +40 -0
  122. package/model-form-v2.png +0 -0
  123. package/package.json +66 -0
  124. package/provider-form-v2.png +0 -0
  125. package/provider-form.png +0 -0
  126. package/scripts/manual-test.sh +11 -0
  127. package/scripts/version-from-git.js +23 -0
  128. package/src/benchmark/artifacts.ts +149 -0
  129. package/src/benchmark/capabilityClassifier.ts +99 -0
  130. package/src/benchmark/capabilityStore.ts +174 -0
  131. package/src/benchmark/config.ts +337 -0
  132. package/src/benchmark/gates.ts +164 -0
  133. package/src/benchmark/jobs.ts +312 -0
  134. package/src/benchmark/runner.ts +2519 -0
  135. package/src/benchmark/schema.ts +443 -0
  136. package/src/benchmark/suites.ts +323 -0
  137. package/src/benchmark/tinyQaDataset.ts +428 -0
  138. package/src/benchmark/types.ts +442 -0
  139. package/src/config.ts +44 -0
  140. package/src/index.ts +195 -0
  141. package/src/mcp/client.ts +305 -0
  142. package/src/mcp/discovery.ts +266 -0
  143. package/src/mcp/policy.ts +105 -0
  144. package/src/mcp/registry.ts +164 -0
  145. package/src/mcp/service.ts +611 -0
  146. package/src/middleware/auth.ts +251 -0
  147. package/src/middleware/requestCapture.ts +245 -0
  148. package/src/middleware/requestStats.ts +163 -0
  149. package/src/pools/builder.ts +159 -0
  150. package/src/pools/repository.ts +71 -0
  151. package/src/pools/scheduler.ts +425 -0
  152. package/src/pools/types.ts +117 -0
  153. package/src/protocols/adapters/dashscope.ts +335 -0
  154. package/src/protocols/adapters/inferenceV2.ts +428 -0
  155. package/src/protocols/adapters/openai.ts +32 -0
  156. package/src/protocols/registry.ts +117 -0
  157. package/src/protocols/types.ts +81 -0
  158. package/src/providers/health.ts +207 -0
  159. package/src/providers/importer.ts +402 -0
  160. package/src/providers/modelRegistry.ts +415 -0
  161. package/src/providers/repository.ts +439 -0
  162. package/src/providers/types.ts +113 -0
  163. package/src/routes/admin.ts +666 -0
  164. package/src/routes/audio.ts +372 -0
  165. package/src/routes/chat.ts +301 -0
  166. package/src/routes/embeddings.ts +197 -0
  167. package/src/routes/images.ts +356 -0
  168. package/src/routes/mcp.ts +320 -0
  169. package/src/routes/mcpService.ts +114 -0
  170. package/src/routes/models.ts +50 -0
  171. package/src/routes/responses.ts +872 -0
  172. package/src/routes/sessions.ts +558 -0
  173. package/src/routes/stats.ts +312 -0
  174. package/src/routes/ui.ts +96 -0
  175. package/src/routes/videos.ts +132 -0
  176. package/src/routing/router.ts +501 -0
  177. package/src/services/imageGeneration.ts +396 -0
  178. package/src/services/imageUnderstanding.ts +449 -0
  179. package/src/services/videoGeneration.ts +127 -0
  180. package/src/storage/captureRepository.ts +1835 -0
  181. package/src/storage/files.ts +178 -0
  182. package/src/storage/imageCache.ts +405 -0
  183. package/src/storage/repositories.ts +494 -0
  184. package/src/storage/sessionRepository.ts +419 -0
  185. package/src/storage/statsRepository.ts +238 -0
  186. package/src/transport/httpClient.ts +145 -0
  187. package/src/types.ts +322 -0
  188. package/src/utils/messageMedia.ts +293 -0
  189. package/src/utils/modelCapabilities.ts +161 -0
  190. package/src/utils/modelDiscovery.ts +203 -0
  191. package/src/workers/captureRetention.ts +25 -0
  192. package/src/workers/configWatcher.ts +115 -0
  193. package/src/workers/healthChecker.ts +22 -0
  194. package/src/workers/statsRotation.ts +49 -0
  195. package/tests/benchmarkAdminRoutes.test.ts +82 -0
  196. package/tests/benchmarkBasics.test.ts +116 -0
  197. package/tests/captureAdminRoutes.test.ts +420 -0
  198. package/tests/captureRepository.test.ts +797 -0
  199. package/tests/cliLegacyRewrite.test.ts +45 -0
  200. package/tests/imageGeneration.service.test.ts +107 -0
  201. package/tests/imageUnderstanding.service.test.ts +123 -0
  202. package/tests/mcpPolicy.test.ts +105 -0
  203. package/tests/mcpService.test.ts +1245 -0
  204. package/tests/modelRef.test.ts +23 -0
  205. package/tests/modelsRoutes.test.ts +154 -0
  206. package/tests/sessionMediaCache.test.ts +167 -0
  207. package/tests/statsRoutes.test.ts +323 -0
  208. package/tsconfig.json +15 -0
  209. package/ui/index.html +16 -0
  210. package/ui/package-lock.json +8521 -0
  211. package/ui/package.json +52 -0
  212. package/ui/postcss.config.js +6 -0
  213. package/ui/public/assets/apple-touch-icon.png +0 -0
  214. package/ui/public/assets/favicon-16.png +0 -0
  215. package/ui/public/assets/favicon-32.png +0 -0
  216. package/ui/public/assets/icon-192.png +0 -0
  217. package/ui/public/assets/icon-512.png +0 -0
  218. package/ui/src/App.tsx +27 -0
  219. package/ui/src/api/client.ts +1503 -0
  220. package/ui/src/components/EndpointUsageGuide.tsx +361 -0
  221. package/ui/src/components/Layout.tsx +124 -0
  222. package/ui/src/components/MessageContent.tsx +365 -0
  223. package/ui/src/components/ToolCallMessage.tsx +179 -0
  224. package/ui/src/components/ToolPicker.tsx +442 -0
  225. package/ui/src/components/messageContentParser.test.ts +41 -0
  226. package/ui/src/components/messageContentParser.ts +73 -0
  227. package/ui/src/components/thinkingPreview.test.ts +27 -0
  228. package/ui/src/components/thinkingPreview.ts +15 -0
  229. package/ui/src/components/toMermaidSankey.test.ts +78 -0
  230. package/ui/src/components/toMermaidSankey.ts +56 -0
  231. package/ui/src/components/ui/button.tsx +58 -0
  232. package/ui/src/components/ui/input.tsx +21 -0
  233. package/ui/src/components/ui/textarea.tsx +21 -0
  234. package/ui/src/lib/utils.ts +6 -0
  235. package/ui/src/main.tsx +9 -0
  236. package/ui/src/pages/AgentPlayground.tsx +2010 -0
  237. package/ui/src/pages/Benchmark.tsx +988 -0
  238. package/ui/src/pages/Dashboard.tsx +581 -0
  239. package/ui/src/pages/Peek.tsx +962 -0
  240. package/ui/src/pages/Settings.tsx +2013 -0
  241. package/ui/src/pages/agentPlaygroundPayload.test.ts +109 -0
  242. package/ui/src/pages/agentPlaygroundPayload.ts +97 -0
  243. package/ui/src/pages/agentThinkingContent.test.ts +50 -0
  244. package/ui/src/pages/agentThinkingContent.ts +57 -0
  245. package/ui/src/pages/dashboardTokenUsage.test.ts +66 -0
  246. package/ui/src/pages/dashboardTokenUsage.ts +36 -0
  247. package/ui/src/pages/imageUpload.test.ts +39 -0
  248. package/ui/src/pages/imageUpload.ts +71 -0
  249. package/ui/src/pages/peekFilters.test.ts +29 -0
  250. package/ui/src/pages/peekFilters.ts +13 -0
  251. package/ui/src/pages/peekMedia.test.ts +58 -0
  252. package/ui/src/pages/peekMedia.ts +148 -0
  253. package/ui/src/pages/sessionAutoTitle.test.ts +128 -0
  254. package/ui/src/pages/sessionAutoTitle.ts +106 -0
  255. package/ui/src/stores/settings.ts +58 -0
  256. package/ui/src/styles/globals.css +223 -0
  257. package/ui/src/vite-env.d.ts +8 -0
  258. package/ui/tailwind.config.js +106 -0
  259. package/ui/tsconfig.json +32 -0
  260. package/ui/vite.config.ts +37 -0
@@ -0,0 +1,262 @@
1
+ - generic [ref=e3]:
2
+ - complementary [ref=e4]:
3
+ - generic [ref=e5]:
4
+ - img "Waypoi" [ref=e7]
5
+ - generic [ref=e8]:
6
+ - heading "WAYPOINT" [level=1] [ref=e9]
7
+ - paragraph [ref=e10]: v0.7.1-beta.0
8
+ - navigation [ref=e11]:
9
+ - link "Playground" [ref=e12] [cursor=pointer]:
10
+ - /url: /ui/playground
11
+ - img [ref=e13]
12
+ - generic [ref=e15]: Playground
13
+ - link "Benchmark" [ref=e16] [cursor=pointer]:
14
+ - /url: /ui/benchmark
15
+ - img [ref=e17]
16
+ - generic [ref=e20]: Benchmark
17
+ - link "Dashboard" [ref=e21] [cursor=pointer]:
18
+ - /url: /ui/dashboard
19
+ - img [ref=e22]
20
+ - generic [ref=e27]: Dashboard
21
+ - link "Peek" [ref=e28] [cursor=pointer]:
22
+ - /url: /ui/peek
23
+ - img [ref=e29]
24
+ - generic [ref=e32]: Peek
25
+ - link "Settings" [ref=e33] [cursor=pointer]:
26
+ - /url: /ui/settings
27
+ - img [ref=e34]
28
+ - generic [ref=e37]: Settings
29
+ - generic [ref=e39]:
30
+ - img [ref=e40]
31
+ - generic [ref=e46]: Status
32
+ - generic [ref=e49]: down
33
+ - main [ref=e50]:
34
+ - generic [ref=e96]:
35
+ - generic [ref=e98]:
36
+ - img [ref=e99]
37
+ - heading "Settings" [level=2] [ref=e102]
38
+ - generic [ref=e104]:
39
+ - generic [ref=e105]:
40
+ - generic [ref=e106]:
41
+ - img [ref=e107]
42
+ - generic [ref=e111]: Image Generation
43
+ - generic [ref=e113]:
44
+ - generic [ref=e114]: Default Image Size
45
+ - paragraph [ref=e115]: Used when generating images via diffusion models. Can be overridden per-request in the playground.
46
+ - generic [ref=e116]:
47
+ - button "256×256 1:1" [ref=e117] [cursor=pointer]:
48
+ - generic [ref=e118]: 256×256
49
+ - generic [ref=e119]: 1:1
50
+ - button "512×512 1:1" [ref=e120] [cursor=pointer]:
51
+ - generic [ref=e121]: 512×512
52
+ - generic [ref=e122]: 1:1
53
+ - button "1024×1024 1:1" [ref=e123] [cursor=pointer]:
54
+ - img [ref=e125]
55
+ - generic [ref=e127]: 1024×1024
56
+ - generic [ref=e128]: 1:1
57
+ - button "1024×1792 9:16 (Portrait)" [ref=e129] [cursor=pointer]:
58
+ - generic [ref=e130]: 1024×1792
59
+ - generic [ref=e131]: 9:16 (Portrait)
60
+ - button "1792×1024 16:9 (Landscape)" [ref=e132] [cursor=pointer]:
61
+ - generic [ref=e133]: 1792×1024
62
+ - generic [ref=e134]: 16:9 (Landscape)
63
+ - generic [ref=e135]:
64
+ - generic [ref=e136]:
65
+ - img [ref=e137]
66
+ - generic [ref=e140]: Providers & Models
67
+ - generic [ref=e141]: 2 providers
68
+ - button "Add Provider" [active] [ref=e142] [cursor=pointer]:
69
+ - img
70
+ - text: Add Provider
71
+ - generic [ref=e143]:
72
+ - generic [ref=e145]:
73
+ - button "cerebras openai https://api.cerebras.ai/v1 1/1 models enabled" [ref=e146] [cursor=pointer]:
74
+ - generic [ref=e147]:
75
+ - paragraph [ref=e149]: cerebras
76
+ - generic [ref=e150]: openai
77
+ - paragraph [ref=e151]: https://api.cerebras.ai/v1
78
+ - paragraph [ref=e152]: 1/1 models enabled
79
+ - generic [ref=e153]:
80
+ - button "Disable" [ref=e154] [cursor=pointer]:
81
+ - img
82
+ - text: Disable
83
+ - button "Edit" [ref=e155] [cursor=pointer]:
84
+ - img
85
+ - text: Edit
86
+ - button "Add Model" [ref=e156] [cursor=pointer]:
87
+ - img
88
+ - text: Add Model
89
+ - button "Delete" [ref=e157] [cursor=pointer]:
90
+ - img
91
+ - text: Delete
92
+ - button [ref=e158] [cursor=pointer]:
93
+ - img [ref=e159]
94
+ - generic [ref=e162]:
95
+ - button "pcai openai https://qwen35-27b.zziang-stjude-o-e609380a.serving.ai-application.stjude.org 1/1 models enabled" [ref=e163] [cursor=pointer]:
96
+ - generic [ref=e164]:
97
+ - paragraph [ref=e166]: pcai
98
+ - generic [ref=e167]: openai
99
+ - paragraph [ref=e168]: https://qwen35-27b.zziang-stjude-o-e609380a.serving.ai-application.stjude.org
100
+ - paragraph [ref=e169]: 1/1 models enabled
101
+ - generic [ref=e170]:
102
+ - button "Disable" [ref=e171] [cursor=pointer]:
103
+ - img
104
+ - text: Disable
105
+ - button "Edit" [ref=e172] [cursor=pointer]:
106
+ - img
107
+ - text: Edit
108
+ - button "Add Model" [ref=e173] [cursor=pointer]:
109
+ - img
110
+ - text: Add Model
111
+ - button "Delete" [ref=e174] [cursor=pointer]:
112
+ - img
113
+ - text: Delete
114
+ - button [ref=e175] [cursor=pointer]:
115
+ - img [ref=e176]
116
+ - generic [ref=e178]:
117
+ - generic [ref=e179]:
118
+ - generic [ref=e180]:
119
+ - img [ref=e181]
120
+ - generic [ref=e183]: MCP Servers
121
+ - generic [ref=e184]:
122
+ - button [ref=e185] [cursor=pointer]:
123
+ - img
124
+ - button "Add" [ref=e186] [cursor=pointer]:
125
+ - img
126
+ - text: Add
127
+ - generic [ref=e188]:
128
+ - generic [ref=e190]:
129
+ - generic [ref=e191]:
130
+ - paragraph [ref=e192]: waypoi
131
+ - generic [ref=e193]: 2 tools
132
+ - generic [ref=e194]: enabled
133
+ - paragraph [ref=e195]: http://localhost:9469/mcp
134
+ - generic [ref=e196]:
135
+ - button "Re-connect and discover tools" [ref=e197] [cursor=pointer]:
136
+ - img
137
+ - button "Disable" [ref=e198] [cursor=pointer]:
138
+ - img
139
+ - button "Remove" [ref=e199] [cursor=pointer]:
140
+ - img
141
+ - generic [ref=e200]:
142
+ - generic [ref=e202]: About Waypoi
143
+ - generic [ref=e203]:
144
+ - paragraph [ref=e204]: Waypoi is a provider-first local AI gateway. It provides an OpenAI-compatible API over multiple providers/models, with routing, failover, and observability.
145
+ - generic [ref=e205]:
146
+ - generic [ref=e206]:
147
+ - paragraph [ref=e207]: Version
148
+ - paragraph [ref=e208]: 0.7.1-beta.0
149
+ - generic [ref=e209]:
150
+ - paragraph [ref=e210]: Config Path
151
+ - paragraph [ref=e211]: ~/.config/waypoi/providers.json
152
+ - generic [ref=e212]:
153
+ - generic [ref=e214]: CLI Commands
154
+ - generic [ref=e215]:
155
+ - generic [ref=e216]:
156
+ - code [ref=e217]: waypoi providers import -f .env
157
+ - generic [ref=e218]: Import providers and credentials
158
+ - generic [ref=e219]:
159
+ - code [ref=e220]: waypoi providers
160
+ - generic [ref=e221]: List providers
161
+ - generic [ref=e222]:
162
+ - code [ref=e223]: waypoi models <providerId>
163
+ - generic [ref=e224]: List models in one provider
164
+ - generic [ref=e225]:
165
+ - code [ref=e226]: waypoi models add <providerId> ...
166
+ - generic [ref=e227]: Add a provider-owned model
167
+ - generic [ref=e228]:
168
+ - code [ref=e229]: waypoi models update <providerId> <modelRef>
169
+ - generic [ref=e230]: Update model routing/capabilities/auth
170
+ - generic [ref=e231]:
171
+ - code [ref=e232]: waypoi bench
172
+ - generic [ref=e233]: Run lightweight benchmark suite
173
+ - generic [ref=e234]:
174
+ - code [ref=e235]: waypoi chat --model smart
175
+ - generic [ref=e236]: Chat from the terminal (server must be running)
176
+ - generic [ref=e237]:
177
+ - code [ref=e238]: waypoi sessions
178
+ - generic [ref=e239]: List all chat sessions
179
+ - generic [ref=e240]:
180
+ - code [ref=e241]: waypoi sessions show <id>
181
+ - generic [ref=e242]: Print message history for a session
182
+ - generic [ref=e243]:
183
+ - code [ref=e244]: waypoi mcp add --name mytools --url http://...
184
+ - generic [ref=e245]: Register an MCP server
185
+ - generic [ref=e246]:
186
+ - generic [ref=e248]: Resources
187
+ - link "GitHub Repository" [ref=e250] [cursor=pointer]:
188
+ - /url: https://github.com/ziangziangziang/waypoi
189
+ - img [ref=e251]
190
+ - text: GitHub Repository
191
+ - generic [ref=e256]:
192
+ - generic [ref=e257]:
193
+ - heading "Add Provider" [level=3] [ref=e258]
194
+ - button [ref=e259] [cursor=pointer]:
195
+ - img [ref=e260]
196
+ - generic [ref=e264]:
197
+ - generic [ref=e265]:
198
+ - generic [ref=e266]:
199
+ - text: Provider ID
200
+ - textbox "Provider ID" [ref=e267]
201
+ - generic [ref=e268]:
202
+ - text: Name
203
+ - textbox "Name" [ref=e269]
204
+ - generic [ref=e270]:
205
+ - text: Base URL
206
+ - generic [ref=e271]:
207
+ - generic [ref=e272]: "Examples: https://api.openai.com/v1, http://localhost:11434"
208
+ - generic [ref=e273]:
209
+ - text: Discovery uses
210
+ - code [ref=e274]: /v1/models
211
+ - text: ", so root URLs and URLs already ending in"
212
+ - code [ref=e275]: /v1
213
+ - text: both work.
214
+ - generic [ref=e276]:
215
+ - 'textbox "Base URL Examples: https://api.openai.com/v1, http://localhost:11434 Discovery uses /v1/models, so root URLs and URLs already ending in /v1 both work. Auto-Detect" [ref=e277]'
216
+ - button "Auto-Detect" [ref=e278] [cursor=pointer]:
217
+ - img
218
+ - text: Auto-Detect
219
+ - generic [ref=e279]:
220
+ - generic [ref=e280]:
221
+ - text: API Format
222
+ - generic [ref=e281]: Select the API format this provider uses. Auto-detected from your Base URL if possible.
223
+ - generic [ref=e282]:
224
+ - button "OpenAI Compatible Routing Streaming Standard OpenAI API format. Chat Embeddings Images" [ref=e283] [cursor=pointer]:
225
+ - generic [ref=e284]:
226
+ - generic [ref=e285]:
227
+ - img [ref=e286]
228
+ - generic [ref=e288]: OpenAI Compatible
229
+ - generic [ref=e289]:
230
+ - generic [ref=e290]: Routing
231
+ - generic [ref=e291]: Streaming
232
+ - paragraph [ref=e292]: Standard OpenAI API format.
233
+ - generic [ref=e293]:
234
+ - generic [ref=e294]: Chat
235
+ - generic [ref=e295]: Embeddings
236
+ - generic [ref=e296]: Images
237
+ - button "Inference V2 (KServe/Ray) Routing KServe v2 / Ray Serve inference format. Chat" [ref=e297] [cursor=pointer]:
238
+ - generic [ref=e298]:
239
+ - generic [ref=e300]: Inference V2 (KServe/Ray)
240
+ - generic [ref=e302]: Routing
241
+ - paragraph [ref=e303]: KServe v2 / Ray Serve inference format.
242
+ - generic [ref=e305]: Chat
243
+ - generic [ref=e306]:
244
+ - generic [ref=e307]:
245
+ - checkbox "Enabled" [checked] [ref=e308]
246
+ - generic [ref=e309]: Enabled
247
+ - generic [ref=e310]:
248
+ - img [ref=e311]
249
+ - generic [ref=e313]: Supports Routing
250
+ - generic [ref=e314]: "Yes"
251
+ - generic [ref=e315]:
252
+ - text: API Key Override
253
+ - textbox "API Key Override" [ref=e316]
254
+ - group [ref=e317]:
255
+ - generic "Advanced Provider Fields" [ref=e318] [cursor=pointer]
256
+ - option "bearer" [selected]
257
+ - option "header"
258
+ - option "query"
259
+ - option "none"
260
+ - generic [ref=e319]:
261
+ - button "Cancel" [ref=e320] [cursor=pointer]
262
+ - button "Save Provider" [ref=e321] [cursor=pointer]
@@ -0,0 +1,6 @@
1
+ - generic [ref=e2]:
2
+ - heading "Waypoi UI" [level=1] [ref=e3]
3
+ - paragraph [ref=e4]: "UI not built. Run:"
4
+ - paragraph [ref=e5]:
5
+ - code [ref=e6]: cd ui && npm install && npm run build
6
+ - paragraph [ref=e7]: Then restart the server.
@@ -0,0 +1,190 @@
1
+ - generic [ref=e3]:
2
+ - complementary [ref=e4]:
3
+ - generic [ref=e5]:
4
+ - img "Waypoi" [ref=e7]
5
+ - generic [ref=e8]:
6
+ - heading "WAYPOINT" [level=1] [ref=e9]
7
+ - paragraph [ref=e10]: v0.7.1-beta.0
8
+ - navigation [ref=e11]:
9
+ - link "Playground" [ref=e12] [cursor=pointer]:
10
+ - /url: /ui/playground
11
+ - img [ref=e13]
12
+ - generic [ref=e15]: Playground
13
+ - link "Benchmark" [ref=e16] [cursor=pointer]:
14
+ - /url: /ui/benchmark
15
+ - img [ref=e17]
16
+ - generic [ref=e20]: Benchmark
17
+ - link "Dashboard" [ref=e21] [cursor=pointer]:
18
+ - /url: /ui/dashboard
19
+ - img [ref=e22]
20
+ - generic [ref=e27]: Dashboard
21
+ - link "Peek" [ref=e28] [cursor=pointer]:
22
+ - /url: /ui/peek
23
+ - img [ref=e29]
24
+ - generic [ref=e32]: Peek
25
+ - link "Settings" [ref=e33] [cursor=pointer]:
26
+ - /url: /ui/settings
27
+ - img [ref=e34]
28
+ - generic [ref=e37]: Settings
29
+ - generic [ref=e39]:
30
+ - img [ref=e40]
31
+ - generic [ref=e46]: Status
32
+ - generic [ref=e49]: live
33
+ - main [ref=e50]:
34
+ - generic [ref=e51]:
35
+ - generic [ref=e53]:
36
+ - img [ref=e54]
37
+ - heading "Settings" [level=2] [ref=e57]
38
+ - generic [ref=e59]:
39
+ - generic [ref=e60]:
40
+ - generic [ref=e61]:
41
+ - img [ref=e62]
42
+ - generic [ref=e66]: Image Generation
43
+ - generic [ref=e68]:
44
+ - generic [ref=e69]: Default Image Size
45
+ - paragraph [ref=e70]: Used when generating images via diffusion models. Can be overridden per-request in the playground.
46
+ - generic [ref=e71]:
47
+ - button "256×256 1:1" [ref=e72] [cursor=pointer]:
48
+ - generic [ref=e73]: 256×256
49
+ - generic [ref=e74]: 1:1
50
+ - button "512×512 1:1" [ref=e75] [cursor=pointer]:
51
+ - generic [ref=e76]: 512×512
52
+ - generic [ref=e77]: 1:1
53
+ - button "1024×1024 1:1" [ref=e78] [cursor=pointer]:
54
+ - img [ref=e80]
55
+ - generic [ref=e82]: 1024×1024
56
+ - generic [ref=e83]: 1:1
57
+ - button "1024×1792 9:16 (Portrait)" [ref=e84] [cursor=pointer]:
58
+ - generic [ref=e85]: 1024×1792
59
+ - generic [ref=e86]: 9:16 (Portrait)
60
+ - button "1792×1024 16:9 (Landscape)" [ref=e87] [cursor=pointer]:
61
+ - generic [ref=e88]: 1792×1024
62
+ - generic [ref=e89]: 16:9 (Landscape)
63
+ - generic [ref=e90]:
64
+ - generic [ref=e91]:
65
+ - img [ref=e92]
66
+ - generic [ref=e95]: Providers & Models
67
+ - generic [ref=e96]: 2 providers
68
+ - button "Add Provider" [ref=e97] [cursor=pointer]:
69
+ - img
70
+ - text: Add Provider
71
+ - generic [ref=e98]:
72
+ - generic [ref=e100]:
73
+ - button "cerebras openai https://api.cerebras.ai/v1 1/1 models enabled" [ref=e101] [cursor=pointer]:
74
+ - generic [ref=e102]:
75
+ - paragraph [ref=e104]: cerebras
76
+ - generic [ref=e105]: openai
77
+ - paragraph [ref=e106]: https://api.cerebras.ai/v1
78
+ - paragraph [ref=e107]: 1/1 models enabled
79
+ - generic [ref=e108]:
80
+ - button "Disable" [ref=e109] [cursor=pointer]:
81
+ - img
82
+ - text: Disable
83
+ - button "Edit" [ref=e110] [cursor=pointer]:
84
+ - img
85
+ - text: Edit
86
+ - button "Add Model" [ref=e111] [cursor=pointer]:
87
+ - img
88
+ - text: Add Model
89
+ - button "Delete" [ref=e112] [cursor=pointer]:
90
+ - img
91
+ - text: Delete
92
+ - button [ref=e113] [cursor=pointer]:
93
+ - img [ref=e114]
94
+ - generic [ref=e117]:
95
+ - button "pcai openai https://qwen35-27b.zziang-stjude-o-e609380a.serving.ai-application.stjude.org 1/1 models enabled" [ref=e118] [cursor=pointer]:
96
+ - generic [ref=e119]:
97
+ - paragraph [ref=e121]: pcai
98
+ - generic [ref=e122]: openai
99
+ - paragraph [ref=e123]: https://qwen35-27b.zziang-stjude-o-e609380a.serving.ai-application.stjude.org
100
+ - paragraph [ref=e124]: 1/1 models enabled
101
+ - generic [ref=e125]:
102
+ - button "Disable" [ref=e126] [cursor=pointer]:
103
+ - img
104
+ - text: Disable
105
+ - button "Edit" [ref=e127] [cursor=pointer]:
106
+ - img
107
+ - text: Edit
108
+ - button "Add Model" [ref=e128] [cursor=pointer]:
109
+ - img
110
+ - text: Add Model
111
+ - button "Delete" [ref=e129] [cursor=pointer]:
112
+ - img
113
+ - text: Delete
114
+ - button [ref=e130] [cursor=pointer]:
115
+ - img [ref=e131]
116
+ - generic [ref=e133]:
117
+ - generic [ref=e134]:
118
+ - generic [ref=e135]:
119
+ - img [ref=e136]
120
+ - generic [ref=e138]: MCP Servers
121
+ - generic [ref=e139]:
122
+ - button [ref=e140] [cursor=pointer]:
123
+ - img
124
+ - button "Add" [ref=e141] [cursor=pointer]:
125
+ - img
126
+ - text: Add
127
+ - generic [ref=e143]:
128
+ - generic [ref=e145]:
129
+ - generic [ref=e146]:
130
+ - paragraph [ref=e147]: waypoi
131
+ - generic [ref=e148]: 2 tools
132
+ - generic [ref=e149]: enabled
133
+ - paragraph [ref=e150]: http://localhost:9469/mcp
134
+ - generic [ref=e151]:
135
+ - button "Re-connect and discover tools" [ref=e152] [cursor=pointer]:
136
+ - img
137
+ - button "Disable" [ref=e153] [cursor=pointer]:
138
+ - img
139
+ - button "Remove" [ref=e154] [cursor=pointer]:
140
+ - img
141
+ - generic [ref=e155]:
142
+ - generic [ref=e157]: About Waypoi
143
+ - generic [ref=e158]:
144
+ - paragraph [ref=e159]: Waypoi is a provider-first local AI gateway. It provides an OpenAI-compatible API over multiple providers/models, with routing, failover, and observability.
145
+ - generic [ref=e160]:
146
+ - generic [ref=e161]:
147
+ - paragraph [ref=e162]: Version
148
+ - paragraph [ref=e163]: 0.7.1-beta.0
149
+ - generic [ref=e164]:
150
+ - paragraph [ref=e165]: Config Path
151
+ - paragraph [ref=e166]: ~/.config/waypoi/providers.json
152
+ - generic [ref=e167]:
153
+ - generic [ref=e169]: CLI Commands
154
+ - generic [ref=e170]:
155
+ - generic [ref=e171]:
156
+ - code [ref=e172]: waypoi providers import -f .env
157
+ - generic [ref=e173]: Import providers and credentials
158
+ - generic [ref=e174]:
159
+ - code [ref=e175]: waypoi providers
160
+ - generic [ref=e176]: List providers
161
+ - generic [ref=e177]:
162
+ - code [ref=e178]: waypoi models <providerId>
163
+ - generic [ref=e179]: List models in one provider
164
+ - generic [ref=e180]:
165
+ - code [ref=e181]: waypoi models add <providerId> ...
166
+ - generic [ref=e182]: Add a provider-owned model
167
+ - generic [ref=e183]:
168
+ - code [ref=e184]: waypoi models update <providerId> <modelRef>
169
+ - generic [ref=e185]: Update model routing/capabilities/auth
170
+ - generic [ref=e186]:
171
+ - code [ref=e187]: waypoi bench
172
+ - generic [ref=e188]: Run lightweight benchmark suite
173
+ - generic [ref=e189]:
174
+ - code [ref=e190]: waypoi chat --model smart
175
+ - generic [ref=e191]: Chat from the terminal (server must be running)
176
+ - generic [ref=e192]:
177
+ - code [ref=e193]: waypoi sessions
178
+ - generic [ref=e194]: List all chat sessions
179
+ - generic [ref=e195]:
180
+ - code [ref=e196]: waypoi sessions show <id>
181
+ - generic [ref=e197]: Print message history for a session
182
+ - generic [ref=e198]:
183
+ - code [ref=e199]: waypoi mcp add --name mytools --url http://...
184
+ - generic [ref=e200]: Register an MCP server
185
+ - generic [ref=e201]:
186
+ - generic [ref=e203]: Resources
187
+ - link "GitHub Repository" [ref=e205] [cursor=pointer]:
188
+ - /url: https://github.com/ziangziangziang/waypoi
189
+ - img [ref=e206]
190
+ - text: GitHub Repository
@@ -0,0 +1,190 @@
1
+ - generic [ref=e3]:
2
+ - complementary [ref=e4]:
3
+ - generic [ref=e5]:
4
+ - img "Waypoi" [ref=e7]
5
+ - generic [ref=e8]:
6
+ - heading "WAYPOINT" [level=1] [ref=e9]
7
+ - paragraph [ref=e10]: v0.7.1-beta.0
8
+ - navigation [ref=e11]:
9
+ - link "Playground" [ref=e12] [cursor=pointer]:
10
+ - /url: /ui/playground
11
+ - img [ref=e13]
12
+ - generic [ref=e15]: Playground
13
+ - link "Benchmark" [ref=e16] [cursor=pointer]:
14
+ - /url: /ui/benchmark
15
+ - img [ref=e17]
16
+ - generic [ref=e20]: Benchmark
17
+ - link "Dashboard" [ref=e21] [cursor=pointer]:
18
+ - /url: /ui/dashboard
19
+ - img [ref=e22]
20
+ - generic [ref=e27]: Dashboard
21
+ - link "Peek" [ref=e28] [cursor=pointer]:
22
+ - /url: /ui/peek
23
+ - img [ref=e29]
24
+ - generic [ref=e32]: Peek
25
+ - link "Settings" [active] [ref=e33] [cursor=pointer]:
26
+ - /url: /ui/settings
27
+ - img [ref=e34]
28
+ - generic [ref=e37]: Settings
29
+ - generic [ref=e39]:
30
+ - img [ref=e40]
31
+ - generic [ref=e46]: Status
32
+ - generic [ref=e49]: live
33
+ - main [ref=e50]:
34
+ - generic [ref=e51]:
35
+ - generic [ref=e53]:
36
+ - img [ref=e54]
37
+ - heading "Settings" [level=2] [ref=e57]
38
+ - generic [ref=e59]:
39
+ - generic [ref=e60]:
40
+ - generic [ref=e61]:
41
+ - img [ref=e62]
42
+ - generic [ref=e66]: Image Generation
43
+ - generic [ref=e68]:
44
+ - generic [ref=e69]: Default Image Size
45
+ - paragraph [ref=e70]: Used when generating images via diffusion models. Can be overridden per-request in the playground.
46
+ - generic [ref=e71]:
47
+ - button "256×256 1:1" [ref=e72] [cursor=pointer]:
48
+ - generic [ref=e73]: 256×256
49
+ - generic [ref=e74]: 1:1
50
+ - button "512×512 1:1" [ref=e75] [cursor=pointer]:
51
+ - generic [ref=e76]: 512×512
52
+ - generic [ref=e77]: 1:1
53
+ - button "1024×1024 1:1" [ref=e78] [cursor=pointer]:
54
+ - img [ref=e80]
55
+ - generic [ref=e82]: 1024×1024
56
+ - generic [ref=e83]: 1:1
57
+ - button "1024×1792 9:16 (Portrait)" [ref=e84] [cursor=pointer]:
58
+ - generic [ref=e85]: 1024×1792
59
+ - generic [ref=e86]: 9:16 (Portrait)
60
+ - button "1792×1024 16:9 (Landscape)" [ref=e87] [cursor=pointer]:
61
+ - generic [ref=e88]: 1792×1024
62
+ - generic [ref=e89]: 16:9 (Landscape)
63
+ - generic [ref=e90]:
64
+ - generic [ref=e91]:
65
+ - img [ref=e92]
66
+ - generic [ref=e95]: Providers & Models
67
+ - generic [ref=e96]: 2 providers
68
+ - button "Add Provider" [ref=e97] [cursor=pointer]:
69
+ - img
70
+ - text: Add Provider
71
+ - generic [ref=e98]:
72
+ - generic [ref=e100]:
73
+ - button "cerebras openai https://api.cerebras.ai/v1 1/1 models enabled" [ref=e101] [cursor=pointer]:
74
+ - generic [ref=e102]:
75
+ - paragraph [ref=e104]: cerebras
76
+ - generic [ref=e105]: openai
77
+ - paragraph [ref=e106]: https://api.cerebras.ai/v1
78
+ - paragraph [ref=e107]: 1/1 models enabled
79
+ - generic [ref=e108]:
80
+ - button "Disable" [ref=e109] [cursor=pointer]:
81
+ - img
82
+ - text: Disable
83
+ - button "Edit" [ref=e110] [cursor=pointer]:
84
+ - img
85
+ - text: Edit
86
+ - button "Add Model" [ref=e111] [cursor=pointer]:
87
+ - img
88
+ - text: Add Model
89
+ - button "Delete" [ref=e112] [cursor=pointer]:
90
+ - img
91
+ - text: Delete
92
+ - button [ref=e113] [cursor=pointer]:
93
+ - img [ref=e114]
94
+ - generic [ref=e117]:
95
+ - button "pcai openai https://qwen35-27b.zziang-stjude-o-e609380a.serving.ai-application.stjude.org 1/1 models enabled" [ref=e118] [cursor=pointer]:
96
+ - generic [ref=e119]:
97
+ - paragraph [ref=e121]: pcai
98
+ - generic [ref=e122]: openai
99
+ - paragraph [ref=e123]: https://qwen35-27b.zziang-stjude-o-e609380a.serving.ai-application.stjude.org
100
+ - paragraph [ref=e124]: 1/1 models enabled
101
+ - generic [ref=e125]:
102
+ - button "Disable" [ref=e126] [cursor=pointer]:
103
+ - img
104
+ - text: Disable
105
+ - button "Edit" [ref=e127] [cursor=pointer]:
106
+ - img
107
+ - text: Edit
108
+ - button "Add Model" [ref=e128] [cursor=pointer]:
109
+ - img
110
+ - text: Add Model
111
+ - button "Delete" [ref=e129] [cursor=pointer]:
112
+ - img
113
+ - text: Delete
114
+ - button [ref=e130] [cursor=pointer]:
115
+ - img [ref=e131]
116
+ - generic [ref=e133]:
117
+ - generic [ref=e134]:
118
+ - generic [ref=e135]:
119
+ - img [ref=e136]
120
+ - generic [ref=e138]: MCP Servers
121
+ - generic [ref=e139]:
122
+ - button [ref=e140] [cursor=pointer]:
123
+ - img
124
+ - button "Add" [ref=e141] [cursor=pointer]:
125
+ - img
126
+ - text: Add
127
+ - generic [ref=e143]:
128
+ - generic [ref=e145]:
129
+ - generic [ref=e146]:
130
+ - paragraph [ref=e147]: waypoi
131
+ - generic [ref=e148]: 2 tools
132
+ - generic [ref=e149]: enabled
133
+ - paragraph [ref=e150]: http://localhost:9469/mcp
134
+ - generic [ref=e151]:
135
+ - button "Re-connect and discover tools" [ref=e152] [cursor=pointer]:
136
+ - img
137
+ - button "Disable" [ref=e153] [cursor=pointer]:
138
+ - img
139
+ - button "Remove" [ref=e154] [cursor=pointer]:
140
+ - img
141
+ - generic [ref=e155]:
142
+ - generic [ref=e157]: About Waypoi
143
+ - generic [ref=e158]:
144
+ - paragraph [ref=e159]: Waypoi is a provider-first local AI gateway. It provides an OpenAI-compatible API over multiple providers/models, with routing, failover, and observability.
145
+ - generic [ref=e160]:
146
+ - generic [ref=e161]:
147
+ - paragraph [ref=e162]: Version
148
+ - paragraph [ref=e163]: 0.7.1-beta.0
149
+ - generic [ref=e164]:
150
+ - paragraph [ref=e165]: Config Path
151
+ - paragraph [ref=e166]: ~/.config/waypoi/providers.json
152
+ - generic [ref=e167]:
153
+ - generic [ref=e169]: CLI Commands
154
+ - generic [ref=e170]:
155
+ - generic [ref=e171]:
156
+ - code [ref=e172]: waypoi providers import -f .env
157
+ - generic [ref=e173]: Import providers and credentials
158
+ - generic [ref=e174]:
159
+ - code [ref=e175]: waypoi providers
160
+ - generic [ref=e176]: List providers
161
+ - generic [ref=e177]:
162
+ - code [ref=e178]: waypoi models <providerId>
163
+ - generic [ref=e179]: List models in one provider
164
+ - generic [ref=e180]:
165
+ - code [ref=e181]: waypoi models add <providerId> ...
166
+ - generic [ref=e182]: Add a provider-owned model
167
+ - generic [ref=e183]:
168
+ - code [ref=e184]: waypoi models update <providerId> <modelRef>
169
+ - generic [ref=e185]: Update model routing/capabilities/auth
170
+ - generic [ref=e186]:
171
+ - code [ref=e187]: waypoi bench
172
+ - generic [ref=e188]: Run lightweight benchmark suite
173
+ - generic [ref=e189]:
174
+ - code [ref=e190]: waypoi chat --model smart
175
+ - generic [ref=e191]: Chat from the terminal (server must be running)
176
+ - generic [ref=e192]:
177
+ - code [ref=e193]: waypoi sessions
178
+ - generic [ref=e194]: List all chat sessions
179
+ - generic [ref=e195]:
180
+ - code [ref=e196]: waypoi sessions show <id>
181
+ - generic [ref=e197]: Print message history for a session
182
+ - generic [ref=e198]:
183
+ - code [ref=e199]: waypoi mcp add --name mytools --url http://...
184
+ - generic [ref=e200]: Register an MCP server
185
+ - generic [ref=e201]:
186
+ - generic [ref=e203]: Resources
187
+ - link "GitHub Repository" [ref=e205] [cursor=pointer]:
188
+ - /url: https://github.com/ziangziangziang/waypoi
189
+ - img [ref=e206]
190
+ - text: GitHub Repository