@techysy/10router 1.6.0 → 1.6.2

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 (652) hide show
  1. package/app/.next-cli-build/BUILD_ID +1 -1
  2. package/app/.next-cli-build/app-path-routes-manifest.json +11 -11
  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/server/app/(dashboard)/dashboard/basic-chat/page.js +1 -1
  6. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js.nft.json +1 -1
  7. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
  8. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js +1 -1
  9. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js.nft.json +1 -1
  10. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
  11. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js +1 -1
  12. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
  13. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  14. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js +1 -1
  15. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -1
  16. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  17. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js +1 -1
  18. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js.nft.json +1 -1
  19. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
  20. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js +1 -1
  21. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
  22. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  23. package/app/.next-cli-build/server/app/(dashboard)/dashboard/experimental/page.js +1 -1
  24. package/app/.next-cli-build/server/app/(dashboard)/dashboard/experimental/page.js.nft.json +1 -1
  25. package/app/.next-cli-build/server/app/(dashboard)/dashboard/experimental/page_client-reference-manifest.js +1 -1
  26. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js +4 -4
  27. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js.nft.json +1 -1
  28. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
  29. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js +1 -1
  30. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js.nft.json +1 -1
  31. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
  32. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js +1 -1
  33. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js.nft.json +1 -1
  34. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
  35. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js +1 -1
  36. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js.nft.json +1 -1
  37. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
  38. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js +1 -1
  39. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js.nft.json +1 -1
  40. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
  41. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js +1 -1
  42. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
  43. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  44. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js +1 -1
  45. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -1
  46. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  47. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js +3 -3
  48. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -1
  49. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  50. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js +1 -1
  51. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -1
  52. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  53. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js +1 -1
  54. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -1
  55. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  56. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js +1 -1
  57. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js.nft.json +1 -1
  58. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
  59. package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page.js +1 -1
  60. package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page.js.nft.json +1 -1
  61. package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page_client-reference-manifest.js +1 -1
  62. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js +1 -1
  63. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js.nft.json +1 -1
  64. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
  65. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js +1 -1
  66. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js.nft.json +1 -1
  67. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
  68. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js +1 -1
  69. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js.nft.json +1 -1
  70. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
  71. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js +1 -1
  72. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js.nft.json +1 -1
  73. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  74. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js +1 -1
  75. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -1
  76. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  77. package/app/.next-cli-build/server/app/_global-error/page.js.nft.json +1 -1
  78. package/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
  79. package/app/.next-cli-build/server/app/_global-error.html +1 -1
  80. package/app/.next-cli-build/server/app/_global-error.rsc +1 -1
  81. package/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
  82. package/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  83. package/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  84. package/app/.next-cli-build/server/app/_not-found/page.js +1 -1
  85. package/app/.next-cli-build/server/app/_not-found/page.js.nft.json +1 -1
  86. package/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
  87. package/app/.next-cli-build/server/app/_not-found.html +2 -2
  88. package/app/.next-cli-build/server/app/_not-found.rsc +6 -6
  89. package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +6 -6
  90. package/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +6 -6
  91. package/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  92. package/app/.next-cli-build/server/app/api/auth/login/route.js +1 -1
  93. package/app/.next-cli-build/server/app/api/auth/login/route.js.nft.json +1 -1
  94. package/app/.next-cli-build/server/app/api/auth/logout/route.js.nft.json +1 -1
  95. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js +1 -1
  96. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js.nft.json +1 -1
  97. package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js +1 -1
  98. package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js.nft.json +1 -1
  99. package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js +1 -1
  100. package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js.nft.json +1 -1
  101. package/app/.next-cli-build/server/app/api/auth/reset-password/route.js +1 -1
  102. package/app/.next-cli-build/server/app/api/auth/reset-password/route.js.nft.json +1 -1
  103. package/app/.next-cli-build/server/app/api/auth/saml/acs/route.js +1 -1
  104. package/app/.next-cli-build/server/app/api/auth/saml/acs/route.js.nft.json +1 -1
  105. package/app/.next-cli-build/server/app/api/auth/saml/metadata/route.js +2 -2
  106. package/app/.next-cli-build/server/app/api/auth/saml/metadata/route.js.nft.json +1 -1
  107. package/app/.next-cli-build/server/app/api/auth/saml/start/route.js +1 -1
  108. package/app/.next-cli-build/server/app/api/auth/saml/start/route.js.nft.json +1 -1
  109. package/app/.next-cli-build/server/app/api/auth/saml/test/route.js +1 -1
  110. package/app/.next-cli-build/server/app/api/auth/saml/test/route.js.nft.json +1 -1
  111. package/app/.next-cli-build/server/app/api/auth/status/route.js +1 -1
  112. package/app/.next-cli-build/server/app/api/auth/status/route.js.nft.json +1 -1
  113. package/app/.next-cli-build/server/app/api/auth/verify-password/route.js +1 -1
  114. package/app/.next-cli-build/server/app/api/auth/verify-password/route.js.nft.json +1 -1
  115. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js +5 -5
  116. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js.nft.json +1 -1
  117. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js +2 -2
  118. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -1
  119. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js +1 -1
  120. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js.nft.json +1 -1
  121. package/app/.next-cli-build/server/app/api/cli-tools/claude-profiles/route.js +2 -2
  122. package/app/.next-cli-build/server/app/api/cli-tools/claude-profiles/route.js.nft.json +1 -1
  123. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js +1 -1
  124. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js.nft.json +1 -1
  125. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js +1 -1
  126. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js.nft.json +1 -1
  127. package/app/.next-cli-build/server/app/api/cli-tools/codex-profiles/route.js.nft.json +1 -1
  128. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js.nft.json +1 -1
  129. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js +2 -2
  130. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js.nft.json +1 -1
  131. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js +1 -1
  132. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js.nft.json +1 -1
  133. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js +2 -2
  134. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js.nft.json +1 -1
  135. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js +1 -1
  136. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js.nft.json +1 -1
  137. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js +2 -2
  138. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js.nft.json +1 -1
  139. package/app/.next-cli-build/server/app/api/cli-tools/devin-settings/route.js +1 -1
  140. package/app/.next-cli-build/server/app/api/cli-tools/devin-settings/route.js.nft.json +1 -1
  141. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js +2 -2
  142. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js.nft.json +1 -1
  143. package/app/.next-cli-build/server/app/api/cli-tools/grok-build-settings/route.js +1 -1
  144. package/app/.next-cli-build/server/app/api/cli-tools/grok-build-settings/route.js.nft.json +1 -1
  145. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js.nft.json +1 -1
  146. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js +2 -2
  147. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js.nft.json +1 -1
  148. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js +2 -2
  149. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js.nft.json +1 -1
  150. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js +2 -2
  151. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js.nft.json +1 -1
  152. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js +2 -2
  153. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js.nft.json +1 -1
  154. package/app/.next-cli-build/server/app/api/combos/[id]/route.js +1 -1
  155. package/app/.next-cli-build/server/app/api/combos/[id]/route.js.nft.json +1 -1
  156. package/app/.next-cli-build/server/app/api/combos/route.js +1 -1
  157. package/app/.next-cli-build/server/app/api/combos/route.js.nft.json +1 -1
  158. package/app/.next-cli-build/server/app/api/external-quota/[source]/route.js +1 -1
  159. package/app/.next-cli-build/server/app/api/external-quota/[source]/route.js.nft.json +1 -1
  160. package/app/.next-cli-build/server/app/api/gateway-probe/route.js +1 -1
  161. package/app/.next-cli-build/server/app/api/gateway-probe/route.js.nft.json +1 -1
  162. package/app/.next-cli-build/server/app/api/headroom/extras/route.js.nft.json +1 -1
  163. package/app/.next-cli-build/server/app/api/headroom/proxy/[...path]/route.js +1 -1
  164. package/app/.next-cli-build/server/app/api/headroom/proxy/[...path]/route.js.nft.json +1 -1
  165. package/app/.next-cli-build/server/app/api/headroom/restart/route.js +1 -1
  166. package/app/.next-cli-build/server/app/api/headroom/restart/route.js.nft.json +1 -1
  167. package/app/.next-cli-build/server/app/api/headroom/start/route.js +1 -1
  168. package/app/.next-cli-build/server/app/api/headroom/start/route.js.nft.json +1 -1
  169. package/app/.next-cli-build/server/app/api/headroom/status/route.js +1 -1
  170. package/app/.next-cli-build/server/app/api/headroom/status/route.js.nft.json +1 -1
  171. package/app/.next-cli-build/server/app/api/headroom/stop/route.js.nft.json +1 -1
  172. package/app/.next-cli-build/server/app/api/health/route.js.nft.json +1 -1
  173. package/app/.next-cli-build/server/app/api/init/route.js.nft.json +1 -1
  174. package/app/.next-cli-build/server/app/api/keys/[id]/route.js +1 -1
  175. package/app/.next-cli-build/server/app/api/keys/[id]/route.js.nft.json +1 -1
  176. package/app/.next-cli-build/server/app/api/keys/rotate/route.js +1 -1
  177. package/app/.next-cli-build/server/app/api/keys/rotate/route.js.nft.json +1 -1
  178. package/app/.next-cli-build/server/app/api/keys/route.js +1 -1
  179. package/app/.next-cli-build/server/app/api/keys/route.js.nft.json +1 -1
  180. package/app/.next-cli-build/server/app/api/locale/route.js.nft.json +1 -1
  181. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js.nft.json +1 -1
  182. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js.nft.json +1 -1
  183. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js +1 -1
  184. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js.nft.json +1 -1
  185. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js +1 -1
  186. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +1 -1
  187. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js +1 -1
  188. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js.nft.json +1 -1
  189. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js +1 -1
  190. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js.nft.json +1 -1
  191. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js +1 -1
  192. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js.nft.json +1 -1
  193. package/app/.next-cli-build/server/app/api/models/alias/route.js +1 -1
  194. package/app/.next-cli-build/server/app/api/models/alias/route.js.nft.json +1 -1
  195. package/app/.next-cli-build/server/app/api/models/availability/route.js +1 -1
  196. package/app/.next-cli-build/server/app/api/models/availability/route.js.nft.json +1 -1
  197. package/app/.next-cli-build/server/app/api/models/caps/route.js +1 -1
  198. package/app/.next-cli-build/server/app/api/models/caps/route.js.nft.json +1 -1
  199. package/app/.next-cli-build/server/app/api/models/custom/bulk/route.js.nft.json +1 -1
  200. package/app/.next-cli-build/server/app/api/models/custom/route.js +1 -1
  201. package/app/.next-cli-build/server/app/api/models/custom/route.js.nft.json +1 -1
  202. package/app/.next-cli-build/server/app/api/models/disabled/route.js +1 -1
  203. package/app/.next-cli-build/server/app/api/models/disabled/route.js.nft.json +1 -1
  204. package/app/.next-cli-build/server/app/api/models/route.js +1 -1
  205. package/app/.next-cli-build/server/app/api/models/route.js.nft.json +1 -1
  206. package/app/.next-cli-build/server/app/api/models/test/route.js +1 -1
  207. package/app/.next-cli-build/server/app/api/models/test/route.js.nft.json +1 -1
  208. package/app/.next-cli-build/server/app/api/network/egress-region/route.js.nft.json +1 -1
  209. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js +1 -1
  210. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
  211. package/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/route.js +1 -1
  212. package/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/route.js.nft.json +1 -1
  213. package/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/checkin/route.js.nft.json +1 -1
  214. package/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/claim-compensation/route.js.nft.json +1 -1
  215. package/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/export/route.js +1 -1
  216. package/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/export/route.js.nft.json +1 -1
  217. package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js +1 -1
  218. package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js.nft.json +1 -1
  219. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js +1 -1
  220. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js.nft.json +1 -1
  221. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -1
  222. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js +1 -1
  223. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
  224. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js +1 -1
  225. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js.nft.json +1 -1
  226. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js +1 -1
  227. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -1
  228. package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js +1 -1
  229. package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js.nft.json +1 -1
  230. package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js.nft.json +1 -1
  231. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js +1 -1
  232. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
  233. package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js +1 -1
  234. package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js.nft.json +1 -1
  235. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js +1 -1
  236. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js.nft.json +1 -1
  237. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js +1 -1
  238. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
  239. package/app/.next-cli-build/server/app/api/oauth/qoder/checkin/route.js.nft.json +1 -1
  240. package/app/.next-cli-build/server/app/api/oauth/qoder-cn/checkin/route.js.nft.json +1 -1
  241. package/app/.next-cli-build/server/app/api/oauth/transfer/export/route.js +1 -1
  242. package/app/.next-cli-build/server/app/api/oauth/transfer/export/route.js.nft.json +1 -1
  243. package/app/.next-cli-build/server/app/api/oauth/transfer/import/route.js +1 -1
  244. package/app/.next-cli-build/server/app/api/oauth/transfer/import/route.js.nft.json +1 -1
  245. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/api-key/route.js +1 -1
  246. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/api-key/route.js.nft.json +1 -1
  247. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/auto-import/route.js +1 -1
  248. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/auto-import/route.js.nft.json +1 -1
  249. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/desktop-kill/route.js.nft.json +1 -1
  250. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/desktop-status/route.js.nft.json +1 -1
  251. package/app/.next-cli-build/server/app/api/oauth/zed/auto-import/route.js.nft.json +1 -1
  252. package/app/.next-cli-build/server/app/api/oauth/zed/import/route.js +1 -1
  253. package/app/.next-cli-build/server/app/api/oauth/zed/import/route.js.nft.json +1 -1
  254. package/app/.next-cli-build/server/app/api/pricing/route.js +1 -1
  255. package/app/.next-cli-build/server/app/api/pricing/route.js.nft.json +1 -1
  256. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js +1 -1
  257. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
  258. package/app/.next-cli-build/server/app/api/provider-nodes/route.js +1 -1
  259. package/app/.next-cli-build/server/app/api/provider-nodes/route.js.nft.json +1 -1
  260. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js +1 -1
  261. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js.nft.json +1 -1
  262. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js +1 -1
  263. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
  264. package/app/.next-cli-build/server/app/api/providers/[id]/route.js +1 -1
  265. package/app/.next-cli-build/server/app/api/providers/[id]/route.js.nft.json +1 -1
  266. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js +1 -1
  267. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
  268. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js +1 -1
  269. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -1
  270. package/app/.next-cli-build/server/app/api/providers/client/route.js +1 -1
  271. package/app/.next-cli-build/server/app/api/providers/client/route.js.nft.json +1 -1
  272. package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js.nft.json +1 -1
  273. package/app/.next-cli-build/server/app/api/providers/route.js +1 -1
  274. package/app/.next-cli-build/server/app/api/providers/route.js.nft.json +1 -1
  275. package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js.nft.json +1 -1
  276. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js +1 -1
  277. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js.nft.json +1 -1
  278. package/app/.next-cli-build/server/app/api/providers/validate/route.js +1 -1
  279. package/app/.next-cli-build/server/app/api/providers/validate/route.js.nft.json +1 -1
  280. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js +1 -1
  281. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js.nft.json +1 -1
  282. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js +1 -1
  283. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js.nft.json +1 -1
  284. package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js +2 -2
  285. package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js.nft.json +1 -1
  286. package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js +2 -2
  287. package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js.nft.json +1 -1
  288. package/app/.next-cli-build/server/app/api/proxy-pools/route.js +1 -1
  289. package/app/.next-cli-build/server/app/api/proxy-pools/route.js.nft.json +1 -1
  290. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js +2 -2
  291. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js.nft.json +1 -1
  292. package/app/.next-cli-build/server/app/api/pxpipe/health/route.js.nft.json +1 -1
  293. package/app/.next-cli-build/server/app/api/pxpipe/install/route.js.nft.json +1 -1
  294. package/app/.next-cli-build/server/app/api/pxpipe/logs/route.js.nft.json +1 -1
  295. package/app/.next-cli-build/server/app/api/pxpipe/restart/route.js.nft.json +1 -1
  296. package/app/.next-cli-build/server/app/api/pxpipe/start/route.js +2 -2
  297. package/app/.next-cli-build/server/app/api/pxpipe/start/route.js.nft.json +1 -1
  298. package/app/.next-cli-build/server/app/api/pxpipe/stats/route.js.nft.json +1 -1
  299. package/app/.next-cli-build/server/app/api/pxpipe/status/route.js +2 -2
  300. package/app/.next-cli-build/server/app/api/pxpipe/status/route.js.nft.json +1 -1
  301. package/app/.next-cli-build/server/app/api/pxpipe/stop/route.js.nft.json +1 -1
  302. package/app/.next-cli-build/server/app/api/security/status/route.js +1 -1
  303. package/app/.next-cli-build/server/app/api/security/status/route.js.nft.json +1 -1
  304. package/app/.next-cli-build/server/app/api/settings/database/import-usage/route.js +1 -1
  305. package/app/.next-cli-build/server/app/api/settings/database/import-usage/route.js.nft.json +1 -1
  306. package/app/.next-cli-build/server/app/api/settings/database/route.js +1 -1
  307. package/app/.next-cli-build/server/app/api/settings/database/route.js.nft.json +1 -1
  308. package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js.nft.json +1 -1
  309. package/app/.next-cli-build/server/app/api/settings/require-login/route.js +1 -1
  310. package/app/.next-cli-build/server/app/api/settings/require-login/route.js.nft.json +1 -1
  311. package/app/.next-cli-build/server/app/api/settings/route.js +2 -2
  312. package/app/.next-cli-build/server/app/api/settings/route.js.nft.json +1 -1
  313. package/app/.next-cli-build/server/app/api/shutdown/route.js.nft.json +1 -1
  314. package/app/.next-cli-build/server/app/api/tags/route.js.nft.json +1 -1
  315. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -1
  316. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js.nft.json +1 -1
  317. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +2 -2
  318. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js.nft.json +1 -1
  319. package/app/.next-cli-build/server/app/api/translator/load/route.js.nft.json +1 -1
  320. package/app/.next-cli-build/server/app/api/translator/save/route.js.nft.json +1 -1
  321. package/app/.next-cli-build/server/app/api/translator/send/route.js +1 -1
  322. package/app/.next-cli-build/server/app/api/translator/send/route.js.nft.json +1 -1
  323. package/app/.next-cli-build/server/app/api/translator/translate/route.js +1 -1
  324. package/app/.next-cli-build/server/app/api/translator/translate/route.js.nft.json +1 -1
  325. package/app/.next-cli-build/server/app/api/tunnel/disable/route.js +1 -1
  326. package/app/.next-cli-build/server/app/api/tunnel/disable/route.js.nft.json +1 -1
  327. package/app/.next-cli-build/server/app/api/tunnel/enable/route.js +1 -1
  328. package/app/.next-cli-build/server/app/api/tunnel/enable/route.js.nft.json +1 -1
  329. package/app/.next-cli-build/server/app/api/tunnel/status/route.js +1 -1
  330. package/app/.next-cli-build/server/app/api/tunnel/status/route.js.nft.json +1 -1
  331. package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js +1 -1
  332. package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js.nft.json +1 -1
  333. package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js +1 -1
  334. package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js.nft.json +1 -1
  335. package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js +1 -1
  336. package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js.nft.json +1 -1
  337. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js +2 -2
  338. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js.nft.json +1 -1
  339. package/app/.next-cli-build/server/app/api/usage/[connectionId]/claude-reset/route.js +1 -1
  340. package/app/.next-cli-build/server/app/api/usage/[connectionId]/claude-reset/route.js.nft.json +1 -1
  341. package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js +1 -1
  342. package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js.nft.json +1 -1
  343. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js +1 -1
  344. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
  345. package/app/.next-cli-build/server/app/api/usage/chart/route.js +1 -1
  346. package/app/.next-cli-build/server/app/api/usage/chart/route.js.nft.json +1 -1
  347. package/app/.next-cli-build/server/app/api/usage/dashboard/route.js +1 -1
  348. package/app/.next-cli-build/server/app/api/usage/dashboard/route.js.nft.json +1 -1
  349. package/app/.next-cli-build/server/app/api/usage/history/route.js +1 -1
  350. package/app/.next-cli-build/server/app/api/usage/history/route.js.nft.json +1 -1
  351. package/app/.next-cli-build/server/app/api/usage/logs/route.js +1 -1
  352. package/app/.next-cli-build/server/app/api/usage/logs/route.js.nft.json +1 -1
  353. package/app/.next-cli-build/server/app/api/usage/providers/route.js +1 -1
  354. package/app/.next-cli-build/server/app/api/usage/providers/route.js.nft.json +1 -1
  355. package/app/.next-cli-build/server/app/api/usage/quotas/route.js +1 -1
  356. package/app/.next-cli-build/server/app/api/usage/quotas/route.js.nft.json +1 -1
  357. package/app/.next-cli-build/server/app/api/usage/request-details/route.js +1 -1
  358. package/app/.next-cli-build/server/app/api/usage/request-details/route.js.nft.json +1 -1
  359. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js +1 -1
  360. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js.nft.json +1 -1
  361. package/app/.next-cli-build/server/app/api/usage/stats/route.js +1 -1
  362. package/app/.next-cli-build/server/app/api/usage/stats/route.js.nft.json +1 -1
  363. package/app/.next-cli-build/server/app/api/usage/stream/route.js +2 -2
  364. package/app/.next-cli-build/server/app/api/usage/stream/route.js.nft.json +1 -1
  365. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js +1 -1
  366. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js.nft.json +1 -1
  367. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js +1 -1
  368. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
  369. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js +1 -1
  370. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
  371. package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js +1 -1
  372. package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js.nft.json +1 -1
  373. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js +1 -1
  374. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
  375. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js +1 -1
  376. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js.nft.json +1 -1
  377. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js +2 -2
  378. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js.nft.json +1 -1
  379. package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js.nft.json +1 -1
  380. package/app/.next-cli-build/server/app/api/v1/messages/route.js +1 -1
  381. package/app/.next-cli-build/server/app/api/v1/messages/route.js.nft.json +1 -1
  382. package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js +1 -1
  383. package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js.nft.json +1 -1
  384. package/app/.next-cli-build/server/app/api/v1/models/info/route.js +1 -1
  385. package/app/.next-cli-build/server/app/api/v1/models/info/route.js.nft.json +1 -1
  386. package/app/.next-cli-build/server/app/api/v1/models/route.js +1 -1
  387. package/app/.next-cli-build/server/app/api/v1/models/route.js.nft.json +1 -1
  388. package/app/.next-cli-build/server/app/api/v1/rerank/route.js +1 -1
  389. package/app/.next-cli-build/server/app/api/v1/rerank/route.js.nft.json +1 -1
  390. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js +1 -1
  391. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js.nft.json +1 -1
  392. package/app/.next-cli-build/server/app/api/v1/responses/route.js +1 -1
  393. package/app/.next-cli-build/server/app/api/v1/responses/route.js.nft.json +1 -1
  394. package/app/.next-cli-build/server/app/api/v1/route.js +1 -1
  395. package/app/.next-cli-build/server/app/api/v1/route.js.nft.json +1 -1
  396. package/app/.next-cli-build/server/app/api/v1/search/route.js +1 -1
  397. package/app/.next-cli-build/server/app/api/v1/search/route.js.nft.json +1 -1
  398. package/app/.next-cli-build/server/app/api/v1/systemone/route.js +1 -1
  399. package/app/.next-cli-build/server/app/api/v1/systemone/route.js.nft.json +1 -1
  400. package/app/.next-cli-build/server/app/api/v1/videos/[id]/route.js +1 -1
  401. package/app/.next-cli-build/server/app/api/v1/videos/[id]/route.js.nft.json +1 -1
  402. package/app/.next-cli-build/server/app/api/v1/videos/edits/route.js +1 -1
  403. package/app/.next-cli-build/server/app/api/v1/videos/edits/route.js.nft.json +1 -1
  404. package/app/.next-cli-build/server/app/api/v1/videos/extensions/route.js +1 -1
  405. package/app/.next-cli-build/server/app/api/v1/videos/extensions/route.js.nft.json +1 -1
  406. package/app/.next-cli-build/server/app/api/v1/videos/generations/route.js +1 -1
  407. package/app/.next-cli-build/server/app/api/v1/videos/generations/route.js.nft.json +1 -1
  408. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js +1 -1
  409. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js.nft.json +1 -1
  410. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js +1 -1
  411. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
  412. package/app/.next-cli-build/server/app/api/v1beta/models/route.js +1 -1
  413. package/app/.next-cli-build/server/app/api/v1beta/models/route.js.nft.json +1 -1
  414. package/app/.next-cli-build/server/app/api/version/route.js +2 -2
  415. package/app/.next-cli-build/server/app/api/version/route.js.nft.json +1 -1
  416. package/app/.next-cli-build/server/app/api/version/shell-update/route.js.nft.json +1 -1
  417. package/app/.next-cli-build/server/app/api/version/shutdown/route.js +1 -1
  418. package/app/.next-cli-build/server/app/api/version/shutdown/route.js.nft.json +1 -1
  419. package/app/.next-cli-build/server/app/api/version/update/route.js +1 -1
  420. package/app/.next-cli-build/server/app/api/version/update/route.js.nft.json +1 -1
  421. package/app/.next-cli-build/server/app/callback/page.js +1 -1
  422. package/app/.next-cli-build/server/app/callback/page.js.nft.json +1 -1
  423. package/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
  424. package/app/.next-cli-build/server/app/callback.html +2 -2
  425. package/app/.next-cli-build/server/app/callback.rsc +6 -6
  426. package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +6 -6
  427. package/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +2 -2
  428. package/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +6 -6
  429. package/app/.next-cli-build/server/app/dashboard/basic-chat.html +2 -2
  430. package/app/.next-cli-build/server/app/dashboard/basic-chat.rsc +8 -8
  431. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +8 -8
  432. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +8 -8
  433. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +2 -2
  434. package/app/.next-cli-build/server/app/dashboard/cli-tools.html +2 -2
  435. package/app/.next-cli-build/server/app/dashboard/cli-tools.rsc +8 -8
  436. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +8 -8
  437. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_full.segment.rsc +8 -8
  438. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +2 -2
  439. package/app/.next-cli-build/server/app/dashboard/combos.html +2 -2
  440. package/app/.next-cli-build/server/app/dashboard/combos.rsc +8 -8
  441. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +8 -8
  442. package/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +8 -8
  443. package/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +2 -2
  444. package/app/.next-cli-build/server/app/dashboard/endpoint.html +2 -2
  445. package/app/.next-cli-build/server/app/dashboard/endpoint.rsc +8 -8
  446. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +8 -8
  447. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +8 -8
  448. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +2 -2
  449. package/app/.next-cli-build/server/app/dashboard/experimental.html +2 -2
  450. package/app/.next-cli-build/server/app/dashboard/experimental.rsc +8 -8
  451. package/app/.next-cli-build/server/app/dashboard/experimental.segments/!KGRhc2hib2FyZCk/dashboard/experimental/__PAGE__.segment.rsc +8 -8
  452. package/app/.next-cli-build/server/app/dashboard/experimental.segments/_full.segment.rsc +8 -8
  453. package/app/.next-cli-build/server/app/dashboard/experimental.segments/_tree.segment.rsc +2 -2
  454. package/app/.next-cli-build/server/app/dashboard/media-providers/web.html +2 -2
  455. package/app/.next-cli-build/server/app/dashboard/media-providers/web.rsc +8 -8
  456. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +8 -8
  457. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +8 -8
  458. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +2 -2
  459. package/app/.next-cli-build/server/app/dashboard/mitm.html +2 -2
  460. package/app/.next-cli-build/server/app/dashboard/mitm.rsc +8 -8
  461. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +8 -8
  462. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +8 -8
  463. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_tree.segment.rsc +2 -2
  464. package/app/.next-cli-build/server/app/dashboard/profile.html +2 -2
  465. package/app/.next-cli-build/server/app/dashboard/profile.rsc +8 -8
  466. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +8 -8
  467. package/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +8 -8
  468. package/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +2 -2
  469. package/app/.next-cli-build/server/app/dashboard/providers/new.html +2 -2
  470. package/app/.next-cli-build/server/app/dashboard/providers/new.rsc +8 -8
  471. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +8 -8
  472. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +8 -8
  473. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +2 -2
  474. package/app/.next-cli-build/server/app/dashboard/providers.html +2 -2
  475. package/app/.next-cli-build/server/app/dashboard/providers.rsc +8 -8
  476. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +8 -8
  477. package/app/.next-cli-build/server/app/dashboard/providers.segments/_full.segment.rsc +8 -8
  478. package/app/.next-cli-build/server/app/dashboard/providers.segments/_tree.segment.rsc +2 -2
  479. package/app/.next-cli-build/server/app/dashboard/proxy-pools.html +2 -2
  480. package/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +8 -8
  481. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +8 -8
  482. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +8 -8
  483. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +2 -2
  484. package/app/.next-cli-build/server/app/dashboard/pxpipe.html +2 -2
  485. package/app/.next-cli-build/server/app/dashboard/pxpipe.rsc +8 -8
  486. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe/__PAGE__.segment.rsc +8 -8
  487. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_full.segment.rsc +8 -8
  488. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_tree.segment.rsc +2 -2
  489. package/app/.next-cli-build/server/app/dashboard/quota.html +2 -2
  490. package/app/.next-cli-build/server/app/dashboard/quota.rsc +9 -9
  491. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +9 -9
  492. package/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +9 -9
  493. package/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +2 -2
  494. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js +1 -1
  495. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js.nft.json +1 -1
  496. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  497. package/app/.next-cli-build/server/app/dashboard/settings/pricing.html +2 -2
  498. package/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +6 -6
  499. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +6 -6
  500. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +2 -2
  501. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +6 -6
  502. package/app/.next-cli-build/server/app/dashboard/skills.html +2 -2
  503. package/app/.next-cli-build/server/app/dashboard/skills.rsc +8 -8
  504. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills/__PAGE__.segment.rsc +8 -8
  505. package/app/.next-cli-build/server/app/dashboard/skills.segments/_full.segment.rsc +8 -8
  506. package/app/.next-cli-build/server/app/dashboard/skills.segments/_tree.segment.rsc +2 -2
  507. package/app/.next-cli-build/server/app/dashboard/token-saver.html +2 -2
  508. package/app/.next-cli-build/server/app/dashboard/token-saver.rsc +8 -8
  509. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +8 -8
  510. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_full.segment.rsc +8 -8
  511. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_tree.segment.rsc +2 -2
  512. package/app/.next-cli-build/server/app/dashboard/translator.html +2 -2
  513. package/app/.next-cli-build/server/app/dashboard/translator.rsc +8 -8
  514. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +8 -8
  515. package/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +8 -8
  516. package/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +2 -2
  517. package/app/.next-cli-build/server/app/dashboard/usage.html +2 -2
  518. package/app/.next-cli-build/server/app/dashboard/usage.rsc +8 -8
  519. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +8 -8
  520. package/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +8 -8
  521. package/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +2 -2
  522. package/app/.next-cli-build/server/app/dashboard.html +2 -2
  523. package/app/.next-cli-build/server/app/dashboard.rsc +8 -8
  524. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +8 -8
  525. package/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +8 -8
  526. package/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +2 -2
  527. package/app/.next-cli-build/server/app/favicon.ico/route.js.nft.json +1 -1
  528. package/app/.next-cli-build/server/app/index.html +1 -1
  529. package/app/.next-cli-build/server/app/index.rsc +6 -6
  530. package/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +6 -6
  531. package/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +6 -6
  532. package/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +2 -2
  533. package/app/.next-cli-build/server/app/landing/page.js +1 -1
  534. package/app/.next-cli-build/server/app/landing/page.js.nft.json +1 -1
  535. package/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
  536. package/app/.next-cli-build/server/app/landing.html +2 -2
  537. package/app/.next-cli-build/server/app/landing.rsc +7 -7
  538. package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +7 -7
  539. package/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +2 -2
  540. package/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +7 -7
  541. package/app/.next-cli-build/server/app/login/page.js +1 -1
  542. package/app/.next-cli-build/server/app/login/page.js.nft.json +1 -1
  543. package/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
  544. package/app/.next-cli-build/server/app/login.html +2 -2
  545. package/app/.next-cli-build/server/app/login.rsc +7 -7
  546. package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +7 -7
  547. package/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +2 -2
  548. package/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +7 -7
  549. package/app/.next-cli-build/server/app/manifest.webmanifest/route.js.nft.json +1 -1
  550. package/app/.next-cli-build/server/app/page.js +1 -1
  551. package/app/.next-cli-build/server/app/page.js.nft.json +1 -1
  552. package/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
  553. package/app/.next-cli-build/server/app-paths-manifest.json +11 -11
  554. package/app/.next-cli-build/server/chunks/1329.js +1 -1
  555. package/app/.next-cli-build/server/chunks/1351.js +1 -0
  556. package/app/.next-cli-build/server/chunks/1622.js +1 -0
  557. package/app/.next-cli-build/server/chunks/1806.js +1 -1
  558. package/app/.next-cli-build/server/chunks/1819.js +1 -1
  559. package/app/.next-cli-build/server/chunks/1884.js +1 -1
  560. package/app/.next-cli-build/server/chunks/2132.js +1 -1
  561. package/app/.next-cli-build/server/chunks/2380.js +21 -0
  562. package/app/.next-cli-build/server/chunks/2557.js +1 -1
  563. package/app/.next-cli-build/server/chunks/318.js +7 -8
  564. package/app/.next-cli-build/server/chunks/{5625.js → 3389.js} +1 -1
  565. package/app/.next-cli-build/server/chunks/3500.js +2 -2
  566. package/app/.next-cli-build/server/chunks/3662.js +1 -1
  567. package/app/.next-cli-build/server/chunks/3792.js +1 -1
  568. package/app/.next-cli-build/server/chunks/3943.js +1 -1
  569. package/app/.next-cli-build/server/chunks/3962.js +1 -1
  570. package/app/.next-cli-build/server/chunks/4123.js +1 -1
  571. package/app/.next-cli-build/server/chunks/4575.js +1 -1
  572. package/app/.next-cli-build/server/chunks/4692.js +1 -1
  573. package/app/.next-cli-build/server/chunks/4775.js +1 -1
  574. package/app/.next-cli-build/server/chunks/4906.js +1 -1
  575. package/app/.next-cli-build/server/chunks/4927.js +3 -3
  576. package/app/.next-cli-build/server/chunks/5210.js +27 -28
  577. package/app/.next-cli-build/server/chunks/539.js +1 -1
  578. package/app/.next-cli-build/server/chunks/5527.js +1 -1
  579. package/app/.next-cli-build/server/chunks/5598.js +1 -1
  580. package/app/.next-cli-build/server/chunks/5615.js +1 -1
  581. package/app/.next-cli-build/server/chunks/5663.js +1 -1
  582. package/app/.next-cli-build/server/chunks/5757.js +1 -1
  583. package/app/.next-cli-build/server/chunks/5781.js +2 -2
  584. package/app/.next-cli-build/server/chunks/5837.js +1 -0
  585. package/app/.next-cli-build/server/chunks/6070.js +1 -1
  586. package/app/.next-cli-build/server/chunks/615.js +1 -1
  587. package/app/.next-cli-build/server/chunks/6212.js +1 -0
  588. package/app/.next-cli-build/server/chunks/6306.js +1 -1
  589. package/app/.next-cli-build/server/chunks/6326.js +1 -1
  590. package/app/.next-cli-build/server/chunks/6763.js +1 -1
  591. package/app/.next-cli-build/server/chunks/6790.js +1 -1
  592. package/app/.next-cli-build/server/chunks/6956.js +1 -1
  593. package/app/.next-cli-build/server/chunks/6960.js +1 -1
  594. package/app/.next-cli-build/server/chunks/7067.js +1 -1
  595. package/app/.next-cli-build/server/chunks/7122.js +1 -1
  596. package/app/.next-cli-build/server/chunks/7209.js +1 -0
  597. package/app/.next-cli-build/server/chunks/7247.js +1 -1
  598. package/app/.next-cli-build/server/chunks/7274.js +1 -1
  599. package/app/.next-cli-build/server/chunks/7729.js +1 -1
  600. package/app/.next-cli-build/server/chunks/8145.js +1 -1
  601. package/app/.next-cli-build/server/chunks/8172.js +2 -2
  602. package/app/.next-cli-build/server/chunks/8318.js +1 -1
  603. package/app/.next-cli-build/server/chunks/8439.js +1 -1
  604. package/app/.next-cli-build/server/chunks/8595.js +1 -1
  605. package/app/.next-cli-build/server/chunks/8775.js +1 -1
  606. package/app/.next-cli-build/server/chunks/8895.js +6 -6
  607. package/app/.next-cli-build/server/chunks/8920.js +1 -1
  608. package/app/.next-cli-build/server/chunks/8936.js +1 -0
  609. package/app/.next-cli-build/server/chunks/9154.js +1 -1
  610. package/app/.next-cli-build/server/chunks/9489.js +3 -3
  611. package/app/.next-cli-build/server/chunks/9536.js +1 -0
  612. package/app/.next-cli-build/server/chunks/9609.js +1 -1
  613. package/app/.next-cli-build/server/chunks/9628.js +1 -1
  614. package/app/.next-cli-build/server/instrumentation.js.nft.json +1 -1
  615. package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
  616. package/app/.next-cli-build/server/middleware.js +5 -5
  617. package/app/.next-cli-build/server/middleware.js.nft.json +1 -1
  618. package/app/.next-cli-build/server/pages/404.html +2 -2
  619. package/app/.next-cli-build/server/pages/500.html +1 -1
  620. package/app/.next-cli-build/server/server-reference-manifest.js +1 -1
  621. package/app/.next-cli-build/server/server-reference-manifest.json +1 -1
  622. package/app/.next-cli-build/static/chunks/1321-3d22643da5d0f152.js +1 -0
  623. package/app/.next-cli-build/static/chunks/5497-ce4781ece1a27ac0.js +7 -0
  624. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/combos/page-a2f5c1fa12df475b.js +1 -0
  625. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/[id]/{page-6db03f8140121a40.js → page-6393f6dfae0de3e6.js} +13 -13
  626. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-9c29e4e5c17e55ea.js +14 -0
  627. package/app/.next-cli-build/static/chunks/app/landing/page-626d89125b768dcf.js +1 -0
  628. package/app/.next-cli-build/static/css/5922b1ff9e56869d.css +1 -0
  629. package/app/package.json +1 -1
  630. package/app/public/i18n/changelog/en.md +548 -513
  631. package/app/public/i18n/changelog/zh-CN.md +546 -511
  632. package/app/public/i18n/changelog/zh-TW.md +548 -513
  633. package/app/public/i18n/literals/zh-CN.json +2129 -2107
  634. package/app/public/i18n/literals/zh-TW.json +1 -0
  635. package/app/public/providers/oxion.png +0 -0
  636. package/app/public/providers/uc-web.png +0 -0
  637. package/app/public/providers/veoaifree-web.png +0 -0
  638. package/package.json +1 -1
  639. package/app/.next-cli-build/server/chunks/2154.js +0 -1
  640. package/app/.next-cli-build/server/chunks/3267.js +0 -1
  641. package/app/.next-cli-build/server/chunks/4386.js +0 -1
  642. package/app/.next-cli-build/server/chunks/6756.js +0 -1
  643. package/app/.next-cli-build/server/chunks/75.js +0 -1
  644. package/app/.next-cli-build/server/chunks/8499.js +0 -21
  645. package/app/.next-cli-build/static/chunks/1321-77ba328dd4d69fdb.js +0 -1
  646. package/app/.next-cli-build/static/chunks/5497-ec8a6308121a2b70.js +0 -7
  647. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/combos/page-8f6aadfc8bf2eb7b.js +0 -1
  648. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-a6b07fa9d0712cee.js +0 -14
  649. package/app/.next-cli-build/static/chunks/app/landing/page-c6c3a32dd06bc907.js +0 -1
  650. package/app/.next-cli-build/static/css/17275fac82e1641e.css +0 -1
  651. /package/app/.next-cli-build/static/{1q0xTGDYtD52dGw4uiY4- → KyW2U59Ruq5vPQZjvyylc}/_buildManifest.js +0 -0
  652. /package/app/.next-cli-build/static/{1q0xTGDYtD52dGw4uiY4- → KyW2U59Ruq5vPQZjvyylc}/_ssgManifest.js +0 -0
@@ -1,513 +1,548 @@
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
- - **用量按金鑰統計把同一台機器的所有金鑰合併成一桶**:分組鍵先前使用遮蔽字串,而同一台機器所有金鑰的遮蔽值相同;現改用金鑰摘要分組。
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
-
408
- - **CodeBuddy CN 每日自動簽到**(實驗性,預設關閉):`設定 → 實驗性功能` 開啟 "CodeBuddy CN auto daily check-in" 後,CodeBuddy CN 頁面的 Import / Export 按鈕被替換為每日自動簽到(每個帳號在本地時間 00:00–06:00 隨機時刻自動簽到續免費額度,失敗不中斷服務、401 自動重新整理後重試)與「立即簽到」手動按鈕
409
- - **Antigravity 配額對齊官網(5h + 每週雙視窗)**:用量頁 Antigravity 配額重構為主用官網同款 retrieveUserQuotaSummary 介面,每帳號精確顯示 **4 張卡片**(Gemini Models / Claude and GPT models × {5 小時限額, 週限額}),歸一化 100 百分制;介面不可用時回退舊逐模型解析
410
- - **OpenCode Free 目錄對齊官方免費名單**:補入 Big Pickle / MiMo-V2.5 / Ling 3.0 Flash Fin / Nemotron 3 Ultra / Nemotron 3.5 Lightning 五個免費模型;不收官方已下架的 DeepSeek / Laguna 免費檔(避免誤用產生收費)
411
-
412
- ### 🐛 修復
413
- - **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 檔)
414
- - **用量頁「只看有餘額」拉不到新簽到配額包**:修復 CodeBuddy CN 每日簽到新增的滿額包因舊包序號被後續包擠占、被持久化隱藏後顯示不出的問題——改為即時重算隱藏集,有餘額的包(含新滿額包)始終可見
415
- - **免費模型 429 限流友善提示**:免費模型(`oc/*-free`、`contributor-free`、APInex `free/` 前綴等)被上游限流回傳 429 時,不再透傳英文 `rate_limit_exceeded`,改為友善中文提示——上游給了重置時間則顯示「約 N 秒/分/小時後可再試」,否則建議稍後再試或切換付費檔;付費模型與多帳號降級不受影響
416
-
417
- ## v1.0.5 (2026-09-03)
418
-
419
- ### ✨ 新增
420
-
421
- - **桌面系統列版(Windows / macOS)**:裝完即用的桌面應用——系統列選單(開啟控制台 / 啟動 / 重新啟動 / 停止 / 開機自啟)+ 內嵌視窗,關閉視窗即縮到系統列;與 npm CLI 共享資料、金鑰與連接埠,兩種形態互斥執行。Windows 提供安裝版(NSIS,支援 `/S` 靜默安裝)與便攜版,macOS 提供 Intel + Apple Silicon 雙 dmg
422
- - **CLI / 桌面版介面多語言**:npm CLI 與桌面系統列自動跟隨系統語言顯示繁體中文、簡體中文或英文,可用環境變數 `TENROUTER_LANG`(`zh-CN` / `zh-TW` / `en`)強制指定
423
- - **Agent 可自助新增自訂供應商 + Skills 頁新增技能**:執行階段用 dashboard LLM key 即可兩步註冊 baseUrl + 上游 key + 模型的自訂 OpenAI/Anthropic 相容節點(免改原始碼/免重新打包);Dashboard **Skills 頁**新增「10router-add-provider」技能卡片並修正此前連結指向不存在的 `master` 分支(點擊 404),現指向 `main`
424
- - **CodeBuddy CN 帳號 JSON 批次匯入 / 匯出**(實驗性,預設關閉):`設定 → Providers` 開啟 "CodeBuddy CN OAuth import / export" 後,CodeBuddy CN 詳情頁顯示 Import / Export 按鈕,可用第三方(wb) JSON 格式批次匯入或匯出帳號授權(匯入自動去重、非 CodeBuddy 簽發網域略過)。匯入 / 匯出均需二次輸入 dashboard 密碼確認(防免登入模式下匿名匯出帳號令牌)
425
- - **公益站供應商預設顯示**:GoRouter / TaBiAI 等公益站供應商改為預設顯示(無需再手動開啟開關),列表 / Profile 開關 / 用量拓撲圖三處一致
426
- - **公益站供應商排序歸組**:Free Tier 列表中 GoRouter / TaBiAI 等公益站供應商在 rank 分組內聚成相鄰一塊,不再與一般 freeTier 依 priority/名稱混排
427
- - **新增 Agnes AI 雙站供應商**:國際站 Agnes AI(com)+ 中國站 Agnes AI (CN),各含 Agnes 2.5 Flash / 2.5 Pro 文字模型(512K / 1M 上下文,視覺+推理);另含 Agnes Image 2.x Flash 影像生成模型(標準 images/generations 端點,圖生圖/編輯)
428
- - **設定新增「實驗性功能」分組**:Profile 獨立 Experimental 卡片,收納預設關閉的開發向開關(JSON 模型匯入 + CodeBuddy CN 匯入匯出),方便日後擴充
429
- - **新增供應商 APInex(apinex.bond)**:預付美元額度的第三方聚合網關(OpenAI 相容),18 個模型(13 付費 + 5 個 `free/` 前綴免費模型);供應商頁顯示可複製邀請碼 chip(APInex:`SLEWP68C`)
430
- - **上游 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/推特搜尋)
431
-
432
- ### 🐛 修復
433
- - **用量統計 成本/Token 切換後表格錯亂**:修復切換顯示模式並點擊排序後,部分行的 token 數被回退顯示成金額的問題;繁體中文用量表表頭翻譯補齊
434
- - **用量表排序語義**:按 Token / 成本列排序改為按模型合計值排序,與表頭箭頭方向一致
435
-
436
- ## v1.0.4 (2026-09-01)
437
-
438
- ### ✨ 新增
439
- - **新增 3 家供應商**:**TokenBom**(去中心化 token 交易市場——閒置 API Key 自動賺積分、積分可調用多種模型,含 79 模型線上目錄)、**GoRouter**(免費網關,無儲值入口)、**TaBiAI**(免費網關,無儲值入口)
440
- - **歷史用量導入**:支援從 9Router 備份導入歷史用量資料(SQLite 檔案),合併統計不覆蓋配置
441
- - **通知體驗優化**:全域通知改為頂部置中 Toast,供應商詳情頁瀏覽器原生彈窗全部替換為友好通知
442
- - **公益站供應商**:GoRouter / TaBiAI 預設不顯示,帶「公益站」標籤;可在 **設定 → Providers → 顯示公益站供應商** 開啟後顯示
443
-
444
- ### 🐛 修復
445
- - **供應商排序修正**:有連接的供應商前置、已停用沉底,不再被優先級打亂
446
- - **JSON 目錄模型啟用後不顯示**:清理陳舊停用記錄,「啟用了卻不顯示」問題解決
447
- - **B.AI / CodeBuddy CN 模型補全**:切換模型報 "not found" 的缺模型已補齊
448
- - **連接測試友好提示**:供應商端點維護中 / 被 Cloudflare 攔截時,顯示維護提示而非誤導性的 "Invalid API key"
449
- - **帳戶篩選提醒**:配額包帳戶篩選持久化後,非預設篩選時顯示琥珀色提醒條
450
- - **CodeBuddy CN DeepSeek 模型 11150**:DeepSeek 系列呼叫不再因思考強度參數(auto/off)報 400,編碼 agent(dsh 等)可正常使用
451
- - **CodeBuddy 工具呼叫空工具名(11133 / unknown tool)**:串流回傳的空 function.name 已規範化,標準客戶端不再誤判工具名
452
- - **隱藏公益站後拓撲圖仍顯示**:用量頁拓撲圖同步「顯示公益站供應商」開關,關閉後公益站不再顯示
453
- - **Skills 頁面 i18n + 中文版連結**:Skills 頁面文案支援多語言,中文介面下連結指向中文版 skill
454
-
455
- ## v1.0.3 (2026-08-30)
456
-
457
- ### ✨ 新增
458
- - **新增 4 家供應商**:**LongCat**(美團)、**SenseNova**(商湯,免費公測)、**Dots**(小紅書 Dots Studio,免費公測)、**B.AI**(聚合平台,一個 Key 通吃 GPT / Claude / Gemini / DeepSeek / GLM / Kimi / Qwen 等家族)
459
- - **自定義供應商支援模型 JSON 目錄**:自定義節點可拉取線上模型清單,逐個停用 / 啟用、批次管理
460
- - **fpk 檢查更新直達 Releases**:fnOS 安裝的更新提示直達對應版本的下載附件
461
-
462
- ### 🔒 安全加固
463
- - **登入漸進限流**:密碼 5 次失敗 → 30s / 2m / 10m / 30m 逐級鎖定
464
- - **拒絕佔位 JWT 金鑰**:照抄 `.env.example` 的公開金鑰會被忽略,改用自動產生的隨機金鑰
465
- - **修復 npm 包攜帶建置機敏感檔案**:建置產物不再洩漏金鑰 / 機器 ID / 資料快照
466
-
467
- ### ⚠️ 升級注意
468
- - npm 套件名已改為 **`@techysy/10router`**(舊 `10router` 是本專案無關的 fork)。已裝 `10router-cli` 請改裝新套件,資料目錄不變。
469
-
470
- ## v1.0.2 (2026-08-29)
471
-
472
- ### 🐛 修復
473
- - **修復更新檢查指向第三方套件**(1.0.1 受影響):版本檢查、更新指令、側邊欄安裝指令均指向正確的套件
474
- - **postinstall 不再中斷安裝**:WSL 路徑下 npm 安裝不再因預熱指令碼失敗而中斷
475
-
476
- ### ⚙️ 工程與打包
477
- - **新增測試 CI**:推送 / PR 時自動跑測試與回歸門禁
478
-
479
- > ⚠️ **1.0.1 使用者請升級**:其內建「檢查更新」指向的是一個無關的第三方套件。
480
-
481
- ## v1.0.1 (未發佈,內容隨 v1.0.2 交付)
482
-
483
- > 1.0.1 從未作為正式版發佈(僅 npm 的 `10router-cli@1.0.1` 短暫存在過)。以下內容對 Docker / fpk / standalone 使用者隨 **v1.0.2** 首次到達。
484
-
485
- ### 🔒 安全加固
486
- - **MITM 安全修復 ×4**:上游轉發恢復 TLS 憑證校驗、根憑證私鑰權限收緊至 0600、不再盲目殺掉佔用 443 的處理程序、自動清理異常退出遺留的 hosts 條目(MITM 預設關閉,未啟用使用者不受影響)
487
-
488
- ### ✨ 新增
489
- - **已停用供應商沉底**:設定頁開關開啟後,已停用供應商在清單中排到最後
490
- - **桌面側邊欄可摺疊**
491
- - **OpenCode Go 配額用量接入**
492
- - **模型目錄 Gitee 鏡像回退**:國內拉取加速
493
-
494
- ### 🐛 修復
495
- - **修復 /v1/models 回傳孤兒自定義模型**:不再對客戶端回傳成百上千個無效模型
496
- - **自定義節點前綴唯一性檢測**:避免路由歧義
497
- - **修復 CodeBuddy 執行器誤刪 Agent system prompt**
498
-
499
- ### ⚙️ 工程與打包
500
- - **新增 npm 分發管道**:`npm i -g 10router-cli`
501
- - **新增「從 GitHub JSON 取得模型」通用能力**(Fetch Models)
502
-
503
- ## v1.0.0 (2026-08-26)
504
-
505
- ### ⚠️ 升級注意
506
- 1. **資料目錄改名**:`~/.9router/` → `~/.10router/`(Windows: `%APPDATA%\10router`),啟動時自動遷移
507
- 2. **SAML entityID 變更**:預設 issuer 改為 `urn:10router:sp`,IdP 需重新註冊
508
- 3. **MITM CA 更名**:需重新信任新 CA
509
-
510
- ### ✨ 新增
511
- - **品牌重塑**:9Router → 10Router
512
- - **i18n 多區域貨幣**:en / pt-BR / pt-PT / es / de
513
- - **多平台分發**: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.2 (2026-10-28)
6
+
7
+ ### ✨ 新增
8
+
9
+ - **Qoder 排隊等位與全域隊列快速失敗**:對齊官方客戶端行為,遇到 10605 排隊時執行器內原地重發等位(≤90 秒),淺排隊請求無感放行,不再立刻報 429;深度排隊時阻斷多帳號盲目輪詢,按上游真實預估排隊時間冷卻。
10
+ - **組合頁面支援卡片拖曳排序與一鍵置頂(#89)**:支援手動拖曳調整組合卡片順序或快速置頂,排序即時持久化,`/v1/models` 輸出順序與面板顯示完全對齊。
11
+ - **多媒體與網頁生態接入**:接入 Grok Web(Grok Imagine 生圖與對話)、UC Web(Clerk 鑒權與 Cookie 自動輪換持久化)、Veo AI Free(免登入體驗)、Oxion AI 聚合平台;清理下線未實現的存根通道。
12
+ - **連線測試全面覆蓋真實生成**:對齊 antigravity #82 語義,測試探針剝離 thinking 後綴,帶高思考參數的模型不會再被誤判為 400 失敗。
13
+
14
+ ### 🐛 修復
15
+
16
+ - **環境代理內網判斷修復(#87)**:修復以 `fc/fd/fe80` 開頭的公網域名(如 fda.gov、fcm.googleapis.com)被誤傷判定為內網而靜默繞過環境代理的缺陷。
17
+ - **Qoder 錯誤透傳與串流終態守衛(#88)**:首幀攔截錯誤觸發回退,串流中傳播結構化錯誤,翻譯器在終態幀後嚴格丟棄無效後續幀。
18
+ - **MiniMax Code 配額與介面修正**:配額修正為純積分餘額分類,且無連線時自動隱藏「領取積分」入口。
19
+ - **國際化詞條補齊**:連線批次刪除、應用代理、全選及部分刪除失敗警告文案全面接入字典。
20
+
21
+ ## v1.6.1 (2026-10-24)
22
+
23
+ ### ✨ 新增
24
+
25
+ - **Antigravity 按模型家族隔離配額**:Gemini 與 Claude/GPT 兩套配額獨立核算、獨立選號——一個家族耗盡不再連坐誤傷另一個;選號日誌新增 🟩🟨🟥 健康色塊與重置倒數。
26
+ - **供應商調度策略分類控制項**:帳號按「資產包 / 循環訂閱 / 純餘額 / 免密網關」分類打標,詳情頁按類提供到期包優先、最低/最高餘額優先、輪詢等調度選項。
27
+ - **zcode-free 免費體驗包加送 GLM-5.3**(1024 Dev Day 活動,每日 200M 額度)。
28
+ - **組合 router 決策日誌**帶上 confidence 與次優候選,調優組合時能看出決策有多確定。
29
+
30
+ ### 🐛 修復
31
+
32
+ - **Antigravity 連線測試全鏈路(#82)**:被 Google 風控標記(需要驗證)的帳號不再假綠——逐測現在覆蓋真實生成鏈路,錯誤裡直接給出可點擊的驗證連結(新版 /v3/ 連結已相容);未灰度模型如實標紅並給出可行動提示;中文介面錯誤文案全面在地化。
33
+ - **多帳號「抽乾」修復**:訂閱型帳號按短窗/長窗拆分健康度,任一窗口見底即判紅並交接流量,不再死磕已抽乾的帳號;CodeBuddy / Qoder 資產包改為嚴格按到期壓榨——快過期的包必須先燒掉,不再被釘死爛掉。
34
+ - **配額卡**:耗盡的月度贈送包不再計入聚合池分母(修復 CodeBuddy 卡 30/130 的假象),到期倒數不再被耗盡包吞掉。
35
+ - **配額冷卻**:配額窗口的解鎖上限從 30 分鐘改為 24 小時,不再每半小時白撞一次 429;「將於 稍後 重置」佔位符修復。
36
+ - **組合 router**:決策卡只把「最近在失敗」當減分項,沒流量的冷成員不再被系統性跳過;修正 Drex 決策請求形狀,router 策略不再永遠降級。
37
+ - **System One 決策 Provider(drex / v1m / thx)**:接入連線測試與 key 驗證,編輯彈窗「檢查」不再恆報 Invalid。
38
+ - **CD 推送配額卡**:LongCat 等把數字寫進名稱的推送列不再誤讀成滿額。
39
+
40
+ ## v1.6.0 (2026-10-21)
41
+
42
+ ### ✨ 新增
43
+
44
+ - **上游 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 輸入。
45
+ - **Inception Labs 供應商**:Mercury 擴散模型(~1000 tok/s),mercury-3 launch 半價 $0.10/$0.35,新 key 送 1 億 tokens;配額經 CreditDaddy 通用卡推送。
46
+ - **組合 router 策略**:固定順序/輪詢不看誰更擅長當前任務;Router 分析 prompt 動態挑最擅長的成員回答(僅一次額外呼叫,兼顧能力與速度);失敗/逾時 8s 內退回原順序。
47
+ - **Trae 國內站(trae.cn)登入**:站點選擇 + 回呼自證 + 裸 token 探測;國內/國際帳號不互通,拿錯端有明確提示。
48
+ - **MiniMax 免費線回歸 + 訂閱線每日自動簽到**;M3.1 Flash 正式 id 全線對齊。
49
+ - **頭部公告系統**:免費模型活動、關鍵變更即時推送(GitHub raw → Gitee 鏡像 → 本地快取三級兜底)。
50
+ - **API Key 權限勾選器**:可呼叫模型/組合白名單改勾選式。
51
+ - **MiniMax Code 卡面「今日已簽」徽章**:CreditDaddy 推送簽到狀態即展示連簽天數。
52
+ - **到期優先調度防透支**:贈送類配額包耗盡後不再霸佔「最早到期」位置,多帳號不再齊指同一重置點;Round-Robin 在到期優先開啟時自動置灰(到期優先接管輪詢),配套輪詢/配額包邏輯的使用者文件。
53
+ - **額度頁重新整理間隔可設定**:預設 5 分鐘,可選 1m/5m/15m/30m/1h,不再強制 60s 輪詢;Auto-Ping 升級三模式(關閉 / 重置即 ping / 固定鐘點表),供應商頁與額度頁同一入口。
54
+ - **CodeBuddy 雙線「已簽到/活躍」徽章本地判定**(看最新配額包週期起點,不依賴外部推送);**Qoder 卡面 CD Sync / Native 雙入口徽章**。
55
+
56
+ ### 🐛 修復
57
+
58
+ - **MITM bypass 建連逾時鍵錯誤**:請求被 1ms 計時器秒殺後回落可被劫持的直連(PR #76 收尾)。
59
+ - **Trae SOLO 閘道並發跨站串用**:token 不再打到錯誤站點。
60
+ - **MiniMax 簽到狀態查詢 404**:status 端點誤發 POST,改 GET 後簽到恢復。
61
+ - **節點健康度誤傷極速模型**:延遲軸改用首字延遲(TTFT),長輸出快模型不再被總時長壓分。
62
+ - **CodeBuddy 國際站「每日活躍會話」下線**(上游已撤銷活動,白付請求);**CodeBuddy CN 訊息數守衛放寬至 5000**。
63
+ - **Alibaba Token Plan 補國內版**,四張阿里卡標明 Intl/CN;**Qoder 限免行**顯示可讀截止時間;**API 金鑰校驗提示**走翻譯。
64
+ - **配額包循環演算法失效導致帳號透支(T0)**:週期性贈送包耗盡後劫持到期排序、relay 環全線判紅死鎖單號的問題已修復,附完整故障報告。
65
+ - **River AI 連線測試誤報「不支援測試」(Issue #80)**:併入 OpenAI 相容校驗,點測試不再假失敗。
66
+ - **供應商詳情頁偶發整頁打不開**:到期優先灰化 Round-Robin 的一處樣式工具函式漏了引用,頁面一渲染即崩;已修復並納入瀏覽器級驗證。
67
+ - **騰訊 WorkBuddy 400 風控**:自動清洗 DeepSeek Harness 敏感識別碼,CodeBuddy 通道不再被誤攔。
68
+
69
+ ### 🎨 介面
70
+
71
+ - 側邊欄字號恢復 14px,新增社群分區(飛書/Discord/Telegram/GitHub);完整更新日誌改為彈窗內開啟(修飛牛殼打不開新分頁);捐贈彈窗重做(愛發電 + 三張向量收款碼 + Star 按鈕);頭部公告入口帶未讀紅點。
72
+
73
+
74
+ ## v1.5.1 (2026-10-18)
75
+
76
+ ### ✨ 新增
77
+
78
+ - **WorkBuddy / CodeBuddy 國際版 DeepSeek-V4.1-Flash 限免開放 & 渠道門禁打通**:補齊官方客戶端的 `X-Conversation-ID` 等一整套會話協議標頭,不再被上游 11128「未授權渠道」攔截;國際版 `deepseek-v4.1-flash` 標記為限免至 10-31,卡片顯示綠色 `free` 角標,到期自動恢復 0.11x 計費。
79
+ - **CodeBuddy CN 額外補償與首月贈禮自動/手動領取**:支援全天後台自動重試檢查並領取 CodeBuddy CN 臨時補償(如 500 點數)與首月贈禮(帶實驗開關 `codeBuddyCompensation`);供應商詳情頁新增一鍵手動領取按鈕;401 自動重新整理 Token。
80
+ - **組合(Combo)模型選擇器「僅顯示已連線供應商」**:組合編排彈窗支援一鍵過濾未連線供應商,快速挑選可用模型。
81
+
82
+ ### 🐛 修復
83
+
84
+ - **CodeBuddy CN 體積上限放寬到 32MB**:原先 3.2MB 的本機攔截長期誤傷真實長會話(體積與 11128 門禁本就無因果關係),現在 32MB 以內一律放行,交給上游判定。
85
+ - **Antigravity 週期配額桶與完整身分驗證連結**:
86
+ - 完美適配官方 5小時/每週 週期配額雙視窗(Gemini 與 Claude/GPT 獨立桶),並收斂共享配額的生图冗餘模型項;
87
+ - 完整保留長達 600+ 字元的 Google 身分驗證(VALIDATION_REQUIRED)跳轉 URL,不再被截斷。
88
+ - **Claude SDK 非流式重試報錯根治**:
89
+ - 補齊 Antigravity/Gemini 非流式回應到標準 Claude Message 格式轉換,徹底解決 Claude CLI 報 `body is JSON but not a Message (HTTP 200)`;
90
+ - 強制補齊規範的 `req_` 回應標頭,消除 `request-id present but not Anthropic-issued` 報錯。
91
+ - **視覺模型 tool_result 圖片恢復**:修復 Claude 轉 OpenAI 格式時工具返回圖片被過濾的問題,多模態模型現可正常接收工具產生的圖像。
92
+ - **多輪對話工具名稱防衝突**:修復工具呼叫 ID 複用時 `functionResponse` 工具名被後續輪次覆蓋導致的 400 錯誤。
93
+ - **組合模型自動壓縮與熔斷降級**:無前綴組合模型名支援能力聚合觸發壓縮;CodeBuddy CN 極端載荷攔截加入快速降級規則。
94
+ - **介面角標最佳化**:修復 CodeBuddy「付費檔」與「訂閱優先」圖示尺寸過大的問題。
95
+
96
+ ## v1.5.0 (2026-10-15)
97
+
98
+ ### ✨ 新增
99
+
100
+ - **多帳號「到期優先調度」升級為環形接力**:原「配額包到期優先」開關現已覆蓋配額包 / 訂閱速率視窗 / 餘額三類額度,並對週期雙桶(Antigravity/Gemini 5h+7d、MiniMax Code M Plan)改用「單點死磕、只前滾不插隊、跌破 5% 紅區無感換血」的接力演算法——不再全池輪流失血、整條通道一起黑屏。
101
+ - **新供應商**:MiniMax Code 訂閱雙線(國內 / 國際,裝置碼 OAuth 直連 + M Plan 視窗 + Credits 餘額追蹤)、River AI(按量計費 + OpenAI 相容雙端點)、ModelScope 魔搭(按量 + 20 款主流模型 + passthrough)、Codiv 與 HAL-X THX-01(System One 決策模型端點)。
102
+ - **通用外部額度推送介面**:外部伴侶(首個接線方 CreditDaddy)把自己解析好的額度 POST 到 `/api/external-quota/<source>`,統一配額頁即渲染成卡片;配合「同名認領」,CD 帳號別名與連線名相同時餘額直接掛到路由連線卡上。
103
+ - **API Key 細粒度權限**:客戶端 key 可設可呼叫的模型 / Combo 白名單,越權請求直接 403;Endpoint 頁互動式編輯。
104
+ - **Gemini 4「Argon」入庫**:能力(視覺 + 推理 + 搜尋 + 1M 上下文)與官方價目($2 / $10)。
105
+ - **重排序(Rerank)類別**:新增 `/v1/rerank` 端點與獨立模型類別,接入 Cohere、Jina AI、SiliconFlow(BGE Reranker)三家——輸入 `query` + 候選文件、輸出相關性分數,RAG / 知識庫檢索精排即插即用;側邊欄媒體供應商新增「Rerank」入口,詳情頁帶可互動範例。
106
+ - **LongCat 資源包額度**:CreditDaddy 可推送 LongCat Token 資源包餘量到配額頁(同名認領掛到連線卡);贈送/購買包按官方消耗順序規則逐包展示。
107
+ - **供應商頁連線狀態篩選器**:供應商牆可按「活躍 / 錯誤 / 未啟用 / 無連線」篩選——「活躍」含已連上的供應商與拓撲開關開啟的免密供應商;彈出選單與整體控制項語言一致(不再使用原生下拉框)。
108
+
109
+ ### 🐛 修復
110
+
111
+ - **同名認領後連線卡的「重新整理配額」真正回源**:此前重新整理只會重讀本地快照,CreditDaddy 收不到現拉請求、數字不變;現在重新整理先 POST 回 CD 觸發現拉重推,且全程按鈕保持旋轉。
112
+ - **用量拓撲圖不再顯示已下架供應商**:曾被下架(如 Token Harbor 網頁會話)但庫裡仍有殘留連線的供應商,不再以幽靈節點復活在拓撲畫布上。
113
+ - **0 積分配額包不再劫持到期倒數**:已耗盡的贈送包此前仍參與「最快到期」排序,把帳號頂到隊首空燒;現只按明細中存活包排序。
114
+ - **混合大小寫命名空間模型 id 不再被剝圖**:reseller 以 `vendor/Model-Name` 形式暴露的多模態模型,此前因大小寫漏配能力行導致圖片被靜默剝離,現補大小寫不敏感兜底。
115
+ - **Qoder DeepSeek / GLM / MiniMax 檔補回視覺**:這幾檔模型上游實測支援圖片輸入,但能力表漏配導致圖片被剝離,現已按活體實測結果補上。
116
+ - **MiniMax Code Credits 卡面「999.96 / 999.96」雙印**、**未認領的 river / modelscope 連線不再報「Usage API not implemented」**(改給同名認領指路文案)。
117
+
118
+ ## v1.4.0 (2026-10-10)
119
+
120
+ ### ✨ 新增
121
+
122
+ - **API 金鑰支援每日 Token 限額**:每個客戶端 key 可設每日上限(如 100M/天),超限回傳 429 `rate_limit_error`,伺服器本地零點自動重置;Endpoint 頁有全域總開關,每 key 隨時增改限額,列表即時顯示今日用量佔比。
123
+ - **配額追蹤器卡片圖示直達供應商官網**:配額頁每張卡片左上角的供應商 logo 現在點擊即在新分頁開啟對應官網/控制台。
124
+ - **「隱藏零餘額供應商卡片」開關**:實驗頁的卡片隱藏新增第二檔——0 餘額/0 積分的連接卡片可整卡隱藏,與既有「隱藏無配額卡片」互相獨立、可疊加。
125
+ - **「待重新授權」帳號狀態**:OAuth 帳號重新整理權杖失效時,連接列亮起「待重新授權」標記並冷卻 24 小時(不再每 2 分鐘空撞一次);重新授權立即恢復。
126
+ - **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。新增「付費檔」「訂閱優先」兩種模型徽章。
127
+ - **OpenCode / Token Harbor 新模型**:OpenCode 付費線補齊 Claude Haiku 5.5(能力宣告修正為 1M)等新上架模型;Token Harbor 收錄 `claude-haiku-5.5:free`。
128
+ - **Trae Free 模型目錄對齊官方目錄**(issue #54):新增 18 款,移除 10 款已被上游下架的模型。
129
+ - **免費線卡片的 CreditDaddy 閘道狀態**(issue #49):桌面 v1.3.5 修訂資產已先行帶上,本版起全渠道生效。
130
+ - **Release 資產命名平台化**:Windows / macOS / fnOS 安裝包檔名統一為「軟體名-平台-…」,同一 Release 頁面內同平台資產自動聚類排序。
131
+
132
+ ### 🐛 修復
133
+
134
+ - **combo 模型組的上下文視窗現在正確發給客戶端**:此前組合條目只寫嵌套能力區塊,客戶端讀不到頂層 `context_window` 只能按模型名猜、且往高猜,長上下文直到上游硬失敗。
135
+ - **流式請求統計口徑兩處修正**:答覆完整送達後客戶端提前斷開不再記成失敗(issue #48 / #50);上游中途掐斷的乾淨結束不再記成成功,改記「截斷」;SSE 流中被丟棄的損壞行會計數並顯示在請求明細。
136
+ - **重新整理權杖處理三連修**:輪換後的新權杖落庫失敗時立即報錯,不再靜默用舊權杖把帳號整體踢下線;sql.js 模式落盤失敗自動重排重試;401 自動刷新重試失敗時把真實原因透傳給客戶端。
137
+ - **StepFun CN 實名閘門不再誤報「額度用完」**:未完成實名核驗的 403 不再把模型鎖 2 分鐘,儀表盤給出實名頁直達連結,combo 立即穿透到下一候選。
138
+ - **GitHub Copilot 配額按類別分行**:chat / completions 月度視窗不再併入資源包合計,與 Antigravity 口徑一致。
139
+ - **自訂連接名稱優先顯示**:連接列不再被使用者名稱/信箱擠掉自訂名稱。
140
+ - **模型目錄與能力參數糾錯**:客戶端拿到的上下文/輸出上限對齊各供應商真實值(修復別名漂移、目錄查找落空、combo 聚合缺口等同源問題)。
141
+ - **Windows 安裝器三連修**:升級不再彈「無法關閉」、不再執行舊版卸載器;UAC 被拒絕不再無聲失敗。
142
+ - **fnOS 打包修復**:不再誤覆蓋 standalone 自帶的精簡 next 模組(裝上即起不來的根因)。
143
+
144
+ ## v1.3.5 (2026-10-05)
145
+
146
+ ### ✨ 新增
147
+
148
+ - **免費線卡片新增 CreditDaddy 閘道狀態**(issue #49):ZCode Free / MiniMax Free / Trae Free 卡片現在會探測本地閘道連接埠並直觀顯示連通狀態,不通時給出下載連結與開啟引導。
149
+ - **新增 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 提取的官方黑白標。
150
+
151
+ ### 🐛 修復
152
+
153
+ - **升級安裝不再彈「無法關閉」(Windows 安裝包已原位替換更新)**:升級時新安裝器自帶清理、跳過舊版本凍結的舊解除安裝器程式碼,不再觸發幽靈程序的無法關閉彈窗或靜默退出碼 2,用戶資料不受影響。
154
+ - **中途夭折的串流請求不再留下一條「綠色 0 token」的假成功**(issue #48)—— 串流請求一開就寫入佔位記錄,但那時還沒產出任何內容、狀態卻已是「成功」。上游隨後斷鏈時,中止路徑完全不碰資料庫,那列記錄再沒人修正:一次被掐斷的請求會在詳情列表裡一直顯示成「已完成、且恰好沒花錢」。現在進行中的記錄就顯示為進行中,被中止的串流請求記為失敗。
155
+ - **單一模型失敗不再把整條連線標記為「不可用」**(issue #46)—— 這才是根因:按模型的鎖在寫入時,會連帶寫一個帳號級的「不可用」標誌,而選路自始至終只看那把按模型的鎖。於是兄弟模型照常工作、連線卻顯示為停擺。現在這個標誌只在真正的帳號級失敗時才寫。
156
+ - **CreditDaddy 三條線的 404 不再被報成「模型不存在」**(issue #47):CreditDaddy 已把閘道端點遷到帶品牌名的路徑(`/gateway/zcode/…` 等),404 說的是端點而不是你的模型。現在提示會直說這一點,卡片上也給出排查指引:路徑要保留品牌段;若 CreditDaddy 版本早於這次改名(仍只提供舊的裸端點),應升級 CreditDaddy 而不是改那個輸入框。
157
+ - **部分受限的連線改為顯示黃色,不再標紅**(issue #46):只有一個模型在冷卻期的連線仍在正常服務其它模型,現在有獨立的「部分受限」狀態,不再被當成整個帳號停擺。同時把原先手寫了四份、彼此可能不一致的狀態判定收斂成一份。
158
+ - **單一模型的額度用完不再顯示成「帳號不可用」**(issue #46):Google / Antigravity 的額度按模型分桶,我們的鎖也是按模型的,但提示一律寫「該帳號額度已用完」——而同一連線上的其它模型在整個視窗內照常可用。現在提示會點名具體模型並說明其餘模型不受影響;真正整帳號耗盡的情況文案不變。
159
+ - **用量「概覽」不再空白、而「詳情」列著一堆 0 token 的列**(issue #48):兩個頁籤讀的是不同的表,上游沒回 token 數時,一側整列被丟掉、另一側卻照樣寫進去(顯示 0 輸入 / 0 輸出)。此前只有串流請求有估算後備,非串流請求沒有。現在兩個頁籤顯示同一組估算出來的數字。估算值只記入儀表板——客戶端拿到的 usage 仍嚴格是上游回傳的原值。
160
+ - **超長上下文自動壓縮預設觸發比例 0.9 → 0.95**:自動壓縮改為更貼近視窗上限才觸發(閾值檔位與總開關不變,可在「實驗特性」卡片調整)。
161
+ - **Claude Code / mirasim 不再在 160K 處強制壓縮**:模型清單此前只按 OpenAI 約定上報視窗,Claude CLI 讀不到就回退到內建的 20 萬預設值,於是 Qwen3.8-Max(真實 100 萬)等模型在客戶端側 16 萬 token 就觸發壓縮。現在補上 Anthropic 約定的欄位,客戶端能讀到真實視窗。
162
+ - **儀表板模型卡不再把 1M 視窗顯示成 20 萬**:Qoder(`qd` / `qdc`)、Kiro(`kr`)、CodeBuddy CN(`cbcn`)、Antigravity(`ag`)這四條線的模型此前在儀表板上因按別名查能力而跌到 20 萬地板(vision / reasoning 徽章也被剝掉),Kiro 的 gpt-5.6 系視窗還虛高到 105 萬。現已全部歸一化到正確的 1M 檔。
163
+ - **Trae Free 卡片圖示不再缺圖**:本版接入時漏了圖示資源,卡片回落成文字縮寫、而其它屏又是另一張(彩色)標。現已統一使用從客戶端 exe 提取的 Trae(SOLO)官方黑白標。
164
+ - **Trae Free 的閘道主機/連接埠設定生效**:本版接入時漏了一處程式碼位置,區域網路主機與連接埠設定對 Trae Free 不起作用、請求仍打本機預設位址。已修復。
165
+ - **Qoder 訂閱積分「憑空消失」有了明確提示**(issue #44):CreditDaddy 同步來的網頁工作階段失效時,套餐積分讀不到卻沒有任何提示。現在額度卡片會直接警告工作階段已失效,並在匯入連線時逐帳號校驗工作階段可用性點名失效帳號。
166
+ - **Windows 升級安裝不再卡在「10Router 無法關閉」**:舊版程式以管理員身分執行時(MITM 綁定 443 需要),一般權限的安裝器殺不掉它。現在安裝器會要求一次管理員授權來關閉舊行程;拒絕授權則退化為原行為,不會更糟。`10Router.Setup` 與 `10Router-Web-Setup` 均已涵蓋。
167
+ - **桌面版更新下載加了逾時保護**:網路異常掛起時更新流程不再永久卡死,失敗會清理殘留的暫存檔。
168
+
169
+ ## v1.3.3 (2026-10-04)
170
+
171
+ ### ✨ 新增
172
+
173
+ - **新增 MiniMax Code Free 供應商(`minimax-free`)**:經本地 CreditDaddy 閘道使用 MiniMax 免費額度(M3.1-Flash-Preview / M3 / M2.7),與 ZCode Free 同款接線——免登入卡片、主機/連接埠共享、路徑按線獨立,詳情頁附官方圖標與閘道設定區。
174
+ - **MiniMax 家族能力對齊官方用戶端**:M3.1-Flash-Preview 支援五檔思考深度(default/low/medium/high/xhigh/max)透傳;M3 思考為開/關切換;上下文按 1M 上報。
175
+
176
+ ### 🐛 修復
177
+
178
+ - **zcode-free 閘道端點補齊 `/zcode` 段**:對齊 CreditDaddy 側的路徑遷移(MiniMax 線早已同形)。
179
+ - **CreditDaddy 閘道卡片**:路徑欄位改為顯示實際生效值(預填,不再藏在佔位符後);遠端接入說明糾錯——閘道由 IP 白名單保護、不驗證 key,無需填憑證(舊文案曾錯誤要求建帶 key 的連線)。
180
+ - **CodeBuddy CN 不再攔截工具多的 Claude Code / codex 工作階段**:移除「工具數 > 60」的本地一刀切(它曾鎖死掛 MCP 工具集的真實工作階段),工具數現在只進拒絕診斷資訊;體積 3.2MB 與訊息數守衛不變。
181
+
182
+ ## v1.3.2 (2026-10-03)
183
+
184
+ ### ✨ 新增
185
+
186
+ - **桌面端:統一 HTML 更新窗**:檢查更新 / 下載進度 / 取消 / 安裝全部在同一個品牌化小窗內完成,視覺與儀表板一致;順帶修掉 Windows 非整數縮放下視窗出現捲軸的問題。
187
+ - **桌面端:「透過桌面殼更新」按鈕**:儀表板「檢查更新」發現新版本後一鍵通知系統匣殼,由殼接管下載 → SHA-256 驗證 → 安裝的全自動流程;遠端(區網 / Tailscale)開啟的儀表板同樣生效。
188
+ - **桌面端:安裝器與「關於」窗對齊儀表板設計語言**:安裝器/解除安裝器換上品牌側板(同款設計 token);「關於 10Router」從系統原生對話框換成品牌化小窗。
189
+ - **修復:Windows 升級不再被舊程序鎖死(重要)**:舊版解除安裝器殺不掉背景服務程序導致升級報「無法關閉」——新安裝器會先清場、退出時確定性停車。
190
+ - **CodeBuddy CN 上架 Space-Bunny**(0.03x 限時折扣 10/2–10/7);**APInex 復上架**,目錄實測刷新為 36 模型(免費檔擴到 18 個)。
191
+ - **供應商目錄與圖標整理**:Token Harbor 免費檔新增 qwen3.8-flash / mimo-v2.6-flash(1M 視窗、帶視覺);新增 fledge-alpha-free 能力行;Atria 取 key 連結修正為官方控制台;Atria / Token Harbor / OpenCode Zen 上官方圖標;Dahl Inference 下架。
192
+
193
+ ### 🐛 修復
194
+
195
+ - **模型能力上報補齊**:zcode-free 等免登入供應商、未連接供應商的自訂模型(opencode-zen 等)現在都會上報「上下文視窗 / 最大輸出」,客戶端不再靠模型名瞎猜。
196
+ - **快取命中率演算法修復**:快取最密集的請求不再被靜默丟出統計(此前 684 行);快取寫入 token 計入分母,數字更誠實——agent 類流量命中率高是真實狀態。
197
+ - **供應商詳情頁**:邀請碼不再兩處重複顯示;全部供應商提示文案補齊簡繁雙語。
198
+
199
+ ## v1.3.1 (2026-10-02)
200
+
201
+ ### ✨ 新增
202
+
203
+ - **GLM Coding 支援 Z.ai OAuth 登入(雙認證)**:除貼上 API key 外新增瀏覽器授權登入,額度卡片兩種登入方式通用。
204
+ - **新增 Meta Muse 供應商(OAuth + 模型目錄)**:Meta 官方 Muse Code 通道,裝置流程一鍵登入,五個 Muse Spark 模型與官方定價齊備。
205
+ - **新增 System One 決策供應商 v1m(v1m.ir)**:與 Drex 同協議的第二家決策模型後端。
206
+ - **codex 暴露 GPT-6 / GPT-5.6「[1m]」超長上下文變體**:872K 窗口,模型名後綴加 `[1m]` 即用。
207
+ - **配額卡片實驗性「巢狀週期配額條」**:實驗頁開關開啟後,滾動 ⊂ 每週 ⊂ 月度 的包含鏈恢復為一條同心巢狀進度條。
208
+
209
+ ### 🐛 修正
210
+
211
+ - **同步上游 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。
212
+ - **配額修正打包**:重置時間改自適應倒數(天+時 / 時+分 / 分+秒);「5 小時」時間軸以現在為中心前後各 12 小時;月度窗口固定顯示在卡片底部;qoder / qoder-cn 的 Auto/Efficient 檔位與顯示名別名不再落到預設能力值。
213
+ - **登入與安全**:開啟「需要登入」不再把自己踢出登入頁;登入頁「忘記密碼?」補中文並寫明 reset-password 檔案格式(reset-password.txt / .md 等任意副檔名均可);用量統計排除隱藏供應商。
214
+ - **Drex 取 key 連結改為官方邀請註冊**(Nace 現為邀請制)。
215
+
216
+ ## v1.3.0 (2026-10-01)
217
+
218
+ ### ✨ 新增
219
+
220
+ - **CLI 工具「模型組合方案」(Claude 卡,#17)**:Claude 工具卡新增 Profiles 欄,支援將 Opus/Sonnet/Haiku 映射、API Key 與上下文視窗儲存為多套命名方案;下拉切換即自動寫入 `~/.claude/settings.json`,無需再點 Apply,體驗無縫對標 CC-Switch。設定由伺服器端統一持久化,NAS、Tailscale 或通道存取時共享同一份設定。
221
+ - **配額視覺化重構:QuotaToolbar 與配額視窗時間線**:用量頁引入響應式配額工具列與週期視窗時間線(`QuotaWindowTimeline`),直觀呈現各供應商週/月週期的額度重設與倒數計時;頂部增加「卡片」與「配額視窗」檢視切換(工作階段級記憶體保持,重新整理恆定預設展示卡片,不污染 localStorage)。多包分段進度條全面對齊 CreditDaddy 視覺語意,並支援卡片頂部展示精確最近到期時間。
222
+ - **全新搜尋與擷取供應商 TinyFish 與 Keenable(#26)**:
223
+ - **TinyFish**(免費層):全自動支援 Web Search 與 Web Fetch,官方任意餘額免扣費,免設定開箱即用;
224
+ - **Keenable**(標準 API Key):支援即時/專業模式搜尋,以及帶 `live=true` 的高保真任意網頁擷取;
225
+ - 媒體提供商頁面(Web Search / Web Fetch)及 `/v1/search`、`/v1/web/fetch` 介面全線接入。
226
+ - **ZCode 免費體驗包供應商接入(`zcode-free`)**:將 Start Plan / Trust Build 免費額度(GLM-5.3-Flash)透過 CreditDaddy 桌面版「額度閘道」接入調度;支援在卡片上設定區域網路 CreditDaddy 主機位址,並產出詳盡的實戰接入指南文件。
227
+ - **Qoder 逐包明細優先用 CreditDaddy 網頁工作階段**:透過同步的瀏覽器工作階段直讀主控台精確逐包用量與到期時間,杜絕近似估算偏差,帶帳號所有權防串號校驗。
228
+ - **LongCat-2.5-Preview 與國際站支援**:接入 LongCat-2.5-Preview(1M 上下文,支援圖像與視訊多模態輸入及思考模式),新增 `longcat.ai` 國際站獨立卡片。
229
+ - **桌面殼「容器」密碼管理(`639f77a8`)**:桌面版內嵌網頁(WorkBuddy、CodeBuddy 等)支援帳號密碼自動擷取、右鍵填入與獨立密碼管理面板,憑證透過系統安全儲存(DPAPI / safeStorage)本機加密落盤。
230
+ - **全站深淺色模式系統自適應**:登入頁及主介面自動跟隨作業系統主題變化,帶首屏防白屏閃爍指令碼。
231
+
232
+ ### 🐛 修正
233
+
234
+ - **配額重置時間改為自適應倒數**:卡片與資源包上的重置/到期不再只顯示日期——未來時間直接顯示倒數,精度隨量級自適應(≥1 天「天+小時」、不足一天「時+分」、不足一小時「分+秒」),懸停仍可見完整絕對時間。
235
+ - **配額窗口「5 小時」視圖以現在為中心**:時間軸從自然日 00–24 點改為此時此刻前後 12 小時,"現在"恆定處於軌道中段,傍晚查看不再整屏都是已過去的窗口。
236
+ - **用量詳情輸入 Token 不再被快取值頂替**:徹底修復未折疊 Claude usage 結構導致的高快取命中請求(如 zcode-free)輸入欄與快取欄 1:1 顯示的視覺失真問題。
237
+ - **全新安裝冷啟動靜態模型暴露**:修復在資料庫無任何連線記錄的全新安裝環境下,`noAuth` 體驗供應商(opencode、mimo-free、zcode-free)在 `/v1/models` 中無法展示的問題。
238
+ - **OpenAI Responses 審核中斷原因映射**:將 Responses 的 `incomplete_details.reason === "content_filter"` 正確轉換為 Chat 補全的 `finish_reason: "content_filter"`,防止 SDK 誤判為 length 長度截斷。
239
+ - **代理設定容錯與安全穿透(#36)**:支援不帶 scheme 的代理格式(如 `127.0.0.1:7890`,自動規範為 `http://`);密文解析失敗時維持密文字符串,堅決杜絕意外降級直連洩漏真實 IP;儲存時嚴格阻斷非法通訊協定。
240
+ - **反重力(Antigravity)穩定性強化**:移除官方已棄用的 `requestType:"agent"` 避免無故觸發 429 報錯;修復空字串工具結果導致的 400 異常;長函數名自動映射與還原;大幅強化工具 schema 清洗(支援本機 `$ref` 內聯解環,避免遺失參數)。
241
+ - **未知裸模型名嚴禁前綴盲猜(#34)**:未命中的裸模型名直接回傳 400 指引,不再隨機推斷為錯誤供應商導致 404。
242
+ - **遠端虛擬 Key 權限修正(#38)**:恢復持有有效虛擬 Key 遠端新增/更新自訂供應商的通道,打通外部工具自動化同步。
243
+ - **MITM 安全加固(#31)**:sudo 啟動時 `ROUTER_API_KEY` 徹底移出命令列參數改走安全標準輸入,避免從系統處理程序清單洩漏。
244
+
245
+ ## v1.2.1 (2026-09-26)
246
+
247
+ ### 🔒 安全
248
+
249
+ - **[重要] 開啟登入檢查後被鎖在外面(#33)**:尚未設定自己的密碼時開啟「需要登入」,之後只有那個看不到的首次登入密碼有效(fnOS 安裝時自動產生、寫在你看不到的檔案中),輸入什麼都提示密碼錯誤。現在未設定密碼時不允許開啟登入檢查、拒絕空密碼,並新增找回入口:登入頁 **「忘記密碼?」**。fnOS 直接在 **「應用中心 → 10Router → 應用設定」** 填寫新密碼並儲存即可;其他安裝方式在資料目錄放一個 `reset-password` 檔案。
250
+
251
+ ### ✨ 新增
252
+
253
+ - **CreditDaddy 接入:額度總覽唯讀介面**:`GET /api/usage/quotas` 一次回傳全部可查額度的連線,口徑與儀表板「額度」頁一致,可用儀表板虛擬 key(`sk-…`)存取。結果快取 5 分鐘;強制重新整理(`?force=1`)對同一連線每 30 秒最多一次,同時到達的請求共用一次上游查詢。不回傳任何憑證——但帳號電子郵件對持有虛擬 key 的人可見,分發 key 前請知悉。
254
+ - **匯入的用量開始顯示預估成本**:經 10router-sync 外掛或 CreditDaddy 同步進來的用量先前全是 $0。新匯入依即時價目表估算,歷史資料於啟動時自動補算(絕不覆寫來源已算好的成本;沒有價格的模型仍為 $0)。
255
+ - **「登入檢查已關閉」橫幅可以隱藏**:設定 → 安全中「需要登入」下方新增開關,僅在登入檢查關閉時出現。隱藏需要確認;重新開啟登入檢查後再關閉,橫幅會自動恢復。
256
+ - **可以關閉自動檢查更新**(設定 → 安全):適合刻意停留在某個版本的安裝。關閉後 10Router 不再自行連線更新伺服器、不再提示新版本——儀表板、系統匣氣泡與 CLI 啟動器都會靜默;「立即檢查」與系統匣「檢查更新」仍可手動使用。
257
+ - **單一認證卡片支援 OAuth 加密匯入 / 匯出**:遷移按鈕現在也出現在僅 OAuth 的卡片上——尤其是 **MiMo Desktop**,它的登入工作階段本身就是換機時要遷移的憑證。
258
+ - **Qwen 官方精確價**:新一代 Qwen 旗艦先前按低價萬用字元檔計費(如 qwen3.8-max 只算了官方價的四分之一),現依官方逐模型價格計算。
259
+
260
+ ### 🐛 修正
261
+
262
+ - **[重要] 重新啟動後遠端存取一直中斷,直到有人開啟儀表板**:通道 / Tailscale / MITM 自動恢復等啟動任務先前要等第一次渲染頁面才執行——只透過 `/v1` 使用的 NAS 可能一直等不到。現在隨服務一起啟動。
263
+ - **Qoder 排隊限流被當成模型回覆**:排隊中的請求(`10605`)以 `[qoder error 403: …]` 文字回傳給用戶端,還被記為成功。現在會切換到下一個帳號,並依 Qoder 要求的時長(約 30 秒)冷卻被限流的帳號。
264
+ - **免密碼儀表板在本機匯入 OAuth 遷移檔被攔截**:現已恢復。
265
+ - **10router-sync 外掛 v1.5.0**:適配 ZCode 新的套餐渠道 id(Start Plan 流量自 09-18 起漏同步);mirasim 輸入計入快取,儀表板不再出現「輸入 638、快取 1.13 億」;mirasim 訂正腳本不再重複加上快取。
266
+
267
+ ### 🔧 其他
268
+
269
+ - **認證請求標頭對齊 10Router 命名**:`x-10r-cli-token` / `x-10r-password` 取代沿用下來的 `x-9r-*`。舊名稱仍然相容,既有的 CLI 啟動器、外掛與腳本不受影響。
270
+
271
+ ## v1.2.0 (2026-09-24)
272
+
273
+ ### ✨ 新增
274
+
275
+ - **小米 MiMo 拆成三張卡,各管各的帳**:雲端(`xiaomi-mimo`,瀏覽器登入 / API Key,按正式資費)、桌面版(`mimo-desktop`,必須由本機已登入的 MiMo Desktop 用戶端提供工作階段,不接受 API Key)、Token Plan(`tp-` 套餐金鑰)。先前一張卡同時管兩類憑證,「週額度」與「測試連線」都按最寬鬆的一側判定——雲端卡會顯示它其實讀不到的桌面版週額度。現在雲端卡不再顯示週額度,桌面版卡獨占該權益;v1.1.3 時期建錯的既有連線由遷移自動歸位。
276
+ - **MiMo V2.6 上線、V2.5 退役**:接入 V2.6 全系列,並為 MiMo 模型宣告**真實上下文視窗**(1M / 128K 輸出;先前落於預設值以猜測計算)。**V2.6 Pro UltraSpeed** 亦加入雲端與 Token Plan 卡——訂製服務,有合約即可直接使用,無合約會收到上游錯誤,無需手動新增模型。
277
+ - **StepFun(階躍星辰)全系列接入**:國內站 / 國際站 × 按量 / Step Plan 四渠道,短別名 `step-cn` / `step` / `stepp-cn` / `stepp`;Step Plan 渠道消耗套餐 Credit、提供 Anthropic 原生介面(Claude Code 可直連),並有套餐專屬 `step-router-v1` 智慧路由;LLM / 語音合成 / 語音識別選單嚴格隔離(圖像服務官方已公告停服,故不放出);即時餘額與代金券查詢。
278
+ - **ComfyUI 本機生圖**:連接本機 ComfyUI 後自動探索 Checkpoints、組裝 SD / SDXL / Flux 文生圖工作流,經 `/v1/images/generations` 回傳標準圖像。
279
+ - **媒體供應商清單支援拖曳排序、已連線自動前置**:與主供應商頁共用同一套排序與持久化,`/v1/models` 順序保持一致。
280
+ - **組合(combo)新增「空回覆時切換」策略**(預設關):部分上游將內容審查表達為 HTTP 200 空流,現在會自動落到下一個模型;單請求預設最多連切 2 個——重放會重新計費完整輸入上下文,高上下文組合慎用。
281
+ - **逐個測試連線可選模型**:測試下拉可挑選具體模型(預設「供應商預設」),因為某些憑證只涵蓋部分模型——桌面版工作階段就只到桌面模型。Qoder 的逐個測試改為依**該帳號的即時模型目錄**核對別名(不消耗點數),且 Qoder 國內版不再回傳「不支援」。
282
+ - **「隱藏無配額」開關移入「設定 → 實驗性」**:配額頁工具列先前按鈕過於擁擠,該開關現收納於實驗性頁的供應商卡片中。
283
+
284
+ ### 🔒 安全
285
+
286
+ - **不再有內建預設密碼**:未設定密碼(且未設定 SSO)時儀表板**只能在本機開啟**,遠端請求會被明確拒絕並提示設定路徑;`INITIAL_PASSWORD` 是唯一的非互動式引導口令。**升級前若一直用預設口令從其它裝置登入,請先在本機設定一次密碼。**
287
+ - **上游憑證加密儲存**:OAuth token / API key 以 AES-256-GCM 加密落庫,金鑰存放在資料庫之外(`$DATA_DIR/credential-key`,或以 `CREDENTIAL_SECRET` 指定)。資料庫檔案被複製 / 同步不再等於憑證外洩。**金鑰檔請與資料庫一起備份——遺失金鑰後憑證無法還原。**
288
+ - **用量日誌不再記錄完整 API key**:只保留可讀前綴與不可逆摘要,按 key 統計照舊運作。
289
+ - **新增「安全」卡片(設定 → 實驗性)**:監聽位址、密碼狀態、登入檢查、存取範圍與憑證儲存狀態集中展示,並提供「**儀表板僅本機存取**」開關(請求級即時生效,不影響 `/v1` 閘道)。未設密碼或關閉登入檢查時全頁面常駐警告橫幅;關閉「要求登入」需二次確認。
290
+ - **登入工作階段收緊**:時長從 24 小時縮短為 2 小時並滑動續期(使用中不會被打斷);本版再加**絕對上限**——自首次登入起超過 30 天必須重新登入,被盜工作階段無法靠持續存取無限續期。
291
+ - **fnOS 升級不再重置引導密碼**:隨機口令改存到跨升級保留的資料目錄,先前每次 fpk 升級都會換掉密碼、把依賴舊口令的使用者鎖在外面。
292
+ - **備份匯出不再靜默遺失憑證**:在金鑰缺失 / 錯誤的機器上匯出的備份先前不含任何憑證卻提示「下載成功」;現在原樣保留密文並明確告警「需以原始金鑰才能還原」。
293
+ - **`/api/health` 不再回傳本機路徑**:該公開介面先前會把驅動載入失敗的原始錯誤(含本機絕對路徑)一併回傳。
294
+ - **Windows 金鑰檔補齊權限收緊**:加密金鑰與登入金鑰改用 ACL 僅本人可讀(與先前 Root CA 私密金鑰一致);MITM 的 sudo 密碼也不再使用寫死在原始碼裡的備援金鑰。
295
+
296
+ ### 🐛 修正
297
+
298
+ - **[重要] 用錯金鑰啟動會永久銷毀既有憑證**:把資料庫還原到未攜帶金鑰的機器上啟動一次,所有 OAuth token 與 API Key 的密文會被抹除,之後換回正確金鑰也救不回。現改為原樣保留密文,換回金鑰即可還原。
299
+ - **[重要] 部分回應串流被拼接錯誤**:stop 序列守衛注入的補發列缺少分隔,會與終止幀併成同一個事件,使部分用戶端(含官方 SDK)解析失敗;Anthropic 回應另缺事件類型列、內容區塊序號寫死。現全部修正,並在命中後整塊丟棄非文字區塊(先前會殘留一個參數為空的工具呼叫,用戶端可能空參執行)。
300
+ - **[重要] 純工具呼叫的回覆被誤判為「空回覆」**:開啟「空回覆時切換模型」後,模型一旦決定呼叫工具就被當成沒有輸出,退回下一個模型並**重新計費整個輸入上下文**。現已正確識別工具呼叫與推理內容,且被放棄的那次呼叫用量照常入帳。
301
+ - **Claude Code 自動模式分類器經閘道恆不可用(#18)**:部分上游接受 `stop` / `stop_sequences` 卻無視它。閘道現在於串流轉發層代用戶端執行 stop 契約(序列本身不發出、保留用量統計、把被截斷的 `length` 改寫為正常 stop),並補齊雙向 stop 參數對應。
302
+ - **小米 MiMo 瀏覽器登入在區域網路 / HTTP 下完全不可用**:OAuth `state` 產生先前依賴只存在於安全上下文的 API,從其它裝置以 `http://區域網路IP` 開啟時(NAS 的常態用法)點擊「瀏覽器」直接報錯,整條登入鏈路被堵死。
303
+ - **SiliconFlow 中國區的別名被劫持**:`sfcn` 同時被兩家供應商宣告,導致 SiliconFlow 的請求被打到 StepFun。現已歸還原主,並新增全域別名唯一性檢查防止再犯。
304
+ - **StepFun 四渠道測試連線回報「不支援」**:健康金鑰也一律失敗;現走通用 OpenAI 相容驗證。
305
+ - **Token Plan 瀏覽器登入後打錯叢集**:套餐帳號的 chat / TTS / 測試連線先前一律打到按量叢集;現依平台回傳並儲存的端點路由。
306
+ - **配額頁顯示與操作問題**:有檢視篩選時「顯示中 1-10 of 46」與實際卡片數不符(現按實際顯示數量回報);同一張卡內連續快速點擊多個「已隱藏」標籤會遺失大部分操作(點 5 個只還原 2 個),現已全部生效;「只看有餘額」與手動隱藏重新打通——批次隱藏的列現在也出現在「已隱藏」清單中、可按名稱逐一點回。
307
+ - **用量按金鑰統計把同一台機器的所有金鑰合併成一桶**:分組鍵先前使用遮蔽字串,而同一台機器所有金鑰的遮蔽值相同;現改用金鑰摘要分組。
308
+ - **MiMo 其他修正**:週額度用盡時不再把上游原始 JSON 鋪進連線列;TTS 裸模型名不再被靜默改寫為預設模型;瀏覽器登入掛起工作階段的金鑰數與桌面版對齊上限 8。
309
+
310
+ ### 🔧 其他
311
+
312
+ - 還原 258 條因品牌更名而失效的介面翻譯(先前靜默顯示英文)。
313
+ - 到期 / 重置倒數不再跨天被折疊:41 小時不再顯示成 `1d`,統一為 `1d 17h` / 「1天17小時」。
314
+ - 儀表板 Change Log 只显示已發布的版本段,不會提前看到開發中版本的功能。
315
+ - 安裝包與文件不再把使用者導向無關的 fork。
316
+
317
+ ## v1.1.3 (2026-09-20)
318
+
319
+ ### ✨ 新增
320
+
321
+ - **Qoder 國內版完整恢復 + 每日 Credits 自動領取**:qoder-cn 的 OAuth 裝置碼 / PAT 鑑權、模型目錄與用量追蹤全面可用;每日 Credits 自動領取(實驗開關 + 卡片手動領取),資源包逐包展示(各自到期日、先到期先扣);Qoder 官方圖示與千問系即時倍率 / 夜間壢峰半價倒數計時同步上線。
322
+ - **按模型釘住上下文視窗 / 最大輸出**:模型行新增調參圖示,可對任意模型(含自動發現的)覆寫 `contextWindow` / `maxOutput`,留空即回退預設;模型清單與用量口徑同步生效。
323
+ - **超長上下文服務端自動壓縮**:請求估算超過有效視窗的 90%(閾值 80/90/95% 可選,預設開啟)時,由同一模型先把較早輪次摘要化再派發——不自壓縮的用戶端(ZCode / OpenClaw / 自建 agent)不再撞上「prompt is too long」,推理型模型同樣適配;任何失敗原樣放行,絕不因壓縮毀請求。總開關在「實驗特性」。
324
+ - **Provider 卡片拖拽排序**:卡片可拖拽重排並持久化,停用的 provider 自動置底;模型 API 清單順序跟隨卡片排序。
325
+ - **OpenCode Free 體驗渠道反濫用修復並預設開啟**;Antigravity 生圖模型補齊(gemini-3-pro-image / imagen-3.0 等);10router-sync 外掛 v1.5.0(ZCode 套餐渠道 id 適配 + 同步鏈路加固)。
326
+
327
+ ### 🛠️ 最佳化與修復
328
+
329
+ - **CodeBuddy CN 嚴格端點工具 schema 相容**:工具參數根節點為 anyOf/oneOf/allOf、`$ref`、type 陣列等形態時自動降級為純 object 根再發往上游,修復 ZCode 等用戶端整請求被 `11129` 拒絕的問題(#27)。
330
+ - **額度重置徽章不再消失**:MiMo 周報等週期性額度視窗用盡後,連線卡片仍持續顯示「還剩幾天重置」。
331
+ - **Qoder 額度解析修正**:免費帳戶每日 / 活動領取的 Credits 不再顯示 0/0。
332
+ - **CodeBuddy intl DeepSeek reasoning_effort 映射修復**(#23)。
333
+ - **穩定性移植**:4xx 請求級錯誤不再誤熔斷健康帳戶;連線測試成功自動清除陳舊退避鎖;長靜默流中斷按用戶端格式上報錯誤框,不再被誤判為正常短回覆。
334
+
335
+ ## v1.1.2 (2026-09-18)
336
+
337
+ ### ✨ 新增
338
+
339
+ - **用量儀表盤全新升級**:詳情頁新增生涯統計卡、GitHub 風格活躍熱力圖(日/週雙視圖、懸停明細)與節點健康度評分表(成功率/延遲/速度加權,列可展開檢視模型級明細);「單位縮寫」開關全域生效(概覽卡與詳情頁統一,中文億/萬、其他語言 B/M/K)。
340
+ - **小米 Token Plan 出口節點智慧匹配**:新增/編輯連線時按本機網路出口自動預選 cn / sgp / ams 集群(多源容災探測,失敗靜默降級),連線測試按鈕按所選節點正確路由;MiMo 429 限流提示友好化,冷卻時間尊重上游「請約 N 秒後重試」。
341
+ - **10router-sync 外掛 v1.4.0**:新增 `/10router-sync:status` 命令——不打開儀表盤即可檢視實例狀態與今日用量。
342
+
343
+ ### 🛠️ 最佳化與修復
344
+
345
+ - **CodeBuddy 11128 渠道級熔斷**:命中上游渠道風控時按渠道整體熔斷(不再逐帳號重試放大風控),回應附雙語處置提示(壓縮工作階段/稍後重試);極端請求體積本地兜底。
346
+ - **憑證自動重新整理修復(Cline / ClinePass)**:背景定時重新整理不再 400,憑證到期自動續期恢復;失效憑證會明確標記「需重新授權」。
347
+ - **供應商與圖表治理**:失效公益站下架;OpenCode Free / MiMo Code Free 歸入「體驗」分類預設隱藏;模型家族聚合修正(gpt-6、hy4、qwen3.8 等不再被拆分);模型類型圖例移至頂部右側,行動版自適應。
348
+ - **安全**:修復單條連線介面明文回顯小米桌面版工作階段憑證的問題。
349
+
350
+ ## v1.1.1 (2026-09-14)
351
+
352
+ ### ✨ 新增
353
+
354
+ - **跨帳號「配額包到期優先」全局調度策略**:解決多帳號下固定耗用主帳號導致其他帳號短期贈送包白白過期的痛點。供應商詳情頁新增獨立開關,自動優先調度即將到期的有效配額包,零阻塞、零請求延遲。
355
+ - **Command Code 用量追蹤與配額展示**:完整支援 5 小時會話滑動視窗、7 天每週限額、月度訂閱餘額與扣費展示,動態識別 Go / GOAT / Pro 等訂閱計劃,支援餘額遞減與到期倒數計時。
356
+ - **自訂模型批次啟用 / 批次停用**:相容節點與內建供應商詳情頁的模型管理支援一鍵批次開啟或收回,並修復單條更新時丟失模型配置屬性的缺陷。
357
+ - **OAuth 憑證匯入 / 匯出通用化與傳輸加密**:支援所有 OAuth 供應商憑證匯出為 AES-256-GCM 加密備份,匯入支援多級智慧查重合併,無傳輸密碼無法讀取。
358
+ - **官方品牌向量圖示升級**:整合 `@lobehub/icons`,58 個主流供應商升級為官方向量 SVG 圖示,並支援明暗主題自適應。
359
+ - **CodeBuddy 自動簽到與每日活躍會話**:簽到改為全天智慧探測與持久化備忘記錄,新增國際版每日活躍對話開關。
360
+ - **桌面客戶端增強**:功能表列全量三語本地化,新增「前往」選單(快速開啟任意網址 / 回到本地儀表板 / 最近開啟歷史管理),執行日誌支援按日期長期自動封存。
361
+
362
+ ### 🐛 修復
363
+
364
+ - **用量面板 0 配額與離譜倒數計時修復**:修復當帳號額度為 0 時被錯誤渲染為無限額度 `0 / ∞` 的邏輯衝突,並過濾遠期哨兵時間戳(如公元 9999 年),不再出現幾百萬天倒數計時。
365
+ - **用量百分比計算修復**:修復金額型配額(如 Command Code $9.98)被錯誤當作百分比顯示為 10% 🔴 的問題。
366
+ - **CodeBuddy 配額展示方向最佳化**:配額包翻轉為「剩餘 / 總量」遞減顯示,與進度條方向完全一致。
367
+ - **CodeBuddy 國際版連線測試支援**:補齊專用測試端點通道標頭與身分驗證判定,不再誤報「Provider test not supported」。
368
+ - **小米桌面版 Preview 模型未登入提示友好化**:精準提示需桌面端登入,不再偽裝成限流或觸發誤冷卻。
369
+ - **新增連線後模型停用狀態即時重新整理**:連線變更時同步重新整理模型可見性,停用區模型支援直接進行連通性測試。
370
+ - **多處 i18n 與互動體驗清掃**:Endpoint 節點頁、供應商 notice 提示語與 API 金鑰按鈕全量補齊繁中與英文翻譯。
371
+
372
+ ## v1.1.0 (2026-09-11)
373
+
374
+ > **版本記賬**:1.0.9 跳過未發布——原計劃的 1.0.9 內容(小米 MiMo 桌面版適配等)併入本版後規模達到 minor 級,版本號直接進位到 1.1.0;1.0.9 從未打 tag,無對應產物。
375
+
376
+ ### ✨ 新增
377
+
378
+ - **小米 MiMo 桌面版支援(一個供應商、兩種登入)**:`xiaomi-mimo` 現在既支援 sk- API 金鑰(雲 API),也支援小米 MiMo 桌面客戶端帳號 —— 桌面獨佔的 `mimo-x-pro-preview` / `mimo-x-flash-preview` 只認帳號 Cookie,光有 API 金鑰用不了。兩種憑證共用一個供應商卡片,按需啟用即可。
379
+ - **小米 MiMo 授權碼登入**:瀏覽器開啟官方授權頁後,即使本機回呼沒接上(或已逾時),也可以把頁面上顯示的授權碼**直接貼上**到對話框完成登入。憑證全程只在伺服器端解密,不經過瀏覽器。
380
+ - **CodeBuddy 國際版模型目錄補齊**:逐個用真實請求核對線上服務範圍,補進 5 個真實存在卻缺漏的模型(GLM-5.1 / GLM-5v-Turbo / MiniMax-M3 / Kimi-K2.7 / DeepSeek-V4.1-Flash)與 `GPT 6.0 Astra`。
381
+ - **opencode-go 目錄對齊官方公開清單(18 個模型),並為每個模型宣告端點**:以前部分模型因為「端點宣告缺失」被送到錯誤路徑而直接失敗,現在按官方端點表逐條宣告。
382
+ - **新增 Codex / OpenAI 的 `gpt-image-2.5` 圖像模型家族**:`gpt-image-2.5`(含 `-flare` / `-sunburst`)、`gpt-image-2`、`gpt-image-1.5`,支援文生圖、圖片編輯與多圖參考。
383
+ - **積分徽章支援限時免費促銷**:促銷期顯示綠色 `free`,到期**自動**恢復顯示真實倍率 —— 不再需要有人記得回來改。
384
+
385
+ ### 🐛 修復
386
+
387
+ - **Windows 桌面版升級不再靜默丟棄舊資料**:桌面版的資料目錄同時也是 Electron 自己的設定目錄,Chromium 會先生成一堆檔案把它撐成「非空」,導致舊資料遷移被永久跳過。現在判據改為「目錄裡是否已經有我們自己的資料庫」。
388
+ - **小米 MiMo 授權碼登入的多個真問題**:載荷解密佈局前後顛倒(這才是 `decrypt_failed` 的真因)、平台要求攜帶 `app=MiMo`、回呼路徑改為隨機字串、結果以 302 交回平台;另外回呼監聽器逾時後貼上不再失效。
389
+ - **Kiro 請求不再攜帶頂層 `systemPrompt`**(kiro.dev 對它直接回 400 且不重試),端點順序改為 Amazon 面優先。
390
+ - **Claude 工具 `type` 改為按供應商開關**:修好 MiniMax 的 Claude 端點(缺 `type` 被拒),同時避免把 DeepSeek 的 Claude 端點打掛(它只認自家 `type`)。
391
+ - **Codex 工具 schema 裡它不認的 `\p{...}` 正則會被剝離**:此前只要某個工具的參數 `pattern` 用了屬性跳脫,整個請求就 400,且每個帳號都一樣失敗。
392
+ - **Node 24 上跳過 `better-sqlite3`**:它的原生外掛在 Node ≥ 24 上載入即崩潰(行程級),此前會讓整個服務直接死掉。
393
+ - **AMD Token Factory 目錄與能力按實測重建**:補上漏登的聊天模型,並修掉「純文字」誤判(圖片會被靜默丟棄)。
394
+ - **CodeBuddy CN 的 DeepSeek-V4.1-Flash 輸出上限回落到伺服器公布的 128K**:取大不會報錯,只會讓超過伺服器上限的請求更容易撞 400。
395
+ - **同一個供應商不再在停用清單裡存兩份互相矛盾的記錄**:修掉「有些模型看起來沒被停用」的問題。
396
+
397
+ ## v1.0.8 (2026-09-09)
398
+
399
+ ### ✨ 新增
400
+ - **新增 AMD Token Factory 供應商**:AMD Radeon Cloud 免費共享 OpenAI 相容端點(`DeepSeek-V4-Flash` 1M 上下文 + `Qwen3.8-Flash-Next` 262K 上下文);thinking 透過 reasoning_effort 控制,每個模型有獨立的檔位選擇器;形態與 NVIDIA NIM 相同
401
+ - **Antigravity 配額主機修復**:配額 summary 改查正確的 daily host(與原生 IDE 一致),修復數字系統性偏差;百分比直讀後端值而非前端重算
402
+ - **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)`;兩站各模型都標上服務端公布的積分倍率
403
+ - **模型列表顯示積分倍率徽章**:走免費額度的模型顯示綠色 `free` 標籤,其餘顯示 `0.79x` 形式的倍率小標籤(hover 有說明);供應商沒有積分體系時不顯示
404
+
405
+ ### 🔒 安全加固
406
+ - **API key HMAC secret 硬化**:內建兜底密文未設定時 production 啟動告警;新增實驗功能「金鑰簽署輪換」(預設關閉),自動產生每實例獨立密文;keyId 生成改用 `crypto.randomBytes`
407
+ - **危險操作確認彈窗**:關閉 API 金鑰校驗、啟用/停用簽署輪換、全部重簽均需確認;重簽防重複提交(伺服器 409 + 前端防護)
408
+
409
+ ### 🐛 修復
410
+ - **非串流請求被誤判為串流(issue #4)**:省略 `stream` 欄位現在正確預設為 JSON(OpenAI/Anthropic 規範);此前會傳回 `text/event-stream` + `data: [DONE]` 尾隨,嚴格解析的用戶端全部報錯(OpenAI SDK、WorkBuddy、curl)
411
+ - **金鑰輪換確認彈窗卡死 / 反覆重簽**:確認彈窗自動關閉後再執行操作;重複重簽不再堆疊 "(rotated)" 後綴
412
+ - **MCP SSE 閒置斷線**:MCP 長連線補 25 秒註解心跳,防止 NAT/防火牆靜默掐斷
413
+ - **CodeBuddy CN 白名單誤放行(PR #5)**:Claude Code 自身系統提示不再匹配 agent 身分白名單(此前觸發 11128)
414
+ - **GLM-4.6V-Flash 缺視覺能力(PR #5)**:免費視覺模型補註冊正確的 capabilities
415
+ - **DeepSeek effort "max" 被 SenseNova 拒絕(PR #5)**:鉗位到 "xhigh" 相容兩家
416
+ - **拉取/匯入的模型預設停用(按需啟用)**:「Import from /models」與「Fetch Qoder Models」批次拉回的模型不再一次全部啟用洗版——先落入「Disabled models」區,用到哪個點哪個;`/v1/models` 同步只下發已啟用的模型(此前標了停用仍會下發)。手動單個新增仍立即啟用
417
+ - **CodeBuddy CN 誤掛國際版模型(修正)**:此前 CN 目錄混入了只屬於國際版的 GPT/Gemini 家族,選中會報 model service info not found;現已移除(保留在國際版)並加測試守衛
418
+ - **DeepSeek-V4.1-Flash 輸出上限被低估(修正)**:能力表把最大輸出寫成 50K(從改名前的舊 id 帶過來),客戶端請求會被據此截斷;已依模型卡更正為 1M 上下文 / 384K 輸出 / 支援圖像輸入 / 思考預設開且可關,並給該模型的兩個別名 id 補上同一套能力
419
+
420
+ ## v1.0.7 (2026-09-07)
421
+
422
+ ### ✨ 新增
423
+ - **CodeBuddy CN 內建「總積分」配額行**:用量頁 CodeBuddy CN 第一行新增總積分彙總(全部包即時餘額合計,含每月/贈送包),不用再自己加總;總餘額耗盡時隨「只看有餘額」自動隱藏;「贈送包」行名已翻譯
424
+ - **ZCode 用量同步外掛(10router-sync)**:一鍵把 ZCode 本地模型用量帳本匯入 10Router——自動排除指向 10Router 的供應商防重複計數,可重複執行冪等去重;匯入的用量在用量頁與詳情 tab 均可見
425
+ - **上游 v0.5.69 擇優移植**:① Google 系多帳號後台刷新改為串行 + 分級抖動,規避反濫用風控;② Anthropic 相容節點掛真 Claude 自動補 context-management beta 頭,修靜默換模型;③ opencode-go 穩定會話,免費池不再觸發風控;④ Responses 並行工具調用修復(不再把 N 個調用併成一個);⑤ Claude Fable 週配額追蹤;⑥ codex 新增 gpt-6-astra 等模型;⑦ codebuddy-cn 模型目錄對齊服務端契約
426
+ - **qoder 目錄刷新 + 圖片透傳**:模型清單對齊服務端,executor 圖片 base64 直傳;儀表盤 Antigravity 配額按家族分組(多帳號隔離優於上游)
427
+ - **桌面托盤版更新鏈路 + 選單精簡**:桌面版更新橫幅改指 GitHub Releases(不再錯誤提示 npm 安裝);托盤選單「檢查更新 / 關於 / 服務啟停」合一精簡
428
+ - **copilot 改為 VS Code 擴充指引**:不再用 MITM 攔截,改三步擴充配置(引擎層保留可手動回退)
429
+ - **托盤圖示單色化**:macOS template 圖示 + Windows 深淺主題黑白自適應
430
+
431
+ ### 🐛 修復
432
+ - **`/responses` 根路徑鑑權缺口(安全)**:補入前綴表,該路徑強制 API key 校驗
433
+ - **Claude 組合回落的外來 `server_tool_use` 毒化歷史(400)**:按 `srvtoolu_` 前綴校驗並清理外來工具塊
434
+ - **MCP 延遲工具破壞快取錨點(400)**:快取錨點改為錨在最後一個可快取工具上
435
+ - **gemini schema 元組校驗 400**:`prefixItems` 轉換 + 陣列缺 items 補佔位
436
+ - **antigravity 系統提示競爭品牌清洗泛化**:OpenCode 命名不再觸發 429
437
+ - **免費模型後台刷新噪音與連線測試懸掛**:降噪 + 15s 逾時
438
+
439
+ ## v1.0.6 (2026-09-05)
440
+
441
+ ### ✨ 新增
442
+
443
+ - **CodeBuddy CN 每日自動簽到**(實驗性,預設關閉):`設定 → 實驗性功能` 開啟 "CodeBuddy CN auto daily check-in" 後,CodeBuddy CN 頁面的 Import / Export 按鈕被替換為每日自動簽到(每個帳號在本地時間 00:00–06:00 隨機時刻自動簽到續免費額度,失敗不中斷服務、401 自動重新整理後重試)與「立即簽到」手動按鈕
444
+ - **Antigravity 配額對齊官網(5h + 每週雙視窗)**:用量頁 Antigravity 配額重構為主用官網同款 retrieveUserQuotaSummary 介面,每帳號精確顯示 **4 張卡片**(Gemini Models / Claude and GPT models × {5 小時限額, 週限額}),歸一化 100 百分制;介面不可用時回退舊逐模型解析
445
+ - **OpenCode Free 目錄對齊官方免費名單**:補入 Big Pickle / MiMo-V2.5 / Ling 3.0 Flash Fin / Nemotron 3 Ultra / Nemotron 3.5 Lightning 五個免費模型;不收官方已下架的 DeepSeek / Laguna 免費檔(避免誤用產生收費)
446
+
447
+ ### 🐛 修復
448
+ - **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 檔)
449
+ - **用量頁「只看有餘額」拉不到新簽到配額包**:修復 CodeBuddy CN 每日簽到新增的滿額包因舊包序號被後續包擠占、被持久化隱藏後顯示不出的問題——改為即時重算隱藏集,有餘額的包(含新滿額包)始終可見
450
+ - **免費模型 429 限流友善提示**:免費模型(`oc/*-free`、`contributor-free`、APInex `free/` 前綴等)被上游限流回傳 429 時,不再透傳英文 `rate_limit_exceeded`,改為友善中文提示——上游給了重置時間則顯示「約 N 秒/分/小時後可再試」,否則建議稍後再試或切換付費檔;付費模型與多帳號降級不受影響
451
+
452
+ ## v1.0.5 (2026-09-03)
453
+
454
+ ### ✨ 新增
455
+
456
+ - **桌面系統列版(Windows / macOS)**:裝完即用的桌面應用——系統列選單(開啟控制台 / 啟動 / 重新啟動 / 停止 / 開機自啟)+ 內嵌視窗,關閉視窗即縮到系統列;與 npm CLI 共享資料、金鑰與連接埠,兩種形態互斥執行。Windows 提供安裝版(NSIS,支援 `/S` 靜默安裝)與便攜版,macOS 提供 Intel + Apple Silicon 雙 dmg
457
+ - **CLI / 桌面版介面多語言**:npm CLI 與桌面系統列自動跟隨系統語言顯示繁體中文、簡體中文或英文,可用環境變數 `TENROUTER_LANG`(`zh-CN` / `zh-TW` / `en`)強制指定
458
+ - **Agent 可自助新增自訂供應商 + Skills 頁新增技能**:執行階段用 dashboard LLM key 即可兩步註冊 baseUrl + 上游 key + 模型的自訂 OpenAI/Anthropic 相容節點(免改原始碼/免重新打包);Dashboard **Skills 頁**新增「10router-add-provider」技能卡片並修正此前連結指向不存在的 `master` 分支(點擊 404),現指向 `main`
459
+ - **CodeBuddy CN 帳號 JSON 批次匯入 / 匯出**(實驗性,預設關閉):`設定 → Providers` 開啟 "CodeBuddy CN OAuth import / export" 後,CodeBuddy CN 詳情頁顯示 Import / Export 按鈕,可用第三方(wb) JSON 格式批次匯入或匯出帳號授權(匯入自動去重、非 CodeBuddy 簽發網域略過)。匯入 / 匯出均需二次輸入 dashboard 密碼確認(防免登入模式下匿名匯出帳號令牌)
460
+ - **公益站供應商預設顯示**:GoRouter / TaBiAI 等公益站供應商改為預設顯示(無需再手動開啟開關),列表 / Profile 開關 / 用量拓撲圖三處一致
461
+ - **公益站供應商排序歸組**:Free Tier 列表中 GoRouter / TaBiAI 等公益站供應商在 rank 分組內聚成相鄰一塊,不再與一般 freeTier 依 priority/名稱混排
462
+ - **新增 Agnes AI 雙站供應商**:國際站 Agnes AI(com)+ 中國站 Agnes AI (CN),各含 Agnes 2.5 Flash / 2.5 Pro 文字模型(512K / 1M 上下文,視覺+推理);另含 Agnes Image 2.x Flash 影像生成模型(標準 images/generations 端點,圖生圖/編輯)
463
+ - **設定新增「實驗性功能」分組**:Profile 獨立 Experimental 卡片,收納預設關閉的開發向開關(JSON 模型匯入 + CodeBuddy CN 匯入匯出),方便日後擴充
464
+ - **新增供應商 APInex(apinex.bond)**:預付美元額度的第三方聚合網關(OpenAI 相容),18 個模型(13 付費 + 5 個 `free/` 前綴免費模型);供應商頁顯示可複製邀請碼 chip(APInex:`SLEWP68C`)
465
+ - **上游 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/推特搜尋)
466
+
467
+ ### 🐛 修復
468
+ - **用量統計 成本/Token 切換後表格錯亂**:修復切換顯示模式並點擊排序後,部分行的 token 數被回退顯示成金額的問題;繁體中文用量表表頭翻譯補齊
469
+ - **用量表排序語義**:按 Token / 成本列排序改為按模型合計值排序,與表頭箭頭方向一致
470
+
471
+ ## v1.0.4 (2026-09-01)
472
+
473
+ ### ✨ 新增
474
+ - **新增 3 家供應商**:**TokenBom**(去中心化 token 交易市場——閒置 API Key 自動賺積分、積分可調用多種模型,含 79 模型線上目錄)、**GoRouter**(免費網關,無儲值入口)、**TaBiAI**(免費網關,無儲值入口)
475
+ - **歷史用量導入**:支援從 9Router 備份導入歷史用量資料(SQLite 檔案),合併統計不覆蓋配置
476
+ - **通知體驗優化**:全域通知改為頂部置中 Toast,供應商詳情頁瀏覽器原生彈窗全部替換為友好通知
477
+ - **公益站供應商**:GoRouter / TaBiAI 預設不顯示,帶「公益站」標籤;可在 **設定 → Providers → 顯示公益站供應商** 開啟後顯示
478
+
479
+ ### 🐛 修復
480
+ - **供應商排序修正**:有連接的供應商前置、已停用沉底,不再被優先級打亂
481
+ - **JSON 目錄模型啟用後不顯示**:清理陳舊停用記錄,「啟用了卻不顯示」問題解決
482
+ - **B.AI / CodeBuddy CN 模型補全**:切換模型報 "not found" 的缺模型已補齊
483
+ - **連接測試友好提示**:供應商端點維護中 / 被 Cloudflare 攔截時,顯示維護提示而非誤導性的 "Invalid API key"
484
+ - **帳戶篩選提醒**:配額包帳戶篩選持久化後,非預設篩選時顯示琥珀色提醒條
485
+ - **CodeBuddy CN DeepSeek 模型 11150**:DeepSeek 系列呼叫不再因思考強度參數(auto/off)報 400,編碼 agent(dsh 等)可正常使用
486
+ - **CodeBuddy 工具呼叫空工具名(11133 / unknown tool)**:串流回傳的空 function.name 已規範化,標準客戶端不再誤判工具名
487
+ - **隱藏公益站後拓撲圖仍顯示**:用量頁拓撲圖同步「顯示公益站供應商」開關,關閉後公益站不再顯示
488
+ - **Skills 頁面 i18n + 中文版連結**:Skills 頁面文案支援多語言,中文介面下連結指向中文版 skill
489
+
490
+ ## v1.0.3 (2026-08-30)
491
+
492
+ ### ✨ 新增
493
+ - **新增 4 家供應商**:**LongCat**(美團)、**SenseNova**(商湯,免費公測)、**Dots**(小紅書 Dots Studio,免費公測)、**B.AI**(聚合平台,一個 Key 通吃 GPT / Claude / Gemini / DeepSeek / GLM / Kimi / Qwen 等家族)
494
+ - **自定義供應商支援模型 JSON 目錄**:自定義節點可拉取線上模型清單,逐個停用 / 啟用、批次管理
495
+ - **fpk 檢查更新直達 Releases**:fnOS 安裝的更新提示直達對應版本的下載附件
496
+
497
+ ### 🔒 安全加固
498
+ - **登入漸進限流**:密碼 5 次失敗 → 30s / 2m / 10m / 30m 逐級鎖定
499
+ - **拒絕佔位 JWT 金鑰**:照抄 `.env.example` 的公開金鑰會被忽略,改用自動產生的隨機金鑰
500
+ - **修復 npm 包攜帶建置機敏感檔案**:建置產物不再洩漏金鑰 / 機器 ID / 資料快照
501
+
502
+ ### ⚠️ 升級注意
503
+ - npm 套件名已改為 **`@techysy/10router`**(舊 `10router` 是本專案無關的 fork)。已裝 `10router-cli` 請改裝新套件,資料目錄不變。
504
+
505
+ ## v1.0.2 (2026-08-29)
506
+
507
+ ### 🐛 修復
508
+ - **修復更新檢查指向第三方套件**(1.0.1 受影響):版本檢查、更新指令、側邊欄安裝指令均指向正確的套件
509
+ - **postinstall 不再中斷安裝**:WSL 路徑下 npm 安裝不再因預熱指令碼失敗而中斷
510
+
511
+ ### ⚙️ 工程與打包
512
+ - **新增測試 CI**:推送 / PR 時自動跑測試與回歸門禁
513
+
514
+ > ⚠️ **1.0.1 使用者請升級**:其內建「檢查更新」指向的是一個無關的第三方套件。
515
+
516
+ ## v1.0.1 (未發佈,內容隨 v1.0.2 交付)
517
+
518
+ > 1.0.1 從未作為正式版發佈(僅 npm 的 `10router-cli@1.0.1` 短暫存在過)。以下內容對 Docker / fpk / standalone 使用者隨 **v1.0.2** 首次到達。
519
+
520
+ ### 🔒 安全加固
521
+ - **MITM 安全修復 ×4**:上游轉發恢復 TLS 憑證校驗、根憑證私鑰權限收緊至 0600、不再盲目殺掉佔用 443 的處理程序、自動清理異常退出遺留的 hosts 條目(MITM 預設關閉,未啟用使用者不受影響)
522
+
523
+ ### ✨ 新增
524
+ - **已停用供應商沉底**:設定頁開關開啟後,已停用供應商在清單中排到最後
525
+ - **桌面側邊欄可摺疊**
526
+ - **OpenCode Go 配額用量接入**
527
+ - **模型目錄 Gitee 鏡像回退**:國內拉取加速
528
+
529
+ ### 🐛 修復
530
+ - **修復 /v1/models 回傳孤兒自定義模型**:不再對客戶端回傳成百上千個無效模型
531
+ - **自定義節點前綴唯一性檢測**:避免路由歧義
532
+ - **修復 CodeBuddy 執行器誤刪 Agent system prompt**
533
+
534
+ ### ⚙️ 工程與打包
535
+ - **新增 npm 分發管道**:`npm i -g 10router-cli`
536
+ - **新增「從 GitHub JSON 取得模型」通用能力**(Fetch Models)
537
+
538
+ ## v1.0.0 (2026-08-26)
539
+
540
+ ### ⚠️ 升級注意
541
+ 1. **資料目錄改名**:`~/.9router/` → `~/.10router/`(Windows: `%APPDATA%\10router`),啟動時自動遷移
542
+ 2. **SAML entityID 變更**:預設 issuer 改為 `urn:10router:sp`,IdP 需重新註冊
543
+ 3. **MITM CA 更名**:需重新信任新 CA
544
+
545
+ ### ✨ 新增
546
+ - **品牌重塑**:9Router → 10Router
547
+ - **i18n 多區域貨幣**:en / pt-BR / pt-PT / es / de
548
+ - **多平台分發**:Docker(amd64 / arm64)、fnOS fpk(x86 / arm × url / iframe)、Standalone