@techysy/10router 1.6.0 → 1.6.4-test.1

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 (1094) hide show
  1. package/app/.next-cli-build/BUILD_ID +1 -1
  2. package/app/.next-cli-build/app-path-routes-manifest.json +41 -39
  3. package/app/.next-cli-build/build-manifest.json +2 -2
  4. package/app/.next-cli-build/prerender-manifest.json +21 -21
  5. package/app/.next-cli-build/routes-manifest.json +12 -0
  6. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js +1 -1
  7. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js.nft.json +1 -1
  8. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
  9. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js +1 -1
  10. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js.nft.json +1 -1
  11. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
  12. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js +1 -1
  13. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
  14. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  15. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js +1 -1
  16. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -1
  17. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  18. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js +1 -1
  19. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js.nft.json +1 -1
  20. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
  21. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js +1 -1
  22. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
  23. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  24. package/app/.next-cli-build/server/app/(dashboard)/dashboard/experimental/page.js +1 -1
  25. package/app/.next-cli-build/server/app/(dashboard)/dashboard/experimental/page.js.nft.json +1 -1
  26. package/app/.next-cli-build/server/app/(dashboard)/dashboard/experimental/page_client-reference-manifest.js +1 -1
  27. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js +4 -4
  28. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js.nft.json +1 -1
  29. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
  30. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js +1 -1
  31. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js.nft.json +1 -1
  32. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
  33. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js +1 -1
  34. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js.nft.json +1 -1
  35. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
  36. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js +1 -1
  37. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js.nft.json +1 -1
  38. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
  39. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js +1 -1
  40. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js.nft.json +1 -1
  41. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
  42. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js +1 -1
  43. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
  44. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  45. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js +1 -1
  46. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -1
  47. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  48. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js +3 -3
  49. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -1
  50. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  51. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js +1 -1
  52. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -1
  53. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  54. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js +1 -1
  55. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -1
  56. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  57. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js +2 -2
  58. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js.nft.json +1 -1
  59. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
  60. package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page.js +1 -1
  61. package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page.js.nft.json +1 -1
  62. package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page_client-reference-manifest.js +1 -1
  63. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js +1 -1
  64. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js.nft.json +1 -1
  65. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
  66. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js +1 -1
  67. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js.nft.json +1 -1
  68. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
  69. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js +1 -1
  70. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js.nft.json +1 -1
  71. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
  72. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js +1 -1
  73. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js.nft.json +1 -1
  74. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  75. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js +1 -1
  76. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -1
  77. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  78. package/app/.next-cli-build/server/app/_global-error/page.js +2 -2
  79. package/app/.next-cli-build/server/app/_global-error/page.js.nft.json +1 -1
  80. package/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
  81. package/app/.next-cli-build/server/app/_global-error.html +1 -1
  82. package/app/.next-cli-build/server/app/_global-error.rsc +1 -1
  83. package/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
  84. package/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  85. package/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  86. package/app/.next-cli-build/server/app/_not-found/page.js +1 -1
  87. package/app/.next-cli-build/server/app/_not-found/page.js.nft.json +1 -1
  88. package/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
  89. package/app/.next-cli-build/server/app/_not-found.html +2 -2
  90. package/app/.next-cli-build/server/app/_not-found.rsc +6 -6
  91. package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +6 -6
  92. package/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +6 -6
  93. package/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  94. package/app/.next-cli-build/server/app/api/auth/login/route.js +1 -1
  95. package/app/.next-cli-build/server/app/api/auth/login/route.js.nft.json +1 -1
  96. package/app/.next-cli-build/server/app/api/auth/logout/route.js +1 -1
  97. package/app/.next-cli-build/server/app/api/auth/logout/route.js.nft.json +1 -1
  98. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js +1 -1
  99. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js.nft.json +1 -1
  100. package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js +1 -1
  101. package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js.nft.json +1 -1
  102. package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js +1 -1
  103. package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js.nft.json +1 -1
  104. package/app/.next-cli-build/server/app/api/auth/reset-password/route.js +1 -1
  105. package/app/.next-cli-build/server/app/api/auth/reset-password/route.js.nft.json +1 -1
  106. package/app/.next-cli-build/server/app/api/auth/saml/acs/route.js +1 -1
  107. package/app/.next-cli-build/server/app/api/auth/saml/acs/route.js.nft.json +1 -1
  108. package/app/.next-cli-build/server/app/api/auth/saml/metadata/route.js +2 -2
  109. package/app/.next-cli-build/server/app/api/auth/saml/metadata/route.js.nft.json +1 -1
  110. package/app/.next-cli-build/server/app/api/auth/saml/start/route.js +2 -2
  111. package/app/.next-cli-build/server/app/api/auth/saml/start/route.js.nft.json +1 -1
  112. package/app/.next-cli-build/server/app/api/auth/saml/test/route.js +1 -1
  113. package/app/.next-cli-build/server/app/api/auth/saml/test/route.js.nft.json +1 -1
  114. package/app/.next-cli-build/server/app/api/auth/status/route.js +1 -1
  115. package/app/.next-cli-build/server/app/api/auth/status/route.js.nft.json +1 -1
  116. package/app/.next-cli-build/server/app/api/auth/verify-password/route.js +1 -1
  117. package/app/.next-cli-build/server/app/api/auth/verify-password/route.js.nft.json +1 -1
  118. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js +5 -5
  119. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js.nft.json +1 -1
  120. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js +2 -2
  121. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -1
  122. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js +1 -1
  123. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js.nft.json +1 -1
  124. package/app/.next-cli-build/server/app/api/cli-tools/claude-profiles/route.js +2 -2
  125. package/app/.next-cli-build/server/app/api/cli-tools/claude-profiles/route.js.nft.json +1 -1
  126. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js +2 -2
  127. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js.nft.json +1 -1
  128. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js +1 -1
  129. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js.nft.json +1 -1
  130. package/app/.next-cli-build/server/app/api/cli-tools/codex-profiles/route.js +1 -1
  131. package/app/.next-cli-build/server/app/api/cli-tools/codex-profiles/route.js.nft.json +1 -1
  132. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js +1 -1
  133. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js.nft.json +1 -1
  134. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js +2 -2
  135. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js.nft.json +1 -1
  136. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js +1 -1
  137. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js.nft.json +1 -1
  138. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js +2 -2
  139. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js.nft.json +1 -1
  140. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js +1 -1
  141. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js.nft.json +1 -1
  142. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js +2 -2
  143. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js.nft.json +1 -1
  144. package/app/.next-cli-build/server/app/api/cli-tools/devin-settings/route.js +1 -1
  145. package/app/.next-cli-build/server/app/api/cli-tools/devin-settings/route.js.nft.json +1 -1
  146. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js +2 -2
  147. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js.nft.json +1 -1
  148. package/app/.next-cli-build/server/app/api/cli-tools/grok-build-settings/route.js +2 -2
  149. package/app/.next-cli-build/server/app/api/cli-tools/grok-build-settings/route.js.nft.json +1 -1
  150. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js +2 -2
  151. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js.nft.json +1 -1
  152. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js +2 -2
  153. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js.nft.json +1 -1
  154. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js +2 -2
  155. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js.nft.json +1 -1
  156. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js +2 -2
  157. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js.nft.json +1 -1
  158. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js +2 -2
  159. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js.nft.json +1 -1
  160. package/app/.next-cli-build/server/app/api/combos/[id]/route.js +1 -1
  161. package/app/.next-cli-build/server/app/api/combos/[id]/route.js.nft.json +1 -1
  162. package/app/.next-cli-build/server/app/api/combos/route.js +1 -1
  163. package/app/.next-cli-build/server/app/api/combos/route.js.nft.json +1 -1
  164. package/app/.next-cli-build/server/app/api/external-quota/[source]/route.js +1 -1
  165. package/app/.next-cli-build/server/app/api/external-quota/[source]/route.js.nft.json +1 -1
  166. package/app/.next-cli-build/server/app/api/gateway-probe/route.js +1 -1
  167. package/app/.next-cli-build/server/app/api/gateway-probe/route.js.nft.json +1 -1
  168. package/app/.next-cli-build/server/app/api/headroom/extras/route.js +1 -1
  169. package/app/.next-cli-build/server/app/api/headroom/extras/route.js.nft.json +1 -1
  170. package/app/.next-cli-build/server/app/api/headroom/proxy/[...path]/route.js +1 -1
  171. package/app/.next-cli-build/server/app/api/headroom/proxy/[...path]/route.js.nft.json +1 -1
  172. package/app/.next-cli-build/server/app/api/headroom/restart/route.js +1 -1
  173. package/app/.next-cli-build/server/app/api/headroom/restart/route.js.nft.json +1 -1
  174. package/app/.next-cli-build/server/app/api/headroom/start/route.js +1 -1
  175. package/app/.next-cli-build/server/app/api/headroom/start/route.js.nft.json +1 -1
  176. package/app/.next-cli-build/server/app/api/headroom/status/route.js +1 -1
  177. package/app/.next-cli-build/server/app/api/headroom/status/route.js.nft.json +1 -1
  178. package/app/.next-cli-build/server/app/api/headroom/stop/route.js +1 -1
  179. package/app/.next-cli-build/server/app/api/headroom/stop/route.js.nft.json +1 -1
  180. package/app/.next-cli-build/server/app/api/health/route.js +1 -1
  181. package/app/.next-cli-build/server/app/api/health/route.js.nft.json +1 -1
  182. package/app/.next-cli-build/server/app/api/init/route.js +1 -1
  183. package/app/.next-cli-build/server/app/api/init/route.js.nft.json +1 -1
  184. package/app/.next-cli-build/server/app/api/keys/[id]/route.js +1 -1
  185. package/app/.next-cli-build/server/app/api/keys/[id]/route.js.nft.json +1 -1
  186. package/app/.next-cli-build/server/app/api/keys/rotate/route.js +1 -1
  187. package/app/.next-cli-build/server/app/api/keys/rotate/route.js.nft.json +1 -1
  188. package/app/.next-cli-build/server/app/api/keys/route.js +1 -1
  189. package/app/.next-cli-build/server/app/api/keys/route.js.nft.json +1 -1
  190. package/app/.next-cli-build/server/app/api/locale/route.js +1 -1
  191. package/app/.next-cli-build/server/app/api/locale/route.js.nft.json +1 -1
  192. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js +1 -1
  193. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js.nft.json +1 -1
  194. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js +1 -1
  195. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js.nft.json +1 -1
  196. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js +1 -1
  197. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js.nft.json +1 -1
  198. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js +1 -1
  199. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +1 -1
  200. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js +1 -1
  201. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js.nft.json +1 -1
  202. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js +1 -1
  203. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js.nft.json +1 -1
  204. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js +1 -1
  205. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js.nft.json +1 -1
  206. package/app/.next-cli-build/server/app/api/models/alias/route.js +1 -1
  207. package/app/.next-cli-build/server/app/api/models/alias/route.js.nft.json +1 -1
  208. package/app/.next-cli-build/server/app/api/models/availability/route.js +1 -1
  209. package/app/.next-cli-build/server/app/api/models/availability/route.js.nft.json +1 -1
  210. package/app/.next-cli-build/server/app/api/models/caps/route.js +1 -1
  211. package/app/.next-cli-build/server/app/api/models/caps/route.js.nft.json +1 -1
  212. package/app/.next-cli-build/server/app/api/models/custom/bulk/route.js +1 -1
  213. package/app/.next-cli-build/server/app/api/models/custom/bulk/route.js.nft.json +1 -1
  214. package/app/.next-cli-build/server/app/api/models/custom/route.js +1 -1
  215. package/app/.next-cli-build/server/app/api/models/custom/route.js.nft.json +1 -1
  216. package/app/.next-cli-build/server/app/api/models/disabled/route.js +1 -1
  217. package/app/.next-cli-build/server/app/api/models/disabled/route.js.nft.json +1 -1
  218. package/app/.next-cli-build/server/app/api/models/route.js +1 -1
  219. package/app/.next-cli-build/server/app/api/models/route.js.nft.json +1 -1
  220. package/app/.next-cli-build/server/app/api/models/test/route.js +1 -1
  221. package/app/.next-cli-build/server/app/api/models/test/route.js.nft.json +1 -1
  222. package/app/.next-cli-build/server/app/api/network/egress-region/route.js +1 -1
  223. package/app/.next-cli-build/server/app/api/network/egress-region/route.js.nft.json +1 -1
  224. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js +1 -1
  225. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
  226. package/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/route.js +1 -1
  227. package/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/route.js.nft.json +1 -1
  228. package/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/checkin/route.js +1 -1
  229. package/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/checkin/route.js.nft.json +1 -1
  230. package/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/claim-compensation/route.js +1 -1
  231. package/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/claim-compensation/route.js.nft.json +1 -1
  232. package/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/export/route.js +1 -1
  233. package/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/export/route.js.nft.json +1 -1
  234. package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js +1 -1
  235. package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js.nft.json +1 -1
  236. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js +1 -1
  237. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js.nft.json +1 -1
  238. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js +1 -1
  239. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -1
  240. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js +1 -1
  241. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
  242. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js +1 -1
  243. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js.nft.json +1 -1
  244. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js +1 -1
  245. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -1
  246. package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js +1 -1
  247. package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js.nft.json +1 -1
  248. package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js +1 -1
  249. package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js.nft.json +1 -1
  250. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js +1 -1
  251. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
  252. package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js +1 -1
  253. package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js.nft.json +1 -1
  254. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js +1 -1
  255. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js.nft.json +1 -1
  256. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js +1 -1
  257. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
  258. package/app/.next-cli-build/server/app/api/oauth/loomy/sms-login/route.js +1 -0
  259. package/app/.next-cli-build/server/app/api/oauth/loomy/sms-login/route.js.nft.json +1 -0
  260. package/app/.next-cli-build/server/app/api/oauth/loomy/sms-login/route_client-reference-manifest.js +1 -0
  261. package/app/.next-cli-build/server/app/api/oauth/loomy/sms-send/route.js +1 -0
  262. package/app/.next-cli-build/server/app/api/oauth/loomy/sms-send/route.js.nft.json +1 -0
  263. package/app/.next-cli-build/server/app/api/oauth/loomy/sms-send/route_client-reference-manifest.js +1 -0
  264. package/app/.next-cli-build/server/app/api/oauth/qoder/checkin/route.js +1 -1
  265. package/app/.next-cli-build/server/app/api/oauth/qoder/checkin/route.js.nft.json +1 -1
  266. package/app/.next-cli-build/server/app/api/oauth/qoder-cn/checkin/route.js +1 -1
  267. package/app/.next-cli-build/server/app/api/oauth/qoder-cn/checkin/route.js.nft.json +1 -1
  268. package/app/.next-cli-build/server/app/api/oauth/transfer/export/route.js +1 -1
  269. package/app/.next-cli-build/server/app/api/oauth/transfer/export/route.js.nft.json +1 -1
  270. package/app/.next-cli-build/server/app/api/oauth/transfer/import/route.js +1 -1
  271. package/app/.next-cli-build/server/app/api/oauth/transfer/import/route.js.nft.json +1 -1
  272. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/api-key/route.js +1 -1
  273. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/api-key/route.js.nft.json +1 -1
  274. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/auto-import/route.js +2 -2
  275. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/auto-import/route.js.nft.json +1 -1
  276. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/desktop-kill/route.js +1 -1
  277. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/desktop-kill/route.js.nft.json +1 -1
  278. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/desktop-status/route.js +1 -1
  279. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/desktop-status/route.js.nft.json +1 -1
  280. package/app/.next-cli-build/server/app/api/oauth/zed/auto-import/route.js +2 -2
  281. package/app/.next-cli-build/server/app/api/oauth/zed/auto-import/route.js.nft.json +1 -1
  282. package/app/.next-cli-build/server/app/api/oauth/zed/import/route.js +1 -1
  283. package/app/.next-cli-build/server/app/api/oauth/zed/import/route.js.nft.json +1 -1
  284. package/app/.next-cli-build/server/app/api/pricing/route.js +1 -1
  285. package/app/.next-cli-build/server/app/api/pricing/route.js.nft.json +1 -1
  286. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js +1 -1
  287. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
  288. package/app/.next-cli-build/server/app/api/provider-nodes/route.js +1 -1
  289. package/app/.next-cli-build/server/app/api/provider-nodes/route.js.nft.json +1 -1
  290. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js +1 -1
  291. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js.nft.json +1 -1
  292. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js +1 -1
  293. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
  294. package/app/.next-cli-build/server/app/api/providers/[id]/route.js +1 -1
  295. package/app/.next-cli-build/server/app/api/providers/[id]/route.js.nft.json +1 -1
  296. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js +1 -1
  297. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
  298. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js +1 -1
  299. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -1
  300. package/app/.next-cli-build/server/app/api/providers/client/route.js +1 -1
  301. package/app/.next-cli-build/server/app/api/providers/client/route.js.nft.json +1 -1
  302. package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js +1 -1
  303. package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js.nft.json +1 -1
  304. package/app/.next-cli-build/server/app/api/providers/route.js +1 -1
  305. package/app/.next-cli-build/server/app/api/providers/route.js.nft.json +1 -1
  306. package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js +1 -1
  307. package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js.nft.json +1 -1
  308. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js +1 -1
  309. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js.nft.json +1 -1
  310. package/app/.next-cli-build/server/app/api/providers/validate/route.js +1 -1
  311. package/app/.next-cli-build/server/app/api/providers/validate/route.js.nft.json +1 -1
  312. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js +1 -1
  313. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js.nft.json +1 -1
  314. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js +1 -1
  315. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js.nft.json +1 -1
  316. package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js +2 -2
  317. package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js.nft.json +1 -1
  318. package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js +2 -2
  319. package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js.nft.json +1 -1
  320. package/app/.next-cli-build/server/app/api/proxy-pools/route.js +1 -1
  321. package/app/.next-cli-build/server/app/api/proxy-pools/route.js.nft.json +1 -1
  322. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js +2 -2
  323. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js.nft.json +1 -1
  324. package/app/.next-cli-build/server/app/api/pxpipe/health/route.js +2 -2
  325. package/app/.next-cli-build/server/app/api/pxpipe/health/route.js.nft.json +1 -1
  326. package/app/.next-cli-build/server/app/api/pxpipe/install/route.js +2 -2
  327. package/app/.next-cli-build/server/app/api/pxpipe/install/route.js.nft.json +1 -1
  328. package/app/.next-cli-build/server/app/api/pxpipe/logs/route.js +2 -2
  329. package/app/.next-cli-build/server/app/api/pxpipe/logs/route.js.nft.json +1 -1
  330. package/app/.next-cli-build/server/app/api/pxpipe/restart/route.js +2 -2
  331. package/app/.next-cli-build/server/app/api/pxpipe/restart/route.js.nft.json +1 -1
  332. package/app/.next-cli-build/server/app/api/pxpipe/start/route.js +2 -2
  333. package/app/.next-cli-build/server/app/api/pxpipe/start/route.js.nft.json +1 -1
  334. package/app/.next-cli-build/server/app/api/pxpipe/stats/route.js +2 -2
  335. package/app/.next-cli-build/server/app/api/pxpipe/stats/route.js.nft.json +1 -1
  336. package/app/.next-cli-build/server/app/api/pxpipe/status/route.js +2 -2
  337. package/app/.next-cli-build/server/app/api/pxpipe/status/route.js.nft.json +1 -1
  338. package/app/.next-cli-build/server/app/api/pxpipe/stop/route.js +2 -2
  339. package/app/.next-cli-build/server/app/api/pxpipe/stop/route.js.nft.json +1 -1
  340. package/app/.next-cli-build/server/app/api/security/status/route.js +1 -1
  341. package/app/.next-cli-build/server/app/api/security/status/route.js.nft.json +1 -1
  342. package/app/.next-cli-build/server/app/api/settings/database/import-usage/route.js +1 -1
  343. package/app/.next-cli-build/server/app/api/settings/database/import-usage/route.js.nft.json +1 -1
  344. package/app/.next-cli-build/server/app/api/settings/database/route.js +1 -1
  345. package/app/.next-cli-build/server/app/api/settings/database/route.js.nft.json +1 -1
  346. package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js +1 -1
  347. package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js.nft.json +1 -1
  348. package/app/.next-cli-build/server/app/api/settings/require-login/route.js +1 -1
  349. package/app/.next-cli-build/server/app/api/settings/require-login/route.js.nft.json +1 -1
  350. package/app/.next-cli-build/server/app/api/settings/route.js +2 -2
  351. package/app/.next-cli-build/server/app/api/settings/route.js.nft.json +1 -1
  352. package/app/.next-cli-build/server/app/api/shutdown/route.js +1 -1
  353. package/app/.next-cli-build/server/app/api/shutdown/route.js.nft.json +1 -1
  354. package/app/.next-cli-build/server/app/api/tags/route.js +1 -1
  355. package/app/.next-cli-build/server/app/api/tags/route.js.nft.json +1 -1
  356. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -1
  357. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js.nft.json +1 -1
  358. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +2 -2
  359. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js.nft.json +1 -1
  360. package/app/.next-cli-build/server/app/api/translator/load/route.js +1 -1
  361. package/app/.next-cli-build/server/app/api/translator/load/route.js.nft.json +1 -1
  362. package/app/.next-cli-build/server/app/api/translator/save/route.js +1 -1
  363. package/app/.next-cli-build/server/app/api/translator/save/route.js.nft.json +1 -1
  364. package/app/.next-cli-build/server/app/api/translator/send/route.js +1 -1
  365. package/app/.next-cli-build/server/app/api/translator/send/route.js.nft.json +1 -1
  366. package/app/.next-cli-build/server/app/api/translator/translate/route.js +1 -1
  367. package/app/.next-cli-build/server/app/api/translator/translate/route.js.nft.json +1 -1
  368. package/app/.next-cli-build/server/app/api/tunnel/disable/route.js +1 -1
  369. package/app/.next-cli-build/server/app/api/tunnel/disable/route.js.nft.json +1 -1
  370. package/app/.next-cli-build/server/app/api/tunnel/enable/route.js +1 -1
  371. package/app/.next-cli-build/server/app/api/tunnel/enable/route.js.nft.json +1 -1
  372. package/app/.next-cli-build/server/app/api/tunnel/status/route.js +1 -1
  373. package/app/.next-cli-build/server/app/api/tunnel/status/route.js.nft.json +1 -1
  374. package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js +1 -1
  375. package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js.nft.json +1 -1
  376. package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js +1 -1
  377. package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js.nft.json +1 -1
  378. package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js +1 -1
  379. package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js.nft.json +1 -1
  380. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js +2 -2
  381. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js.nft.json +1 -1
  382. package/app/.next-cli-build/server/app/api/usage/[connectionId]/claude-reset/route.js +1 -1
  383. package/app/.next-cli-build/server/app/api/usage/[connectionId]/claude-reset/route.js.nft.json +1 -1
  384. package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js +1 -1
  385. package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js.nft.json +1 -1
  386. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js +1 -1
  387. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
  388. package/app/.next-cli-build/server/app/api/usage/chart/route.js +1 -1
  389. package/app/.next-cli-build/server/app/api/usage/chart/route.js.nft.json +1 -1
  390. package/app/.next-cli-build/server/app/api/usage/dashboard/route.js +1 -1
  391. package/app/.next-cli-build/server/app/api/usage/dashboard/route.js.nft.json +1 -1
  392. package/app/.next-cli-build/server/app/api/usage/history/route.js +1 -1
  393. package/app/.next-cli-build/server/app/api/usage/history/route.js.nft.json +1 -1
  394. package/app/.next-cli-build/server/app/api/usage/logs/route.js +1 -1
  395. package/app/.next-cli-build/server/app/api/usage/logs/route.js.nft.json +1 -1
  396. package/app/.next-cli-build/server/app/api/usage/providers/route.js +1 -1
  397. package/app/.next-cli-build/server/app/api/usage/providers/route.js.nft.json +1 -1
  398. package/app/.next-cli-build/server/app/api/usage/quotas/route.js +1 -1
  399. package/app/.next-cli-build/server/app/api/usage/quotas/route.js.nft.json +1 -1
  400. package/app/.next-cli-build/server/app/api/usage/request-details/route.js +1 -1
  401. package/app/.next-cli-build/server/app/api/usage/request-details/route.js.nft.json +1 -1
  402. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js +1 -1
  403. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js.nft.json +1 -1
  404. package/app/.next-cli-build/server/app/api/usage/stats/route.js +1 -1
  405. package/app/.next-cli-build/server/app/api/usage/stats/route.js.nft.json +1 -1
  406. package/app/.next-cli-build/server/app/api/usage/stream/route.js +2 -2
  407. package/app/.next-cli-build/server/app/api/usage/stream/route.js.nft.json +1 -1
  408. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js +1 -1
  409. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js.nft.json +1 -1
  410. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js +1 -1
  411. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
  412. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js +1 -1
  413. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
  414. package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js +1 -1
  415. package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js.nft.json +1 -1
  416. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js +1 -1
  417. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
  418. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js +1 -1
  419. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js.nft.json +1 -1
  420. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js +2 -2
  421. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js.nft.json +1 -1
  422. package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js +1 -1
  423. package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js.nft.json +1 -1
  424. package/app/.next-cli-build/server/app/api/v1/messages/route.js +1 -1
  425. package/app/.next-cli-build/server/app/api/v1/messages/route.js.nft.json +1 -1
  426. package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js +1 -1
  427. package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js.nft.json +1 -1
  428. package/app/.next-cli-build/server/app/api/v1/models/info/route.js +1 -1
  429. package/app/.next-cli-build/server/app/api/v1/models/info/route.js.nft.json +1 -1
  430. package/app/.next-cli-build/server/app/api/v1/models/route.js +1 -1
  431. package/app/.next-cli-build/server/app/api/v1/models/route.js.nft.json +1 -1
  432. package/app/.next-cli-build/server/app/api/v1/rerank/route.js +1 -1
  433. package/app/.next-cli-build/server/app/api/v1/rerank/route.js.nft.json +1 -1
  434. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js +1 -1
  435. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js.nft.json +1 -1
  436. package/app/.next-cli-build/server/app/api/v1/responses/route.js +1 -1
  437. package/app/.next-cli-build/server/app/api/v1/responses/route.js.nft.json +1 -1
  438. package/app/.next-cli-build/server/app/api/v1/route.js +1 -1
  439. package/app/.next-cli-build/server/app/api/v1/route.js.nft.json +1 -1
  440. package/app/.next-cli-build/server/app/api/v1/search/route.js +1 -1
  441. package/app/.next-cli-build/server/app/api/v1/search/route.js.nft.json +1 -1
  442. package/app/.next-cli-build/server/app/api/v1/systemone/route.js +1 -1
  443. package/app/.next-cli-build/server/app/api/v1/systemone/route.js.nft.json +1 -1
  444. package/app/.next-cli-build/server/app/api/v1/videos/[id]/route.js +1 -1
  445. package/app/.next-cli-build/server/app/api/v1/videos/[id]/route.js.nft.json +1 -1
  446. package/app/.next-cli-build/server/app/api/v1/videos/edits/route.js +1 -1
  447. package/app/.next-cli-build/server/app/api/v1/videos/edits/route.js.nft.json +1 -1
  448. package/app/.next-cli-build/server/app/api/v1/videos/extensions/route.js +1 -1
  449. package/app/.next-cli-build/server/app/api/v1/videos/extensions/route.js.nft.json +1 -1
  450. package/app/.next-cli-build/server/app/api/v1/videos/generations/route.js +1 -1
  451. package/app/.next-cli-build/server/app/api/v1/videos/generations/route.js.nft.json +1 -1
  452. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js +1 -1
  453. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js.nft.json +1 -1
  454. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js +1 -1
  455. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
  456. package/app/.next-cli-build/server/app/api/v1beta/models/route.js +1 -1
  457. package/app/.next-cli-build/server/app/api/v1beta/models/route.js.nft.json +1 -1
  458. package/app/.next-cli-build/server/app/api/version/route.js +2 -2
  459. package/app/.next-cli-build/server/app/api/version/route.js.nft.json +1 -1
  460. package/app/.next-cli-build/server/app/api/version/shell-update/route.js +2 -2
  461. package/app/.next-cli-build/server/app/api/version/shell-update/route.js.nft.json +1 -1
  462. package/app/.next-cli-build/server/app/api/version/shutdown/route.js +1 -1
  463. package/app/.next-cli-build/server/app/api/version/shutdown/route.js.nft.json +1 -1
  464. package/app/.next-cli-build/server/app/api/version/update/route.js +1 -1
  465. package/app/.next-cli-build/server/app/api/version/update/route.js.nft.json +1 -1
  466. package/app/.next-cli-build/server/app/callback/page.js +1 -1
  467. package/app/.next-cli-build/server/app/callback/page.js.nft.json +1 -1
  468. package/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
  469. package/app/.next-cli-build/server/app/callback.html +2 -2
  470. package/app/.next-cli-build/server/app/callback.rsc +6 -6
  471. package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +6 -6
  472. package/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +2 -2
  473. package/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +6 -6
  474. package/app/.next-cli-build/server/app/dashboard/basic-chat.html +2 -2
  475. package/app/.next-cli-build/server/app/dashboard/basic-chat.rsc +8 -8
  476. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +8 -8
  477. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +8 -8
  478. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +2 -2
  479. package/app/.next-cli-build/server/app/dashboard/cli-tools.html +2 -2
  480. package/app/.next-cli-build/server/app/dashboard/cli-tools.rsc +8 -8
  481. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +8 -8
  482. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_full.segment.rsc +8 -8
  483. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +2 -2
  484. package/app/.next-cli-build/server/app/dashboard/combos.html +2 -2
  485. package/app/.next-cli-build/server/app/dashboard/combos.rsc +8 -8
  486. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +8 -8
  487. package/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +8 -8
  488. package/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +2 -2
  489. package/app/.next-cli-build/server/app/dashboard/endpoint.html +2 -2
  490. package/app/.next-cli-build/server/app/dashboard/endpoint.rsc +8 -8
  491. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +8 -8
  492. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +8 -8
  493. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +2 -2
  494. package/app/.next-cli-build/server/app/dashboard/experimental.html +2 -2
  495. package/app/.next-cli-build/server/app/dashboard/experimental.rsc +8 -8
  496. package/app/.next-cli-build/server/app/dashboard/experimental.segments/!KGRhc2hib2FyZCk/dashboard/experimental/__PAGE__.segment.rsc +8 -8
  497. package/app/.next-cli-build/server/app/dashboard/experimental.segments/_full.segment.rsc +8 -8
  498. package/app/.next-cli-build/server/app/dashboard/experimental.segments/_tree.segment.rsc +2 -2
  499. package/app/.next-cli-build/server/app/dashboard/media-providers/web.html +2 -2
  500. package/app/.next-cli-build/server/app/dashboard/media-providers/web.rsc +8 -8
  501. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +8 -8
  502. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +8 -8
  503. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +2 -2
  504. package/app/.next-cli-build/server/app/dashboard/mitm.html +2 -2
  505. package/app/.next-cli-build/server/app/dashboard/mitm.rsc +8 -8
  506. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +8 -8
  507. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +8 -8
  508. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_tree.segment.rsc +2 -2
  509. package/app/.next-cli-build/server/app/dashboard/profile.html +2 -2
  510. package/app/.next-cli-build/server/app/dashboard/profile.rsc +8 -8
  511. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +8 -8
  512. package/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +8 -8
  513. package/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +2 -2
  514. package/app/.next-cli-build/server/app/dashboard/providers/new.html +2 -2
  515. package/app/.next-cli-build/server/app/dashboard/providers/new.rsc +8 -8
  516. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +8 -8
  517. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +8 -8
  518. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +2 -2
  519. package/app/.next-cli-build/server/app/dashboard/providers.html +2 -2
  520. package/app/.next-cli-build/server/app/dashboard/providers.rsc +8 -8
  521. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +8 -8
  522. package/app/.next-cli-build/server/app/dashboard/providers.segments/_full.segment.rsc +8 -8
  523. package/app/.next-cli-build/server/app/dashboard/providers.segments/_tree.segment.rsc +2 -2
  524. package/app/.next-cli-build/server/app/dashboard/proxy-pools.html +2 -2
  525. package/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +8 -8
  526. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +8 -8
  527. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +8 -8
  528. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +2 -2
  529. package/app/.next-cli-build/server/app/dashboard/pxpipe.html +2 -2
  530. package/app/.next-cli-build/server/app/dashboard/pxpipe.rsc +8 -8
  531. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe/__PAGE__.segment.rsc +8 -8
  532. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_full.segment.rsc +8 -8
  533. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_tree.segment.rsc +2 -2
  534. package/app/.next-cli-build/server/app/dashboard/quota.html +2 -2
  535. package/app/.next-cli-build/server/app/dashboard/quota.rsc +9 -9
  536. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +9 -9
  537. package/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +9 -9
  538. package/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +2 -2
  539. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js +1 -1
  540. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js.nft.json +1 -1
  541. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  542. package/app/.next-cli-build/server/app/dashboard/settings/pricing.html +2 -2
  543. package/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +6 -6
  544. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +6 -6
  545. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +2 -2
  546. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +6 -6
  547. package/app/.next-cli-build/server/app/dashboard/skills.html +2 -2
  548. package/app/.next-cli-build/server/app/dashboard/skills.rsc +8 -8
  549. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills/__PAGE__.segment.rsc +8 -8
  550. package/app/.next-cli-build/server/app/dashboard/skills.segments/_full.segment.rsc +8 -8
  551. package/app/.next-cli-build/server/app/dashboard/skills.segments/_tree.segment.rsc +2 -2
  552. package/app/.next-cli-build/server/app/dashboard/token-saver.html +2 -2
  553. package/app/.next-cli-build/server/app/dashboard/token-saver.rsc +8 -8
  554. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +8 -8
  555. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_full.segment.rsc +8 -8
  556. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_tree.segment.rsc +2 -2
  557. package/app/.next-cli-build/server/app/dashboard/translator.html +2 -2
  558. package/app/.next-cli-build/server/app/dashboard/translator.rsc +8 -8
  559. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +8 -8
  560. package/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +8 -8
  561. package/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +2 -2
  562. package/app/.next-cli-build/server/app/dashboard/usage.html +2 -2
  563. package/app/.next-cli-build/server/app/dashboard/usage.rsc +8 -8
  564. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +8 -8
  565. package/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +8 -8
  566. package/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +2 -2
  567. package/app/.next-cli-build/server/app/dashboard.html +2 -2
  568. package/app/.next-cli-build/server/app/dashboard.rsc +8 -8
  569. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +8 -8
  570. package/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +8 -8
  571. package/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +2 -2
  572. package/app/.next-cli-build/server/app/favicon.ico/route.js +1 -1
  573. package/app/.next-cli-build/server/app/favicon.ico/route.js.nft.json +1 -1
  574. package/app/.next-cli-build/server/app/index.html +1 -1
  575. package/app/.next-cli-build/server/app/index.rsc +6 -6
  576. package/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +6 -6
  577. package/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +6 -6
  578. package/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +2 -2
  579. package/app/.next-cli-build/server/app/landing/page.js +1 -1
  580. package/app/.next-cli-build/server/app/landing/page.js.nft.json +1 -1
  581. package/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
  582. package/app/.next-cli-build/server/app/landing.html +2 -2
  583. package/app/.next-cli-build/server/app/landing.rsc +7 -7
  584. package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +7 -7
  585. package/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +2 -2
  586. package/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +7 -7
  587. package/app/.next-cli-build/server/app/login/page.js +1 -1
  588. package/app/.next-cli-build/server/app/login/page.js.nft.json +1 -1
  589. package/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
  590. package/app/.next-cli-build/server/app/login.html +2 -2
  591. package/app/.next-cli-build/server/app/login.rsc +7 -7
  592. package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +7 -7
  593. package/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +2 -2
  594. package/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +7 -7
  595. package/app/.next-cli-build/server/app/manifest.webmanifest/route.js +2 -2
  596. package/app/.next-cli-build/server/app/manifest.webmanifest/route.js.nft.json +1 -1
  597. package/app/.next-cli-build/server/app/page.js +1 -1
  598. package/app/.next-cli-build/server/app/page.js.nft.json +1 -1
  599. package/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
  600. package/app/.next-cli-build/server/app-paths-manifest.json +41 -39
  601. package/app/.next-cli-build/server/chunks/1329.js +1 -1
  602. package/app/.next-cli-build/server/chunks/1622.js +1 -0
  603. package/app/.next-cli-build/server/chunks/1806.js +1 -1
  604. package/app/.next-cli-build/server/chunks/1819.js +1 -1
  605. package/app/.next-cli-build/server/chunks/1884.js +1 -1
  606. package/app/.next-cli-build/server/chunks/2132.js +1 -1
  607. package/app/.next-cli-build/server/chunks/2380.js +21 -0
  608. package/app/.next-cli-build/server/chunks/241.js +1 -1
  609. package/app/.next-cli-build/server/chunks/2557.js +1 -1
  610. package/app/.next-cli-build/server/chunks/318.js +8 -9
  611. package/app/.next-cli-build/server/chunks/{5625.js → 3389.js} +1 -1
  612. package/app/.next-cli-build/server/chunks/3662.js +1 -1
  613. package/app/.next-cli-build/server/chunks/3771.js +1 -0
  614. package/app/.next-cli-build/server/chunks/3792.js +1 -1
  615. package/app/.next-cli-build/server/chunks/3943.js +1 -1
  616. package/app/.next-cli-build/server/chunks/3962.js +1 -1
  617. package/app/.next-cli-build/server/chunks/4123.js +1 -1
  618. package/app/.next-cli-build/server/chunks/4575.js +1 -1
  619. package/app/.next-cli-build/server/chunks/4689.js +1 -1
  620. package/app/.next-cli-build/server/chunks/4692.js +1 -1
  621. package/app/.next-cli-build/server/chunks/4775.js +1 -1
  622. package/app/.next-cli-build/server/chunks/4906.js +1 -1
  623. package/app/.next-cli-build/server/chunks/4927.js +3 -3
  624. package/app/.next-cli-build/server/chunks/5210.js +27 -28
  625. package/app/.next-cli-build/server/chunks/5225.js +1 -0
  626. package/app/.next-cli-build/server/chunks/532.js +56 -0
  627. package/app/.next-cli-build/server/chunks/539.js +1 -1
  628. package/app/.next-cli-build/server/chunks/5527.js +1 -1
  629. package/app/.next-cli-build/server/chunks/5598.js +1 -1
  630. package/app/.next-cli-build/server/chunks/5615.js +1 -1
  631. package/app/.next-cli-build/server/chunks/5663.js +1 -1
  632. package/app/.next-cli-build/server/chunks/5757.js +1 -1
  633. package/app/.next-cli-build/server/chunks/5781.js +2 -2
  634. package/app/.next-cli-build/server/chunks/5837.js +1 -0
  635. package/app/.next-cli-build/server/chunks/6070.js +1 -1
  636. package/app/.next-cli-build/server/chunks/6103.js +1 -1
  637. package/app/.next-cli-build/server/chunks/615.js +1 -1
  638. package/app/.next-cli-build/server/chunks/6212.js +1 -0
  639. package/app/.next-cli-build/server/chunks/6306.js +1 -1
  640. package/app/.next-cli-build/server/chunks/6326.js +1 -1
  641. package/app/.next-cli-build/server/chunks/6763.js +1 -1
  642. package/app/.next-cli-build/server/chunks/6790.js +1 -1
  643. package/app/.next-cli-build/server/chunks/6844.js +1 -1
  644. package/app/.next-cli-build/server/chunks/6922.js +1 -1
  645. package/app/.next-cli-build/server/chunks/6956.js +1 -1
  646. package/app/.next-cli-build/server/chunks/6960.js +1 -1
  647. package/app/.next-cli-build/server/chunks/7067.js +1 -1
  648. package/app/.next-cli-build/server/chunks/7122.js +1 -1
  649. package/app/.next-cli-build/server/chunks/7209.js +1 -0
  650. package/app/.next-cli-build/server/chunks/7247.js +1 -1
  651. package/app/.next-cli-build/server/chunks/7274.js +1 -1
  652. package/app/.next-cli-build/server/chunks/7729.js +1 -1
  653. package/app/.next-cli-build/server/chunks/8145.js +1 -1
  654. package/app/.next-cli-build/server/chunks/8172.js +2 -2
  655. package/app/.next-cli-build/server/chunks/8318.js +1 -1
  656. package/app/.next-cli-build/server/chunks/8370.js +7 -7
  657. package/app/.next-cli-build/server/chunks/8410.js +1 -1
  658. package/app/.next-cli-build/server/chunks/8439.js +1 -1
  659. package/app/.next-cli-build/server/chunks/8595.js +1 -1
  660. package/app/.next-cli-build/server/chunks/8658.js +1 -1
  661. package/app/.next-cli-build/server/chunks/8775.js +1 -1
  662. package/app/.next-cli-build/server/chunks/8895.js +12 -12
  663. package/app/.next-cli-build/server/chunks/8920.js +1 -1
  664. package/app/.next-cli-build/server/chunks/8936.js +1 -0
  665. package/app/.next-cli-build/server/chunks/9154.js +1 -1
  666. package/app/.next-cli-build/server/chunks/9489.js +3 -3
  667. package/app/.next-cli-build/server/chunks/9536.js +1 -0
  668. package/app/.next-cli-build/server/chunks/9609.js +1 -1
  669. package/app/.next-cli-build/server/chunks/9628.js +1 -1
  670. package/app/.next-cli-build/server/instrumentation.js.nft.json +1 -1
  671. package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
  672. package/app/.next-cli-build/server/middleware.js +6 -6
  673. package/app/.next-cli-build/server/middleware.js.nft.json +1 -1
  674. package/app/.next-cli-build/server/pages/404.html +2 -2
  675. package/app/.next-cli-build/server/pages/500.html +1 -1
  676. package/app/.next-cli-build/server/server-reference-manifest.js +1 -1
  677. package/app/.next-cli-build/server/server-reference-manifest.json +1 -1
  678. package/app/.next-cli-build/static/chunks/1321-25956f9bfbc2e6da.js +1 -0
  679. package/app/.next-cli-build/static/chunks/5497-100281ed6ce1f83b.js +7 -0
  680. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/combos/page-a2f5c1fa12df475b.js +1 -0
  681. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page-f88e03168e9e8695.js +70 -0
  682. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-06a1bcff8b1400de.js +14 -0
  683. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/page-ae18cdfbbd2df1ec.js +1 -0
  684. package/app/.next-cli-build/static/chunks/app/_global-error/{page-fb1f157de1c4ca66.js → page-532e70b87e3cfbaa.js} +1 -1
  685. package/app/.next-cli-build/static/chunks/app/api/auth/login/{route-fb1f157de1c4ca66.js → route-532e70b87e3cfbaa.js} +1 -1
  686. package/app/.next-cli-build/static/chunks/app/api/auth/logout/{route-fb1f157de1c4ca66.js → route-532e70b87e3cfbaa.js} +1 -1
  687. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/callback/{route-fb1f157de1c4ca66.js → route-532e70b87e3cfbaa.js} +1 -1
  688. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/start/route-532e70b87e3cfbaa.js +1 -0
  689. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/test/route-532e70b87e3cfbaa.js +1 -0
  690. package/app/.next-cli-build/static/chunks/app/api/auth/reset-password/route-532e70b87e3cfbaa.js +1 -0
  691. package/app/.next-cli-build/static/chunks/app/api/auth/saml/acs/route-532e70b87e3cfbaa.js +1 -0
  692. package/app/.next-cli-build/static/chunks/app/api/auth/saml/metadata/route-532e70b87e3cfbaa.js +1 -0
  693. package/app/.next-cli-build/static/chunks/app/api/auth/saml/start/route-532e70b87e3cfbaa.js +1 -0
  694. package/app/.next-cli-build/static/chunks/app/api/auth/saml/test/route-532e70b87e3cfbaa.js +1 -0
  695. package/app/.next-cli-build/static/chunks/app/api/auth/status/route-532e70b87e3cfbaa.js +1 -0
  696. package/app/.next-cli-build/static/chunks/app/api/auth/verify-password/route-532e70b87e3cfbaa.js +1 -0
  697. package/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-532e70b87e3cfbaa.js +1 -0
  698. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-532e70b87e3cfbaa.js +1 -0
  699. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-532e70b87e3cfbaa.js +1 -0
  700. package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-profiles/route-532e70b87e3cfbaa.js +1 -0
  701. package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-532e70b87e3cfbaa.js +1 -0
  702. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-532e70b87e3cfbaa.js +1 -0
  703. package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-profiles/route-532e70b87e3cfbaa.js +1 -0
  704. package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-532e70b87e3cfbaa.js +1 -0
  705. package/app/.next-cli-build/static/chunks/app/api/cli-tools/copilot-settings/route-532e70b87e3cfbaa.js +1 -0
  706. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-532e70b87e3cfbaa.js +1 -0
  707. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-532e70b87e3cfbaa.js +1 -0
  708. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-532e70b87e3cfbaa.js +1 -0
  709. package/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-532e70b87e3cfbaa.js +1 -0
  710. package/app/.next-cli-build/static/chunks/app/api/cli-tools/devin-settings/route-532e70b87e3cfbaa.js +1 -0
  711. package/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-532e70b87e3cfbaa.js +1 -0
  712. package/app/.next-cli-build/static/chunks/app/api/cli-tools/grok-build-settings/route-532e70b87e3cfbaa.js +1 -0
  713. package/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-532e70b87e3cfbaa.js +1 -0
  714. package/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-532e70b87e3cfbaa.js +1 -0
  715. package/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-532e70b87e3cfbaa.js +1 -0
  716. package/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-532e70b87e3cfbaa.js +1 -0
  717. package/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-532e70b87e3cfbaa.js +1 -0
  718. package/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-532e70b87e3cfbaa.js +1 -0
  719. package/app/.next-cli-build/static/chunks/app/api/combos/route-532e70b87e3cfbaa.js +1 -0
  720. package/app/.next-cli-build/static/chunks/app/api/external-quota/[source]/route-532e70b87e3cfbaa.js +1 -0
  721. package/app/.next-cli-build/static/chunks/app/api/gateway-probe/route-532e70b87e3cfbaa.js +1 -0
  722. package/app/.next-cli-build/static/chunks/app/api/headroom/extras/route-532e70b87e3cfbaa.js +1 -0
  723. package/app/.next-cli-build/static/chunks/app/api/headroom/proxy/[...path]/route-532e70b87e3cfbaa.js +1 -0
  724. package/app/.next-cli-build/static/chunks/app/api/headroom/restart/route-532e70b87e3cfbaa.js +1 -0
  725. package/app/.next-cli-build/static/chunks/app/api/headroom/start/route-532e70b87e3cfbaa.js +1 -0
  726. package/app/.next-cli-build/static/chunks/app/api/headroom/status/route-532e70b87e3cfbaa.js +1 -0
  727. package/app/.next-cli-build/static/chunks/app/api/headroom/stop/route-532e70b87e3cfbaa.js +1 -0
  728. package/app/.next-cli-build/static/chunks/app/api/health/route-532e70b87e3cfbaa.js +1 -0
  729. package/app/.next-cli-build/static/chunks/app/api/init/route-532e70b87e3cfbaa.js +1 -0
  730. package/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-532e70b87e3cfbaa.js +1 -0
  731. package/app/.next-cli-build/static/chunks/app/api/keys/rotate/route-532e70b87e3cfbaa.js +1 -0
  732. package/app/.next-cli-build/static/chunks/app/api/keys/route-532e70b87e3cfbaa.js +1 -0
  733. package/app/.next-cli-build/static/chunks/app/api/locale/route-532e70b87e3cfbaa.js +1 -0
  734. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-532e70b87e3cfbaa.js +1 -0
  735. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-532e70b87e3cfbaa.js +1 -0
  736. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-532e70b87e3cfbaa.js +1 -0
  737. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-532e70b87e3cfbaa.js +1 -0
  738. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-532e70b87e3cfbaa.js +1 -0
  739. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-532e70b87e3cfbaa.js +1 -0
  740. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-532e70b87e3cfbaa.js +1 -0
  741. package/app/.next-cli-build/static/chunks/app/api/models/alias/route-532e70b87e3cfbaa.js +1 -0
  742. package/app/.next-cli-build/static/chunks/app/api/models/availability/route-532e70b87e3cfbaa.js +1 -0
  743. package/app/.next-cli-build/static/chunks/app/api/models/caps/route-532e70b87e3cfbaa.js +1 -0
  744. package/app/.next-cli-build/static/chunks/app/api/models/custom/bulk/route-532e70b87e3cfbaa.js +1 -0
  745. package/app/.next-cli-build/static/chunks/app/api/models/custom/route-532e70b87e3cfbaa.js +1 -0
  746. package/app/.next-cli-build/static/chunks/app/api/models/disabled/route-532e70b87e3cfbaa.js +1 -0
  747. package/app/.next-cli-build/static/chunks/app/api/models/route-532e70b87e3cfbaa.js +1 -0
  748. package/app/.next-cli-build/static/chunks/app/api/models/test/route-532e70b87e3cfbaa.js +1 -0
  749. package/app/.next-cli-build/static/chunks/app/api/network/egress-region/route-532e70b87e3cfbaa.js +1 -0
  750. package/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-532e70b87e3cfbaa.js +1 -0
  751. package/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-import/route-532e70b87e3cfbaa.js +1 -0
  752. package/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/checkin/route-532e70b87e3cfbaa.js +1 -0
  753. package/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/claim-compensation/route-532e70b87e3cfbaa.js +1 -0
  754. package/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/export/route-532e70b87e3cfbaa.js +1 -0
  755. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/bulk-import/route-532e70b87e3cfbaa.js +1 -0
  756. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-532e70b87e3cfbaa.js +1 -0
  757. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-532e70b87e3cfbaa.js +1 -0
  758. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-532e70b87e3cfbaa.js +1 -0
  759. package/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-532e70b87e3cfbaa.js +1 -0
  760. package/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-532e70b87e3cfbaa.js +1 -0
  761. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/api-key/route-532e70b87e3cfbaa.js +1 -0
  762. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-532e70b87e3cfbaa.js +1 -0
  763. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-532e70b87e3cfbaa.js +1 -0
  764. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import-cli-proxy/route-532e70b87e3cfbaa.js +1 -0
  765. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-532e70b87e3cfbaa.js +1 -0
  766. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-532e70b87e3cfbaa.js +1 -0
  767. package/app/.next-cli-build/static/chunks/app/api/oauth/loomy/sms-login/route-532e70b87e3cfbaa.js +1 -0
  768. package/app/.next-cli-build/static/chunks/app/api/oauth/loomy/sms-send/route-532e70b87e3cfbaa.js +1 -0
  769. package/app/.next-cli-build/static/chunks/app/api/oauth/qoder/checkin/route-532e70b87e3cfbaa.js +1 -0
  770. package/app/.next-cli-build/static/chunks/app/api/oauth/qoder-cn/checkin/route-532e70b87e3cfbaa.js +1 -0
  771. package/app/.next-cli-build/static/chunks/app/api/oauth/transfer/export/route-532e70b87e3cfbaa.js +1 -0
  772. package/app/.next-cli-build/static/chunks/app/api/oauth/transfer/import/route-532e70b87e3cfbaa.js +1 -0
  773. package/app/.next-cli-build/static/chunks/app/api/oauth/xiaomi-mimo/api-key/route-532e70b87e3cfbaa.js +1 -0
  774. package/app/.next-cli-build/static/chunks/app/api/oauth/xiaomi-mimo/auto-import/route-532e70b87e3cfbaa.js +1 -0
  775. package/app/.next-cli-build/static/chunks/app/api/oauth/xiaomi-mimo/desktop-kill/route-532e70b87e3cfbaa.js +1 -0
  776. package/app/.next-cli-build/static/chunks/app/api/oauth/xiaomi-mimo/desktop-status/route-532e70b87e3cfbaa.js +1 -0
  777. package/app/.next-cli-build/static/chunks/app/api/oauth/zed/auto-import/route-532e70b87e3cfbaa.js +1 -0
  778. package/app/.next-cli-build/static/chunks/app/api/oauth/zed/import/route-532e70b87e3cfbaa.js +1 -0
  779. package/app/.next-cli-build/static/chunks/app/api/pricing/route-532e70b87e3cfbaa.js +1 -0
  780. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-532e70b87e3cfbaa.js +1 -0
  781. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-532e70b87e3cfbaa.js +1 -0
  782. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-532e70b87e3cfbaa.js +1 -0
  783. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-532e70b87e3cfbaa.js +1 -0
  784. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-532e70b87e3cfbaa.js +1 -0
  785. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-532e70b87e3cfbaa.js +1 -0
  786. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-532e70b87e3cfbaa.js +1 -0
  787. package/app/.next-cli-build/static/chunks/app/api/providers/client/route-532e70b87e3cfbaa.js +1 -0
  788. package/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-532e70b87e3cfbaa.js +1 -0
  789. package/app/.next-cli-build/static/chunks/app/api/providers/route-532e70b87e3cfbaa.js +1 -0
  790. package/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-532e70b87e3cfbaa.js +1 -0
  791. package/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-532e70b87e3cfbaa.js +1 -0
  792. package/app/.next-cli-build/static/chunks/app/api/providers/validate/route-532e70b87e3cfbaa.js +1 -0
  793. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/route-532e70b87e3cfbaa.js +1 -0
  794. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/test/route-532e70b87e3cfbaa.js +1 -0
  795. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-532e70b87e3cfbaa.js +1 -0
  796. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/deno-deploy/route-532e70b87e3cfbaa.js +1 -0
  797. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/route-532e70b87e3cfbaa.js +1 -0
  798. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/vercel-deploy/route-532e70b87e3cfbaa.js +1 -0
  799. package/app/.next-cli-build/static/chunks/app/api/pxpipe/health/route-532e70b87e3cfbaa.js +1 -0
  800. package/app/.next-cli-build/static/chunks/app/api/pxpipe/install/route-532e70b87e3cfbaa.js +1 -0
  801. package/app/.next-cli-build/static/chunks/app/api/pxpipe/logs/route-532e70b87e3cfbaa.js +1 -0
  802. package/app/.next-cli-build/static/chunks/app/api/pxpipe/restart/route-532e70b87e3cfbaa.js +1 -0
  803. package/app/.next-cli-build/static/chunks/app/api/pxpipe/start/route-532e70b87e3cfbaa.js +1 -0
  804. package/app/.next-cli-build/static/chunks/app/api/pxpipe/stats/route-532e70b87e3cfbaa.js +1 -0
  805. package/app/.next-cli-build/static/chunks/app/api/pxpipe/status/route-532e70b87e3cfbaa.js +1 -0
  806. package/app/.next-cli-build/static/chunks/app/api/pxpipe/stop/route-532e70b87e3cfbaa.js +1 -0
  807. package/app/.next-cli-build/static/chunks/app/api/security/status/route-532e70b87e3cfbaa.js +1 -0
  808. package/app/.next-cli-build/static/chunks/app/api/settings/database/import-usage/route-532e70b87e3cfbaa.js +1 -0
  809. package/app/.next-cli-build/static/chunks/app/api/settings/database/route-532e70b87e3cfbaa.js +1 -0
  810. package/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-532e70b87e3cfbaa.js +1 -0
  811. package/app/.next-cli-build/static/chunks/app/api/settings/require-login/route-532e70b87e3cfbaa.js +1 -0
  812. package/app/.next-cli-build/static/chunks/app/api/settings/route-532e70b87e3cfbaa.js +1 -0
  813. package/app/.next-cli-build/static/chunks/app/api/shutdown/route-532e70b87e3cfbaa.js +1 -0
  814. package/app/.next-cli-build/static/chunks/app/api/tags/route-532e70b87e3cfbaa.js +1 -0
  815. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-532e70b87e3cfbaa.js +1 -0
  816. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-532e70b87e3cfbaa.js +1 -0
  817. package/app/.next-cli-build/static/chunks/app/api/translator/load/route-532e70b87e3cfbaa.js +1 -0
  818. package/app/.next-cli-build/static/chunks/app/api/translator/save/route-532e70b87e3cfbaa.js +1 -0
  819. package/app/.next-cli-build/static/chunks/app/api/translator/send/route-532e70b87e3cfbaa.js +1 -0
  820. package/app/.next-cli-build/static/chunks/app/api/translator/translate/route-532e70b87e3cfbaa.js +1 -0
  821. package/app/.next-cli-build/static/chunks/app/api/tunnel/disable/route-532e70b87e3cfbaa.js +1 -0
  822. package/app/.next-cli-build/static/chunks/app/api/tunnel/enable/route-532e70b87e3cfbaa.js +1 -0
  823. package/app/.next-cli-build/static/chunks/app/api/tunnel/status/route-532e70b87e3cfbaa.js +1 -0
  824. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-check/route-532e70b87e3cfbaa.js +1 -0
  825. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-disable/route-532e70b87e3cfbaa.js +1 -0
  826. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-enable/route-532e70b87e3cfbaa.js +1 -0
  827. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-install/route-532e70b87e3cfbaa.js +1 -0
  828. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/claude-reset/route-532e70b87e3cfbaa.js +1 -0
  829. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/codex-reset-credits/route-532e70b87e3cfbaa.js +1 -0
  830. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-532e70b87e3cfbaa.js +1 -0
  831. package/app/.next-cli-build/static/chunks/app/api/usage/chart/route-532e70b87e3cfbaa.js +1 -0
  832. package/app/.next-cli-build/static/chunks/app/api/usage/dashboard/route-532e70b87e3cfbaa.js +1 -0
  833. package/app/.next-cli-build/static/chunks/app/api/usage/history/route-532e70b87e3cfbaa.js +1 -0
  834. package/app/.next-cli-build/static/chunks/app/api/usage/logs/route-532e70b87e3cfbaa.js +1 -0
  835. package/app/.next-cli-build/static/chunks/app/api/usage/providers/route-532e70b87e3cfbaa.js +1 -0
  836. package/app/.next-cli-build/static/chunks/app/api/usage/quotas/route-532e70b87e3cfbaa.js +1 -0
  837. package/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-532e70b87e3cfbaa.js +1 -0
  838. package/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-532e70b87e3cfbaa.js +1 -0
  839. package/app/.next-cli-build/static/chunks/app/api/usage/stats/route-532e70b87e3cfbaa.js +1 -0
  840. package/app/.next-cli-build/static/chunks/app/api/usage/stream/route-532e70b87e3cfbaa.js +1 -0
  841. package/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-532e70b87e3cfbaa.js +1 -0
  842. package/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-532e70b87e3cfbaa.js +1 -0
  843. package/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-532e70b87e3cfbaa.js +1 -0
  844. package/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-532e70b87e3cfbaa.js +1 -0
  845. package/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-532e70b87e3cfbaa.js +1 -0
  846. package/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-532e70b87e3cfbaa.js +1 -0
  847. package/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-532e70b87e3cfbaa.js +1 -0
  848. package/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-532e70b87e3cfbaa.js +1 -0
  849. package/app/.next-cli-build/static/chunks/app/api/v1/messages/route-532e70b87e3cfbaa.js +1 -0
  850. package/app/.next-cli-build/static/chunks/app/api/v1/models/[kind]/route-532e70b87e3cfbaa.js +1 -0
  851. package/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-532e70b87e3cfbaa.js +1 -0
  852. package/app/.next-cli-build/static/chunks/app/api/v1/models/route-532e70b87e3cfbaa.js +1 -0
  853. package/app/.next-cli-build/static/chunks/app/api/v1/rerank/route-532e70b87e3cfbaa.js +1 -0
  854. package/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-532e70b87e3cfbaa.js +1 -0
  855. package/app/.next-cli-build/static/chunks/app/api/v1/responses/route-532e70b87e3cfbaa.js +1 -0
  856. package/app/.next-cli-build/static/chunks/app/api/v1/route-532e70b87e3cfbaa.js +1 -0
  857. package/app/.next-cli-build/static/chunks/app/api/v1/search/route-532e70b87e3cfbaa.js +1 -0
  858. package/app/.next-cli-build/static/chunks/app/api/v1/systemone/route-532e70b87e3cfbaa.js +1 -0
  859. package/app/.next-cli-build/static/chunks/app/api/v1/videos/[id]/route-532e70b87e3cfbaa.js +1 -0
  860. package/app/.next-cli-build/static/chunks/app/api/v1/videos/edits/route-532e70b87e3cfbaa.js +1 -0
  861. package/app/.next-cli-build/static/chunks/app/api/v1/videos/extensions/route-532e70b87e3cfbaa.js +1 -0
  862. package/app/.next-cli-build/static/chunks/app/api/v1/videos/generations/route-532e70b87e3cfbaa.js +1 -0
  863. package/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-532e70b87e3cfbaa.js +1 -0
  864. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-532e70b87e3cfbaa.js +1 -0
  865. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-532e70b87e3cfbaa.js +1 -0
  866. package/app/.next-cli-build/static/chunks/app/api/version/route-532e70b87e3cfbaa.js +1 -0
  867. package/app/.next-cli-build/static/chunks/app/api/version/shell-update/route-532e70b87e3cfbaa.js +1 -0
  868. package/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-532e70b87e3cfbaa.js +1 -0
  869. package/app/.next-cli-build/static/chunks/app/api/version/update/route-532e70b87e3cfbaa.js +1 -0
  870. package/app/.next-cli-build/static/chunks/app/landing/page-ff4bd46662925378.js +1 -0
  871. package/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-532e70b87e3cfbaa.js +1 -0
  872. package/app/.next-cli-build/static/chunks/app/page-532e70b87e3cfbaa.js +1 -0
  873. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-532e70b87e3cfbaa.js +1 -0
  874. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-532e70b87e3cfbaa.js +1 -0
  875. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-532e70b87e3cfbaa.js +1 -0
  876. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-532e70b87e3cfbaa.js +1 -0
  877. package/app/.next-cli-build/static/css/{17275fac82e1641e.css → 63c4d9ca82aea954.css} +1 -1
  878. package/app/.next-cli-build/static/ilH6FH_DABFzbJ122SgT6/_buildManifest.js +1 -0
  879. package/app/package.json +71 -71
  880. package/app/public/i18n/changelog/en.md +569 -513
  881. package/app/public/i18n/changelog/zh-CN.md +566 -511
  882. package/app/public/i18n/changelog/zh-TW.md +568 -513
  883. package/app/public/i18n/literals/zh-CN.json +2139 -2107
  884. package/app/public/i18n/literals/zh-TW.json +11 -0
  885. package/app/public/providers/doubao.svg +14 -0
  886. package/app/public/providers/loomy.png +0 -0
  887. package/app/public/providers/nace.png +0 -0
  888. package/app/public/providers/oxion.png +0 -0
  889. package/app/public/providers/uc-web.png +0 -0
  890. package/app/public/providers/veoaifree-web.png +0 -0
  891. package/app/src/shared/utils/apiKey.js +17 -1
  892. package/package.json +61 -61
  893. package/app/.next-cli-build/server/chunks/2154.js +0 -1
  894. package/app/.next-cli-build/server/chunks/3267.js +0 -1
  895. package/app/.next-cli-build/server/chunks/3500.js +0 -56
  896. package/app/.next-cli-build/server/chunks/4386.js +0 -1
  897. package/app/.next-cli-build/server/chunks/6756.js +0 -1
  898. package/app/.next-cli-build/server/chunks/75.js +0 -1
  899. package/app/.next-cli-build/server/chunks/8499.js +0 -21
  900. package/app/.next-cli-build/static/1q0xTGDYtD52dGw4uiY4-/_buildManifest.js +0 -1
  901. package/app/.next-cli-build/static/chunks/1321-77ba328dd4d69fdb.js +0 -1
  902. package/app/.next-cli-build/static/chunks/5497-ec8a6308121a2b70.js +0 -7
  903. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/combos/page-8f6aadfc8bf2eb7b.js +0 -1
  904. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page-6db03f8140121a40.js +0 -70
  905. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-a6b07fa9d0712cee.js +0 -14
  906. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/page-1e4e3f6f20152da1.js +0 -1
  907. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/start/route-fb1f157de1c4ca66.js +0 -1
  908. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/test/route-fb1f157de1c4ca66.js +0 -1
  909. package/app/.next-cli-build/static/chunks/app/api/auth/reset-password/route-fb1f157de1c4ca66.js +0 -1
  910. package/app/.next-cli-build/static/chunks/app/api/auth/saml/acs/route-fb1f157de1c4ca66.js +0 -1
  911. package/app/.next-cli-build/static/chunks/app/api/auth/saml/metadata/route-fb1f157de1c4ca66.js +0 -1
  912. package/app/.next-cli-build/static/chunks/app/api/auth/saml/start/route-fb1f157de1c4ca66.js +0 -1
  913. package/app/.next-cli-build/static/chunks/app/api/auth/saml/test/route-fb1f157de1c4ca66.js +0 -1
  914. package/app/.next-cli-build/static/chunks/app/api/auth/status/route-fb1f157de1c4ca66.js +0 -1
  915. package/app/.next-cli-build/static/chunks/app/api/auth/verify-password/route-fb1f157de1c4ca66.js +0 -1
  916. package/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-fb1f157de1c4ca66.js +0 -1
  917. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-fb1f157de1c4ca66.js +0 -1
  918. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-fb1f157de1c4ca66.js +0 -1
  919. package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-profiles/route-fb1f157de1c4ca66.js +0 -1
  920. package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-fb1f157de1c4ca66.js +0 -1
  921. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-fb1f157de1c4ca66.js +0 -1
  922. package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-profiles/route-fb1f157de1c4ca66.js +0 -1
  923. package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-fb1f157de1c4ca66.js +0 -1
  924. package/app/.next-cli-build/static/chunks/app/api/cli-tools/copilot-settings/route-fb1f157de1c4ca66.js +0 -1
  925. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-fb1f157de1c4ca66.js +0 -1
  926. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-fb1f157de1c4ca66.js +0 -1
  927. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-fb1f157de1c4ca66.js +0 -1
  928. package/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-fb1f157de1c4ca66.js +0 -1
  929. package/app/.next-cli-build/static/chunks/app/api/cli-tools/devin-settings/route-fb1f157de1c4ca66.js +0 -1
  930. package/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-fb1f157de1c4ca66.js +0 -1
  931. package/app/.next-cli-build/static/chunks/app/api/cli-tools/grok-build-settings/route-fb1f157de1c4ca66.js +0 -1
  932. package/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-fb1f157de1c4ca66.js +0 -1
  933. package/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-fb1f157de1c4ca66.js +0 -1
  934. package/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-fb1f157de1c4ca66.js +0 -1
  935. package/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-fb1f157de1c4ca66.js +0 -1
  936. package/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-fb1f157de1c4ca66.js +0 -1
  937. package/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-fb1f157de1c4ca66.js +0 -1
  938. package/app/.next-cli-build/static/chunks/app/api/combos/route-fb1f157de1c4ca66.js +0 -1
  939. package/app/.next-cli-build/static/chunks/app/api/external-quota/[source]/route-fb1f157de1c4ca66.js +0 -1
  940. package/app/.next-cli-build/static/chunks/app/api/gateway-probe/route-fb1f157de1c4ca66.js +0 -1
  941. package/app/.next-cli-build/static/chunks/app/api/headroom/extras/route-fb1f157de1c4ca66.js +0 -1
  942. package/app/.next-cli-build/static/chunks/app/api/headroom/proxy/[...path]/route-fb1f157de1c4ca66.js +0 -1
  943. package/app/.next-cli-build/static/chunks/app/api/headroom/restart/route-fb1f157de1c4ca66.js +0 -1
  944. package/app/.next-cli-build/static/chunks/app/api/headroom/start/route-fb1f157de1c4ca66.js +0 -1
  945. package/app/.next-cli-build/static/chunks/app/api/headroom/status/route-fb1f157de1c4ca66.js +0 -1
  946. package/app/.next-cli-build/static/chunks/app/api/headroom/stop/route-fb1f157de1c4ca66.js +0 -1
  947. package/app/.next-cli-build/static/chunks/app/api/health/route-fb1f157de1c4ca66.js +0 -1
  948. package/app/.next-cli-build/static/chunks/app/api/init/route-fb1f157de1c4ca66.js +0 -1
  949. package/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-fb1f157de1c4ca66.js +0 -1
  950. package/app/.next-cli-build/static/chunks/app/api/keys/rotate/route-fb1f157de1c4ca66.js +0 -1
  951. package/app/.next-cli-build/static/chunks/app/api/keys/route-fb1f157de1c4ca66.js +0 -1
  952. package/app/.next-cli-build/static/chunks/app/api/locale/route-fb1f157de1c4ca66.js +0 -1
  953. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-fb1f157de1c4ca66.js +0 -1
  954. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-fb1f157de1c4ca66.js +0 -1
  955. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-fb1f157de1c4ca66.js +0 -1
  956. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-fb1f157de1c4ca66.js +0 -1
  957. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-fb1f157de1c4ca66.js +0 -1
  958. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-fb1f157de1c4ca66.js +0 -1
  959. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-fb1f157de1c4ca66.js +0 -1
  960. package/app/.next-cli-build/static/chunks/app/api/models/alias/route-fb1f157de1c4ca66.js +0 -1
  961. package/app/.next-cli-build/static/chunks/app/api/models/availability/route-fb1f157de1c4ca66.js +0 -1
  962. package/app/.next-cli-build/static/chunks/app/api/models/caps/route-fb1f157de1c4ca66.js +0 -1
  963. package/app/.next-cli-build/static/chunks/app/api/models/custom/bulk/route-fb1f157de1c4ca66.js +0 -1
  964. package/app/.next-cli-build/static/chunks/app/api/models/custom/route-fb1f157de1c4ca66.js +0 -1
  965. package/app/.next-cli-build/static/chunks/app/api/models/disabled/route-fb1f157de1c4ca66.js +0 -1
  966. package/app/.next-cli-build/static/chunks/app/api/models/route-fb1f157de1c4ca66.js +0 -1
  967. package/app/.next-cli-build/static/chunks/app/api/models/test/route-fb1f157de1c4ca66.js +0 -1
  968. package/app/.next-cli-build/static/chunks/app/api/network/egress-region/route-fb1f157de1c4ca66.js +0 -1
  969. package/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-fb1f157de1c4ca66.js +0 -1
  970. package/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-import/route-fb1f157de1c4ca66.js +0 -1
  971. package/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/checkin/route-fb1f157de1c4ca66.js +0 -1
  972. package/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/claim-compensation/route-fb1f157de1c4ca66.js +0 -1
  973. package/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/export/route-fb1f157de1c4ca66.js +0 -1
  974. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/bulk-import/route-fb1f157de1c4ca66.js +0 -1
  975. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-fb1f157de1c4ca66.js +0 -1
  976. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-fb1f157de1c4ca66.js +0 -1
  977. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-fb1f157de1c4ca66.js +0 -1
  978. package/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-fb1f157de1c4ca66.js +0 -1
  979. package/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-fb1f157de1c4ca66.js +0 -1
  980. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/api-key/route-fb1f157de1c4ca66.js +0 -1
  981. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-fb1f157de1c4ca66.js +0 -1
  982. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-fb1f157de1c4ca66.js +0 -1
  983. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import-cli-proxy/route-fb1f157de1c4ca66.js +0 -1
  984. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-fb1f157de1c4ca66.js +0 -1
  985. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-fb1f157de1c4ca66.js +0 -1
  986. package/app/.next-cli-build/static/chunks/app/api/oauth/qoder/checkin/route-fb1f157de1c4ca66.js +0 -1
  987. package/app/.next-cli-build/static/chunks/app/api/oauth/qoder-cn/checkin/route-fb1f157de1c4ca66.js +0 -1
  988. package/app/.next-cli-build/static/chunks/app/api/oauth/transfer/export/route-fb1f157de1c4ca66.js +0 -1
  989. package/app/.next-cli-build/static/chunks/app/api/oauth/transfer/import/route-fb1f157de1c4ca66.js +0 -1
  990. package/app/.next-cli-build/static/chunks/app/api/oauth/xiaomi-mimo/api-key/route-fb1f157de1c4ca66.js +0 -1
  991. package/app/.next-cli-build/static/chunks/app/api/oauth/xiaomi-mimo/auto-import/route-fb1f157de1c4ca66.js +0 -1
  992. package/app/.next-cli-build/static/chunks/app/api/oauth/xiaomi-mimo/desktop-kill/route-fb1f157de1c4ca66.js +0 -1
  993. package/app/.next-cli-build/static/chunks/app/api/oauth/xiaomi-mimo/desktop-status/route-fb1f157de1c4ca66.js +0 -1
  994. package/app/.next-cli-build/static/chunks/app/api/oauth/zed/auto-import/route-fb1f157de1c4ca66.js +0 -1
  995. package/app/.next-cli-build/static/chunks/app/api/oauth/zed/import/route-fb1f157de1c4ca66.js +0 -1
  996. package/app/.next-cli-build/static/chunks/app/api/pricing/route-fb1f157de1c4ca66.js +0 -1
  997. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-fb1f157de1c4ca66.js +0 -1
  998. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-fb1f157de1c4ca66.js +0 -1
  999. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-fb1f157de1c4ca66.js +0 -1
  1000. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-fb1f157de1c4ca66.js +0 -1
  1001. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-fb1f157de1c4ca66.js +0 -1
  1002. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-fb1f157de1c4ca66.js +0 -1
  1003. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-fb1f157de1c4ca66.js +0 -1
  1004. package/app/.next-cli-build/static/chunks/app/api/providers/client/route-fb1f157de1c4ca66.js +0 -1
  1005. package/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-fb1f157de1c4ca66.js +0 -1
  1006. package/app/.next-cli-build/static/chunks/app/api/providers/route-fb1f157de1c4ca66.js +0 -1
  1007. package/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-fb1f157de1c4ca66.js +0 -1
  1008. package/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-fb1f157de1c4ca66.js +0 -1
  1009. package/app/.next-cli-build/static/chunks/app/api/providers/validate/route-fb1f157de1c4ca66.js +0 -1
  1010. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/route-fb1f157de1c4ca66.js +0 -1
  1011. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/test/route-fb1f157de1c4ca66.js +0 -1
  1012. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-fb1f157de1c4ca66.js +0 -1
  1013. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/deno-deploy/route-fb1f157de1c4ca66.js +0 -1
  1014. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/route-fb1f157de1c4ca66.js +0 -1
  1015. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/vercel-deploy/route-fb1f157de1c4ca66.js +0 -1
  1016. package/app/.next-cli-build/static/chunks/app/api/pxpipe/health/route-fb1f157de1c4ca66.js +0 -1
  1017. package/app/.next-cli-build/static/chunks/app/api/pxpipe/install/route-fb1f157de1c4ca66.js +0 -1
  1018. package/app/.next-cli-build/static/chunks/app/api/pxpipe/logs/route-fb1f157de1c4ca66.js +0 -1
  1019. package/app/.next-cli-build/static/chunks/app/api/pxpipe/restart/route-fb1f157de1c4ca66.js +0 -1
  1020. package/app/.next-cli-build/static/chunks/app/api/pxpipe/start/route-fb1f157de1c4ca66.js +0 -1
  1021. package/app/.next-cli-build/static/chunks/app/api/pxpipe/stats/route-fb1f157de1c4ca66.js +0 -1
  1022. package/app/.next-cli-build/static/chunks/app/api/pxpipe/status/route-fb1f157de1c4ca66.js +0 -1
  1023. package/app/.next-cli-build/static/chunks/app/api/pxpipe/stop/route-fb1f157de1c4ca66.js +0 -1
  1024. package/app/.next-cli-build/static/chunks/app/api/security/status/route-fb1f157de1c4ca66.js +0 -1
  1025. package/app/.next-cli-build/static/chunks/app/api/settings/database/import-usage/route-fb1f157de1c4ca66.js +0 -1
  1026. package/app/.next-cli-build/static/chunks/app/api/settings/database/route-fb1f157de1c4ca66.js +0 -1
  1027. package/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-fb1f157de1c4ca66.js +0 -1
  1028. package/app/.next-cli-build/static/chunks/app/api/settings/require-login/route-fb1f157de1c4ca66.js +0 -1
  1029. package/app/.next-cli-build/static/chunks/app/api/settings/route-fb1f157de1c4ca66.js +0 -1
  1030. package/app/.next-cli-build/static/chunks/app/api/shutdown/route-fb1f157de1c4ca66.js +0 -1
  1031. package/app/.next-cli-build/static/chunks/app/api/tags/route-fb1f157de1c4ca66.js +0 -1
  1032. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-fb1f157de1c4ca66.js +0 -1
  1033. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-fb1f157de1c4ca66.js +0 -1
  1034. package/app/.next-cli-build/static/chunks/app/api/translator/load/route-fb1f157de1c4ca66.js +0 -1
  1035. package/app/.next-cli-build/static/chunks/app/api/translator/save/route-fb1f157de1c4ca66.js +0 -1
  1036. package/app/.next-cli-build/static/chunks/app/api/translator/send/route-fb1f157de1c4ca66.js +0 -1
  1037. package/app/.next-cli-build/static/chunks/app/api/translator/translate/route-fb1f157de1c4ca66.js +0 -1
  1038. package/app/.next-cli-build/static/chunks/app/api/tunnel/disable/route-fb1f157de1c4ca66.js +0 -1
  1039. package/app/.next-cli-build/static/chunks/app/api/tunnel/enable/route-fb1f157de1c4ca66.js +0 -1
  1040. package/app/.next-cli-build/static/chunks/app/api/tunnel/status/route-fb1f157de1c4ca66.js +0 -1
  1041. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-check/route-fb1f157de1c4ca66.js +0 -1
  1042. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-disable/route-fb1f157de1c4ca66.js +0 -1
  1043. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-enable/route-fb1f157de1c4ca66.js +0 -1
  1044. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-install/route-fb1f157de1c4ca66.js +0 -1
  1045. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/claude-reset/route-fb1f157de1c4ca66.js +0 -1
  1046. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/codex-reset-credits/route-fb1f157de1c4ca66.js +0 -1
  1047. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-fb1f157de1c4ca66.js +0 -1
  1048. package/app/.next-cli-build/static/chunks/app/api/usage/chart/route-fb1f157de1c4ca66.js +0 -1
  1049. package/app/.next-cli-build/static/chunks/app/api/usage/dashboard/route-fb1f157de1c4ca66.js +0 -1
  1050. package/app/.next-cli-build/static/chunks/app/api/usage/history/route-fb1f157de1c4ca66.js +0 -1
  1051. package/app/.next-cli-build/static/chunks/app/api/usage/logs/route-fb1f157de1c4ca66.js +0 -1
  1052. package/app/.next-cli-build/static/chunks/app/api/usage/providers/route-fb1f157de1c4ca66.js +0 -1
  1053. package/app/.next-cli-build/static/chunks/app/api/usage/quotas/route-fb1f157de1c4ca66.js +0 -1
  1054. package/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-fb1f157de1c4ca66.js +0 -1
  1055. package/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-fb1f157de1c4ca66.js +0 -1
  1056. package/app/.next-cli-build/static/chunks/app/api/usage/stats/route-fb1f157de1c4ca66.js +0 -1
  1057. package/app/.next-cli-build/static/chunks/app/api/usage/stream/route-fb1f157de1c4ca66.js +0 -1
  1058. package/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-fb1f157de1c4ca66.js +0 -1
  1059. package/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-fb1f157de1c4ca66.js +0 -1
  1060. package/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-fb1f157de1c4ca66.js +0 -1
  1061. package/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-fb1f157de1c4ca66.js +0 -1
  1062. package/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-fb1f157de1c4ca66.js +0 -1
  1063. package/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-fb1f157de1c4ca66.js +0 -1
  1064. package/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-fb1f157de1c4ca66.js +0 -1
  1065. package/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-fb1f157de1c4ca66.js +0 -1
  1066. package/app/.next-cli-build/static/chunks/app/api/v1/messages/route-fb1f157de1c4ca66.js +0 -1
  1067. package/app/.next-cli-build/static/chunks/app/api/v1/models/[kind]/route-fb1f157de1c4ca66.js +0 -1
  1068. package/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-fb1f157de1c4ca66.js +0 -1
  1069. package/app/.next-cli-build/static/chunks/app/api/v1/models/route-fb1f157de1c4ca66.js +0 -1
  1070. package/app/.next-cli-build/static/chunks/app/api/v1/rerank/route-fb1f157de1c4ca66.js +0 -1
  1071. package/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-fb1f157de1c4ca66.js +0 -1
  1072. package/app/.next-cli-build/static/chunks/app/api/v1/responses/route-fb1f157de1c4ca66.js +0 -1
  1073. package/app/.next-cli-build/static/chunks/app/api/v1/route-fb1f157de1c4ca66.js +0 -1
  1074. package/app/.next-cli-build/static/chunks/app/api/v1/search/route-fb1f157de1c4ca66.js +0 -1
  1075. package/app/.next-cli-build/static/chunks/app/api/v1/systemone/route-fb1f157de1c4ca66.js +0 -1
  1076. package/app/.next-cli-build/static/chunks/app/api/v1/videos/[id]/route-fb1f157de1c4ca66.js +0 -1
  1077. package/app/.next-cli-build/static/chunks/app/api/v1/videos/edits/route-fb1f157de1c4ca66.js +0 -1
  1078. package/app/.next-cli-build/static/chunks/app/api/v1/videos/extensions/route-fb1f157de1c4ca66.js +0 -1
  1079. package/app/.next-cli-build/static/chunks/app/api/v1/videos/generations/route-fb1f157de1c4ca66.js +0 -1
  1080. package/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-fb1f157de1c4ca66.js +0 -1
  1081. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-fb1f157de1c4ca66.js +0 -1
  1082. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-fb1f157de1c4ca66.js +0 -1
  1083. package/app/.next-cli-build/static/chunks/app/api/version/route-fb1f157de1c4ca66.js +0 -1
  1084. package/app/.next-cli-build/static/chunks/app/api/version/shell-update/route-fb1f157de1c4ca66.js +0 -1
  1085. package/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-fb1f157de1c4ca66.js +0 -1
  1086. package/app/.next-cli-build/static/chunks/app/api/version/update/route-fb1f157de1c4ca66.js +0 -1
  1087. package/app/.next-cli-build/static/chunks/app/landing/page-c6c3a32dd06bc907.js +0 -1
  1088. package/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-fb1f157de1c4ca66.js +0 -1
  1089. package/app/.next-cli-build/static/chunks/app/page-fb1f157de1c4ca66.js +0 -1
  1090. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-fb1f157de1c4ca66.js +0 -1
  1091. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-fb1f157de1c4ca66.js +0 -1
  1092. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-fb1f157de1c4ca66.js +0 -1
  1093. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-fb1f157de1c4ca66.js +0 -1
  1094. /package/app/.next-cli-build/static/{1q0xTGDYtD52dGw4uiY4- → ilH6FH_DABFzbJ122SgT6}/_ssgManifest.js +0 -0
@@ -1,511 +1,566 @@
1
- # 更新日志
2
-
3
- 这里展示面向用户的关键更新;完整开发明细见 [CHANGELOG.md](https://github.com/techysy/10router/blob/main/CHANGELOG.md)。
4
-
5
- ## v1.6.0 (2026-10-21)
6
-
7
- ### ✨ 新增
8
-
9
- - **上游 9router v0.5.95 → v0.5.104 择优移植**:Gemini 4 Argon 三线收录;antigravity 支持 Claude Sonnet/Opus 5.5(家族共享配额路由);antigravity 目录刷新(默认 3.8-flash-medium、IDE 指纹 2.22.0);Codex GPT-6.1 Sol 与 Responses Lite 传输;gpt-5.5 系下线;现役 Claude 全系补 PDF 输入。
10
- - **Inception Labs 供应商**:Mercury 扩散模型(~1000 tok/s),mercury-3 launch 半价 $0.10/$0.35,新 key 送 1 亿 tokens;配额经 CreditDaddy 通用卡推送。
11
- - **组合 router 策略**:固定顺序/轮询不看谁更擅长当前任务;Router 分析 prompt 动态挑最擅长的成员回答(仅一次额外调用,兼顾能力与速度);失败/超时 8s 内退回原顺序。
12
- - **Trae 国内站(trae.cn)登录**:站点选择 + 回调自证 + 裸 token 探测;国内/国际账号不互通,拿错端有明确提示。
13
- - **MiniMax 免费线回归 + 订阅线每日自动签到**;M3.1 Flash 正式 id 全线对齐。
14
- - **头部公告系统**:免费模型活动、关键变更实时推送(GitHub raw → Gitee 镜像 → 本地缓存三级兜底)。
15
- - **API Key 权限勾选器**:可调用模型/组合白名单改勾选式。
16
- - **MiniMax Code 卡面「今日已签」徽章**:CreditDaddy 推送签到状态即展示连签天数。
17
- - **到期优先调度防透支**:赠送类配额包耗尽后不再霸占「最早到期」位置,多账号不再齐指同一重置点;Round-Robin 在到期优先开启时自动置灰(到期优先接管轮询),配套轮询/配额包逻辑的用户文档。
18
- - **额度页刷新间隔可配置**:默认 5 分钟,可选 1m/5m/15m/30m/1h,不再强制 60s 轮询;Auto-Ping 升级三模式(关闭 / 重置即 ping / 固定钟点表),供应商页与额度页同一入口。
19
- - **CodeBuddy 双线「已签到/活跃」徽章本地判定**(看最新配额包周期起点,不依赖外部推送);**Qoder 卡面 CD Sync / Native 双入口徽章**。
20
-
21
- ### 🐛 修复
22
-
23
- - **MITM bypass 建连超时键错误**:请求被 1ms 计时器秒杀后回落可被劫持的直连(PR #76 收尾)。
24
- - **Trae SOLO 网关并发跨站串用**:token 不再打到错误站点。
25
- - **MiniMax 签到状态查询 404**:status 端点误发 POST,改 GET 后签到恢复。
26
- - **节点健康度误伤极速模型**:延迟轴改用首字延迟(TTFT),长输出快模型不再被总时长压分。
27
- - **CodeBuddy 国际站「每日活跃会话」下线**(上游已撤销活动,白付请求);**CodeBuddy CN 消息数守卫放宽至 5000**。
28
- - **Alibaba Token Plan 补国内版**,四张阿里卡标明 Intl/CN;**Qoder 限免行**显示可读截止时间;**API 密钥校验提示**走翻译。
29
- - **配额包循环算法失效导致账号透支(T0)**:周期性赠送包耗尽后劫持到期排序、relay 环全体判红死锁单号的问题已修复,附完整故障报告。
30
- - **River AI 连接测试误报「不支持测试」(Issue #80)**:并入 OpenAI 兼容校验,点测试不再假失败。
31
- - **供应商详情页偶发整页打不开**:到期优先灰化 Round-Robin 的一处样式工具函数漏了引用,页面一渲染即崩;已修复并补进浏览器级验证。
32
- - **腾讯 WorkBuddy 400 风控**:自动清洗 DeepSeek Harness 敏感标识,CodeBuddy 通道不再被误拦。
33
-
34
- ### 🎨 界面
35
-
36
- - 侧边栏字号恢复 14px,新增社区分区(飞书/Discord/Telegram/GitHub);完整更新日志改为弹窗内打开(修飞牛壳打不开新标签页);捐赠弹窗重做(爱发电 + 三张矢量收款码 + Star 按钮);头部公告入口带未读红点。
37
-
38
-
39
- ## v1.5.1 (2026-10-18)
40
-
41
- ### ✨ 新增
42
-
43
- - **WorkBuddy / CodeBuddy 国际版 DeepSeek-V4.1-Flash 限免开放 & 渠道门禁打通**:补齐官方客户端的 `X-Conversation-ID` 等一整套会话协议头,不再被上游 11128「未授权渠道」拦截;国际版 `deepseek-v4.1-flash` 标记为限免至 10-31,卡片显示绿色 `free` 角标,到期自动恢复 0.11x 计费。
44
- - **CodeBuddy CN 额外补偿与首月赠礼自动/手动领取**:支持全天后台自动重试检查并领取 CodeBuddy CN 临时补偿(如 500 点数)与首月赠礼(带实验开关 `codeBuddyCompensation`);提供商详情页新增一键手动领取按钮;401 自动刷新 Token。
45
- - **组合(Combo)模型选择器「仅显示已连接提供商」**:组合编排弹窗支持一键过滤未连接提供商,快速挑选可用模型。
46
-
47
- ### 🐛 修复
48
-
49
- - **CodeBuddy CN 体积上限放宽到 32MB**:原先 3.2MB 的本地拦截长期误伤真实长会话(体积与 11128 门禁本就无因果关系),现在 32MB 以内一律放行,交给上游判定。
50
- - **Antigravity 周期配额桶与完整身份验证链接**:
51
- - 完美适配官方 5小时/每周 周期配额双窗口(Gemini 与 Claude/GPT 独立桶),并收敛共享配额的生图冗余模型项;
52
- - 完整保留长达 600+ 字符的 Google 身份验证(VALIDATION_REQUIRED)跳转 URL,不再被截断。
53
- - **Claude SDK 非流式重试报错根治**:
54
- - 补全 Antigravity/Gemini 非流式响应到标准 Claude Message 格式转换,彻底解决 Claude CLI 报 `body is JSON but not a Message (HTTP 200)`;
55
- - 强制补齐规范的 `req_` 响应头,消除 `request-id present but not Anthropic-issued` 报错。
56
- - **视觉模型 tool_result 图片恢复**:修复 Claude 转 OpenAI 格式时工具返回图片被过滤的问题,多模态模型现可正常接收工具产生的图像。
57
- - **多轮对话工具名称防冲突**:修复工具调用 ID 复用时 `functionResponse` 工具名被后序轮次覆盖导致的 400 错误。
58
- - **组合模型自动压缩与熔断降级**:无前缀组合模型名支持能力聚合触发压缩;CodeBuddy CN 极端载荷拦截加入快速降级规则。
59
- - **界面角标优化**:修复 CodeBuddy「付费档」与「订阅优先」图标尺寸过大的问题。
60
-
61
- ## v1.5.0 (2026-10-15)
62
-
63
- ### ✨ 新增
64
-
65
- - **多账号「到期优先调度」升级为环形接力**:原「配额包到期优先」开关现已覆盖配额包 / 订阅速率窗口 / 余额三类额度,并对周期双桶(Antigravity/Gemini 5h+7d、MiniMax Code M Plan)改用「单点死磕、只前滚不插队、跌破 5% 红区无感换血」的接力算法——不再全池轮流失血、整条通道一起黑屏。
66
- - **新供应商**:MiniMax Code 订阅双线(国内 / 国际,设备码 OAuth 直连 + M Plan 窗口 + Credits 余额追踪)、River AI(按量计费 + OpenAI 兼容双端点)、ModelScope 魔搭(按量 + 20 款主流模型 + passthrough)、Codiv 与 HAL-X THX-01(System One 决策模型端点)。
67
- - **通用外部额度推送接口**:外部伴侣(首个接线方 CreditDaddy)把自己解析好的额度 POST 到 `/api/external-quota/<source>`,统一配额页即渲染成卡片;配合「同名认领」,CD 账号别名与连接名相同时余额直接挂到路由连接卡上。
68
- - **API Key 细粒度权限**:客户端 key 可设可调用的模型 / Combo 白名单,越权请求直接 403;Endpoint 页交互式编辑。
69
- - **Gemini 4「Argon」入库**:能力(视觉 + 推理 + 搜索 + 1M 上下文)与官方价目($2 / $10)。
70
- - **重排序(Rerank)类别**:新增 `/v1/rerank` 端点与独立模型类别,接入 Cohere、Jina AI、SiliconFlow(BGE Reranker)三家——输入 `query` + 候选文档、输出相关性分数,RAG / 知识库检索精排即插即用;侧边栏媒体供应商新增「Rerank」入口,详情页带可交互示例。
71
- - **LongCat 资源包额度**:CreditDaddy 可推送 LongCat Token 资源包余量到配额页(同名认领挂到连接卡);赠送/购买包按官方消耗顺序规则逐包展示。
72
- - **供应商页连接状态筛选器**:供应商墙可按「活跃 / 错误 / 未激活 / 无连接」筛选——「活跃」含已连上的供应商与拓扑开关开启的免密供应商;弹层菜单与整体控件语言一致(不再使用原生下拉框)。
73
-
74
- ### 🐛 修复
75
-
76
- - **同名认领后连接卡的「刷新配额」真正回源**:此前刷新只会重读本地快照,CreditDaddy 收不到现拉请求、数字不变;现在刷新先 POST 回 CD 触发现拉重推,且全程按钮保持旋转。
77
- - **用量拓扑图不再显示已下架供应商**:曾被下架(如 Token Harbor 网页会话)但库里仍有残留连接的供应商,不再以幽灵节点复活在拓扑画布上。
78
- - **0 积分配额包不再劫持到期倒计时**:已耗尽的赠送包此前仍参与「最快到期」排序,把账号顶到队首空烧;现只按明细中存活包排序。
79
- - **混合大小写命名空间模型 id 不再被剥图**:reseller 以 `vendor/Model-Name` 形式暴露的多模态模型,此前因大小写漏配能力行导致图片被静默剥离,现补大小写不敏感兜底。
80
- - **Qoder DeepSeek / GLM / MiniMax 档补回视觉**:这几档模型上游实测支持图片输入,但能力表漏配导致图片被剥离,现已按活体实测结果补上。
81
- - **MiniMax Code Credits 卡面「999.96 / 999.96」双印**、**未认领的 river / modelscope 连接不再报「Usage API not implemented」**(改给同名认领指路文案)。
82
-
83
- ## v1.4.0 (2026-10-10)
84
-
85
- ### ✨ 新增
86
-
87
- - **API 密钥支持每日 Token 限额**:每个客户端 key 可设每日上限(如 100M/天),超限返回 429 `rate_limit_error`,服务器本地零点自动重置;Endpoint 页有全局总开关,每 key 随时增改限额,列表实时显示今日用量占比。
88
- - **配额跟踪器卡片图标直达供应商官网**:配额页每张卡片左上角的供应商 logo 现在点击即在新标签页打开对应官网/控制台。
89
- - **「隐藏零余额提供商卡片」开关**:实验页的卡片隐藏新增第二档——0 余额/0 积分的连接卡片可整卡隐藏,与既有「隐藏无配额卡片」互相独立、可叠加。
90
- - **「待重新授权」账号状态**:OAuth 账号刷新令牌失效时,连接行亮起「待重新授权」标记并冷却 24 小时(不再每 2 分钟空撞一次);重新授权立即恢复。
91
- - **CodeBuddy 模型面对齐官方积分页**:国际线补上整条 Claude 线(Opus 5.5 / Sonnet 5.5 等 8 款)与 Grok-4.7、Gemini-3.8-Flash、GPT-6.1-Sol;国内线新增 GLM-5.3-FlashX(0.14x)与 StepFun Step-5-Preview(0.43x);Space-Bunny 折扣结束回调 0.08x。新增「付费档」「订阅优先」两种模型徽章。
92
- - **OpenCode / Token Harbor 新模型**:OpenCode 付费线补齐 Claude Haiku 5.5(能力声明修正为 1M)等新上架模型;Token Harbor 收录 `claude-haiku-5.5:free`。
93
- - **Trae Free 模型目录对齐官方目录**(issue #54):新增 18 款,移除 10 款已被上游下架的模型。
94
- - **免费线卡片的 CreditDaddy 网关状态**(issue #49):桌面 v1.3.5 修订资产已先行带上,本版起全渠道生效。
95
- - **Release 资产命名平台化**:Windows / macOS / fnOS 安装包文件名统一为「软件名-平台-…」,同一 Release 页面内同平台资产自动聚类排序。
96
-
97
- ### 🐛 修复
98
-
99
- - **combo 模型组的上下文窗口现在正确发给客户端**:此前组合条目只写嵌套能力块,客户端读不到顶层 `context_window` 只能按模型名猜、且往高猜,长上下文直到上游硬失败。
100
- - **流式请求统计口径两处修正**:答复完整送达后客户端提前断开不再记成失败(issue #48 / #50);上游中途掐断的干净结束不再记成成功,改记「截断」;SSE 流中被丢弃的损坏行会计数并显示在请求明细。
101
- - **刷新令牌处理三连修**:轮换后的新令牌落库失败时立即报错,不再静默用旧令牌把账号整体踢下线;sql.js 模式落盘失败自动重排重试;401 自动刷新重试失败时把真实原因透传给客户端。
102
- - **StepFun CN 实名闸门不再误报「额度用完」**:未完成实名核验的 403 不再把模型锁 2 分钟,仪表盘给出实名页直达链接,combo 立即穿透到下一候选。
103
- - **GitHub Copilot 配额按类别分行**:chat / completions 月度窗口不再并入资源包合计,与 Antigravity 口径一致。
104
- - **自定义连接名称优先显示**:连接行不再被用户名/邮箱挤掉自定义名称。
105
- - **模型目录与能力参数纠错**:客户端拿到的上下文/输出上限对齐各供应商真实值(修复别名漂移、目录查找落空、combo 聚合缺口等同源问题)。
106
- - **Windows 安装器三连修**:升级不再弹「无法关闭」、不再执行旧版卸载器;UAC 被拒绝不再无声失败。
107
- - **fnOS 打包修复**:不再误覆盖 standalone 自带的精简 next 模块(装上即起不来的根因)。
108
-
109
- ## v1.3.5 (2026-10-05)
110
-
111
- ### ✨ 新增
112
-
113
- - **免费线卡片新增 CreditDaddy 网关状态**(issue #49):ZCode Free / MiniMax Free / Trae Free 卡片现在会探测本地网关端口并直观显示连通状态,不通时给出下载链接与开启引导。
114
- - **新增 Trae Free 供应商(`trae-free`)**:经本地 CreditDaddy 网关使用 Trae(SOLO)远程 Agent 额度,与 ZCode Free / MiniMax Free 同款接线——免登录卡片、主机/端口共享、路径按线独立,12 款模型(Doubao Seed Code、MiniMax M2.7、GLM 5 系、DeepSeek V4 系、Kimi K2.5/2.6、Qwen 3.5/3.6),支持思考流;卡片图标为从客户端 exe 提取的官方黑白标。
115
-
116
- ### 🐛 修复
117
-
118
- - **升级安装不再弹「无法关闭」(Windows 安装包已原位替换更新)**:升级时新安装器自带清理、跳过旧版本冻结的旧卸载器代码,不再触发幽灵进程的无法关闭弹窗或静默退出码 2,用户数据不受影响。
119
- - **中途夭折的流式请求不再留下一条「绿色 0 token」的假成功**(issue #48)—— 流式请求一开就写入占位记录,但那时还没产出任何内容、状态却已是「成功」。上游随后断链时,中止路径完全不碰数据库,那行记录再没人修正:一次被掐断的请求会在详情列表里一直显示成「已完成、且恰好没花钱」。现在进行中的记录就显示为进行中,被中止的流式请求记为失败。
120
- - **单个模型失败不再把整条连接标记为「不可用」**(issue #46)—— 这才是根因:按模型的锁在写入时,会连带写一个账号级的「不可用」标志,而选路自始至终只看那把按模型的锁。于是兄弟模型照常工作、连接却显示为宕机。现在这个标志只在真正的账号级失败时才写。
121
- - **CreditDaddy 三条线的 404 不再被报成「模型不存在」**(issue #47):CreditDaddy 已把网关端点迁到带品牌名的路径(`/gateway/zcode/…` 等),404 说的是端点而不是你的模型。现在提示会直说这一点,卡片上也给出排查指引:路径要保留品牌段;若 CreditDaddy 版本早于这次改名(仍只提供旧的裸端点),应升级 CreditDaddy 而不是改那个输入框。
122
- - **部分受限的连接改为显示黄色,不再标红**(issue #46):只有一个模型在冷却期的连接仍在正常服务其它模型,现在有独立的「部分受限」状态,不再被当成整个账号宕机。同时把原先手写了四份、彼此可能不一致的状态判定收敛成一份。
123
- - **单个模型的额度用完不再显示成「账号不可用」**(issue #46):Google / Antigravity 的额度按模型分桶,我们的锁也是按模型的,但提示一律写「该账号额度已用完」——而同一连接上的其它模型在整个窗口内照常可用。现在提示会点名具体模型并说明其余模型不受影响;真正整账号耗尽的情况文案不变。
124
- - **用量「概览」不再空白、而「详情」列着一堆 0 token 的行**(issue #48):两个页签读的是不同的表,上游没回 token 数时,一侧整行被丢掉、另一侧却照样写进去(显示 0 输入 / 0 输出)。此前只有流式请求有估算兜底,非流式请求没有。现在两个页签显示同一组估算出来的数字。估算值只记进仪表盘——客户端拿到的 usage 仍严格是上游返回的原值。
125
- - **超长上下文自动压缩默认触发比例 0.9 → 0.95**:自动压缩改为更贴近窗口上限才触发(阈值档位与总开关不变,可在「实验特性」卡片调整)。
126
- - **Claude Code / mirasim 不再在 160K 处强行压缩**:模型列表此前只按 OpenAI 约定上报窗口,Claude CLI 读不到就回退到内置的 20 万默认值,于是 Qwen3.8-Max(真实 100 万)等模型在客户端侧 16 万 token 就触发压缩。现在补发 Anthropic 约定的字段,客户端能读到真实窗口。
127
- - **仪表盘模型卡不再把 1M 窗口显示成 20 万**:Qoder(`qd` / `qdc`)、Kiro(`kr`)、CodeBuddy CN(`cbcn`)、Antigravity(`ag`)这四条线的模型此前在仪表盘上因按别名查能力而跌到 20 万地板(vision / reasoning 徽章也被剥掉),Kiro 的 gpt-5.6 系窗口还虚高到 105 万。现已全部归一化到正确的 1M 档。
128
- - **Trae Free 卡片图标不再缺图**:本版接入时漏了图标资源,卡片回落成文字缩写、而其它屏又是另一张(彩色)标。现已统一使用从客户端 exe 提取的 Trae(SOLO)官方黑白标。
129
- - **Trae Free 的网关主机/端口设置生效**:本版接入时漏了一处代码位置,局域网主机与端口配置对 Trae Free 不起作用、请求仍打本机默认地址。已修复。
130
- - **Qoder 订阅积分「凭空消失」有了明确提示**(issue #44):CreditDaddy 同步来的网页会话失效时,套餐积分读不到却没有任何提示。现在额度卡片会直接警告会话已失效、并在导入连接时逐账号校验会话可用性点名失效账号。
131
- - **Windows 升级安装不再卡在「10Router 无法关闭」**:旧版程序以管理员身份运行时(MITM 绑定 443 需要),普通权限的安装器杀不掉它。现在安装器会请求一次管理员授权来关闭旧进程;拒绝授权则退化为原行为,不会更糟。`10Router.Setup` 与 `10Router-Web-Setup` 均已覆盖。
132
- - **桌面端更新下载加了超时保护**:网络异常挂起时更新流程不再永久卡死,失败会清理残留的临时文件。
133
-
134
- ## v1.3.3 (2026-10-04)
135
-
136
- ### ✨ 新增
137
-
138
- - **新增 MiniMax Code Free 供应商(`minimax-free`)**:经本地 CreditDaddy 网关使用 MiniMax 免费额度(M3.1-Flash-Preview / M3 / M2.7),与 ZCode Free 同款接线——免登录卡片、主机/端口共享、路径按线独立,详情页带官方图标与网关设置区。
139
- - **MiniMax 家族能力对齐官方客户端**:M3.1-Flash-Preview 支持五档思考深度(default/low/medium/high/xhigh/max)透传;M3 思考为开/关切换;上下文按 1M 上报。
140
-
141
- ### 🐛 修复
142
-
143
- - **zcode-free 网关端点补齐 `/zcode` 段**:对齐 CreditDaddy 侧的路径迁移(MiniMax 线早已同形)。
144
- - **CreditDaddy 网关卡片**:路径字段改为显示实际生效值(预填,不再藏在占位符后);远程接入说明纠错——网关由 IP 白名单保护、不校验 key,无需填凭据(旧文案曾错误要求建带 key 的连接)。
145
- - **CodeBuddy CN 不再拦截工具多的 Claude Code / codex 会话**:移除「工具数 > 60」的本地一刀切(它曾锁死挂 MCP 工具集的真实会话),工具数现在只进拒绝诊断信息;体积 3.2MB 与消息数守卫不变。
146
-
147
- ## v1.3.2 (2026-10-03)
148
-
149
- ### ✨ 新增
150
-
151
- - **桌面端:统一 HTML 更新窗**:检查更新 / 下载进度 / 取消 / 安装全部在同一个品牌化小窗内完成,视觉与仪表盘一致;顺带修掉 Windows 非整数缩放下窗口出现滚动条的问题。
152
- - **桌面端:「通过桌面壳更新」按钮**:仪表盘「检查更新」发现新版本后一键通知托盘壳,由壳接管下载 → SHA-256 校验 → 安装的全自动流程;远程(局域网 / Tailscale)打开的仪表盘同样生效。
153
- - **桌面端:安装器与「关于」窗对齐仪表盘设计语言**:安装器/卸载器换上品牌侧板(同款设计 token);「关于 10Router」从系统原生对话框换成品牌化小窗。
154
- - **修复:Windows 升级不再被旧进程锁死(重要)**:旧版卸载器杀不掉后台服务进程导致升级报「无法关闭」——新安装器会先清场、退出时确定性停车。
155
- - **CodeBuddy CN 上架 Space-Bunny**(0.03x 限时折扣 10/2–10/7);**APInex 复上架**,目录实测刷新为 36 模型(免费档扩到 18 个)。
156
- - **供应商目录与图标整理**:Token Harbor 免费档新增 qwen3.8-flash / mimo-v2.6-flash(1M 窗口、带视觉);新增 fledge-alpha-free 能力行;Atria 取 key 链接修正为官方控制台;Atria / Token Harbor / OpenCode Zen 上官方图标;Dahl Inference 下架。
157
-
158
- ### 🐛 修复
159
-
160
- - **模型能力上报补齐**:zcode-free 等免登录供应商、未连接供应商的自定义模型(opencode-zen 等)现在都会上报「上下文窗口 / 最大输出」,客户端不再靠模型名瞎猜。
161
- - **缓存命中率算法修复**:缓存最密集的请求不再被静默丢出统计(此前 684 行);缓存写入 token 计入分母,数字更诚实——agent 类流量命中率高是真实状态。
162
- - **供应商详情页**:邀请码不再两处重复显示;全部供应商提示文案补齐简繁双语。
163
-
164
- ## v1.3.1 (2026-10-02)
165
-
166
- ### ✨ 新增
167
-
168
- - **GLM Coding 支持 Z.ai OAuth 登录(双认证)**:除粘贴 API key 外新增浏览器授权登录,额度卡片两种登录方式通用。
169
- - **新增 Meta Muse 供应商(OAuth + 模型目录)**:Meta 官方 Muse Code 通道,设备流程一键登录,五个 Muse Spark 模型与官方定价齐备。
170
- - **新增 System One 决策供应商 v1m(v1m.ir)**:与 Drex 同协议的第二家决策模型后端。
171
- - **codex 暴露 GPT-6 / GPT-5.6「[1m]」超长上下文变体**:872K 窗口,模型名后缀加 `[1m]` 即用。
172
- - **配额卡片实验性「嵌套周期配额条」**:实验页开关开启后,滚动 ⊂ 每周 ⊂ 月度 的包含链恢复为一条同心嵌套进度条。
173
-
174
- ### 🐛 修复
175
-
176
- - **同步上游 9router v0.5.95 四大批次(20+ 项)**:codex CLI 身份升 0.159 并修复 auto-ping 反复掉授权;grok-cli 升 1.0.44 恢复可用;codebuddy 6004 限流转精确冷却;Claude 尾部轮保留与思考格式适配、工具循环缓存优化;Claude Sonnet 5.5 / Kiro Opus 5.5 新模型;GPT-6 系列官方定价与真实上下文窗口;DeepSeek 同名工具去重;Gemini 工具 schema 兼容增强;严格代理解析失败时不再静默直连;Responses 流补发 watchdog。
177
- - **配额修复打包**:重置时间改自适应倒计时(天+时 / 时+分 / 分+秒);「5 小时」时间轴以现在为中心前后各 12 小时;月度窗口固定显示在卡片底部;qoder / qoder-cn 的 Auto/Efficient 档位与显示名别名不再落到默认能力值。
178
- - **登录与安全**:开启「需要登录」不再把自己踢出登录页;登录页「忘记密码?」补中文并写明 reset-password 文件格式(reset-password.txt / .md 等任意扩展名均可);用量统计排除隐藏供应商。
179
- - **Drex 取 key 链接改为官方邀请注册**(Nace 现为邀请制)。
180
-
181
- ## v1.3.0 (2026-10-01)
182
-
183
- ### ✨ 新增
184
-
185
- - **CLI 工具「模型组合方案」(Claude 卡,#17)**:Claude 工具卡新增 Profiles 栏,支持将 Opus/Sonnet/Haiku 映射、API Key 与上下文窗口保存为多套命名方案;下拉切换即自动写入 `~/.claude/settings.json`,无需再点 Apply,体验无缝对标 CC-Switch。配置由服务端统一持久化,NAS、Tailscale 或隧道访问时共享同一份设置。
186
- - **配额可视化重构:QuotaToolbar 与配额窗口时间线**:用量页引入响应式配额工具栏与周期窗口时间线(`QuotaWindowTimeline`),直观呈现各供应商周/月周期的额度重置与倒计时;顶部增加「卡片」与「配额窗口」视图切换(会话级内存保持,刷新恒定默认展示卡片,不污染 localStorage)。多包分段进度条全面对齐 CreditDaddy 视觉语义,并支持卡片顶部展示精确最近到期时间。
187
- - **全新搜索与抓取供应商 TinyFish 与 Keenable(#26)**:
188
- - **TinyFish**(免费层):全自动支持 Web Search 与 Web Fetch,官方任意余额免扣费,免配置开箱即用;
189
- - **Keenable**(标准 API Key):支持实时/专业模式搜索,以及带 `live=true` 的高保真任意网页抓取;
190
- - 媒体提供商页面(Web Search / Web Fetch)及 `/v1/search`、`/v1/web/fetch` 接口全线接入。
191
- - **ZCode 免费体验包供应商接入(`zcode-free`)**:将 Start Plan / Trust Build 免费额度(GLM-5.3-Flash)通过 CreditDaddy 桌面版「额度网关」接入调度;支持在卡片上配置局域网 CreditDaddy 主机地址,并产出详尽的实战接入指南文档。
192
- - **Qoder 逐包明细优先用 CreditDaddy 网页会话**:通过同步的浏览器会话直读控制台精确逐包用量与到期时间,杜绝近似估算偏差,带账号所有权防串号校验。
193
- - **LongCat-2.5-Preview 与国际站支持**:接入 LongCat-2.5-Preview(1M 上下文,支持图像与视频多模态输入及思考模式),新增 `longcat.ai` 国际站独立卡片。
194
- - **桌面壳「容器」密码管理(`639f77a8`)**:桌面版内嵌网页(WorkBuddy、CodeBuddy 等)支持账号密码自动捕获、右键填充与独立密码管理面板,凭据通过系统安全存储(DPAPI / safeStorage)本地加密落盘。
195
- - **全站深浅色模式系统自适应**:登录页及主界面自动跟随操作系统主题变化,带首屏防白屏闪烁脚本。
196
-
197
- ### 🐛 修复
198
-
199
- - **配额重置时间改为自适应倒计时**:卡片与资源包上的重置/到期不再只显示日期——未来时间直接显示倒计时,精度随量级自适应(≥1 天「天+小时」、不足一天「时+分」、不足一小时「分+秒」),悬停仍可见完整绝对时间。
200
- - **配额窗口「5 小时」视图以现在为中心**:时间轴从自然日 00–24 点改为此时此刻前后 12 小时,"现在"恒定处于轨道中段,傍晚查看不再整屏都是已过去的窗口。
201
- - **用量详情输入 Token 不再被缓存值顶替**:彻底修复未折叠 Claude usage 结构导致的高缓存命中请求(如 zcode-free)输入列与缓存列 1:1 显示的视觉失真问题。
202
- - **全新安装冷启动静态模型暴露**:修复在数据库无任何连接记录的全新安装环境下,`noAuth` 体验供应商(opencode、mimo-free、zcode-free)在 `/v1/models` 中无法展示的问题。
203
- - **OpenAI Responses 审核中断原因映射**:将 Responses 的 `incomplete_details.reason === "content_filter"` 正确转换为 Chat 补全的 `finish_reason: "content_filter"`,防止 SDK 误判为 length 长度截断。
204
- - **代理配置容错与安全穿透(#36)**:支持不带 scheme 的代理格式(如 `127.0.0.1:7890`,自动规范为 `http://`);密文解析失败时维持密文字符串,坚决杜绝意外降级直连泄露真实 IP;保存时严格阻断非法协议。
205
- - **反重力(Antigravity)稳定性强化**:移除官方已弃用的 `requestType:"agent"` 避免无故触发 429 报错;修复空字符串工具结果导致的 400 异常;长函数名自动映射与还原;大幅强化工具 schema 清洗(支持本地 `$ref` 内联解环,避免丢参数)。
206
- - **未知裸模型名严禁前缀盲猜(#34)**:未命中的裸模型名直接返回 400 指引,不再随机推断为错误供应商导致 404。
207
- - **远程虚拟 Key 权限修正(#38)**:恢复持有有效虚拟 Key 远程添加/更新自定义供应商的通道,打通外部工具自动化同步。
208
- - **MITM 安全加固(#31)**:sudo 启动时 `ROUTER_API_KEY` 彻底移出命令行参数改走安全标准输入,避免从系统进程列表泄漏。
209
-
210
- ## v1.2.1 (2026-09-26)
211
-
212
- ### 🔒 安全
213
-
214
- - **[重要] 开启登录校验后被锁在外面(#33)**:还没设置自己的密码时打开「需要登录」,之后只有那个看不到的首次登录密码有效(fnOS 安装时自动生成、写在你看不到的文件里),输什么都提示密码错误。现在未设置密码时不允许开启登录校验、拒绝空密码,并新增找回入口:登录页 **「忘记密码?」**。fnOS 直接在 **「应用中心 → 10Router → 应用设置」** 填新密码保存即可;其他安装方式在数据目录放一个 `reset-password` 文件。
215
-
216
- ### ✨ 新增
217
-
218
- - **CreditDaddy 接入:额度总览只读接口**:`GET /api/usage/quotas` 一次返回全部可查额度的连接,口径与仪表盘「额度」页一致,可用仪表盘虚拟 key(`sk-…`)访问。结果缓存 5 分钟;强制刷新(`?force=1`)对同一连接每 30 秒最多一次,同时到达的请求共用一次上游查询。不返回任何凭据——但账号邮箱对持有虚拟 key 的人可见,分发 key 前请知悉。
219
- - **导入的用量开始显示预估成本**:经 10router-sync 插件或 CreditDaddy 同步进来的用量此前全是 $0。新导入按实时价表估算,历史数据在启动时自动补算(绝不覆盖来源已算好的成本;没有价格的模型仍为 $0)。
220
- - **「登录校验已关闭」横幅可以隐藏**:设置 → 安全里「需要登录」下方新增开关,仅在登录校验关闭时出现。隐藏需要确认;重新打开登录校验后再关闭,横幅会自动恢复。
221
- - **可以关闭自动检查更新**(设置 → 安全):适合刻意停留在某个版本的安装。关闭后 10Router 不再自行连接更新服务器、不再提示新版本——仪表盘、托盘气泡和 CLI 启动器都会静默;「立即检查」与托盘「检查更新」仍可手动使用。
222
- - **单认证卡片支持 OAuth 加密导入 / 导出**:迁移按钮现在也出现在仅 OAuth 的卡片上——尤其是 **MiMo Desktop**,它的登录会话本身就是换机时要迁移的凭据。
223
- - **Qwen 官方精确价**:新一代 Qwen 旗舰此前按低价通配档计费(如 qwen3.8-max 只算了官方价的四分之一),现按官方逐模型价格计算。
224
-
225
- ### 🐛 修复
226
-
227
- - **[重要] 重启后远程访问一直断着,直到有人打开仪表盘**:隧道 / Tailscale / MITM 自动恢复等启动任务此前要等第一次渲染页面才执行——只通过 `/v1` 使用的 NAS 可能一直等不到。现在随服务一起启动。
228
- - **Qoder 排队限流被当成模型回复**:排队中的请求(`10605`)以 `[qoder error 403: …]` 文字返回给客户端,还被记成成功。现在会切到下一个账号,并按 Qoder 要求的时长(约 30 秒)冷却被限流的账号。
229
- - **免密面板在本机导入 OAuth 迁移文件被拦截**:现已恢复。
230
- - **10router-sync 插件 v1.5.0**:适配 ZCode 新的套餐渠道 id(Start Plan 流量自 09-18 起漏同步);mirasim 输入计入缓存,仪表盘不再出现「输入 638、缓存 1.13 亿」;mirasim 订正脚本不再重复加缓存。
231
-
232
- ### 🔧 其他
233
-
234
- - **鉴权请求头对齐 10Router 命名**:`x-10r-cli-token` / `x-10r-password` 取代沿用下来的 `x-9r-*`。旧名称仍然兼容,已有的 CLI 启动器、插件和脚本不受影响。
235
-
236
- ## v1.2.0 (2026-09-24)
237
-
238
- ### ✨ 新增
239
-
240
- - **小米 MiMo 拆成三张卡,各管各的账**:云端(`xiaomi-mimo`,浏览器登录 / API Key,按正式资费)、桌面版(`mimo-desktop`,必须由本机已登录的 MiMo Desktop 客户端提供会话,不接受 API Key)、Token Plan(`tp-` 套餐密钥)。此前一个卡同时管两类凭据,「周额度」和「测试连接」都按最宽松的一侧判定——云端卡会显示它其实读不到的桌面版周额度。现在云端卡不再显示周额度,桌面版卡独占该权益;v1.1.3 时期建错的存量连接由迁移自动归位。
241
- - **MiMo V2.6 上线、V2.5 退役**:接入 V2.6 全系,并给 MiMo 模型声明**真实上下文窗口**(1M / 128K 输出;此前落兜底值按猜的算)。**V2.6 Pro UltraSpeed** 也加入云端与 Token Plan 卡——定制服务,有合约直接可用,无合约收到上游报错,无需手工添加模型。
242
- - **StepFun(阶跃星辰)全系列接入**:国内站 / 国际站 × 按量 / Step Plan 四渠道,短别名 `step-cn` / `step` / `stepp-cn` / `stepp`;Step Plan 渠道消耗套餐 Credit、提供 Anthropic 原生接口(Claude Code 可直连),并有套餐专属 `step-router-v1` 智能路由;LLM / 语音合成 / 语音识别按菜单严格隔离(图像服务官方已公告停服,故不放出);实时余额与代金券查询。
243
- - **ComfyUI 本地生图**:连接本机 ComfyUI 后自动发现 Checkpoints、装配 SD / SDXL / Flux 文生图工作流,经 `/v1/images/generations` 返回标准图像。
244
- - **媒体供应商列表支持拖拽排序、已连接自动前置**:与主提供商页共用同一套排序与持久化,`/v1/models` 顺序保持一致。
245
- - **组合(combo)新增「空回复时切换」策略**(默认关):部分上游把内容审查表达为 HTTP 200 空流,现在会自动落到下一个模型;单请求默认最多连切 2 个——重放会重新计费完整输入上下文,高上下文组合慎用。
246
- - **逐个测试连接可选模型**:测试下拉可挑具体模型(默认「提供商默认」),因为有些凭据只覆盖部分模型——桌面版会话就只到桌面模型。Qoder 的逐个测试改为按**该账号的实时模型目录**核对别名(不消耗积分),且 Qoder 国内版不再返回「不支持」。
247
- - **「隐藏无配额」开关移入「设置 → 实验性」**:配额页工具栏此前按钮太挤,该开关现收纳在实验性页的提供商卡片里。
248
-
249
- ### 🔒 安全
250
-
251
- - **不再有内置默认密码**:未设置密码(且未配置 SSO)时仪表盘**只能在本机打开**,远程请求被明确拒绝并提示设置路径;`INITIAL_PASSWORD` 是唯一的非交互引导口令。**升级前若一直用默认口令从别的设备登录,请先在本机设置一次密码。**
252
- - **上游凭据加密存储**:OAuth token / API key 以 AES-256-GCM 加密落库,密钥存放在数据库之外(`$DATA_DIR/credential-key`,或用 `CREDENTIAL_SECRET` 指定)。数据库文件被拷贝 / 同步不再等于凭据泄露。**密钥请与数据库一起备份——丢了密钥,凭据无法恢复。**
253
- - **用量日志不再记录完整 API key**:只保留可读前缀与不可逆摘要,按 key 统计照常工作。
254
- - **新增「安全」卡片(设置 → 实验性)**:监听地址、密码状态、登录校验、访问范围与凭据存储状态集中展示,并提供「**仪表盘仅本机访问**」开关(请求级即时生效,不影响 `/v1` 网关)。未设密码或关闭登录校验时全页面常驻警告横幅;关闭「要求登录」需二次确认。
255
- - **登录会话收紧**:时长从 24 小时缩短为 2 小时并滑动续期(使用中不会被打断);本版再加**绝对上限**——自首次登录起超过 30 天必须重新登录,被盗登录态无法靠持续访问无限续期。
256
- - **fnOS 升级不再重置引导密码**:随机口令改存到跨升级保留的数据目录,此前每次 fpk 升级都会换掉密码、把依赖旧口令的用户锁在外面。
257
- - **备份导出不再静默丢凭据**:在缺 / 错密钥的机器上导出的备份此前不含任何凭据却提示「下载成功」;现在原样保留密文并明确告警「需用原始密钥才能恢复」。
258
- - **`/api/health` 不再回显本机路径**:该公开接口此前会把驱动加载失败的原始报错(含本机绝对路径)一并返回。
259
- - **Windows 密钥文件补齐权限收紧**:加密密钥与登录密钥改用 ACL 仅本人可读(与此前 Root CA 私钥一致);MITM 的 sudo 密码也不再使用写死在源码里的兜底密钥。
260
-
261
- ### 🐛 修复
262
-
263
- - **[重要] 用错密钥启动会永久销毁已存的凭据**:把数据库恢复到没带密钥的机器上启动一次,所有 OAuth token 与 API Key 的密文会被抹掉,之后换回正确密钥也救不回。现改为原样保留密文,换回密钥即可恢复。
264
- - **[重要] 部分响应流被拼接错误**:stop 序列守卫注入的补发行缺少分隔,会与终止帧并成同一个事件,使部分客户端(含官方 SDK)解析失败;Anthropic 响应还缺事件类型行、内容块序号写死。现全部修正,并在命中后整块丢弃非文本块(此前会残留一个参数为空的工具调用,客户端可能空参执行)。
265
- - **[重要] 纯工具调用的回复被误判为「空回复」**:开启「空回复时切换模型」后,模型一旦决定调用工具就被当成没有输出,回退到下一个模型并**重复计费整个输入上下文**。现正确识别工具调用与推理内容,且被放弃的那次调用用量照常入账。
266
- - **Claude Code 自动模式分类器经网关恒不可用(#18)**:部分上游接受 `stop` / `stop_sequences` 却无视它。网关现在流式转发层代执行客户端的 stop 契约(序列本身不发出、保留用量统计、把被截断的 `length` 改写成正常 stop),并补齐双向 stop 参数映射。
267
- - **小米 MiMo 浏览器登录在局域网 / HTTP 下完全不可用**:OAuth `state` 生成此前依赖只在安全上下文存在的 API,从别的设备以 `http://局域网IP` 打开时(NAS 的常态用法)点击「浏览器」直接报错,整条登录链路被堵死。
268
- - **SiliconFlow 中国区的别名被劫持**:`sfcn` 同时被两家提供商声明,导致 SiliconFlow 的请求被打到 StepFun。现已归还原主,并新增全局别名唯一性检查防止再犯。
269
- - **StepFun 四渠道连接测试报「不支持」**:健康密钥也一律失败;现走通用 OpenAI 兼容校验。
270
- - **Token Plan 浏览器登录后打错集群**:套餐账号的 chat / TTS / 连接测试此前一律打到按量集群;现按平台回传并存储的端点路由。
271
- - **配额页显示与操作问题**:有视图筛选时「显示中 1-10 of 46」与实际卡片数不符(现按实际显示数量报);同一张卡内连续快速点击多个「已隐藏」标签会丢失大部分操作(点 5 个只恢复 2 个),现已全部生效;「只看有余额」与手动隐藏重新打通——批量隐藏的行现在也出现在「已隐藏」列表里、可按名字单独点回。
272
- - **用量按密钥统计把同一台机器的所有密钥合并成一桶**:分组键此前用脱敏掩码,而同机所有 key 掩码相同;现改用密钥摘要分组。
273
- - **MiMo 杂项**:周额度耗尽不再把上游原始 JSON 铺进连接行;TTS 裸模型名不再被静默改写成默认模型;浏览器登录挂起会话的密钥数与桌面版对齐上限 8。
274
-
275
- ### 🔧 其它
276
-
277
- - 恢复 258 条因品牌重命名而失效的界面翻译(此前静默显示英文)。
278
- - 到期 / 重置倒计时不再跨天被折叠:41 小时不再显示成 `1d`,统一为 `1d 17h` / 「1天17小时」。
279
- - 仪表盘 Change Log 只显示已发布的版本段,不会提前看到开发中版本的功能。
280
- - 安装包与文档不再把用户引到无关 fork 的包名。
281
-
282
- ## v1.1.3 (2026-09-20)
283
-
284
- ### ✨ 新增
285
-
286
- - **Qoder 国内版完整恢复 + 每日 Credits 自动领取**:qoder-cn 的 OAuth 设备码 / PAT 鉴权、模型目录与用量跟踪全面可用;每日 Credits 自动领取(实验开关 + 卡片手动领取),资源包逐包展示(各自到期日、先到期先扣);Qoder 官方图标与千问系实时倍率 / 夜间错峰半价倒计时同步上线。
287
- - **按模型钉住上下文窗口 / 最大输出**:模型行新增调参图标,可对任意模型(含自动发现的)覆写 `contextWindow` / `maxOutput`,留空即回退默认;模型列表与用量口径同步生效。
288
- - **超长上下文服务端自动压缩**:请求估算超过有效窗口的 90%(阈值 80/90/95% 可选,默认开启)时,由同一模型先把较早轮次摘要化再派发——不自压缩的客户端(ZCode / OpenClaw / 自建 agent)不再撞「prompt is too long」,推理型模型同样适配;任何失败原样放行,绝不因压缩毁请求。总开关在「实验特性」。
289
- - **Provider 卡片拖拽排序**:卡片可拖拽重排并持久化,禁用的 provider 自动置底;模型 API 列表顺序跟随卡片排序。
290
- - **OpenCode Free 体验渠道反滥用修复并默认开启**;Antigravity 生图模型补齐(gemini-3-pro-image / imagen-3.0 等);10router-sync 插件 v1.5.0(ZCode 套餐渠道 id 适配 + 同步链路加固)。
291
-
292
- ### 🛠️ 优化与修复
293
-
294
- - **CodeBuddy CN 严格端点工具 schema 兼容**:工具参数根节点为 anyOf/oneOf/allOf、`$ref`、type 数组等形态时自动降级为纯 object 根再发往上游,修复 ZCode 等客户端整请求被 `11129` 拒绝的问题(#27)。
295
- - **额度重置徽章不再消失**:MiMo 周报等周期性额度窗口用尽后,连接卡片仍持续显示「还剩几天重置」。
296
- - **Qoder 配额解析修正**:免费账户每日 / 活动领取的 Credits 不再显示 0/0。
297
- - **CodeBuddy intl DeepSeek reasoning_effort 映射修复**(#23)。
298
- - **稳定性移植**:4xx 请求级错误不再误熔断健康账号;连接测试成功自动清除陈旧退避锁;长静默流中断按客户端格式上报错误帧,不再被误判为正常短回复。
299
-
300
- ## v1.1.2 (2026-09-18)
301
-
302
- ### ✨ 新增
303
-
304
- - **用量仪表盘全新升级**:详情页新增生涯统计卡、GitHub 风格活跃热力图(日/周双视图、悬停明细)与节点健康度评分表(成功率/延迟/速度加权,行可展开查看模型级明细);「单位缩写」开关全局生效(概览卡与详情页统一,中文亿/万、其他语言 B/M/K)。
305
- - **小米 Token Plan 出口节点智能匹配**:添加/编辑连接时按本机网络出口自动预选 cn / sgp / ams 集群(多源容灾探测,失败静默降级),连接测试按钮按所选节点正确路由;MiMo 429 限流提示友好化,冷却时间尊重上游「请约 N 秒后重试」。
306
- - **10router-sync 插件 v1.4.0**:新增 `/10router-sync:status` 命令——不打开仪表盘即可查看实例状态与今日用量。
307
-
308
- ### 🛠️ 优化与修复
309
-
310
- - **CodeBuddy 11128 渠道级熔断**:命中上游渠道风控时按渠道整体熔断(不再逐账号重试放大风控),响应附双语处置提示(压缩会话/稍后重试);极端请求体积本地兜底。
311
- - **凭据自动刷新修复(Cline / ClinePass)**:后台定时刷新不再 400,凭据到期自动续期恢复;失效凭据会明确标记「需重新授权」。
312
- - **供应商与图表治理**:失效公益站下架;OpenCode Free / MiMo Code Free 归入「体验」分类默认隐藏;模型家族聚合修正(gpt-6、hy4、qwen3.8 等不再被拆分);模型类型图例移至顶部右侧,移动端自适应。
313
- - **安全**:修复单条连接接口明文回显小米桌面会话凭据的问题。
314
-
315
- ## v1.1.1 (2026-09-14)
316
-
317
- ### ✨ 新增
318
-
319
- - **跨账号「配额包到期优先」全局调度策略**:解决多账号下固定耗用主账号导致其他账号短期赠送包白白过期的痛点。供应商详情页新增独立开关,自动优先调度即将到期的有效配额包,零阻塞、零请求延迟。
320
- - **Command Code 用量追踪与配额展示**:完整支持 5 小时会话滑动窗口、7 天每周限额、月度订阅余额与扣费展示,动态识别 Go / GOAT / Pro 等订阅计划,支持余额递减与到期倒计时。
321
- - **自定义模型批量启用 / 批量禁用**:兼容节点与内置供应商详情页的模型管理支持一键批量开启或收回,并修复单条更新时丢失模型配置属性的缺陷。
322
- - **OAuth 凭据导入 / 导出通用化与传输加密**:支持所有 OAuth 供应商凭据导出为 AES-256-GCM 加密备份,导入支持多级智能查重合并,无传输口令无法读取。
323
- - **官方品牌矢量图标升级**:集成 `@lobehub/icons`,58 个主流供应商升级为官方矢量 SVG 图标,并支持明暗主题自适应。
324
- - **CodeBuddy 自动签到与每日活跃会话**:签到改为全天智能探测与持久化备忘记录,新增国际版每日活跃对话开关。
325
- - **桌面客户端增强**:菜单栏全量三语本地化,新增「前往」菜单(快速打开任意网址 / 回到本地仪表盘 / 最近打开历史管理),运行日志支持按日期长期自动归档。
326
-
327
- ### 🐛 修复
328
-
329
- - **用量面板 0 配额与离谱倒计时修复**:修复当账号额度为 0 时被错误渲染为无限额度 `0 / ∞` 的逻辑冲突,并过滤远期哨兵时间戳(如公元 9999 年),不再出现几百万天倒计时。
330
- - **用量百分比计算修复**:修复金额型配额(如 Command Code $9.98)被错误当作百分比显示为 10% 🔴 的问题。
331
- - **CodeBuddy 配额展示方向优化**:配额包翻转为「剩余 / 总量」递减显示,与进度条方向完全一致。
332
- - **CodeBuddy 国际版连接测试支持**:补齐专用测试端点通道头与身份认证判定,不再误报「Provider test not supported」。
333
- - **小米桌面版 Preview 模型未登录提示友好化**:精准提示需桌面端登录,不再伪装成限流或触发误冷却。
334
- - **新增连接后模型禁用状态即时刷新**:连接变更时同步刷新模型可见性,禁用区模型支持直接进行连通性测试。
335
- - **多处 i18n 与交互体验清扫**:Endpoint 节点页、供应商 notice 提示语与 API 密钥按钮全量补齐繁中与英文翻译。
336
-
337
- ## v1.1.0 (2026-09-11)
338
-
339
- > **版本记账**:1.0.9 跳过未发布——原计划的 1.0.9 内容(小米 MiMo 桌面版适配等)并入本版后规模达到 minor 级,版本号直接进位到 1.1.0;1.0.9 从未打 tag,无对应产物。
340
-
341
- ### ✨ 新增
342
-
343
- - **小米 MiMo 桌面版支持(一个供应商、两种登录)**:`xiaomi-mimo` 现在既支持 sk- API 键(云 API),也支持小米 MiMo 桌面客户端账号 —— 桌面独占的 `mimo-x-pro-preview` / `mimo-x-flash-preview` 只认账号 Cookie,光有 API 键用不了。两种凭据共用一个供应商卡片,按需启用即可。
344
- - **小米 MiMo 授权码登录**:浏览器打开官方授权页后,即使本地回调没接上(或已超时),也可以把页面上显示的授权码**直接粘贴**到对话框完成登录。凭据全程只在服务端解密,不经过浏览器。
345
- - **CodeBuddy 国际版模型目录补齐**:逐个用真实请求核对线上服务范围,补进 5 个真实存在却缺失的模型(GLM-5.1 / GLM-5v-Turbo / MiniMax-M3 / Kimi-K2.7 / DeepSeek-V4.1-Flash)与 `GPT 6.0 Astra`。
346
- - **opencode-go 目录对齐官方公开列表(18 个模型),并为每个模型声明端点**:以前部分模型因为「端点声明缺失」被送到错误路径而直接失败,现在按官方端点表逐条声明。
347
- - **新增 Codex / OpenAI 的 `gpt-image-2.5` 图像模型家族**:`gpt-image-2.5`(含 `-flare` / `-sunburst`)、`gpt-image-2`、`gpt-image-1.5`,支持文生图、图片编辑与多图参考。
348
- - **积分徽章支持限时免费促销**:促销期显示绿色 `free`,到期**自动**恢复显示真实倍率 —— 不再需要有人记得回来改。
349
-
350
- ### 🐛 修复
351
-
352
- - **Windows 桌面版升级不再静默丢弃旧数据**:桌面版的数据目录同时也是 Electron 自己的配置目录,Chromium 会先生成一堆文件把它撑成「非空」,导致旧数据迁移被永久跳过。现在判据改为「目录里是否已经有我们自己的数据库」。
353
- - **小米 MiMo 授权码登录的多个真问题**:载荷解密布局前后颠倒(这才是 `decrypt_failed` 的真因)、平台要求携带 `app=MiMo`、回调路径改为随机串、结果以 302 交回平台;另外回调监听器超时后粘贴不再失效。
354
- - **Kiro 请求不再携带顶层 `systemPrompt`**(kiro.dev 对它直接回 400 且不重试),端点顺序改为 Amazon 面优先。
355
- - **Claude 工具 `type` 改为按供应商开关**:修好 MiniMax 的 Claude 端点(缺 `type` 被拒),同时避免把 DeepSeek 的 Claude 端点打挂(它只认自家 `type`)。
356
- - **Codex 工具 schema 里它不认的 `\p{...}` 正则会被剥离**:此前只要某个工具的参数 `pattern` 用了属性转义,整个请求就 400,且每个账号都一样失败。
357
- - **Node 24 上跳过 `better-sqlite3`**:它的原生插件在 Node ≥ 24 上加载即崩溃(进程级),此前会让整个服务直接死掉。
358
- - **AMD Token Factory 目录与能力按实测重建**:补上漏登的聊天模型,并修掉「纯文本」误判(图片会被静默丢弃)。
359
- - **CodeBuddy CN 的 DeepSeek-V4.1-Flash 输出上限回落到服务端公布的 128K**:取大不会报错,只会让超过服务端上限的请求更容易撞 400。
360
- - **同一个供应商不再在禁用列表里存两份互相矛盾的记录**:修掉「有些模型看起来没被禁用」的问题。
361
-
362
- ## v1.0.8 (2026-09-09)
363
-
364
- ### ✨ 新增
365
- - **新增 AMD Token Factory 供应商**:AMD Radeon Cloud 免费共享 OpenAI 兼容端点(`DeepSeek-V4-Flash` 1M 上下文 + `Qwen3.8-Flash-Next` 262K 上下文);thinking 通过 reasoning_effort 控制,每个模型有独立的档位选择器;形态与 NVIDIA NIM 相同
366
- - **Antigravity 配额主机修复**:配额 summary 改查正确的 daily host(与原生 IDE 一致),修复数字系统性偏差;百分比直读后端值而非前端重算
367
- - **CodeBuddy 模型目录对齐服务端(CN + 国际版)**:国际版按服务端目录重排(新增 Hy4-Preview / Hy3 免费档、GPT-5.6 Sol/Terra/Luna、GLM-5.3、Kimi-K3 等,移除已下线的旧模型);CN 站同步对齐——`DeepSeek-V4.1-Flash` 取代 `DeepSeek-V4-Flash`,清掉重复的 `Kimi-K3 (1)`;两站各模型都标上服务端公布的积分倍率
368
- - **模型列表显示积分倍率徽章**:走免费额度的模型显示绿色 `free` 标签,其余显示 `0.79x` 形式的倍率小标签(hover 有说明);供应商没有积分体系时不显示
369
-
370
- ### 🔒 安全加固
371
- - **API key HMAC secret 硬化**:内置兜底密文未设置时 production 启动告警;新增实验功能「密钥签名轮换」(默认关),自动生成每实例独立密文;keyId 生成改用 `crypto.randomBytes`
372
- - **危险操作确认弹窗**:关闭 API 密钥校验、启用/停用签名轮换、全部重签均需确认;重签防重复提交(服务端 409 + 前端防护)
373
-
374
- ### 🐛 修复
375
- - **非流式请求被误判为流式(issue #4)**:省略 `stream` 字段现在正确默认为 JSON(OpenAI/Anthropic 规范);此前会返回 `text/event-stream` + `data: [DONE]` 尾随,严格解析的客户端全部报错(OpenAI SDK、WorkBuddy、curl)
376
- - **密钥轮换确认弹窗卡死 / 反复重签**:确认弹窗自动关闭后再执行操作;重复重签不再堆叠 "(rotated)" 后缀
377
- - **MCP SSE 空闲断连**:MCP 长连接补 25 秒注释心跳,防止 NAT/防火墙静默掐断
378
- - **CodeBuddy CN 白名单误放行(PR #5)**:Claude Code 自身系统提示不再匹配 agent 身份白名单(此前触发 11128)
379
- - **GLM-4.6V-Flash 缺视觉能力(PR #5)**:免费视觉模型补注册正确的 capabilities
380
- - **DeepSeek effort "max" 被 SenseNova 拒绝(PR #5)**:钳位到 "xhigh" 兼容两家
381
- - **拉取/导入的模型默认停用(按需启用)**:「Import from /models」与「Fetch Qoder Models」批量拉回的模型不再一次全部启用刷屏——先落入「Disabled models」区,用到哪个点哪个;`/v1/models` 同步只下发已启用的模型(此前标了停用仍会下发)。手动单个添加仍立即启用
382
- - **CodeBuddy CN 误挂国际版模型(修正)**:此前 CN 目录混入了只属于国际版的 GPT/Gemini 家族,选中会报 model service info not found;现已移除(保留在国际版)并加测试守卫
383
- - **DeepSeek-V4.1-Flash 输出上限被低估(修正)**:能力表把它的最大输出写成 50K(从改名前的旧 id 带过来的值),客户端请求会被按此截断;已按模型卡更正为 1M 上下文 / 384K 输出 / 支持图像输入 / 思考默认开且可关,并给该模型的两个别名 id 补上同一套能力
384
-
385
- ## v1.0.7 (2026-09-07)
386
-
387
- ### ✨ 新增
388
- - **CodeBuddy CN 内置「总积分」配额行**:用量页 CodeBuddy CN 第一行新增总积分汇总(全部包实时余额合计,含每月/赠送包),不用再自己加总;总余额耗尽时随「只看有余额」自动隐藏;「赠送包」行名已翻译
389
- - **ZCode 用量同步插件(10router-sync)**:一键把 ZCode 本地模型用量账本导入 10Router——自动排除指向 10Router 的供应商防重复计数,可重复执行幂等去重;导入的用量在用量页与详情 tab 均可见
390
- - **上游 v0.5.69 择优移植**:① Google 系多账号后台刷新改串行 + 分级抖动,规避反滥用风控;② Anthropic 兼容节点挂真 Claude 自动补 context-management beta 头,修静默换模型;③ opencode-go 稳定会话,免费池不再触发风控;④ Responses 并行工具调用修复(不再把 N 个调用并进一个);⑤ Claude Fable 周配额追踪;⑥ codex 新增 gpt-6-astra 等模型;⑦ codebuddy-cn 模型目录对齐服务端契约
391
- - **qoder 目录刷新 + 图片透传**:模型清单对齐服务端,executor 图片 base64 直传;仪表盘 Antigravity 配额按家族分组(多账号隔离优于上游)
392
- - **桌面托盘版更新链路 + 菜单精简**:桌面版更新横幅改指 GitHub Releases(不再错误提示 npm 安装);托盘菜单「检查更新 / 关于 / 服务启停」合一精简
393
- - **copilot 改为 VS Code 扩展指引**:不再用 MITM 拦截,改三步扩展配置(引擎层保留可手动回退)
394
- - **托盘图标单色化**:macOS template 图标 + Windows 深浅主题黑白自适应
395
-
396
- ### 🐛 修复
397
- - **`/responses` 根路径鉴权缺口(安全)**:补入前缀表,该路径强制 API key 校验
398
- - **Claude 组合回落的外来 `server_tool_use` 毒化历史(400)**:按 `srvtoolu_` 前缀校验并清理外来工具块
399
- - **MCP 延迟工具破坏缓存锚点(400)**:缓存锚点改为锚在最后一个可缓存工具上
400
- - **gemini schema 元组校验 400**:`prefixItems` 转换 + 数组缺 items 补占位
401
- - **antigravity 系统提示竞争品牌清洗泛化**:OpenCode 命名不再触发 429
402
- - **免费模型后台刷新噪音与连接测试悬挂**:降噪 + 15s 超时
403
-
404
- ## v1.0.6 (2026-09-05)
405
-
406
- ### ✨ 新增
407
- - **CodeBuddy CN 每日自动签到**(实验性,默认关):`设置 → 实验性功能` 打开 "CodeBuddy CN auto daily check-in" 后,CodeBuddy CN 页面的 Import / Export 按钮被替换为每日自动签到(每个账号在本地时间 00:00–06:00 随机时刻自动签到续免费额度,失败不中断服务、401 自动刷新后重试)与「立即签到」手动按钮
408
- - **Antigravity 配额对齐官网(5h + 每周双窗)**:用量页 Antigravity 配额重构为主用官网同款 retrieveUserQuotaSummary 接口,每账号精确显示 **4 张卡片**(Gemini Models / Claude and GPT models × {5 小时限额, 周限额}),归一化 100 百分制;接口不可用时回退旧逐模型解析
409
- - **OpenCode Free 目录对齐官方免费名单**:补入 Big Pickle / MiMo-V2.5 / Ling 3.0 Flash Fin / Nemotron 3 Ultra / Nemotron 3.5 Lightning 五个免费模型;不收官方已下架的 DeepSeek / Laguna 免费档(避免误用产生收费)
410
-
411
- ### 🐛 修复
412
- - **Antigravity `ag/gemini-3.8-flash-*` 404**:模型寻址改为各档 tiered 实体并升级 IDE 指纹至 2.11.0(裸 ID 直传会 404「Requested entity was not found」);新增无档位 `ag/gemini-3.8-flash`(路由到 medium 档)
413
- - **用量页「只看有余额」拉不到新签到配额包**:修复 CodeBuddy CN 每日签到新增的满额包因旧包序号被后续包挤占、被持久化隐藏后显示不出的问题——改为实时重算隐藏集,有余额的包(含新满额包)始终可见
414
- - **免费模型 429 限流友好提示**:免费模型(`oc/*-free`、`contributor-free`、APInex `free/` 前缀等)被上游限流返回 429 时,不再透传英文 `rate_limit_exceeded`,改为友好中文提示——上游给了重置时间则显示「约 N 秒/分/小时后可再试」,否则建议稍后再试或切换付费档;付费模型与多账号降级不受影响
415
-
416
- ## v1.0.5 (2026-09-03)
417
-
418
- ### ✨ 新增
419
- - **桌面托盘版(Windows / macOS)**:装完即用的桌面应用——系统托盘菜单(打开控制台 / 启动 / 重启 / 停止 / 开机自启)+ 内嵌窗口,关闭窗口即缩到托盘;与 npm CLI 共享数据、密钥与端口,两种形态互斥运行。Windows 提供安装版(NSIS,支持 `/S` 静默安装)与便携版,macOS 提供 Intel + Apple Silicon 双 dmg
420
- - **CLI / 桌面版界面多语言**:npm CLI 与桌面托盘自动跟随系统语言显示简体中文、繁体中文或英文,可用环境变量 `TENROUTER_LANG`(`zh-CN` / `zh-TW` / `en`)强制指定
421
- - **Agent 可自助添加自定义供应商 + Skills 页新增技能**:运行时用 dashboard LLM key 即可两步注册 baseUrl + 上游 key + 模型的自定义 OpenAI/Anthropic 兼容节点(免改源码/免重打包);Dashboard **Skills 页**新增「10router-add-provider」技能卡片并修复此前链接指向不存在的 `master` 分支(点击 404),现指向 `main`
422
- - **CodeBuddy CN 账号 JSON 批量导入 / 导出**(实验性,默认关):`设置 → Providers` 打开 "CodeBuddy CN OAuth import / export" 后,CodeBuddy CN 详情页显示 Import / Export 按钮,可用三方(wb) JSON 格式批量导入或导出账号授权(导入自动去重、非 CodeBuddy 签发域跳过)。导入 / 导出均需二次输入 dashboard 密码确认(防免登录模式下匿名导出账号令牌)
423
- - **公益站供应商默认显示**:GoRouter / TaBiAI 等公益站供应商改为默认显示(无需再手动打开开关),列表 / Profile 开关 / 用量拓扑图三处一致
424
- - **公益站供应商排序归组**:Free Tier 列表中 GoRouter / TaBiAI 等公益站供应商在 rank 分组内聚成相邻一块,不再与普通 freeTier 按 priority/名字混排
425
- - **新增 Agnes AI 双站供应商**:国际站 Agnes AI(com)+ 中国站 Agnes AI (CN),各含 Agnes 2.5 Flash / 2.5 Pro 文本模型(512K / 1M 上下文,视觉+推理);另含 Agnes Image 2.x Flash 图像生成模型(标准 images/generations 端点,图生图/编辑)
426
- - **设置新增「实验性功能」分组**:Profile 独立 Experimental 卡片,收纳默认关的开发向开关(JSON 模型导入 + CodeBuddy CN 导入导出),方便后续扩展
427
- - **新增供应商 APInex(apinex.bond)**:预付美元额度的第三方聚合网关(OpenAI 兼容),18 个模型(13 付费 + 5 个 `free/` 前缀免费模型);供应商页显示可复制邀请码 chip(APInex:`SLEWP68C`)
428
- - **上游 v0.5.65 目录同步 + 新搜索供应商**:新增 GLM-5.3-Flash(Vision)、GLM-4.6V、DeepSeek-V4-Flash-Vision-Exp、Grok-4.6、Claude-Fable-5.1 等模型;新搜索供应商 Ollama-Search(复用本地 Ollama key)与 Xquik(X/推特搜索)
429
-
430
- ### 🐛 修复
431
- - **用量统计 成本/Token 切换后表格错乱**:修复切换显示模式并点击排序后,部分行的 token 数被回退显示成金额的问题;繁体中文用量表表头翻译补齐
432
- - **用量表排序语义**:按 Token / 成本列排序改为按模型合计值排序,与表头箭头方向一致
433
-
434
- ## v1.0.4 (2026-09-01)
435
-
436
- ### ✨ 新增
437
- - **新增 3 家供应商**:**TokenBom**(去中心化 token 交易市场——闲置 API Key 自动赚积分、积分可调用多种模型,含 79 模型在线目录)、**GoRouter**(免费网关,无充值入口)、**TaBiAI**(免费网关,无充值入口)
438
- - **历史用量导入**:支持从 9Router 备份导入历史用量数据(SQLite 文件),合并统计不覆盖配置
439
- - **通知体验优化**:全局通知改为顶部居中 Toast,供应商详情页浏览器原生弹窗全部替换为友好通知
440
- - **公益站供应商**:GoRouter / TaBiAI 默认不显示,带「公益站」标签;可在 **设置 → Providers → 显示公益站供应商** 打开后显示
441
-
442
- ### 🐛 修复
443
- - **供应商排序修正**:有连接的供应商前置、已禁用沉底,不再被优先级打乱
444
- - **JSON 目录模型激活后不显示**:清理陈旧禁用记录,「激活了却不显示」问题解决
445
- - **B.AI / CodeBuddy CN 模型补全**:切换模型报 "not found" 的缺模型已补齐
446
- - **连接测试友好提示**:供应商端点维护中 / 被 Cloudflare 拦截时,显示维护提示而非误导性的 "Invalid API key"
447
- - **账户筛选提醒**:配额包账户筛选持久化后,非默认筛选时显示琥珀色提醒条
448
- - **CodeBuddy CN DeepSeek 模型 11150**:DeepSeek 系列调用不再因思考强度参数(auto/off)报 400,编码 agent(dsh 等)可正常使用
449
- - **CodeBuddy 工具调用空工具名(11133 / unknown tool)**:流式返回的空 function.name 已规范化,标准客户端不再误判工具名
450
- - **隐藏公益站后拓扑图仍显示**:用量页拓扑图同步「显示公益站供应商」开关,关闭后公益站不再显示
451
- - **Skills 页面 i18n + 中文版链接**:Skills 页面文案支持多语言,中文界面下链接指向中文版 skill
452
-
453
- ## v1.0.3 (2026-08-30)
454
-
455
- ### ✨ 新增
456
- - **新增 4 家供应商**:**LongCat**(美团)、**SenseNova**(商汤,免费公测)、**Dots**(小红书 Dots Studio,免费公测)、**B.AI**(聚合平台,一个 Key 通吃 GPT / Claude / Gemini / DeepSeek / GLM / Kimi / Qwen 等家族)
457
- - **自定义供应商支持模型 JSON 目录**:自定义节点可拉取在线模型清单,逐个禁用 / 激活、批量管理
458
- - **fpk 检查更新直达 Releases**:fnOS 安装的更新提示直达对应版本的下载附件
459
-
460
- ### 🔒 安全加固
461
- - **登录接入渐进限流**:密码 5 次失败 → 30s / 2m / 10m / 30m 逐级锁定
462
- - **拒绝占位 JWT 密钥**:照抄 `.env.example` 的公开密钥会被忽略,改用自动生成的随机密钥
463
- - **修复 npm 包携带构建机敏感文件**:构建产物不再泄露密钥 / 机器 ID / 数据快照
464
-
465
- ### ⚠️ 升级注意
466
- - npm 包名已改为 **`@techysy/10router`**(旧 `10router` 是本项目无关的 fork)。已装 `10router-cli` 请改装新包,数据目录不变。
467
-
468
- ## v1.0.2 (2026-08-29)
469
-
470
- ### 🐛 修复
471
- - **修复更新检查指向第三方包**(1.0.1 受影响):版本检查、更新命令、侧边栏安装命令均指向正确的包
472
- - **postinstall 不再中断安装**:WSL 路径下 npm 安装不再因预热脚本失败而中断
473
-
474
- ### ⚙️ 工程与打包
475
- - **新增测试 CI**:推送 / PR 时自动跑测试与回归门禁
476
-
477
- > ⚠️ **1.0.1 用户请升级**:其内置「检查更新」指向的是一个无关的第三方包。
478
-
479
- ## v1.0.1 (未发布,内容随 v1.0.2 交付)
480
-
481
- > 1.0.1 从未作为正式版发布(仅 npm 的 `10router-cli@1.0.1` 短暂存在过)。以下内容对 Docker / fpk / standalone 用户随 **v1.0.2** 首次到达。
482
-
483
- ### 🔒 安全加固
484
- - **MITM 安全修复 ×4**:上游转发恢复 TLS 证书校验、根证书私钥权限收紧至 0600、不再盲目杀掉占用 443 的进程、自动清理异常退出遗留的 hosts 条目(MITM 默认关闭,未启用用户不受影响)
485
-
486
- ### ✨ 新增
487
- - **已禁用供应商沉底**:设置页开关开启后,已禁用供应商在列表中排到最后
488
- - **桌面侧边栏可折叠**
489
- - **OpenCode Go 配额用量接入**
490
- - **模型目录 Gitee 镜像回退**:国内拉取加速
491
-
492
- ### 🐛 修复
493
- - **修复 /v1/models 返回孤儿自定义模型**:不再对客户端返回成百上千个无效模型
494
- - **自定义节点前缀唯一性检测**:避免路由歧义
495
- - **修复 CodeBuddy 执行器误删 Agent system prompt**
496
-
497
- ### ⚙️ 工程与打包
498
- - **新增 npm 分发渠道**:`npm i -g 10router-cli`
499
- - **新增「从 GitHub JSON 获取模型」通用能力**(Fetch Models)
500
-
501
- ## v1.0.0 (2026-08-26)
502
-
503
- ### ⚠️ 升级注意
504
- 1. **数据目录改名**:`~/.9router/` → `~/.10router/`(Windows: `%APPDATA%\10router`),启动时自动迁移
505
- 2. **SAML entityID 变更**:默认 issuer 改为 `urn:10router:sp`,IdP 需重新注册
506
- 3. **MITM CA 更名**:需重新信任新 CA
507
-
508
- ### ✨ 新增
509
- - **品牌重塑**:9Router → 10Router
510
- - **i18n 多区域货币**:en / pt-BR / pt-PT / es / de
511
- - **多平台分发**:Docker(amd64 / arm64)、fnOS fpk(x86 / arm × url / iframe)、Standalone
1
+ # 更新日志
2
+
3
+ 这里展示面向用户的关键更新;完整开发明细见 [CHANGELOG.md](https://github.com/techysy/10router/blob/main/CHANGELOG.md)。
4
+
5
+ ## v1.6.5 (2026-10-29)
6
+
7
+ ### ✨ 新增
8
+
9
+ - **桌面后台检查与静默预下载(#81)**:Windows 安装版在后台自动预下载最新安装包,用户点击「检查更新」即可秒装,不再重复耗时下载;Portable 与 macOS 仅气泡提醒;可在「设置 → 安全」彻底关闭后台自动检查。
10
+ - **豆包联网搜索与单网页抓取(#84)**:接入火山引擎豆包联网搜索(Web Search)与单网页正文抓取(Web Fetch),共享 500 次/月免费额度;错误码精准映射为标准 HTTP 状态,额度耗尽自动触发多账号轮换。
11
+ - **全链路安全防护审计收尾(#43)**:
12
+ - 实施 Host 头校验阻断 DNS Rebinding,拦截外网恶意网页穿透本地免密路径;
13
+ - 规范 API Key 废弃演进路线,提供旧格式 Key(`sk-<random8>`)迁移提示;
14
+ - 巩固 Windows Root CA 权限最小化与状态端口安全边界。
15
+ - **主流模型与平台能力更新**:
16
+ - 完整接入 Claude 5.5 系列(Sonnet 5.5 / Haiku 5.5 / Opus 5.5)思考与工具链调用;
17
+ - 接入 GPT-6.1 Terra 与 Nace Drex 决策平台;
18
+ - 强化 Gemini Protobuf Schema 转换与 CommandCode CLI 1.88.0 会话头支持。
19
+
20
+ ### 🐛 修复
21
+
22
+ - **桌面打包白名单修复**:修复安装包遗漏后台调度模块导致的启动异常。
23
+ - **更新复用逻辑修复**:修复手动检查更新时重置状态导致预下载文件无法命中的逻辑缺陷。
24
+
25
+ ## v1.6.2 (2026-10-28)
26
+
27
+ ### ✨ 新增
28
+
29
+ - **Qoder 排队等位与全局队列快速失败**:对齐官方客户端行为,遇到 10605 排队时执行器内原地重发等位(≤90 秒),浅排队请求无感放行,不再立刻报 429;深度排队时阻断多账号盲目轮询,按上游真实预估排队时间冷却。
30
+ - **组合页面支持卡片拖拽排序与一键置顶(#89)**:支持手动拖拽调整组合卡片顺序或快速置顶,排序实时持久化,`/v1/models` 输出顺序与面板显示完全对齐。
31
+ - **多媒体与网页生态接入**:接入 Grok Web(Grok Imagine 生图与对话)、UC Web(Clerk 鉴权与 Cookie 自动轮换持久化)、Veo AI Free(免登录体验)、Oxion AI 聚合平台;清理下线未实现的存根通道。
32
+ - **连接测试全面覆盖真实生成**:对齐 antigravity #82 语义,测试探针剥离 thinking 后缀,带高思考参数的模型不会再被误判为 400 失败。
33
+
34
+ ### 🐛 修复
35
+
36
+ - **环境代理内网判断修复(#87)**:修复以 `fc/fd/fe80` 开头的公网域名(如 fda.gov、fcm.googleapis.com)被误伤判定为内网而静默绕过环境代理的缺陷。
37
+ - **Qoder 错误透传与流式终态守卫(#88)**:首帧拦截错误触发回退,流中传播结构化错误,翻译器在终态帧后严格丢弃无效后续帧。
38
+ - **MiniMax Code 配额与界面修正**:配额修正为纯积分余额分类,且无连接时自动隐藏「领取积分」入口。
39
+ - **国际化词条补全**:连接批量删除、应用代理、全选及部分删除失败告警文案全面接入字典。
40
+
41
+ ## v1.6.1 (2026-10-24)
42
+
43
+ ### ✨ 新增
44
+
45
+ - **Antigravity 按模型家族隔离配额**:Gemini 与 Claude/GPT 两套配额独立核算、独立选号——一个家族耗尽不再连坐误伤另一个;选号日志新增 🟩🟨🟥 健康色块与重置倒计时。
46
+ - **供应商调度策略分类控件**:账号按「资产包 / 循环订阅 / 纯余额 / 免密网关」分类打标,详情页按类提供到期包优先、最低/最高余额优先、轮询等调度选项。
47
+ - **zcode-free 免费体验包加送 GLM-5.3**(1024 Dev Day 活动,每日 200M 额度)。
48
+ - **组合 router 决策日志**带上 confidence 与次优候选,调优组合时能看出决策有多确定。
49
+
50
+ ### 🐛 修复
51
+
52
+ - **Antigravity 连接测试全链路(#82)**:被 Google 风控标记(需要验证)的账号不再假绿——逐测现在覆盖真实生成链路,错误里直接给出可点击的验证链接(新版 /v3/ 链接已兼容);未灰度模型如实标红并给出可行动提示;中文界面错误文案全面本地化。
53
+ - **多账号「抽干」修复**:订阅型账号按短窗/长窗拆分健康度,任一窗口见底即判红并交接流量,不再死磕已抽干的账号;CodeBuddy / Qoder 资产包改为严格按到期压榨——快过期的包必须先烧掉,不再被钉死烂掉。
54
+ - **配额卡**:耗尽的月度赠送包不再计入聚合池分母(修复 CodeBuddy 卡 30/130 的假象),到期倒计时不再被耗尽包吞掉。
55
+ - **配额冷却**:配额窗口的解锁上限从 30 分钟改为 24 小时,不再每半小时白撞一次 429;「将于 稍后 重置」占位符修复。
56
+ - **组合 router**:决策卡只把「最近在失败」当减分项,没流量的冷成员不再被系统性跳过;修正 Drex 决策请求形状,router 策略不再永远降级。
57
+ - **System One 决策 Provider(drex / v1m / thx)**:接入连接测试与 key 校验,编辑弹窗「检查」不再恒报 Invalid。
58
+ - **CD 推送配额卡**:LongCat 等把数字写进名称的推送行不再误读成满额。
59
+
60
+ ## v1.6.0 (2026-10-21)
61
+
62
+ ### ✨ 新增
63
+
64
+ - **上游 9router v0.5.95 → v0.5.104 择优移植**:Gemini 4 Argon 三线收录;antigravity 支持 Claude Sonnet/Opus 5.5(家族共享配额路由);antigravity 目录刷新(默认 3.8-flash-medium、IDE 指纹 2.22.0);Codex GPT-6.1 Sol 与 Responses Lite 传输;gpt-5.5 系下线;现役 Claude 全系补 PDF 输入。
65
+ - **Inception Labs 供应商**:Mercury 扩散模型(~1000 tok/s),mercury-3 launch 半价 $0.10/$0.35,新 key 送 1 亿 tokens;配额经 CreditDaddy 通用卡推送。
66
+ - **组合 router 策略**:固定顺序/轮询不看谁更擅长当前任务;Router 分析 prompt 动态挑最擅长的成员回答(仅一次额外调用,兼顾能力与速度);失败/超时 8s 内退回原顺序。
67
+ - **Trae 国内站(trae.cn)登录**:站点选择 + 回调自证 + 裸 token 探测;国内/国际账号不互通,拿错端有明确提示。
68
+ - **MiniMax 免费线回归 + 订阅线每日自动签到**;M3.1 Flash 正式 id 全线对齐。
69
+ - **头部公告系统**:免费模型活动、关键变更实时推送(GitHub raw → Gitee 镜像 → 本地缓存三级兜底)。
70
+ - **API Key 权限勾选器**:可调用模型/组合白名单改勾选式。
71
+ - **MiniMax Code 卡面「今日已签」徽章**:CreditDaddy 推送签到状态即展示连签天数。
72
+ - **到期优先调度防透支**:赠送类配额包耗尽后不再霸占「最早到期」位置,多账号不再齐指同一重置点;Round-Robin 在到期优先开启时自动置灰(到期优先接管轮询),配套轮询/配额包逻辑的用户文档。
73
+ - **额度页刷新间隔可配置**:默认 5 分钟,可选 1m/5m/15m/30m/1h,不再强制 60s 轮询;Auto-Ping 升级三模式(关闭 / 重置即 ping / 固定钟点表),供应商页与额度页同一入口。
74
+ - **CodeBuddy 双线「已签到/活跃」徽章本地判定**(看最新配额包周期起点,不依赖外部推送);**Qoder 卡面 CD Sync / Native 双入口徽章**。
75
+
76
+ ### 🐛 修复
77
+
78
+ - **MITM bypass 建连超时键错误**:请求被 1ms 计时器秒杀后回落可被劫持的直连(PR #76 收尾)。
79
+ - **Trae SOLO 网关并发跨站串用**:token 不再打到错误站点。
80
+ - **MiniMax 签到状态查询 404**:status 端点误发 POST,改 GET 后签到恢复。
81
+ - **节点健康度误伤极速模型**:延迟轴改用首字延迟(TTFT),长输出快模型不再被总时长压分。
82
+ - **CodeBuddy 国际站「每日活跃会话」下线**(上游已撤销活动,白付请求);**CodeBuddy CN 消息数守卫放宽至 5000**。
83
+ - **Alibaba Token Plan 补国内版**,四张阿里卡标明 Intl/CN;**Qoder 限免行**显示可读截止时间;**API 密钥校验提示**走翻译。
84
+ - **配额包循环算法失效导致账号透支(T0)**:周期性赠送包耗尽后劫持到期排序、relay 环全体判红死锁单号的问题已修复,附完整故障报告。
85
+ - **River AI 连接测试误报「不支持测试」(Issue #80)**:并入 OpenAI 兼容校验,点测试不再假失败。
86
+ - **供应商详情页偶发整页打不开**:到期优先灰化 Round-Robin 的一处样式工具函数漏了引用,页面一渲染即崩;已修复并补进浏览器级验证。
87
+ - **腾讯 WorkBuddy 400 风控**:自动清洗 DeepSeek Harness 敏感标识,CodeBuddy 通道不再被误拦。
88
+
89
+ ### 🎨 界面
90
+
91
+ - 侧边栏字号恢复 14px,新增社区分区(飞书/Discord/Telegram/GitHub);完整更新日志改为弹窗内打开(修飞牛壳打不开新标签页);捐赠弹窗重做(爱发电 + 三张矢量收款码 + Star 按钮);头部公告入口带未读红点。
92
+
93
+
94
+ ## v1.5.1 (2026-10-18)
95
+
96
+ ### ✨ 新增
97
+
98
+ - **WorkBuddy / CodeBuddy 国际版 DeepSeek-V4.1-Flash 限免开放 & 渠道门禁打通**:补齐官方客户端的 `X-Conversation-ID` 等一整套会话协议头,不再被上游 11128「未授权渠道」拦截;国际版 `deepseek-v4.1-flash` 标记为限免至 10-31,卡片显示绿色 `free` 角标,到期自动恢复 0.11x 计费。
99
+ - **CodeBuddy CN 额外补偿与首月赠礼自动/手动领取**:支持全天后台自动重试检查并领取 CodeBuddy CN 临时补偿(如 500 点数)与首月赠礼(带实验开关 `codeBuddyCompensation`);提供商详情页新增一键手动领取按钮;401 自动刷新 Token。
100
+ - **组合(Combo)模型选择器「仅显示已连接提供商」**:组合编排弹窗支持一键过滤未连接提供商,快速挑选可用模型。
101
+
102
+ ### 🐛 修复
103
+
104
+ - **CodeBuddy CN 体积上限放宽到 32MB**:原先 3.2MB 的本地拦截长期误伤真实长会话(体积与 11128 门禁本就无因果关系),现在 32MB 以内一律放行,交给上游判定。
105
+ - **Antigravity 周期配额桶与完整身份验证链接**:
106
+ - 完美适配官方 5小时/每周 周期配额双窗口(Gemini 与 Claude/GPT 独立桶),并收敛共享配额的生图冗余模型项;
107
+ - 完整保留长达 600+ 字符的 Google 身份验证(VALIDATION_REQUIRED)跳转 URL,不再被截断。
108
+ - **Claude SDK 非流式重试报错根治**:
109
+ - 补全 Antigravity/Gemini 非流式响应到标准 Claude Message 格式转换,彻底解决 Claude CLI 报 `body is JSON but not a Message (HTTP 200)`;
110
+ - 强制补齐规范的 `req_` 响应头,消除 `request-id present but not Anthropic-issued` 报错。
111
+ - **视觉模型 tool_result 图片恢复**:修复 Claude 转 OpenAI 格式时工具返回图片被过滤的问题,多模态模型现可正常接收工具产生的图像。
112
+ - **多轮对话工具名称防冲突**:修复工具调用 ID 复用时 `functionResponse` 工具名被后序轮次覆盖导致的 400 错误。
113
+ - **组合模型自动压缩与熔断降级**:无前缀组合模型名支持能力聚合触发压缩;CodeBuddy CN 极端载荷拦截加入快速降级规则。
114
+ - **界面角标优化**:修复 CodeBuddy「付费档」与「订阅优先」图标尺寸过大的问题。
115
+
116
+ ## v1.5.0 (2026-10-15)
117
+
118
+ ### ✨ 新增
119
+
120
+ - **多账号「到期优先调度」升级为环形接力**:原「配额包到期优先」开关现已覆盖配额包 / 订阅速率窗口 / 余额三类额度,并对周期双桶(Antigravity/Gemini 5h+7d、MiniMax Code M Plan)改用「单点死磕、只前滚不插队、跌破 5% 红区无感换血」的接力算法——不再全池轮流失血、整条通道一起黑屏。
121
+ - **新供应商**:MiniMax Code 订阅双线(国内 / 国际,设备码 OAuth 直连 + M Plan 窗口 + Credits 余额追踪)、River AI(按量计费 + OpenAI 兼容双端点)、ModelScope 魔搭(按量 + 20 款主流模型 + passthrough)、Codiv 与 HAL-X THX-01(System One 决策模型端点)。
122
+ - **通用外部额度推送接口**:外部伴侣(首个接线方 CreditDaddy)把自己解析好的额度 POST 到 `/api/external-quota/<source>`,统一配额页即渲染成卡片;配合「同名认领」,CD 账号别名与连接名相同时余额直接挂到路由连接卡上。
123
+ - **API Key 细粒度权限**:客户端 key 可设可调用的模型 / Combo 白名单,越权请求直接 403;Endpoint 页交互式编辑。
124
+ - **Gemini 4「Argon」入库**:能力(视觉 + 推理 + 搜索 + 1M 上下文)与官方价目($2 / $10)。
125
+ - **重排序(Rerank)类别**:新增 `/v1/rerank` 端点与独立模型类别,接入 Cohere、Jina AI、SiliconFlow(BGE Reranker)三家——输入 `query` + 候选文档、输出相关性分数,RAG / 知识库检索精排即插即用;侧边栏媒体供应商新增「Rerank」入口,详情页带可交互示例。
126
+ - **LongCat 资源包额度**:CreditDaddy 可推送 LongCat Token 资源包余量到配额页(同名认领挂到连接卡);赠送/购买包按官方消耗顺序规则逐包展示。
127
+ - **供应商页连接状态筛选器**:供应商墙可按「活跃 / 错误 / 未激活 / 无连接」筛选——「活跃」含已连上的供应商与拓扑开关开启的免密供应商;弹层菜单与整体控件语言一致(不再使用原生下拉框)。
128
+
129
+ ### 🐛 修复
130
+
131
+ - **同名认领后连接卡的「刷新配额」真正回源**:此前刷新只会重读本地快照,CreditDaddy 收不到现拉请求、数字不变;现在刷新先 POST 回 CD 触发现拉重推,且全程按钮保持旋转。
132
+ - **用量拓扑图不再显示已下架供应商**:曾被下架(如 Token Harbor 网页会话)但库里仍有残留连接的供应商,不再以幽灵节点复活在拓扑画布上。
133
+ - **0 积分配额包不再劫持到期倒计时**:已耗尽的赠送包此前仍参与「最快到期」排序,把账号顶到队首空烧;现只按明细中存活包排序。
134
+ - **混合大小写命名空间模型 id 不再被剥图**:reseller 以 `vendor/Model-Name` 形式暴露的多模态模型,此前因大小写漏配能力行导致图片被静默剥离,现补大小写不敏感兜底。
135
+ - **Qoder DeepSeek / GLM / MiniMax 档补回视觉**:这几档模型上游实测支持图片输入,但能力表漏配导致图片被剥离,现已按活体实测结果补上。
136
+ - **MiniMax Code Credits 卡面「999.96 / 999.96」双印**、**未认领的 river / modelscope 连接不再报「Usage API not implemented」**(改给同名认领指路文案)。
137
+
138
+ ## v1.4.0 (2026-10-10)
139
+
140
+ ### ✨ 新增
141
+
142
+ - **API 密钥支持每日 Token 限额**:每个客户端 key 可设每日上限(如 100M/天),超限返回 429 `rate_limit_error`,服务器本地零点自动重置;Endpoint 页有全局总开关,每 key 随时增改限额,列表实时显示今日用量占比。
143
+ - **配额跟踪器卡片图标直达供应商官网**:配额页每张卡片左上角的供应商 logo 现在点击即在新标签页打开对应官网/控制台。
144
+ - **「隐藏零余额提供商卡片」开关**:实验页的卡片隐藏新增第二档——0 余额/0 积分的连接卡片可整卡隐藏,与既有「隐藏无配额卡片」互相独立、可叠加。
145
+ - **「待重新授权」账号状态**:OAuth 账号刷新令牌失效时,连接行亮起「待重新授权」标记并冷却 24 小时(不再每 2 分钟空撞一次);重新授权立即恢复。
146
+ - **CodeBuddy 模型面对齐官方积分页**:国际线补上整条 Claude 线(Opus 5.5 / Sonnet 5.5 等 8 款)与 Grok-4.7、Gemini-3.8-Flash、GPT-6.1-Sol;国内线新增 GLM-5.3-FlashX(0.14x)与 StepFun Step-5-Preview(0.43x);Space-Bunny 折扣结束回调 0.08x。新增「付费档」「订阅优先」两种模型徽章。
147
+ - **OpenCode / Token Harbor 新模型**:OpenCode 付费线补齐 Claude Haiku 5.5(能力声明修正为 1M)等新上架模型;Token Harbor 收录 `claude-haiku-5.5:free`。
148
+ - **Trae Free 模型目录对齐官方目录**(issue #54):新增 18 款,移除 10 款已被上游下架的模型。
149
+ - **免费线卡片的 CreditDaddy 网关状态**(issue #49):桌面 v1.3.5 修订资产已先行带上,本版起全渠道生效。
150
+ - **Release 资产命名平台化**:Windows / macOS / fnOS 安装包文件名统一为「软件名-平台-…」,同一 Release 页面内同平台资产自动聚类排序。
151
+
152
+ ### 🐛 修复
153
+
154
+ - **combo 模型组的上下文窗口现在正确发给客户端**:此前组合条目只写嵌套能力块,客户端读不到顶层 `context_window` 只能按模型名猜、且往高猜,长上下文直到上游硬失败。
155
+ - **流式请求统计口径两处修正**:答复完整送达后客户端提前断开不再记成失败(issue #48 / #50);上游中途掐断的干净结束不再记成成功,改记「截断」;SSE 流中被丢弃的损坏行会计数并显示在请求明细。
156
+ - **刷新令牌处理三连修**:轮换后的新令牌落库失败时立即报错,不再静默用旧令牌把账号整体踢下线;sql.js 模式落盘失败自动重排重试;401 自动刷新重试失败时把真实原因透传给客户端。
157
+ - **StepFun CN 实名闸门不再误报「额度用完」**:未完成实名核验的 403 不再把模型锁 2 分钟,仪表盘给出实名页直达链接,combo 立即穿透到下一候选。
158
+ - **GitHub Copilot 配额按类别分行**:chat / completions 月度窗口不再并入资源包合计,与 Antigravity 口径一致。
159
+ - **自定义连接名称优先显示**:连接行不再被用户名/邮箱挤掉自定义名称。
160
+ - **模型目录与能力参数纠错**:客户端拿到的上下文/输出上限对齐各供应商真实值(修复别名漂移、目录查找落空、combo 聚合缺口等同源问题)。
161
+ - **Windows 安装器三连修**:升级不再弹「无法关闭」、不再执行旧版卸载器;UAC 被拒绝不再无声失败。
162
+ - **fnOS 打包修复**:不再误覆盖 standalone 自带的精简 next 模块(装上即起不来的根因)。
163
+
164
+ ## v1.3.5 (2026-10-05)
165
+
166
+ ### ✨ 新增
167
+
168
+ - **免费线卡片新增 CreditDaddy 网关状态**(issue #49):ZCode Free / MiniMax Free / Trae Free 卡片现在会探测本地网关端口并直观显示连通状态,不通时给出下载链接与开启引导。
169
+ - **新增 Trae Free 供应商(`trae-free`)**:经本地 CreditDaddy 网关使用 Trae(SOLO)远程 Agent 额度,与 ZCode Free / MiniMax Free 同款接线——免登录卡片、主机/端口共享、路径按线独立,12 款模型(Doubao Seed Code、MiniMax M2.7、GLM 5 系、DeepSeek V4 系、Kimi K2.5/2.6、Qwen 3.5/3.6),支持思考流;卡片图标为从客户端 exe 提取的官方黑白标。
170
+
171
+ ### 🐛 修复
172
+
173
+ - **升级安装不再弹「无法关闭」(Windows 安装包已原位替换更新)**:升级时新安装器自带清理、跳过旧版本冻结的旧卸载器代码,不再触发幽灵进程的无法关闭弹窗或静默退出码 2,用户数据不受影响。
174
+ - **中途夭折的流式请求不再留下一条「绿色 0 token」的假成功**(issue #48)—— 流式请求一开就写入占位记录,但那时还没产出任何内容、状态却已是「成功」。上游随后断链时,中止路径完全不碰数据库,那行记录再没人修正:一次被掐断的请求会在详情列表里一直显示成「已完成、且恰好没花钱」。现在进行中的记录就显示为进行中,被中止的流式请求记为失败。
175
+ - **单个模型失败不再把整条连接标记为「不可用」**(issue #46)—— 这才是根因:按模型的锁在写入时,会连带写一个账号级的「不可用」标志,而选路自始至终只看那把按模型的锁。于是兄弟模型照常工作、连接却显示为宕机。现在这个标志只在真正的账号级失败时才写。
176
+ - **CreditDaddy 三条线的 404 不再被报成「模型不存在」**(issue #47):CreditDaddy 已把网关端点迁到带品牌名的路径(`/gateway/zcode/…` 等),404 说的是端点而不是你的模型。现在提示会直说这一点,卡片上也给出排查指引:路径要保留品牌段;若 CreditDaddy 版本早于这次改名(仍只提供旧的裸端点),应升级 CreditDaddy 而不是改那个输入框。
177
+ - **部分受限的连接改为显示黄色,不再标红**(issue #46):只有一个模型在冷却期的连接仍在正常服务其它模型,现在有独立的「部分受限」状态,不再被当成整个账号宕机。同时把原先手写了四份、彼此可能不一致的状态判定收敛成一份。
178
+ - **单个模型的额度用完不再显示成「账号不可用」**(issue #46):Google / Antigravity 的额度按模型分桶,我们的锁也是按模型的,但提示一律写「该账号额度已用完」——而同一连接上的其它模型在整个窗口内照常可用。现在提示会点名具体模型并说明其余模型不受影响;真正整账号耗尽的情况文案不变。
179
+ - **用量「概览」不再空白、而「详情」列着一堆 0 token 的行**(issue #48):两个页签读的是不同的表,上游没回 token 数时,一侧整行被丢掉、另一侧却照样写进去(显示 0 输入 / 0 输出)。此前只有流式请求有估算兜底,非流式请求没有。现在两个页签显示同一组估算出来的数字。估算值只记进仪表盘——客户端拿到的 usage 仍严格是上游返回的原值。
180
+ - **超长上下文自动压缩默认触发比例 0.9 → 0.95**:自动压缩改为更贴近窗口上限才触发(阈值档位与总开关不变,可在「实验特性」卡片调整)。
181
+ - **Claude Code / mirasim 不再在 160K 处强行压缩**:模型列表此前只按 OpenAI 约定上报窗口,Claude CLI 读不到就回退到内置的 20 万默认值,于是 Qwen3.8-Max(真实 100 万)等模型在客户端侧 16 万 token 就触发压缩。现在补发 Anthropic 约定的字段,客户端能读到真实窗口。
182
+ - **仪表盘模型卡不再把 1M 窗口显示成 20 万**:Qoder(`qd` / `qdc`)、Kiro(`kr`)、CodeBuddy CN(`cbcn`)、Antigravity(`ag`)这四条线的模型此前在仪表盘上因按别名查能力而跌到 20 万地板(vision / reasoning 徽章也被剥掉),Kiro 的 gpt-5.6 系窗口还虚高到 105 万。现已全部归一化到正确的 1M 档。
183
+ - **Trae Free 卡片图标不再缺图**:本版接入时漏了图标资源,卡片回落成文字缩写、而其它屏又是另一张(彩色)标。现已统一使用从客户端 exe 提取的 Trae(SOLO)官方黑白标。
184
+ - **Trae Free 的网关主机/端口设置生效**:本版接入时漏了一处代码位置,局域网主机与端口配置对 Trae Free 不起作用、请求仍打本机默认地址。已修复。
185
+ - **Qoder 订阅积分「凭空消失」有了明确提示**(issue #44):CreditDaddy 同步来的网页会话失效时,套餐积分读不到却没有任何提示。现在额度卡片会直接警告会话已失效、并在导入连接时逐账号校验会话可用性点名失效账号。
186
+ - **Windows 升级安装不再卡在「10Router 无法关闭」**:旧版程序以管理员身份运行时(MITM 绑定 443 需要),普通权限的安装器杀不掉它。现在安装器会请求一次管理员授权来关闭旧进程;拒绝授权则退化为原行为,不会更糟。`10Router.Setup` 与 `10Router-Web-Setup` 均已覆盖。
187
+ - **桌面端更新下载加了超时保护**:网络异常挂起时更新流程不再永久卡死,失败会清理残留的临时文件。
188
+
189
+ ## v1.3.3 (2026-10-04)
190
+
191
+ ### ✨ 新增
192
+
193
+ - **新增 MiniMax Code Free 供应商(`minimax-free`)**:经本地 CreditDaddy 网关使用 MiniMax 免费额度(M3.1-Flash-Preview / M3 / M2.7),与 ZCode Free 同款接线——免登录卡片、主机/端口共享、路径按线独立,详情页带官方图标与网关设置区。
194
+ - **MiniMax 家族能力对齐官方客户端**:M3.1-Flash-Preview 支持五档思考深度(default/low/medium/high/xhigh/max)透传;M3 思考为开/关切换;上下文按 1M 上报。
195
+
196
+ ### 🐛 修复
197
+
198
+ - **zcode-free 网关端点补齐 `/zcode` 段**:对齐 CreditDaddy 侧的路径迁移(MiniMax 线早已同形)。
199
+ - **CreditDaddy 网关卡片**:路径字段改为显示实际生效值(预填,不再藏在占位符后);远程接入说明纠错——网关由 IP 白名单保护、不校验 key,无需填凭据(旧文案曾错误要求建带 key 的连接)。
200
+ - **CodeBuddy CN 不再拦截工具多的 Claude Code / codex 会话**:移除「工具数 > 60」的本地一刀切(它曾锁死挂 MCP 工具集的真实会话),工具数现在只进拒绝诊断信息;体积 3.2MB 与消息数守卫不变。
201
+
202
+ ## v1.3.2 (2026-10-03)
203
+
204
+ ### ✨ 新增
205
+
206
+ - **桌面端:统一 HTML 更新窗**:检查更新 / 下载进度 / 取消 / 安装全部在同一个品牌化小窗内完成,视觉与仪表盘一致;顺带修掉 Windows 非整数缩放下窗口出现滚动条的问题。
207
+ - **桌面端:「通过桌面壳更新」按钮**:仪表盘「检查更新」发现新版本后一键通知托盘壳,由壳接管下载 → SHA-256 校验 → 安装的全自动流程;远程(局域网 / Tailscale)打开的仪表盘同样生效。
208
+ - **桌面端:安装器与「关于」窗对齐仪表盘设计语言**:安装器/卸载器换上品牌侧板(同款设计 token);「关于 10Router」从系统原生对话框换成品牌化小窗。
209
+ - **修复:Windows 升级不再被旧进程锁死(重要)**:旧版卸载器杀不掉后台服务进程导致升级报「无法关闭」——新安装器会先清场、退出时确定性停车。
210
+ - **CodeBuddy CN 上架 Space-Bunny**(0.03x 限时折扣 10/2–10/7);**APInex 复上架**,目录实测刷新为 36 模型(免费档扩到 18 个)。
211
+ - **供应商目录与图标整理**:Token Harbor 免费档新增 qwen3.8-flash / mimo-v2.6-flash(1M 窗口、带视觉);新增 fledge-alpha-free 能力行;Atria 取 key 链接修正为官方控制台;Atria / Token Harbor / OpenCode Zen 上官方图标;Dahl Inference 下架。
212
+
213
+ ### 🐛 修复
214
+
215
+ - **模型能力上报补齐**:zcode-free 等免登录供应商、未连接供应商的自定义模型(opencode-zen 等)现在都会上报「上下文窗口 / 最大输出」,客户端不再靠模型名瞎猜。
216
+ - **缓存命中率算法修复**:缓存最密集的请求不再被静默丢出统计(此前 684 行);缓存写入 token 计入分母,数字更诚实——agent 类流量命中率高是真实状态。
217
+ - **供应商详情页**:邀请码不再两处重复显示;全部供应商提示文案补齐简繁双语。
218
+
219
+ ## v1.3.1 (2026-10-02)
220
+
221
+ ### ✨ 新增
222
+
223
+ - **GLM Coding 支持 Z.ai OAuth 登录(双认证)**:除粘贴 API key 外新增浏览器授权登录,额度卡片两种登录方式通用。
224
+ - **新增 Meta Muse 供应商(OAuth + 模型目录)**:Meta 官方 Muse Code 通道,设备流程一键登录,五个 Muse Spark 模型与官方定价齐备。
225
+ - **新增 System One 决策供应商 v1m(v1m.ir)**:与 Drex 同协议的第二家决策模型后端。
226
+ - **codex 暴露 GPT-6 / GPT-5.6「[1m]」超长上下文变体**:872K 窗口,模型名后缀加 `[1m]` 即用。
227
+ - **配额卡片实验性「嵌套周期配额条」**:实验页开关开启后,滚动 ⊂ 每周 ⊂ 月度 的包含链恢复为一条同心嵌套进度条。
228
+
229
+ ### 🐛 修复
230
+
231
+ - **同步上游 9router v0.5.95 四大批次(20+ 项)**:codex CLI 身份升 0.159 并修复 auto-ping 反复掉授权;grok-cli 升 1.0.44 恢复可用;codebuddy 6004 限流转精确冷却;Claude 尾部轮保留与思考格式适配、工具循环缓存优化;Claude Sonnet 5.5 / Kiro Opus 5.5 新模型;GPT-6 系列官方定价与真实上下文窗口;DeepSeek 同名工具去重;Gemini 工具 schema 兼容增强;严格代理解析失败时不再静默直连;Responses 流补发 watchdog。
232
+ - **配额修复打包**:重置时间改自适应倒计时(天+时 / 时+分 / 分+秒);「5 小时」时间轴以现在为中心前后各 12 小时;月度窗口固定显示在卡片底部;qoder / qoder-cn 的 Auto/Efficient 档位与显示名别名不再落到默认能力值。
233
+ - **登录与安全**:开启「需要登录」不再把自己踢出登录页;登录页「忘记密码?」补中文并写明 reset-password 文件格式(reset-password.txt / .md 等任意扩展名均可);用量统计排除隐藏供应商。
234
+ - **Drex 取 key 链接改为官方邀请注册**(Nace 现为邀请制)。
235
+
236
+ ## v1.3.0 (2026-10-01)
237
+
238
+ ### ✨ 新增
239
+
240
+ - **CLI 工具「模型组合方案」(Claude 卡,#17)**:Claude 工具卡新增 Profiles 栏,支持将 Opus/Sonnet/Haiku 映射、API Key 与上下文窗口保存为多套命名方案;下拉切换即自动写入 `~/.claude/settings.json`,无需再点 Apply,体验无缝对标 CC-Switch。配置由服务端统一持久化,NAS、Tailscale 或隧道访问时共享同一份设置。
241
+ - **配额可视化重构:QuotaToolbar 与配额窗口时间线**:用量页引入响应式配额工具栏与周期窗口时间线(`QuotaWindowTimeline`),直观呈现各供应商周/月周期的额度重置与倒计时;顶部增加「卡片」与「配额窗口」视图切换(会话级内存保持,刷新恒定默认展示卡片,不污染 localStorage)。多包分段进度条全面对齐 CreditDaddy 视觉语义,并支持卡片顶部展示精确最近到期时间。
242
+ - **全新搜索与抓取供应商 TinyFish 与 Keenable(#26)**:
243
+ - **TinyFish**(免费层):全自动支持 Web Search 与 Web Fetch,官方任意余额免扣费,免配置开箱即用;
244
+ - **Keenable**(标准 API Key):支持实时/专业模式搜索,以及带 `live=true` 的高保真任意网页抓取;
245
+ - 媒体提供商页面(Web Search / Web Fetch)及 `/v1/search`、`/v1/web/fetch` 接口全线接入。
246
+ - **ZCode 免费体验包供应商接入(`zcode-free`)**:将 Start Plan / Trust Build 免费额度(GLM-5.3-Flash)通过 CreditDaddy 桌面版「额度网关」接入调度;支持在卡片上配置局域网 CreditDaddy 主机地址,并产出详尽的实战接入指南文档。
247
+ - **Qoder 逐包明细优先用 CreditDaddy 网页会话**:通过同步的浏览器会话直读控制台精确逐包用量与到期时间,杜绝近似估算偏差,带账号所有权防串号校验。
248
+ - **LongCat-2.5-Preview 与国际站支持**:接入 LongCat-2.5-Preview(1M 上下文,支持图像与视频多模态输入及思考模式),新增 `longcat.ai` 国际站独立卡片。
249
+ - **桌面壳「容器」密码管理(`639f77a8`)**:桌面版内嵌网页(WorkBuddy、CodeBuddy 等)支持账号密码自动捕获、右键填充与独立密码管理面板,凭据通过系统安全存储(DPAPI / safeStorage)本地加密落盘。
250
+ - **全站深浅色模式系统自适应**:登录页及主界面自动跟随操作系统主题变化,带首屏防白屏闪烁脚本。
251
+
252
+ ### 🐛 修复
253
+
254
+ - **配额重置时间改为自适应倒计时**:卡片与资源包上的重置/到期不再只显示日期——未来时间直接显示倒计时,精度随量级自适应(≥1 天「天+小时」、不足一天「时+分」、不足一小时「分+秒」),悬停仍可见完整绝对时间。
255
+ - **配额窗口「5 小时」视图以现在为中心**:时间轴从自然日 00–24 点改为此时此刻前后 12 小时,"现在"恒定处于轨道中段,傍晚查看不再整屏都是已过去的窗口。
256
+ - **用量详情输入 Token 不再被缓存值顶替**:彻底修复未折叠 Claude usage 结构导致的高缓存命中请求(如 zcode-free)输入列与缓存列 1:1 显示的视觉失真问题。
257
+ - **全新安装冷启动静态模型暴露**:修复在数据库无任何连接记录的全新安装环境下,`noAuth` 体验供应商(opencode、mimo-free、zcode-free)在 `/v1/models` 中无法展示的问题。
258
+ - **OpenAI Responses 审核中断原因映射**:将 Responses 的 `incomplete_details.reason === "content_filter"` 正确转换为 Chat 补全的 `finish_reason: "content_filter"`,防止 SDK 误判为 length 长度截断。
259
+ - **代理配置容错与安全穿透(#36)**:支持不带 scheme 的代理格式(如 `127.0.0.1:7890`,自动规范为 `http://`);密文解析失败时维持密文字符串,坚决杜绝意外降级直连泄露真实 IP;保存时严格阻断非法协议。
260
+ - **反重力(Antigravity)稳定性强化**:移除官方已弃用的 `requestType:"agent"` 避免无故触发 429 报错;修复空字符串工具结果导致的 400 异常;长函数名自动映射与还原;大幅强化工具 schema 清洗(支持本地 `$ref` 内联解环,避免丢参数)。
261
+ - **未知裸模型名严禁前缀盲猜(#34)**:未命中的裸模型名直接返回 400 指引,不再随机推断为错误供应商导致 404。
262
+ - **远程虚拟 Key 权限修正(#38)**:恢复持有有效虚拟 Key 远程添加/更新自定义供应商的通道,打通外部工具自动化同步。
263
+ - **MITM 安全加固(#31)**:sudo 启动时 `ROUTER_API_KEY` 彻底移出命令行参数改走安全标准输入,避免从系统进程列表泄漏。
264
+
265
+ ## v1.2.1 (2026-09-26)
266
+
267
+ ### 🔒 安全
268
+
269
+ - **[重要] 开启登录校验后被锁在外面(#33)**:还没设置自己的密码时打开「需要登录」,之后只有那个看不到的首次登录密码有效(fnOS 安装时自动生成、写在你看不到的文件里),输什么都提示密码错误。现在未设置密码时不允许开启登录校验、拒绝空密码,并新增找回入口:登录页 **「忘记密码?」**。fnOS 直接在 **「应用中心 → 10Router → 应用设置」** 填新密码保存即可;其他安装方式在数据目录放一个 `reset-password` 文件。
270
+
271
+ ### ✨ 新增
272
+
273
+ - **CreditDaddy 接入:额度总览只读接口**:`GET /api/usage/quotas` 一次返回全部可查额度的连接,口径与仪表盘「额度」页一致,可用仪表盘虚拟 key(`sk-…`)访问。结果缓存 5 分钟;强制刷新(`?force=1`)对同一连接每 30 秒最多一次,同时到达的请求共用一次上游查询。不返回任何凭据——但账号邮箱对持有虚拟 key 的人可见,分发 key 前请知悉。
274
+ - **导入的用量开始显示预估成本**:经 10router-sync 插件或 CreditDaddy 同步进来的用量此前全是 $0。新导入按实时价表估算,历史数据在启动时自动补算(绝不覆盖来源已算好的成本;没有价格的模型仍为 $0)。
275
+ - **「登录校验已关闭」横幅可以隐藏**:设置 → 安全里「需要登录」下方新增开关,仅在登录校验关闭时出现。隐藏需要确认;重新打开登录校验后再关闭,横幅会自动恢复。
276
+ - **可以关闭自动检查更新**(设置 → 安全):适合刻意停留在某个版本的安装。关闭后 10Router 不再自行连接更新服务器、不再提示新版本——仪表盘、托盘气泡和 CLI 启动器都会静默;「立即检查」与托盘「检查更新」仍可手动使用。
277
+ - **单认证卡片支持 OAuth 加密导入 / 导出**:迁移按钮现在也出现在仅 OAuth 的卡片上——尤其是 **MiMo Desktop**,它的登录会话本身就是换机时要迁移的凭据。
278
+ - **Qwen 官方精确价**:新一代 Qwen 旗舰此前按低价通配档计费(如 qwen3.8-max 只算了官方价的四分之一),现按官方逐模型价格计算。
279
+
280
+ ### 🐛 修复
281
+
282
+ - **[重要] 重启后远程访问一直断着,直到有人打开仪表盘**:隧道 / Tailscale / MITM 自动恢复等启动任务此前要等第一次渲染页面才执行——只通过 `/v1` 使用的 NAS 可能一直等不到。现在随服务一起启动。
283
+ - **Qoder 排队限流被当成模型回复**:排队中的请求(`10605`)以 `[qoder error 403: …]` 文字返回给客户端,还被记成成功。现在会切到下一个账号,并按 Qoder 要求的时长(约 30 秒)冷却被限流的账号。
284
+ - **免密面板在本机导入 OAuth 迁移文件被拦截**:现已恢复。
285
+ - **10router-sync 插件 v1.5.0**:适配 ZCode 新的套餐渠道 id(Start Plan 流量自 09-18 起漏同步);mirasim 输入计入缓存,仪表盘不再出现「输入 638、缓存 1.13 亿」;mirasim 订正脚本不再重复加缓存。
286
+
287
+ ### 🔧 其他
288
+
289
+ - **鉴权请求头对齐 10Router 命名**:`x-10r-cli-token` / `x-10r-password` 取代沿用下来的 `x-9r-*`。旧名称仍然兼容,已有的 CLI 启动器、插件和脚本不受影响。
290
+
291
+ ## v1.2.0 (2026-09-24)
292
+
293
+ ### ✨ 新增
294
+
295
+ - **小米 MiMo 拆成三张卡,各管各的账**:云端(`xiaomi-mimo`,浏览器登录 / API Key,按正式资费)、桌面版(`mimo-desktop`,必须由本机已登录的 MiMo Desktop 客户端提供会话,不接受 API Key)、Token Plan(`tp-` 套餐密钥)。此前一个卡同时管两类凭据,「周额度」和「测试连接」都按最宽松的一侧判定——云端卡会显示它其实读不到的桌面版周额度。现在云端卡不再显示周额度,桌面版卡独占该权益;v1.1.3 时期建错的存量连接由迁移自动归位。
296
+ - **MiMo V2.6 上线、V2.5 退役**:接入 V2.6 全系,并给 MiMo 模型声明**真实上下文窗口**(1M / 128K 输出;此前落兜底值按猜的算)。**V2.6 Pro UltraSpeed** 也加入云端与 Token Plan 卡——定制服务,有合约直接可用,无合约收到上游报错,无需手工添加模型。
297
+ - **StepFun(阶跃星辰)全系列接入**:国内站 / 国际站 × 按量 / Step Plan 四渠道,短别名 `step-cn` / `step` / `stepp-cn` / `stepp`;Step Plan 渠道消耗套餐 Credit、提供 Anthropic 原生接口(Claude Code 可直连),并有套餐专属 `step-router-v1` 智能路由;LLM / 语音合成 / 语音识别按菜单严格隔离(图像服务官方已公告停服,故不放出);实时余额与代金券查询。
298
+ - **ComfyUI 本地生图**:连接本机 ComfyUI 后自动发现 Checkpoints、装配 SD / SDXL / Flux 文生图工作流,经 `/v1/images/generations` 返回标准图像。
299
+ - **媒体供应商列表支持拖拽排序、已连接自动前置**:与主提供商页共用同一套排序与持久化,`/v1/models` 顺序保持一致。
300
+ - **组合(combo)新增「空回复时切换」策略**(默认关):部分上游把内容审查表达为 HTTP 200 空流,现在会自动落到下一个模型;单请求默认最多连切 2 个——重放会重新计费完整输入上下文,高上下文组合慎用。
301
+ - **逐个测试连接可选模型**:测试下拉可挑具体模型(默认「提供商默认」),因为有些凭据只覆盖部分模型——桌面版会话就只到桌面模型。Qoder 的逐个测试改为按**该账号的实时模型目录**核对别名(不消耗积分),且 Qoder 国内版不再返回「不支持」。
302
+ - **「隐藏无配额」开关移入「设置 → 实验性」**:配额页工具栏此前按钮太挤,该开关现收纳在实验性页的提供商卡片里。
303
+
304
+ ### 🔒 安全
305
+
306
+ - **不再有内置默认密码**:未设置密码(且未配置 SSO)时仪表盘**只能在本机打开**,远程请求被明确拒绝并提示设置路径;`INITIAL_PASSWORD` 是唯一的非交互引导口令。**升级前若一直用默认口令从别的设备登录,请先在本机设置一次密码。**
307
+ - **上游凭据加密存储**:OAuth token / API key 以 AES-256-GCM 加密落库,密钥存放在数据库之外(`$DATA_DIR/credential-key`,或用 `CREDENTIAL_SECRET` 指定)。数据库文件被拷贝 / 同步不再等于凭据泄露。**密钥请与数据库一起备份——丢了密钥,凭据无法恢复。**
308
+ - **用量日志不再记录完整 API key**:只保留可读前缀与不可逆摘要,按 key 统计照常工作。
309
+ - **新增「安全」卡片(设置 → 实验性)**:监听地址、密码状态、登录校验、访问范围与凭据存储状态集中展示,并提供「**仪表盘仅本机访问**」开关(请求级即时生效,不影响 `/v1` 网关)。未设密码或关闭登录校验时全页面常驻警告横幅;关闭「要求登录」需二次确认。
310
+ - **登录会话收紧**:时长从 24 小时缩短为 2 小时并滑动续期(使用中不会被打断);本版再加**绝对上限**——自首次登录起超过 30 天必须重新登录,被盗登录态无法靠持续访问无限续期。
311
+ - **fnOS 升级不再重置引导密码**:随机口令改存到跨升级保留的数据目录,此前每次 fpk 升级都会换掉密码、把依赖旧口令的用户锁在外面。
312
+ - **备份导出不再静默丢凭据**:在缺 / 错密钥的机器上导出的备份此前不含任何凭据却提示「下载成功」;现在原样保留密文并明确告警「需用原始密钥才能恢复」。
313
+ - **`/api/health` 不再回显本机路径**:该公开接口此前会把驱动加载失败的原始报错(含本机绝对路径)一并返回。
314
+ - **Windows 密钥文件补齐权限收紧**:加密密钥与登录密钥改用 ACL 仅本人可读(与此前 Root CA 私钥一致);MITM 的 sudo 密码也不再使用写死在源码里的兜底密钥。
315
+
316
+ ### 🐛 修复
317
+
318
+ - **[重要] 用错密钥启动会永久销毁已存的凭据**:把数据库恢复到没带密钥的机器上启动一次,所有 OAuth token 与 API Key 的密文会被抹掉,之后换回正确密钥也救不回。现改为原样保留密文,换回密钥即可恢复。
319
+ - **[重要] 部分响应流被拼接错误**:stop 序列守卫注入的补发行缺少分隔,会与终止帧并成同一个事件,使部分客户端(含官方 SDK)解析失败;Anthropic 响应还缺事件类型行、内容块序号写死。现全部修正,并在命中后整块丢弃非文本块(此前会残留一个参数为空的工具调用,客户端可能空参执行)。
320
+ - **[重要] 纯工具调用的回复被误判为「空回复」**:开启「空回复时切换模型」后,模型一旦决定调用工具就被当成没有输出,回退到下一个模型并**重复计费整个输入上下文**。现正确识别工具调用与推理内容,且被放弃的那次调用用量照常入账。
321
+ - **Claude Code 自动模式分类器经网关恒不可用(#18)**:部分上游接受 `stop` / `stop_sequences` 却无视它。网关现在流式转发层代执行客户端的 stop 契约(序列本身不发出、保留用量统计、把被截断的 `length` 改写成正常 stop),并补齐双向 stop 参数映射。
322
+ - **小米 MiMo 浏览器登录在局域网 / HTTP 下完全不可用**:OAuth `state` 生成此前依赖只在安全上下文存在的 API,从别的设备以 `http://局域网IP` 打开时(NAS 的常态用法)点击「浏览器」直接报错,整条登录链路被堵死。
323
+ - **SiliconFlow 中国区的别名被劫持**:`sfcn` 同时被两家提供商声明,导致 SiliconFlow 的请求被打到 StepFun。现已归还原主,并新增全局别名唯一性检查防止再犯。
324
+ - **StepFun 四渠道连接测试报「不支持」**:健康密钥也一律失败;现走通用 OpenAI 兼容校验。
325
+ - **Token Plan 浏览器登录后打错集群**:套餐账号的 chat / TTS / 连接测试此前一律打到按量集群;现按平台回传并存储的端点路由。
326
+ - **配额页显示与操作问题**:有视图筛选时「显示中 1-10 of 46」与实际卡片数不符(现按实际显示数量报);同一张卡内连续快速点击多个「已隐藏」标签会丢失大部分操作(点 5 个只恢复 2 个),现已全部生效;「只看有余额」与手动隐藏重新打通——批量隐藏的行现在也出现在「已隐藏」列表里、可按名字单独点回。
327
+ - **用量按密钥统计把同一台机器的所有密钥合并成一桶**:分组键此前用脱敏掩码,而同机所有 key 掩码相同;现改用密钥摘要分组。
328
+ - **MiMo 杂项**:周额度耗尽不再把上游原始 JSON 铺进连接行;TTS 裸模型名不再被静默改写成默认模型;浏览器登录挂起会话的密钥数与桌面版对齐上限 8。
329
+
330
+ ### 🔧 其它
331
+
332
+ - 恢复 258 条因品牌重命名而失效的界面翻译(此前静默显示英文)。
333
+ - 到期 / 重置倒计时不再跨天被折叠:41 小时不再显示成 `1d`,统一为 `1d 17h` / 「1天17小时」。
334
+ - 仪表盘 Change Log 只显示已发布的版本段,不会提前看到开发中版本的功能。
335
+ - 安装包与文档不再把用户引到无关 fork 的包名。
336
+
337
+ ## v1.1.3 (2026-09-20)
338
+
339
+ ### ✨ 新增
340
+
341
+ - **Qoder 国内版完整恢复 + 每日 Credits 自动领取**:qoder-cn 的 OAuth 设备码 / PAT 鉴权、模型目录与用量跟踪全面可用;每日 Credits 自动领取(实验开关 + 卡片手动领取),资源包逐包展示(各自到期日、先到期先扣);Qoder 官方图标与千问系实时倍率 / 夜间错峰半价倒计时同步上线。
342
+ - **按模型钉住上下文窗口 / 最大输出**:模型行新增调参图标,可对任意模型(含自动发现的)覆写 `contextWindow` / `maxOutput`,留空即回退默认;模型列表与用量口径同步生效。
343
+ - **超长上下文服务端自动压缩**:请求估算超过有效窗口的 90%(阈值 80/90/95% 可选,默认开启)时,由同一模型先把较早轮次摘要化再派发——不自压缩的客户端(ZCode / OpenClaw / 自建 agent)不再撞「prompt is too long」,推理型模型同样适配;任何失败原样放行,绝不因压缩毁请求。总开关在「实验特性」。
344
+ - **Provider 卡片拖拽排序**:卡片可拖拽重排并持久化,禁用的 provider 自动置底;模型 API 列表顺序跟随卡片排序。
345
+ - **OpenCode Free 体验渠道反滥用修复并默认开启**;Antigravity 生图模型补齐(gemini-3-pro-image / imagen-3.0 等);10router-sync 插件 v1.5.0(ZCode 套餐渠道 id 适配 + 同步链路加固)。
346
+
347
+ ### 🛠️ 优化与修复
348
+
349
+ - **CodeBuddy CN 严格端点工具 schema 兼容**:工具参数根节点为 anyOf/oneOf/allOf、`$ref`、type 数组等形态时自动降级为纯 object 根再发往上游,修复 ZCode 等客户端整请求被 `11129` 拒绝的问题(#27)。
350
+ - **额度重置徽章不再消失**:MiMo 周报等周期性额度窗口用尽后,连接卡片仍持续显示「还剩几天重置」。
351
+ - **Qoder 配额解析修正**:免费账户每日 / 活动领取的 Credits 不再显示 0/0。
352
+ - **CodeBuddy intl DeepSeek reasoning_effort 映射修复**(#23)。
353
+ - **稳定性移植**:4xx 请求级错误不再误熔断健康账号;连接测试成功自动清除陈旧退避锁;长静默流中断按客户端格式上报错误帧,不再被误判为正常短回复。
354
+
355
+ ## v1.1.2 (2026-09-18)
356
+
357
+ ### ✨ 新增
358
+
359
+ - **用量仪表盘全新升级**:详情页新增生涯统计卡、GitHub 风格活跃热力图(日/周双视图、悬停明细)与节点健康度评分表(成功率/延迟/速度加权,行可展开查看模型级明细);「单位缩写」开关全局生效(概览卡与详情页统一,中文亿/万、其他语言 B/M/K)。
360
+ - **小米 Token Plan 出口节点智能匹配**:添加/编辑连接时按本机网络出口自动预选 cn / sgp / ams 集群(多源容灾探测,失败静默降级),连接测试按钮按所选节点正确路由;MiMo 429 限流提示友好化,冷却时间尊重上游「请约 N 秒后重试」。
361
+ - **10router-sync 插件 v1.4.0**:新增 `/10router-sync:status` 命令——不打开仪表盘即可查看实例状态与今日用量。
362
+
363
+ ### 🛠️ 优化与修复
364
+
365
+ - **CodeBuddy 11128 渠道级熔断**:命中上游渠道风控时按渠道整体熔断(不再逐账号重试放大风控),响应附双语处置提示(压缩会话/稍后重试);极端请求体积本地兜底。
366
+ - **凭据自动刷新修复(Cline / ClinePass)**:后台定时刷新不再 400,凭据到期自动续期恢复;失效凭据会明确标记「需重新授权」。
367
+ - **供应商与图表治理**:失效公益站下架;OpenCode Free / MiMo Code Free 归入「体验」分类默认隐藏;模型家族聚合修正(gpt-6、hy4、qwen3.8 等不再被拆分);模型类型图例移至顶部右侧,移动端自适应。
368
+ - **安全**:修复单条连接接口明文回显小米桌面会话凭据的问题。
369
+
370
+ ## v1.1.1 (2026-09-14)
371
+
372
+ ### ✨ 新增
373
+
374
+ - **跨账号「配额包到期优先」全局调度策略**:解决多账号下固定耗用主账号导致其他账号短期赠送包白白过期的痛点。供应商详情页新增独立开关,自动优先调度即将到期的有效配额包,零阻塞、零请求延迟。
375
+ - **Command Code 用量追踪与配额展示**:完整支持 5 小时会话滑动窗口、7 天每周限额、月度订阅余额与扣费展示,动态识别 Go / GOAT / Pro 等订阅计划,支持余额递减与到期倒计时。
376
+ - **自定义模型批量启用 / 批量禁用**:兼容节点与内置供应商详情页的模型管理支持一键批量开启或收回,并修复单条更新时丢失模型配置属性的缺陷。
377
+ - **OAuth 凭据导入 / 导出通用化与传输加密**:支持所有 OAuth 供应商凭据导出为 AES-256-GCM 加密备份,导入支持多级智能查重合并,无传输口令无法读取。
378
+ - **官方品牌矢量图标升级**:集成 `@lobehub/icons`,58 个主流供应商升级为官方矢量 SVG 图标,并支持明暗主题自适应。
379
+ - **CodeBuddy 自动签到与每日活跃会话**:签到改为全天智能探测与持久化备忘记录,新增国际版每日活跃对话开关。
380
+ - **桌面客户端增强**:菜单栏全量三语本地化,新增「前往」菜单(快速打开任意网址 / 回到本地仪表盘 / 最近打开历史管理),运行日志支持按日期长期自动归档。
381
+
382
+ ### 🐛 修复
383
+
384
+ - **用量面板 0 配额与离谱倒计时修复**:修复当账号额度为 0 时被错误渲染为无限额度 `0 / ∞` 的逻辑冲突,并过滤远期哨兵时间戳(如公元 9999 年),不再出现几百万天倒计时。
385
+ - **用量百分比计算修复**:修复金额型配额(如 Command Code $9.98)被错误当作百分比显示为 10% 🔴 的问题。
386
+ - **CodeBuddy 配额展示方向优化**:配额包翻转为「剩余 / 总量」递减显示,与进度条方向完全一致。
387
+ - **CodeBuddy 国际版连接测试支持**:补齐专用测试端点通道头与身份认证判定,不再误报「Provider test not supported」。
388
+ - **小米桌面版 Preview 模型未登录提示友好化**:精准提示需桌面端登录,不再伪装成限流或触发误冷却。
389
+ - **新增连接后模型禁用状态即时刷新**:连接变更时同步刷新模型可见性,禁用区模型支持直接进行连通性测试。
390
+ - **多处 i18n 与交互体验清扫**:Endpoint 节点页、供应商 notice 提示语与 API 密钥按钮全量补齐繁中与英文翻译。
391
+
392
+ ## v1.1.0 (2026-09-11)
393
+
394
+ > **版本记账**:1.0.9 跳过未发布——原计划的 1.0.9 内容(小米 MiMo 桌面版适配等)并入本版后规模达到 minor 级,版本号直接进位到 1.1.0;1.0.9 从未打 tag,无对应产物。
395
+
396
+ ### ✨ 新增
397
+
398
+ - **小米 MiMo 桌面版支持(一个供应商、两种登录)**:`xiaomi-mimo` 现在既支持 sk- API 键(云 API),也支持小米 MiMo 桌面客户端账号 —— 桌面独占的 `mimo-x-pro-preview` / `mimo-x-flash-preview` 只认账号 Cookie,光有 API 键用不了。两种凭据共用一个供应商卡片,按需启用即可。
399
+ - **小米 MiMo 授权码登录**:浏览器打开官方授权页后,即使本地回调没接上(或已超时),也可以把页面上显示的授权码**直接粘贴**到对话框完成登录。凭据全程只在服务端解密,不经过浏览器。
400
+ - **CodeBuddy 国际版模型目录补齐**:逐个用真实请求核对线上服务范围,补进 5 个真实存在却缺失的模型(GLM-5.1 / GLM-5v-Turbo / MiniMax-M3 / Kimi-K2.7 / DeepSeek-V4.1-Flash)与 `GPT 6.0 Astra`。
401
+ - **opencode-go 目录对齐官方公开列表(18 个模型),并为每个模型声明端点**:以前部分模型因为「端点声明缺失」被送到错误路径而直接失败,现在按官方端点表逐条声明。
402
+ - **新增 Codex / OpenAI 的 `gpt-image-2.5` 图像模型家族**:`gpt-image-2.5`(含 `-flare` / `-sunburst`)、`gpt-image-2`、`gpt-image-1.5`,支持文生图、图片编辑与多图参考。
403
+ - **积分徽章支持限时免费促销**:促销期显示绿色 `free`,到期**自动**恢复显示真实倍率 —— 不再需要有人记得回来改。
404
+
405
+ ### 🐛 修复
406
+
407
+ - **Windows 桌面版升级不再静默丢弃旧数据**:桌面版的数据目录同时也是 Electron 自己的配置目录,Chromium 会先生成一堆文件把它撑成「非空」,导致旧数据迁移被永久跳过。现在判据改为「目录里是否已经有我们自己的数据库」。
408
+ - **小米 MiMo 授权码登录的多个真问题**:载荷解密布局前后颠倒(这才是 `decrypt_failed` 的真因)、平台要求携带 `app=MiMo`、回调路径改为随机串、结果以 302 交回平台;另外回调监听器超时后粘贴不再失效。
409
+ - **Kiro 请求不再携带顶层 `systemPrompt`**(kiro.dev 对它直接回 400 且不重试),端点顺序改为 Amazon 面优先。
410
+ - **Claude 工具 `type` 改为按供应商开关**:修好 MiniMax 的 Claude 端点(缺 `type` 被拒),同时避免把 DeepSeek 的 Claude 端点打挂(它只认自家 `type`)。
411
+ - **Codex 工具 schema 里它不认的 `\p{...}` 正则会被剥离**:此前只要某个工具的参数 `pattern` 用了属性转义,整个请求就 400,且每个账号都一样失败。
412
+ - **Node 24 上跳过 `better-sqlite3`**:它的原生插件在 Node ≥ 24 上加载即崩溃(进程级),此前会让整个服务直接死掉。
413
+ - **AMD Token Factory 目录与能力按实测重建**:补上漏登的聊天模型,并修掉「纯文本」误判(图片会被静默丢弃)。
414
+ - **CodeBuddy CN 的 DeepSeek-V4.1-Flash 输出上限回落到服务端公布的 128K**:取大不会报错,只会让超过服务端上限的请求更容易撞 400。
415
+ - **同一个供应商不再在禁用列表里存两份互相矛盾的记录**:修掉「有些模型看起来没被禁用」的问题。
416
+
417
+ ## v1.0.8 (2026-09-09)
418
+
419
+ ### ✨ 新增
420
+ - **新增 AMD Token Factory 供应商**:AMD Radeon Cloud 免费共享 OpenAI 兼容端点(`DeepSeek-V4-Flash` 1M 上下文 + `Qwen3.8-Flash-Next` 262K 上下文);thinking 通过 reasoning_effort 控制,每个模型有独立的档位选择器;形态与 NVIDIA NIM 相同
421
+ - **Antigravity 配额主机修复**:配额 summary 改查正确的 daily host(与原生 IDE 一致),修复数字系统性偏差;百分比直读后端值而非前端重算
422
+ - **CodeBuddy 模型目录对齐服务端(CN + 国际版)**:国际版按服务端目录重排(新增 Hy4-Preview / Hy3 免费档、GPT-5.6 Sol/Terra/Luna、GLM-5.3、Kimi-K3 等,移除已下线的旧模型);CN 站同步对齐——`DeepSeek-V4.1-Flash` 取代 `DeepSeek-V4-Flash`,清掉重复的 `Kimi-K3 (1)`;两站各模型都标上服务端公布的积分倍率
423
+ - **模型列表显示积分倍率徽章**:走免费额度的模型显示绿色 `free` 标签,其余显示 `0.79x` 形式的倍率小标签(hover 有说明);供应商没有积分体系时不显示
424
+
425
+ ### 🔒 安全加固
426
+ - **API key HMAC secret 硬化**:内置兜底密文未设置时 production 启动告警;新增实验功能「密钥签名轮换」(默认关),自动生成每实例独立密文;keyId 生成改用 `crypto.randomBytes`
427
+ - **危险操作确认弹窗**:关闭 API 密钥校验、启用/停用签名轮换、全部重签均需确认;重签防重复提交(服务端 409 + 前端防护)
428
+
429
+ ### 🐛 修复
430
+ - **非流式请求被误判为流式(issue #4)**:省略 `stream` 字段现在正确默认为 JSON(OpenAI/Anthropic 规范);此前会返回 `text/event-stream` + `data: [DONE]` 尾随,严格解析的客户端全部报错(OpenAI SDK、WorkBuddy、curl)
431
+ - **密钥轮换确认弹窗卡死 / 反复重签**:确认弹窗自动关闭后再执行操作;重复重签不再堆叠 "(rotated)" 后缀
432
+ - **MCP SSE 空闲断连**:MCP 长连接补 25 秒注释心跳,防止 NAT/防火墙静默掐断
433
+ - **CodeBuddy CN 白名单误放行(PR #5)**:Claude Code 自身系统提示不再匹配 agent 身份白名单(此前触发 11128)
434
+ - **GLM-4.6V-Flash 缺视觉能力(PR #5)**:免费视觉模型补注册正确的 capabilities
435
+ - **DeepSeek effort "max" 被 SenseNova 拒绝(PR #5)**:钳位到 "xhigh" 兼容两家
436
+ - **拉取/导入的模型默认停用(按需启用)**:「Import from /models」与「Fetch Qoder Models」批量拉回的模型不再一次全部启用刷屏——先落入「Disabled models」区,用到哪个点哪个;`/v1/models` 同步只下发已启用的模型(此前标了停用仍会下发)。手动单个添加仍立即启用
437
+ - **CodeBuddy CN 误挂国际版模型(修正)**:此前 CN 目录混入了只属于国际版的 GPT/Gemini 家族,选中会报 model service info not found;现已移除(保留在国际版)并加测试守卫
438
+ - **DeepSeek-V4.1-Flash 输出上限被低估(修正)**:能力表把它的最大输出写成 50K(从改名前的旧 id 带过来的值),客户端请求会被按此截断;已按模型卡更正为 1M 上下文 / 384K 输出 / 支持图像输入 / 思考默认开且可关,并给该模型的两个别名 id 补上同一套能力
439
+
440
+ ## v1.0.7 (2026-09-07)
441
+
442
+ ### ✨ 新增
443
+ - **CodeBuddy CN 内置「总积分」配额行**:用量页 CodeBuddy CN 第一行新增总积分汇总(全部包实时余额合计,含每月/赠送包),不用再自己加总;总余额耗尽时随「只看有余额」自动隐藏;「赠送包」行名已翻译
444
+ - **ZCode 用量同步插件(10router-sync)**:一键把 ZCode 本地模型用量账本导入 10Router——自动排除指向 10Router 的供应商防重复计数,可重复执行幂等去重;导入的用量在用量页与详情 tab 均可见
445
+ - **上游 v0.5.69 择优移植**:① Google 系多账号后台刷新改串行 + 分级抖动,规避反滥用风控;② Anthropic 兼容节点挂真 Claude 自动补 context-management beta 头,修静默换模型;③ opencode-go 稳定会话,免费池不再触发风控;④ Responses 并行工具调用修复(不再把 N 个调用并进一个);⑤ Claude Fable 周配额追踪;⑥ codex 新增 gpt-6-astra 等模型;⑦ codebuddy-cn 模型目录对齐服务端契约
446
+ - **qoder 目录刷新 + 图片透传**:模型清单对齐服务端,executor 图片 base64 直传;仪表盘 Antigravity 配额按家族分组(多账号隔离优于上游)
447
+ - **桌面托盘版更新链路 + 菜单精简**:桌面版更新横幅改指 GitHub Releases(不再错误提示 npm 安装);托盘菜单「检查更新 / 关于 / 服务启停」合一精简
448
+ - **copilot 改为 VS Code 扩展指引**:不再用 MITM 拦截,改三步扩展配置(引擎层保留可手动回退)
449
+ - **托盘图标单色化**:macOS template 图标 + Windows 深浅主题黑白自适应
450
+
451
+ ### 🐛 修复
452
+ - **`/responses` 根路径鉴权缺口(安全)**:补入前缀表,该路径强制 API key 校验
453
+ - **Claude 组合回落的外来 `server_tool_use` 毒化历史(400)**:按 `srvtoolu_` 前缀校验并清理外来工具块
454
+ - **MCP 延迟工具破坏缓存锚点(400)**:缓存锚点改为锚在最后一个可缓存工具上
455
+ - **gemini schema 元组校验 400**:`prefixItems` 转换 + 数组缺 items 补占位
456
+ - **antigravity 系统提示竞争品牌清洗泛化**:OpenCode 命名不再触发 429
457
+ - **免费模型后台刷新噪音与连接测试悬挂**:降噪 + 15s 超时
458
+
459
+ ## v1.0.6 (2026-09-05)
460
+
461
+ ### ✨ 新增
462
+ - **CodeBuddy CN 每日自动签到**(实验性,默认关):`设置 → 实验性功能` 打开 "CodeBuddy CN auto daily check-in" 后,CodeBuddy CN 页面的 Import / Export 按钮被替换为每日自动签到(每个账号在本地时间 00:00–06:00 随机时刻自动签到续免费额度,失败不中断服务、401 自动刷新后重试)与「立即签到」手动按钮
463
+ - **Antigravity 配额对齐官网(5h + 每周双窗)**:用量页 Antigravity 配额重构为主用官网同款 retrieveUserQuotaSummary 接口,每账号精确显示 **4 张卡片**(Gemini Models / Claude and GPT models × {5 小时限额, 周限额}),归一化 100 百分制;接口不可用时回退旧逐模型解析
464
+ - **OpenCode Free 目录对齐官方免费名单**:补入 Big Pickle / MiMo-V2.5 / Ling 3.0 Flash Fin / Nemotron 3 Ultra / Nemotron 3.5 Lightning 五个免费模型;不收官方已下架的 DeepSeek / Laguna 免费档(避免误用产生收费)
465
+
466
+ ### 🐛 修复
467
+ - **Antigravity `ag/gemini-3.8-flash-*` 404**:模型寻址改为各档 tiered 实体并升级 IDE 指纹至 2.11.0(裸 ID 直传会 404「Requested entity was not found」);新增无档位 `ag/gemini-3.8-flash`(路由到 medium 档)
468
+ - **用量页「只看有余额」拉不到新签到配额包**:修复 CodeBuddy CN 每日签到新增的满额包因旧包序号被后续包挤占、被持久化隐藏后显示不出的问题——改为实时重算隐藏集,有余额的包(含新满额包)始终可见
469
+ - **免费模型 429 限流友好提示**:免费模型(`oc/*-free`、`contributor-free`、APInex `free/` 前缀等)被上游限流返回 429 时,不再透传英文 `rate_limit_exceeded`,改为友好中文提示——上游给了重置时间则显示「约 N 秒/分/小时后可再试」,否则建议稍后再试或切换付费档;付费模型与多账号降级不受影响
470
+
471
+ ## v1.0.5 (2026-09-03)
472
+
473
+ ### ✨ 新增
474
+ - **桌面托盘版(Windows / macOS)**:装完即用的桌面应用——系统托盘菜单(打开控制台 / 启动 / 重启 / 停止 / 开机自启)+ 内嵌窗口,关闭窗口即缩到托盘;与 npm CLI 共享数据、密钥与端口,两种形态互斥运行。Windows 提供安装版(NSIS,支持 `/S` 静默安装)与便携版,macOS 提供 Intel + Apple Silicon 双 dmg
475
+ - **CLI / 桌面版界面多语言**:npm CLI 与桌面托盘自动跟随系统语言显示简体中文、繁体中文或英文,可用环境变量 `TENROUTER_LANG`(`zh-CN` / `zh-TW` / `en`)强制指定
476
+ - **Agent 可自助添加自定义供应商 + Skills 页新增技能**:运行时用 dashboard LLM key 即可两步注册 baseUrl + 上游 key + 模型的自定义 OpenAI/Anthropic 兼容节点(免改源码/免重打包);Dashboard **Skills 页**新增「10router-add-provider」技能卡片并修复此前链接指向不存在的 `master` 分支(点击 404),现指向 `main`
477
+ - **CodeBuddy CN 账号 JSON 批量导入 / 导出**(实验性,默认关):`设置 → Providers` 打开 "CodeBuddy CN OAuth import / export" 后,CodeBuddy CN 详情页显示 Import / Export 按钮,可用三方(wb) JSON 格式批量导入或导出账号授权(导入自动去重、非 CodeBuddy 签发域跳过)。导入 / 导出均需二次输入 dashboard 密码确认(防免登录模式下匿名导出账号令牌)
478
+ - **公益站供应商默认显示**:GoRouter / TaBiAI 等公益站供应商改为默认显示(无需再手动打开开关),列表 / Profile 开关 / 用量拓扑图三处一致
479
+ - **公益站供应商排序归组**:Free Tier 列表中 GoRouter / TaBiAI 等公益站供应商在 rank 分组内聚成相邻一块,不再与普通 freeTier 按 priority/名字混排
480
+ - **新增 Agnes AI 双站供应商**:国际站 Agnes AI(com)+ 中国站 Agnes AI (CN),各含 Agnes 2.5 Flash / 2.5 Pro 文本模型(512K / 1M 上下文,视觉+推理);另含 Agnes Image 2.x Flash 图像生成模型(标准 images/generations 端点,图生图/编辑)
481
+ - **设置新增「实验性功能」分组**:Profile 独立 Experimental 卡片,收纳默认关的开发向开关(JSON 模型导入 + CodeBuddy CN 导入导出),方便后续扩展
482
+ - **新增供应商 APInex(apinex.bond)**:预付美元额度的第三方聚合网关(OpenAI 兼容),18 个模型(13 付费 + 5 个 `free/` 前缀免费模型);供应商页显示可复制邀请码 chip(APInex:`SLEWP68C`)
483
+ - **上游 v0.5.65 目录同步 + 新搜索供应商**:新增 GLM-5.3-Flash(Vision)、GLM-4.6V、DeepSeek-V4-Flash-Vision-Exp、Grok-4.6、Claude-Fable-5.1 等模型;新搜索供应商 Ollama-Search(复用本地 Ollama key)与 Xquik(X/推特搜索)
484
+
485
+ ### 🐛 修复
486
+ - **用量统计 成本/Token 切换后表格错乱**:修复切换显示模式并点击排序后,部分行的 token 数被回退显示成金额的问题;繁体中文用量表表头翻译补齐
487
+ - **用量表排序语义**:按 Token / 成本列排序改为按模型合计值排序,与表头箭头方向一致
488
+
489
+ ## v1.0.4 (2026-09-01)
490
+
491
+ ### ✨ 新增
492
+ - **新增 3 家供应商**:**TokenBom**(去中心化 token 交易市场——闲置 API Key 自动赚积分、积分可调用多种模型,含 79 模型在线目录)、**GoRouter**(免费网关,无充值入口)、**TaBiAI**(免费网关,无充值入口)
493
+ - **历史用量导入**:支持从 9Router 备份导入历史用量数据(SQLite 文件),合并统计不覆盖配置
494
+ - **通知体验优化**:全局通知改为顶部居中 Toast,供应商详情页浏览器原生弹窗全部替换为友好通知
495
+ - **公益站供应商**:GoRouter / TaBiAI 默认不显示,带「公益站」标签;可在 **设置 → Providers → 显示公益站供应商** 打开后显示
496
+
497
+ ### 🐛 修复
498
+ - **供应商排序修正**:有连接的供应商前置、已禁用沉底,不再被优先级打乱
499
+ - **JSON 目录模型激活后不显示**:清理陈旧禁用记录,「激活了却不显示」问题解决
500
+ - **B.AI / CodeBuddy CN 模型补全**:切换模型报 "not found" 的缺模型已补齐
501
+ - **连接测试友好提示**:供应商端点维护中 / 被 Cloudflare 拦截时,显示维护提示而非误导性的 "Invalid API key"
502
+ - **账户筛选提醒**:配额包账户筛选持久化后,非默认筛选时显示琥珀色提醒条
503
+ - **CodeBuddy CN DeepSeek 模型 11150**:DeepSeek 系列调用不再因思考强度参数(auto/off)报 400,编码 agent(dsh 等)可正常使用
504
+ - **CodeBuddy 工具调用空工具名(11133 / unknown tool)**:流式返回的空 function.name 已规范化,标准客户端不再误判工具名
505
+ - **隐藏公益站后拓扑图仍显示**:用量页拓扑图同步「显示公益站供应商」开关,关闭后公益站不再显示
506
+ - **Skills 页面 i18n + 中文版链接**:Skills 页面文案支持多语言,中文界面下链接指向中文版 skill
507
+
508
+ ## v1.0.3 (2026-08-30)
509
+
510
+ ### ✨ 新增
511
+ - **新增 4 家供应商**:**LongCat**(美团)、**SenseNova**(商汤,免费公测)、**Dots**(小红书 Dots Studio,免费公测)、**B.AI**(聚合平台,一个 Key 通吃 GPT / Claude / Gemini / DeepSeek / GLM / Kimi / Qwen 等家族)
512
+ - **自定义供应商支持模型 JSON 目录**:自定义节点可拉取在线模型清单,逐个禁用 / 激活、批量管理
513
+ - **fpk 检查更新直达 Releases**:fnOS 安装的更新提示直达对应版本的下载附件
514
+
515
+ ### 🔒 安全加固
516
+ - **登录接入渐进限流**:密码 5 次失败 → 30s / 2m / 10m / 30m 逐级锁定
517
+ - **拒绝占位 JWT 密钥**:照抄 `.env.example` 的公开密钥会被忽略,改用自动生成的随机密钥
518
+ - **修复 npm 包携带构建机敏感文件**:构建产物不再泄露密钥 / 机器 ID / 数据快照
519
+
520
+ ### ⚠️ 升级注意
521
+ - npm 包名已改为 **`@techysy/10router`**(旧 `10router` 是本项目无关的 fork)。已装 `10router-cli` 请改装新包,数据目录不变。
522
+
523
+ ## v1.0.2 (2026-08-29)
524
+
525
+ ### 🐛 修复
526
+ - **修复更新检查指向第三方包**(1.0.1 受影响):版本检查、更新命令、侧边栏安装命令均指向正确的包
527
+ - **postinstall 不再中断安装**:WSL 路径下 npm 安装不再因预热脚本失败而中断
528
+
529
+ ### ⚙️ 工程与打包
530
+ - **新增测试 CI**:推送 / PR 时自动跑测试与回归门禁
531
+
532
+ > ⚠️ **1.0.1 用户请升级**:其内置「检查更新」指向的是一个无关的第三方包。
533
+
534
+ ## v1.0.1 (未发布,内容随 v1.0.2 交付)
535
+
536
+ > 1.0.1 从未作为正式版发布(仅 npm 的 `10router-cli@1.0.1` 短暂存在过)。以下内容对 Docker / fpk / standalone 用户随 **v1.0.2** 首次到达。
537
+
538
+ ### 🔒 安全加固
539
+ - **MITM 安全修复 ×4**:上游转发恢复 TLS 证书校验、根证书私钥权限收紧至 0600、不再盲目杀掉占用 443 的进程、自动清理异常退出遗留的 hosts 条目(MITM 默认关闭,未启用用户不受影响)
540
+
541
+ ### ✨ 新增
542
+ - **已禁用供应商沉底**:设置页开关开启后,已禁用供应商在列表中排到最后
543
+ - **桌面侧边栏可折叠**
544
+ - **OpenCode Go 配额用量接入**
545
+ - **模型目录 Gitee 镜像回退**:国内拉取加速
546
+
547
+ ### 🐛 修复
548
+ - **修复 /v1/models 返回孤儿自定义模型**:不再对客户端返回成百上千个无效模型
549
+ - **自定义节点前缀唯一性检测**:避免路由歧义
550
+ - **修复 CodeBuddy 执行器误删 Agent system prompt**
551
+
552
+ ### ⚙️ 工程与打包
553
+ - **新增 npm 分发渠道**:`npm i -g 10router-cli`
554
+ - **新增「从 GitHub JSON 获取模型」通用能力**(Fetch Models)
555
+
556
+ ## v1.0.0 (2026-08-26)
557
+
558
+ ### ⚠️ 升级注意
559
+ 1. **数据目录改名**:`~/.9router/` → `~/.10router/`(Windows: `%APPDATA%\10router`),启动时自动迁移
560
+ 2. **SAML entityID 变更**:默认 issuer 改为 `urn:10router:sp`,IdP 需重新注册
561
+ 3. **MITM CA 更名**:需重新信任新 CA
562
+
563
+ ### ✨ 新增
564
+ - **品牌重塑**:9Router → 10Router
565
+ - **i18n 多区域货币**:en / pt-BR / pt-PT / es / de
566
+ - **多平台分发**:Docker(amd64 / arm64)、fnOS fpk(x86 / arm × url / iframe)、Standalone