@seqyuan/annodex 0.1.32 → 0.1.37

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 (352) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-path-routes-manifest.json +4 -5
  3. package/.next/build-manifest.json +3 -3
  4. package/.next/diagnostics/build-diagnostics.json +1 -1
  5. package/.next/prerender-manifest.json +4 -273
  6. package/.next/react-loadable-manifest.json +2 -3
  7. package/.next/required-server-files.js +5 -50
  8. package/.next/required-server-files.json +5 -50
  9. package/.next/routes-manifest.json +0 -8
  10. package/.next/server/app/_global-error/page.js +3 -3
  11. package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  12. package/.next/server/app/_global-error.html +1 -1
  13. package/.next/server/app/_global-error.rsc +1 -1
  14. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  15. package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  16. package/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  17. package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  18. package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  19. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  20. package/.next/server/app/_not-found/page.js +2 -2
  21. package/.next/server/app/_not-found/page.js.nft.json +1 -1
  22. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  23. package/.next/server/app/_not-found.html +1 -1
  24. package/.next/server/app/_not-found.rsc +3 -3
  25. package/.next/server/app/_not-found.segments/_full.segment.rsc +3 -3
  26. package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  27. package/.next/server/app/_not-found.segments/_index.segment.rsc +3 -3
  28. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  29. package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  30. package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  31. package/.next/server/app/api/agent/[id]/events/route.js +2 -2
  32. package/.next/server/app/api/agent/[id]/events/route.js.nft.json +1 -1
  33. package/.next/server/app/api/agent/[id]/route.js +1 -1
  34. package/.next/server/app/api/agent/[id]/route.js.nft.json +1 -1
  35. package/.next/server/app/api/agent/new/route.js +1 -1
  36. package/.next/server/app/api/agent/new/route.js.nft.json +1 -1
  37. package/.next/server/app/api/agent/runtime/route.js +1 -1
  38. package/.next/server/app/api/agent/runtime/route.js.nft.json +1 -1
  39. package/.next/server/app/api/auth/all-providers/route.js +1 -1
  40. package/.next/server/app/api/auth/all-providers/route.js.nft.json +1 -1
  41. package/.next/server/app/api/auth/api-key/[provider]/route.js +1 -1
  42. package/.next/server/app/api/auth/api-key/[provider]/route.js.nft.json +1 -1
  43. package/.next/server/app/api/auth/login/[provider]/route.js +1 -1
  44. package/.next/server/app/api/auth/login/[provider]/route.js.nft.json +1 -1
  45. package/.next/server/app/api/auth/login/route.js +1 -1
  46. package/.next/server/app/api/auth/login/route.js.nft.json +1 -1
  47. package/.next/server/app/api/auth/logout/[provider]/route.js +1 -1
  48. package/.next/server/app/api/auth/logout/[provider]/route.js.nft.json +1 -1
  49. package/.next/server/app/api/auth/providers/route.js +1 -1
  50. package/.next/server/app/api/auth/providers/route.js.nft.json +1 -1
  51. package/.next/server/app/api/auth/status/route.js +1 -1
  52. package/.next/server/app/api/auth/status/route.js.nft.json +1 -1
  53. package/.next/server/app/api/default-cwd/route.js +1 -1
  54. package/.next/server/app/api/default-cwd/route.js.nft.json +1 -1
  55. package/.next/server/app/api/files/[...path]/route.js +1 -1
  56. package/.next/server/app/api/files/[...path]/route.js.nft.json +1 -1
  57. package/.next/server/app/api/harness/route.js +1 -1
  58. package/.next/server/app/api/harness/route.js.nft.json +1 -1
  59. package/.next/server/app/api/home/route.js +1 -1
  60. package/.next/server/app/api/home/route.js.nft.json +1 -1
  61. package/.next/server/app/api/internal/runtime/route.js +1 -1
  62. package/.next/server/app/api/internal/runtime/route.js.nft.json +1 -1
  63. package/.next/server/app/api/models/route.js +1 -1
  64. package/.next/server/app/api/models/route.js.nft.json +1 -1
  65. package/.next/server/app/api/models-config/discover/route.js +1 -1
  66. package/.next/server/app/api/models-config/discover/route.js.nft.json +1 -1
  67. package/.next/server/app/api/models-config/route.js +1 -1
  68. package/.next/server/app/api/models-config/route.js.nft.json +1 -1
  69. package/.next/server/app/api/models-config/test/route.js +1 -1
  70. package/.next/server/app/api/models-config/test/route.js.nft.json +1 -1
  71. package/.next/server/app/api/projects/browse/route.js +1 -1
  72. package/.next/server/app/api/projects/browse/route.js.nft.json +1 -1
  73. package/.next/server/app/api/projects/route.js +1 -1
  74. package/.next/server/app/api/projects/route.js.nft.json +1 -1
  75. package/.next/server/app/api/search/route.js +1 -1
  76. package/.next/server/app/api/search/route.js.nft.json +1 -1
  77. package/.next/server/app/api/sessions/[id]/context/route.js +1 -1
  78. package/.next/server/app/api/sessions/[id]/context/route.js.nft.json +1 -1
  79. package/.next/server/app/api/sessions/[id]/route.js +1 -1
  80. package/.next/server/app/api/sessions/[id]/route.js.nft.json +1 -1
  81. package/.next/server/app/api/sessions/new/route.js +1 -1
  82. package/.next/server/app/api/sessions/new/route.js.nft.json +1 -1
  83. package/.next/server/app/api/sessions/route.js +1 -1
  84. package/.next/server/app/api/sessions/route.js.nft.json +1 -1
  85. package/.next/server/app/api/settings/route.js +1 -1
  86. package/.next/server/app/api/settings/route.js.nft.json +1 -1
  87. package/.next/server/app/api/skills/install/route.js +2 -2
  88. package/.next/server/app/api/skills/install/route.js.nft.json +1 -1
  89. package/.next/server/app/api/skills/route.js +2 -2
  90. package/.next/server/app/api/skills/route.js.nft.json +1 -1
  91. package/.next/server/app/api/skills/search/route.js +1 -1
  92. package/.next/server/app/api/skills/search/route.js.nft.json +1 -1
  93. package/.next/server/app/api/soul/route.js +1 -1
  94. package/.next/server/app/api/soul/route.js.nft.json +1 -1
  95. package/.next/server/app/api/version/route.js +1 -1
  96. package/.next/server/app/api/version/route.js.nft.json +1 -1
  97. package/.next/server/app/index.html +1 -2
  98. package/.next/server/app/index.meta +2 -0
  99. package/.next/server/app/index.rsc +13 -25
  100. package/.next/server/app/index.segments/__PAGE__.segment.rsc +5 -14
  101. package/.next/server/app/index.segments/_full.segment.rsc +13 -25
  102. package/.next/server/app/index.segments/_head.segment.rsc +1 -1
  103. package/.next/server/app/index.segments/_index.segment.rsc +3 -3
  104. package/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  105. package/.next/server/app/login/page.js +2 -2
  106. package/.next/server/app/login/page.js.nft.json +1 -1
  107. package/.next/server/app/login/page_client-reference-manifest.js +1 -1
  108. package/.next/server/app/login.html +1 -1
  109. package/.next/server/app/login.rsc +3 -3
  110. package/.next/server/app/login.segments/_full.segment.rsc +3 -3
  111. package/.next/server/app/login.segments/_head.segment.rsc +1 -1
  112. package/.next/server/app/login.segments/_index.segment.rsc +3 -3
  113. package/.next/server/app/login.segments/_tree.segment.rsc +2 -2
  114. package/.next/server/app/login.segments/login/__PAGE__.segment.rsc +1 -1
  115. package/.next/server/app/login.segments/login.segment.rsc +1 -1
  116. package/.next/server/app/page.js +2 -3
  117. package/.next/server/app/page.js.nft.json +1 -1
  118. package/.next/server/app/page_client-reference-manifest.js +1 -1
  119. package/.next/server/app/workspace/page.js +6 -6
  120. package/.next/server/app/workspace/page.js.nft.json +1 -1
  121. package/.next/server/app/workspace/page_client-reference-manifest.js +1 -1
  122. package/.next/server/app/workspace.html +1 -1
  123. package/.next/server/app/workspace.rsc +4 -4
  124. package/.next/server/app/workspace.segments/_full.segment.rsc +4 -4
  125. package/.next/server/app/workspace.segments/_head.segment.rsc +1 -1
  126. package/.next/server/app/workspace.segments/_index.segment.rsc +3 -3
  127. package/.next/server/app/workspace.segments/_tree.segment.rsc +2 -2
  128. package/.next/server/app/workspace.segments/workspace/__PAGE__.segment.rsc +2 -2
  129. package/.next/server/app/workspace.segments/workspace.segment.rsc +1 -1
  130. package/.next/server/app-paths-manifest.json +4 -5
  131. package/.next/server/chunks/1381.js +1 -1
  132. package/.next/server/chunks/1681.js +2 -2
  133. package/.next/server/chunks/1703.js +2 -2
  134. package/.next/server/chunks/2719.js +3 -0
  135. package/.next/server/chunks/3031.js +1 -1
  136. package/.next/server/chunks/3493.js +1 -1
  137. package/.next/server/chunks/402.js +1 -1
  138. package/.next/server/chunks/4035.js +1 -1
  139. package/.next/server/chunks/5293.js +2 -2
  140. package/.next/server/chunks/6718.js +5 -0
  141. package/.next/server/chunks/7073.js +1 -1
  142. package/.next/server/chunks/8916.js +1 -1
  143. package/.next/server/chunks/9537.js +1 -1
  144. package/.next/server/chunks/966.js +1 -1
  145. package/.next/server/middleware-build-manifest.js +1 -1
  146. package/.next/server/middleware-react-loadable-manifest.js +1 -1
  147. package/.next/server/pages/404.html +1 -1
  148. package/.next/server/pages/500.html +1 -1
  149. package/.next/server/server-reference-manifest.json +1 -1
  150. package/.next/static/chunks/4550-a87684eaeae37462.js +3 -0
  151. package/.next/static/chunks/9695.9e959b13b18c3485.js +5 -0
  152. package/.next/static/chunks/app/_global-error/{page-d7ea01cb10afabab.js → page-59077df354d3cef3.js} +1 -1
  153. package/.next/static/chunks/app/api/agent/[id]/events/{route-d7ea01cb10afabab.js → route-59077df354d3cef3.js} +1 -1
  154. package/.next/static/chunks/app/api/agent/[id]/{route-d7ea01cb10afabab.js → route-59077df354d3cef3.js} +1 -1
  155. package/.next/static/chunks/app/api/agent/new/{route-d7ea01cb10afabab.js → route-59077df354d3cef3.js} +1 -1
  156. package/.next/static/chunks/app/api/agent/runtime/route-59077df354d3cef3.js +1 -0
  157. package/.next/static/chunks/app/api/auth/all-providers/route-59077df354d3cef3.js +1 -0
  158. package/.next/static/chunks/app/api/auth/api-key/[provider]/route-59077df354d3cef3.js +1 -0
  159. package/.next/static/chunks/app/api/auth/login/[provider]/route-59077df354d3cef3.js +1 -0
  160. package/.next/static/chunks/app/api/auth/login/route-59077df354d3cef3.js +1 -0
  161. package/.next/static/chunks/app/api/auth/logout/[provider]/route-59077df354d3cef3.js +1 -0
  162. package/.next/static/chunks/app/api/auth/providers/route-59077df354d3cef3.js +1 -0
  163. package/.next/static/chunks/app/api/auth/status/route-59077df354d3cef3.js +1 -0
  164. package/.next/static/chunks/app/api/default-cwd/route-59077df354d3cef3.js +1 -0
  165. package/.next/static/chunks/app/api/files/[...path]/route-59077df354d3cef3.js +1 -0
  166. package/.next/static/chunks/app/api/harness/route-59077df354d3cef3.js +1 -0
  167. package/.next/static/chunks/app/api/home/route-59077df354d3cef3.js +1 -0
  168. package/.next/static/chunks/app/api/internal/runtime/route-59077df354d3cef3.js +1 -0
  169. package/.next/static/chunks/app/api/models/route-59077df354d3cef3.js +1 -0
  170. package/.next/static/chunks/app/api/models-config/discover/route-59077df354d3cef3.js +1 -0
  171. package/.next/static/chunks/app/api/models-config/route-59077df354d3cef3.js +1 -0
  172. package/.next/static/chunks/app/api/models-config/test/route-59077df354d3cef3.js +1 -0
  173. package/.next/static/chunks/app/api/projects/browse/route-59077df354d3cef3.js +1 -0
  174. package/.next/static/chunks/app/api/projects/route-59077df354d3cef3.js +1 -0
  175. package/.next/static/chunks/app/api/search/route-59077df354d3cef3.js +1 -0
  176. package/.next/static/chunks/app/api/sessions/[id]/context/route-59077df354d3cef3.js +1 -0
  177. package/.next/static/chunks/app/api/sessions/[id]/route-59077df354d3cef3.js +1 -0
  178. package/.next/static/chunks/app/api/sessions/new/route-59077df354d3cef3.js +1 -0
  179. package/.next/static/chunks/app/api/sessions/route-59077df354d3cef3.js +1 -0
  180. package/.next/static/chunks/app/api/settings/route-59077df354d3cef3.js +1 -0
  181. package/.next/static/chunks/app/api/skills/install/route-59077df354d3cef3.js +1 -0
  182. package/.next/static/chunks/app/api/skills/route-59077df354d3cef3.js +1 -0
  183. package/.next/static/chunks/app/api/skills/search/route-59077df354d3cef3.js +1 -0
  184. package/.next/static/chunks/app/api/soul/route-59077df354d3cef3.js +1 -0
  185. package/.next/static/chunks/app/api/version/route-59077df354d3cef3.js +1 -0
  186. package/.next/static/chunks/app/layout-6f383e02b7aa4d93.js +1 -0
  187. package/.next/static/chunks/app/page-59077df354d3cef3.js +1 -0
  188. package/.next/static/chunks/app/workspace/{page-6b56181ecd179eb6.js → page-0f66358537bae709.js} +8 -8
  189. package/.next/static/chunks/next/dist/client/components/builtin/app-error-59077df354d3cef3.js +1 -0
  190. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-59077df354d3cef3.js +1 -0
  191. package/.next/static/chunks/next/dist/client/components/builtin/not-found-59077df354d3cef3.js +1 -0
  192. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-59077df354d3cef3.js +1 -0
  193. package/.next/static/chunks/webpack-4056c182d935c524.js +1 -0
  194. package/.next/static/css/a3dc0b6797dcdda6.css +1 -0
  195. package/.next/static/{s_6_fNU625ME9ztugxAk2 → ulp8aFG3qUxVMxSAW5wBJ}/_buildManifest.js +1 -1
  196. package/.next/static/ulp8aFG3qUxVMxSAW5wBJ/_ssgManifest.js +1 -0
  197. package/next.config.ts +1 -4
  198. package/package.json +1 -1
  199. package/.next/server/app/docs/[[...slug]]/page.js +0 -4
  200. package/.next/server/app/docs/[[...slug]]/page.js.nft.json +0 -1
  201. package/.next/server/app/docs/[[...slug]]/page_client-reference-manifest.js +0 -1
  202. package/.next/server/app/docs/architecture.html +0 -26
  203. package/.next/server/app/docs/architecture.meta +0 -16
  204. package/.next/server/app/docs/architecture.rsc +0 -36
  205. package/.next/server/app/docs/architecture.segments/_full.segment.rsc +0 -36
  206. package/.next/server/app/docs/architecture.segments/_head.segment.rsc +0 -6
  207. package/.next/server/app/docs/architecture.segments/_index.segment.rsc +0 -7
  208. package/.next/server/app/docs/architecture.segments/_tree.segment.rsc +0 -5
  209. package/.next/server/app/docs/architecture.segments/docs/$oc$slug/__PAGE__.segment.rsc +0 -12
  210. package/.next/server/app/docs/architecture.segments/docs/$oc$slug.segment.rsc +0 -5
  211. package/.next/server/app/docs/architecture.segments/docs.segment.rsc +0 -6
  212. package/.next/server/app/docs/configuration.html +0 -28
  213. package/.next/server/app/docs/configuration.meta +0 -16
  214. package/.next/server/app/docs/configuration.rsc +0 -34
  215. package/.next/server/app/docs/configuration.segments/_full.segment.rsc +0 -34
  216. package/.next/server/app/docs/configuration.segments/_head.segment.rsc +0 -6
  217. package/.next/server/app/docs/configuration.segments/_index.segment.rsc +0 -7
  218. package/.next/server/app/docs/configuration.segments/_tree.segment.rsc +0 -5
  219. package/.next/server/app/docs/configuration.segments/docs/$oc$slug/__PAGE__.segment.rsc +0 -10
  220. package/.next/server/app/docs/configuration.segments/docs/$oc$slug.segment.rsc +0 -5
  221. package/.next/server/app/docs/configuration.segments/docs.segment.rsc +0 -6
  222. package/.next/server/app/docs/file-and-report-viewing.html +0 -29
  223. package/.next/server/app/docs/file-and-report-viewing.meta +0 -16
  224. package/.next/server/app/docs/file-and-report-viewing.rsc +0 -34
  225. package/.next/server/app/docs/file-and-report-viewing.segments/_full.segment.rsc +0 -34
  226. package/.next/server/app/docs/file-and-report-viewing.segments/_head.segment.rsc +0 -6
  227. package/.next/server/app/docs/file-and-report-viewing.segments/_index.segment.rsc +0 -7
  228. package/.next/server/app/docs/file-and-report-viewing.segments/_tree.segment.rsc +0 -5
  229. package/.next/server/app/docs/file-and-report-viewing.segments/docs/$oc$slug/__PAGE__.segment.rsc +0 -10
  230. package/.next/server/app/docs/file-and-report-viewing.segments/docs/$oc$slug.segment.rsc +0 -5
  231. package/.next/server/app/docs/file-and-report-viewing.segments/docs.segment.rsc +0 -6
  232. package/.next/server/app/docs/installation-and-deployment.html +0 -30
  233. package/.next/server/app/docs/installation-and-deployment.meta +0 -16
  234. package/.next/server/app/docs/installation-and-deployment.rsc +0 -39
  235. package/.next/server/app/docs/installation-and-deployment.segments/_full.segment.rsc +0 -39
  236. package/.next/server/app/docs/installation-and-deployment.segments/_head.segment.rsc +0 -6
  237. package/.next/server/app/docs/installation-and-deployment.segments/_index.segment.rsc +0 -7
  238. package/.next/server/app/docs/installation-and-deployment.segments/_tree.segment.rsc +0 -5
  239. package/.next/server/app/docs/installation-and-deployment.segments/docs/$oc$slug/__PAGE__.segment.rsc +0 -16
  240. package/.next/server/app/docs/installation-and-deployment.segments/docs/$oc$slug.segment.rsc +0 -5
  241. package/.next/server/app/docs/installation-and-deployment.segments/docs.segment.rsc +0 -6
  242. package/.next/server/app/docs/models-and-tools.html +0 -29
  243. package/.next/server/app/docs/models-and-tools.meta +0 -16
  244. package/.next/server/app/docs/models-and-tools.rsc +0 -34
  245. package/.next/server/app/docs/models-and-tools.segments/_full.segment.rsc +0 -34
  246. package/.next/server/app/docs/models-and-tools.segments/_head.segment.rsc +0 -6
  247. package/.next/server/app/docs/models-and-tools.segments/_index.segment.rsc +0 -7
  248. package/.next/server/app/docs/models-and-tools.segments/_tree.segment.rsc +0 -5
  249. package/.next/server/app/docs/models-and-tools.segments/docs/$oc$slug/__PAGE__.segment.rsc +0 -10
  250. package/.next/server/app/docs/models-and-tools.segments/docs/$oc$slug.segment.rsc +0 -5
  251. package/.next/server/app/docs/models-and-tools.segments/docs.segment.rsc +0 -6
  252. package/.next/server/app/docs/quick-start.html +0 -24
  253. package/.next/server/app/docs/quick-start.meta +0 -16
  254. package/.next/server/app/docs/quick-start.rsc +0 -36
  255. package/.next/server/app/docs/quick-start.segments/_full.segment.rsc +0 -36
  256. package/.next/server/app/docs/quick-start.segments/_head.segment.rsc +0 -6
  257. package/.next/server/app/docs/quick-start.segments/_index.segment.rsc +0 -7
  258. package/.next/server/app/docs/quick-start.segments/_tree.segment.rsc +0 -5
  259. package/.next/server/app/docs/quick-start.segments/docs/$oc$slug/__PAGE__.segment.rsc +0 -12
  260. package/.next/server/app/docs/quick-start.segments/docs/$oc$slug.segment.rsc +0 -5
  261. package/.next/server/app/docs/quick-start.segments/docs.segment.rsc +0 -6
  262. package/.next/server/app/docs/runtime-and-sse.html +0 -28
  263. package/.next/server/app/docs/runtime-and-sse.meta +0 -16
  264. package/.next/server/app/docs/runtime-and-sse.rsc +0 -34
  265. package/.next/server/app/docs/runtime-and-sse.segments/_full.segment.rsc +0 -34
  266. package/.next/server/app/docs/runtime-and-sse.segments/_head.segment.rsc +0 -6
  267. package/.next/server/app/docs/runtime-and-sse.segments/_index.segment.rsc +0 -7
  268. package/.next/server/app/docs/runtime-and-sse.segments/_tree.segment.rsc +0 -5
  269. package/.next/server/app/docs/runtime-and-sse.segments/docs/$oc$slug/__PAGE__.segment.rsc +0 -10
  270. package/.next/server/app/docs/runtime-and-sse.segments/docs/$oc$slug.segment.rsc +0 -5
  271. package/.next/server/app/docs/runtime-and-sse.segments/docs.segment.rsc +0 -6
  272. package/.next/server/app/docs/sessions-and-projects.html +0 -27
  273. package/.next/server/app/docs/sessions-and-projects.meta +0 -16
  274. package/.next/server/app/docs/sessions-and-projects.rsc +0 -34
  275. package/.next/server/app/docs/sessions-and-projects.segments/_full.segment.rsc +0 -34
  276. package/.next/server/app/docs/sessions-and-projects.segments/_head.segment.rsc +0 -6
  277. package/.next/server/app/docs/sessions-and-projects.segments/_index.segment.rsc +0 -7
  278. package/.next/server/app/docs/sessions-and-projects.segments/_tree.segment.rsc +0 -5
  279. package/.next/server/app/docs/sessions-and-projects.segments/docs/$oc$slug/__PAGE__.segment.rsc +0 -10
  280. package/.next/server/app/docs/sessions-and-projects.segments/docs/$oc$slug.segment.rsc +0 -5
  281. package/.next/server/app/docs/sessions-and-projects.segments/docs.segment.rsc +0 -6
  282. package/.next/server/app/docs/workspace.html +0 -28
  283. package/.next/server/app/docs/workspace.meta +0 -16
  284. package/.next/server/app/docs/workspace.rsc +0 -34
  285. package/.next/server/app/docs/workspace.segments/_full.segment.rsc +0 -34
  286. package/.next/server/app/docs/workspace.segments/_head.segment.rsc +0 -6
  287. package/.next/server/app/docs/workspace.segments/_index.segment.rsc +0 -7
  288. package/.next/server/app/docs/workspace.segments/_tree.segment.rsc +0 -5
  289. package/.next/server/app/docs/workspace.segments/docs/$oc$slug/__PAGE__.segment.rsc +0 -10
  290. package/.next/server/app/docs/workspace.segments/docs/$oc$slug.segment.rsc +0 -5
  291. package/.next/server/app/docs/workspace.segments/docs.segment.rsc +0 -6
  292. package/.next/server/app/docs.html +0 -41
  293. package/.next/server/app/docs.meta +0 -16
  294. package/.next/server/app/docs.rsc +0 -35
  295. package/.next/server/app/docs.segments/_full.segment.rsc +0 -35
  296. package/.next/server/app/docs.segments/_head.segment.rsc +0 -6
  297. package/.next/server/app/docs.segments/_index.segment.rsc +0 -7
  298. package/.next/server/app/docs.segments/_tree.segment.rsc +0 -5
  299. package/.next/server/app/docs.segments/docs/$oc$slug/__PAGE__.segment.rsc +0 -11
  300. package/.next/server/app/docs.segments/docs/$oc$slug.segment.rsc +0 -5
  301. package/.next/server/app/docs.segments/docs.segment.rsc +0 -6
  302. package/.next/server/chunks/2098.js +0 -1
  303. package/.next/server/chunks/4091.js +0 -5
  304. package/.next/server/chunks/4443.js +0 -3
  305. package/.next/server/chunks/76.js +0 -1
  306. package/.next/static/chunks/2679.f76721dbd8ec617f.js +0 -5
  307. package/.next/static/chunks/4894-e27a35edd6176226.js +0 -1
  308. package/.next/static/chunks/5122-6e0d29bd15f079e1.js +0 -3
  309. package/.next/static/chunks/5166-58bbf85cbd32ad99.js +0 -1
  310. package/.next/static/chunks/8500-f62a38ff68ab7f42.js +0 -1
  311. package/.next/static/chunks/9278-58ee6294b32318a5.js +0 -3
  312. package/.next/static/chunks/app/api/agent/runtime/route-d7ea01cb10afabab.js +0 -1
  313. package/.next/static/chunks/app/api/auth/all-providers/route-d7ea01cb10afabab.js +0 -1
  314. package/.next/static/chunks/app/api/auth/api-key/[provider]/route-d7ea01cb10afabab.js +0 -1
  315. package/.next/static/chunks/app/api/auth/login/[provider]/route-d7ea01cb10afabab.js +0 -1
  316. package/.next/static/chunks/app/api/auth/login/route-d7ea01cb10afabab.js +0 -1
  317. package/.next/static/chunks/app/api/auth/logout/[provider]/route-d7ea01cb10afabab.js +0 -1
  318. package/.next/static/chunks/app/api/auth/providers/route-d7ea01cb10afabab.js +0 -1
  319. package/.next/static/chunks/app/api/auth/status/route-d7ea01cb10afabab.js +0 -1
  320. package/.next/static/chunks/app/api/default-cwd/route-d7ea01cb10afabab.js +0 -1
  321. package/.next/static/chunks/app/api/files/[...path]/route-d7ea01cb10afabab.js +0 -1
  322. package/.next/static/chunks/app/api/harness/route-d7ea01cb10afabab.js +0 -1
  323. package/.next/static/chunks/app/api/home/route-d7ea01cb10afabab.js +0 -1
  324. package/.next/static/chunks/app/api/internal/runtime/route-d7ea01cb10afabab.js +0 -1
  325. package/.next/static/chunks/app/api/models/route-d7ea01cb10afabab.js +0 -1
  326. package/.next/static/chunks/app/api/models-config/discover/route-d7ea01cb10afabab.js +0 -1
  327. package/.next/static/chunks/app/api/models-config/route-d7ea01cb10afabab.js +0 -1
  328. package/.next/static/chunks/app/api/models-config/test/route-d7ea01cb10afabab.js +0 -1
  329. package/.next/static/chunks/app/api/projects/browse/route-d7ea01cb10afabab.js +0 -1
  330. package/.next/static/chunks/app/api/projects/route-d7ea01cb10afabab.js +0 -1
  331. package/.next/static/chunks/app/api/search/route-d7ea01cb10afabab.js +0 -1
  332. package/.next/static/chunks/app/api/sessions/[id]/context/route-d7ea01cb10afabab.js +0 -1
  333. package/.next/static/chunks/app/api/sessions/[id]/route-d7ea01cb10afabab.js +0 -1
  334. package/.next/static/chunks/app/api/sessions/new/route-d7ea01cb10afabab.js +0 -1
  335. package/.next/static/chunks/app/api/sessions/route-d7ea01cb10afabab.js +0 -1
  336. package/.next/static/chunks/app/api/settings/route-d7ea01cb10afabab.js +0 -1
  337. package/.next/static/chunks/app/api/skills/install/route-d7ea01cb10afabab.js +0 -1
  338. package/.next/static/chunks/app/api/skills/route-d7ea01cb10afabab.js +0 -1
  339. package/.next/static/chunks/app/api/skills/search/route-d7ea01cb10afabab.js +0 -1
  340. package/.next/static/chunks/app/api/soul/route-d7ea01cb10afabab.js +0 -1
  341. package/.next/static/chunks/app/api/version/route-d7ea01cb10afabab.js +0 -1
  342. package/.next/static/chunks/app/docs/[[...slug]]/page-d232277716ab7921.js +0 -1
  343. package/.next/static/chunks/app/docs/layout-4809bb9dd4b49bff.js +0 -1
  344. package/.next/static/chunks/app/layout-11cc1f48ff425fd0.js +0 -1
  345. package/.next/static/chunks/app/page-eb62ac677a87b790.js +0 -1
  346. package/.next/static/chunks/next/dist/client/components/builtin/app-error-d7ea01cb10afabab.js +0 -1
  347. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-d7ea01cb10afabab.js +0 -1
  348. package/.next/static/chunks/next/dist/client/components/builtin/not-found-d7ea01cb10afabab.js +0 -1
  349. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-d7ea01cb10afabab.js +0 -1
  350. package/.next/static/chunks/webpack-ced9e639bb94bd30.js +0 -1
  351. package/.next/static/css/876e881d7ba02ed2.css +0 -1
  352. package/.next/static/s_6_fNU625ME9ztugxAk2/_ssgManifest.js +0 -1
@@ -1 +1 @@
1
- {"version":1,"files":["../../../../../node_modules/@swc/helpers/_/_interop_require_default/package.json","../../../../../node_modules/@swc/helpers/cjs/_interop_require_default.cjs","../../../../../node_modules/@swc/helpers/package.json","../../../../../node_modules/next/dist/build/adapter/setup-node-env.external.js","../../../../../node_modules/next/dist/client/components/app-router-headers.js","../../../../../node_modules/next/dist/client/components/hooks-server-context.js","../../../../../node_modules/next/dist/client/components/static-generation-bailout.js","../../../../../node_modules/next/dist/client/lib/console.js","../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../node_modules/next/dist/compiled/jsonwebtoken/index.js","../../../../../node_modules/next/dist/compiled/jsonwebtoken/package.json","../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js","../../../../../node_modules/next/dist/compiled/source-map/package.json","../../../../../node_modules/next/dist/compiled/source-map/source-map.js","../../../../../node_modules/next/dist/compiled/stacktrace-parser/package.json","../../../../../node_modules/next/dist/compiled/stacktrace-parser/stack-trace-parser.cjs.js","../../../../../node_modules/next/dist/compiled/ws/index.js","../../../../../node_modules/next/dist/compiled/ws/package.json","../../../../../node_modules/next/dist/lib/client-and-server-references.js","../../../../../node_modules/next/dist/lib/constants.js","../../../../../node_modules/next/dist/lib/framework/boundary-constants.js","../../../../../node_modules/next/dist/lib/interop-default.js","../../../../../node_modules/next/dist/lib/is-error.js","../../../../../node_modules/next/dist/lib/picocolors.js","../../../../../node_modules/next/dist/lib/scheduler.js","../../../../../node_modules/next/dist/lib/semver-noop.js","../../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../../node_modules/next/dist/server/app-render/cache-signal.js","../../../../../node_modules/next/dist/server/app-render/console-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/console-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/dynamic-rendering.js","../../../../../node_modules/next/dist/server/app-render/instant-validation/boundary-constants.js","../../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.external.js","../../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.instance.js","../../../../../node_modules/next/dist/server/app-render/staged-rendering.js","../../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../../node_modules/next/dist/server/dev/browser-logs/file-logger.js","../../../../../node_modules/next/dist/server/dynamic-rendering-utils.js","../../../../../node_modules/next/dist/server/lib/incremental-cache/memory-cache.external.js","../../../../../node_modules/next/dist/server/lib/incremental-cache/shared-cache-controls.external.js","../../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../../node_modules/next/dist/server/lib/lru-cache.js","../../../../../node_modules/next/dist/server/lib/parse-stack.js","../../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-globals.external.js","../../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-node-extensions.js","../../../../../node_modules/next/dist/server/lib/source-maps.js","../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../node_modules/next/dist/server/load-manifest.external.js","../../../../../node_modules/next/dist/server/node-environment-baseline.js","../../../../../node_modules/next/dist/server/node-environment-extensions/console-dim.external.js","../../../../../node_modules/next/dist/server/node-environment-extensions/console-exit.js","../../../../../node_modules/next/dist/server/node-environment-extensions/console-file.js","../../../../../node_modules/next/dist/server/node-environment-extensions/date.js","../../../../../node_modules/next/dist/server/node-environment-extensions/error-inspect.js","../../../../../node_modules/next/dist/server/node-environment-extensions/fast-set-immediate.external.js","../../../../../node_modules/next/dist/server/node-environment-extensions/io-utils.js","../../../../../node_modules/next/dist/server/node-environment-extensions/node-crypto.js","../../../../../node_modules/next/dist/server/node-environment-extensions/random.js","../../../../../node_modules/next/dist/server/node-environment-extensions/unhandled-rejection.external.js","../../../../../node_modules/next/dist/server/node-environment-extensions/web-crypto.js","../../../../../node_modules/next/dist/server/node-environment.js","../../../../../node_modules/next/dist/server/node-polyfill-crypto.js","../../../../../node_modules/next/dist/server/patch-error-inspect.js","../../../../../node_modules/next/dist/server/require-hook.js","../../../../../node_modules/next/dist/server/response-cache/types.js","../../../../../node_modules/next/dist/server/runtime-reacts.external.js","../../../../../node_modules/next/dist/shared/lib/deep-freeze.js","../../../../../node_modules/next/dist/shared/lib/invariant-error.js","../../../../../node_modules/next/dist/shared/lib/is-plain-object.js","../../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../../node_modules/next/dist/shared/lib/lazy-dynamic/bailout-to-csr.js","../../../../../node_modules/next/dist/shared/lib/no-fallback-error.external.js","../../../../../node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js","../../../../../node_modules/next/dist/shared/lib/promise-with-resolvers.js","../../../../../node_modules/next/dist/shared/lib/router/utils/app-paths.js","../../../../../node_modules/next/dist/shared/lib/segment.js","../../../../../node_modules/next/dist/shared/lib/server-reference-info.js","../../../../../node_modules/next/package.json","../../../../../node_modules/react/cjs/react.development.js","../../../../../node_modules/react/cjs/react.production.js","../../../../../node_modules/react/index.js","../../../../../node_modules/react/package.json","../../../../package.json","../../../chunks/1813.js","../../../chunks/4741.js","../../../webpack-runtime.js","route_client-reference-manifest.js"]}
1
+ {"version":1,"files":["../../../../../node_modules/@swc/helpers/_/_interop_require_default/package.json","../../../../../node_modules/@swc/helpers/cjs/_interop_require_default.cjs","../../../../../node_modules/@swc/helpers/package.json","../../../../../node_modules/next/dist/build/adapter/setup-node-env.external.js","../../../../../node_modules/next/dist/client/components/app-router-headers.js","../../../../../node_modules/next/dist/client/components/hooks-server-context.js","../../../../../node_modules/next/dist/client/components/static-generation-bailout.js","../../../../../node_modules/next/dist/client/lib/console.js","../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../node_modules/next/dist/compiled/jsonwebtoken/index.js","../../../../../node_modules/next/dist/compiled/jsonwebtoken/package.json","../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js","../../../../../node_modules/next/dist/compiled/source-map/package.json","../../../../../node_modules/next/dist/compiled/source-map/source-map.js","../../../../../node_modules/next/dist/compiled/stacktrace-parser/package.json","../../../../../node_modules/next/dist/compiled/stacktrace-parser/stack-trace-parser.cjs.js","../../../../../node_modules/next/dist/compiled/ws/index.js","../../../../../node_modules/next/dist/compiled/ws/package.json","../../../../../node_modules/next/dist/lib/client-and-server-references.js","../../../../../node_modules/next/dist/lib/constants.js","../../../../../node_modules/next/dist/lib/framework/boundary-constants.js","../../../../../node_modules/next/dist/lib/interop-default.js","../../../../../node_modules/next/dist/lib/is-error.js","../../../../../node_modules/next/dist/lib/picocolors.js","../../../../../node_modules/next/dist/lib/scheduler.js","../../../../../node_modules/next/dist/lib/semver-noop.js","../../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../../node_modules/next/dist/server/app-render/cache-signal.js","../../../../../node_modules/next/dist/server/app-render/console-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/console-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/dynamic-rendering.js","../../../../../node_modules/next/dist/server/app-render/instant-validation/boundary-constants.js","../../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.external.js","../../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.instance.js","../../../../../node_modules/next/dist/server/app-render/staged-rendering.js","../../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../../node_modules/next/dist/server/dev/browser-logs/file-logger.js","../../../../../node_modules/next/dist/server/dynamic-rendering-utils.js","../../../../../node_modules/next/dist/server/lib/incremental-cache/memory-cache.external.js","../../../../../node_modules/next/dist/server/lib/incremental-cache/shared-cache-controls.external.js","../../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../../node_modules/next/dist/server/lib/lru-cache.js","../../../../../node_modules/next/dist/server/lib/parse-stack.js","../../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-globals.external.js","../../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-node-extensions.js","../../../../../node_modules/next/dist/server/lib/source-maps.js","../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../node_modules/next/dist/server/load-manifest.external.js","../../../../../node_modules/next/dist/server/node-environment-baseline.js","../../../../../node_modules/next/dist/server/node-environment-extensions/console-dim.external.js","../../../../../node_modules/next/dist/server/node-environment-extensions/console-exit.js","../../../../../node_modules/next/dist/server/node-environment-extensions/console-file.js","../../../../../node_modules/next/dist/server/node-environment-extensions/date.js","../../../../../node_modules/next/dist/server/node-environment-extensions/error-inspect.js","../../../../../node_modules/next/dist/server/node-environment-extensions/fast-set-immediate.external.js","../../../../../node_modules/next/dist/server/node-environment-extensions/io-utils.js","../../../../../node_modules/next/dist/server/node-environment-extensions/node-crypto.js","../../../../../node_modules/next/dist/server/node-environment-extensions/random.js","../../../../../node_modules/next/dist/server/node-environment-extensions/unhandled-rejection.external.js","../../../../../node_modules/next/dist/server/node-environment-extensions/web-crypto.js","../../../../../node_modules/next/dist/server/node-environment.js","../../../../../node_modules/next/dist/server/node-polyfill-crypto.js","../../../../../node_modules/next/dist/server/patch-error-inspect.js","../../../../../node_modules/next/dist/server/require-hook.js","../../../../../node_modules/next/dist/server/response-cache/types.js","../../../../../node_modules/next/dist/server/runtime-reacts.external.js","../../../../../node_modules/next/dist/shared/lib/deep-freeze.js","../../../../../node_modules/next/dist/shared/lib/invariant-error.js","../../../../../node_modules/next/dist/shared/lib/is-plain-object.js","../../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../../node_modules/next/dist/shared/lib/lazy-dynamic/bailout-to-csr.js","../../../../../node_modules/next/dist/shared/lib/no-fallback-error.external.js","../../../../../node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js","../../../../../node_modules/next/dist/shared/lib/promise-with-resolvers.js","../../../../../node_modules/next/dist/shared/lib/router/utils/app-paths.js","../../../../../node_modules/next/dist/shared/lib/segment.js","../../../../../node_modules/next/dist/shared/lib/server-reference-info.js","../../../../../node_modules/next/package.json","../../../../../node_modules/react/cjs/react.development.js","../../../../../node_modules/react/cjs/react.production.js","../../../../../node_modules/react/index.js","../../../../../node_modules/react/package.json","../../../../../package.json","../../../../package.json","../../../chunks/1813.js","../../../chunks/4741.js","../../../webpack-runtime.js","route_client-reference-manifest.js"]}
@@ -1,2 +1 @@
1
- <!DOCTYPE html><html lang="en" class="__variable_66b8ca"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/7deddc85b7ffd1dc-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/ec14413c594b3356-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/fddca953485158e4.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/876e881d7ba02ed2.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-ced9e639bb94bd30.js"/><script src="/_next/static/chunks/4bd1b696-e356ca5ba0218e27.js" async=""></script><script src="/_next/static/chunks/3794-123fdf632563f469.js" async=""></script><script src="/_next/static/chunks/main-app-45a0f19af99d61b6.js" async=""></script><script src="/_next/static/chunks/8500-f62a38ff68ab7f42.js" async=""></script><script src="/_next/static/chunks/5122-6e0d29bd15f079e1.js" async=""></script><script src="/_next/static/chunks/app/layout-11cc1f48ff425fd0.js" async=""></script><script src="/_next/static/chunks/app/page-eb62ac677a87b790.js" async=""></script><meta name="next-size-adjust" content=""/><title>annodex</title><meta name="description" content="AI-native bioinformatics workspace by Annoroad"/><link rel="shortcut icon" href="/favicon.svg" type="image/svg+xml"/><link rel="icon" href="/favicon.svg" type="image/svg+xml"/><script>(function(){try{var t=localStorage.getItem("annodex-theme");if(t==="dark")document.documentElement.classList.add("dark")}catch(e){}})();</script><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body style="min-height:100dvh;display:flex;flex-direction:column"><div hidden=""><!--$--><!--/$--></div><script>((a,b,c,d,e,f,g,h)=>{let i=document.documentElement,j=["light","dark"];function k(b){var c;(Array.isArray(a)?a:[a]).forEach(a=>{let c="class"===a,d=c&&f?e.map(a=>f[a]||a):e;c?(i.classList.remove(...d),i.classList.add(f&&f[b]?f[b]:b)):i.setAttribute(a,b)}),c=b,h&&j.includes(c)&&(i.style.colorScheme=c)}if(d)k(d);else try{let a=localStorage.getItem(b)||c,d=g&&"system"===a?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":a;k(d)}catch(a){}})("class","theme","system",null,["light","dark"],null,true,true)</script><!--$--><div class="bg-fd-secondary/50 p-3 empty:hidden"></div><!--/$--><main class="fd-container annodex-home"><section class="annodex-hero"><div class="annodex-hero-copy"><div class="annodex-eyebrow">@seqyuan/annodex · browser-native Codex workspace</div><h1>让 Codex 成为真正可用的工作台</h1><p class="annodex-lead">annodex 将项目、会话、文件、工具运行态和模型配置收敛到一个浏览器界面中, 为 AI 编程与分析工作流补上产品层。</p><p class="annodex-sublead">它不是替代 Codex,而是让 Codex 更适合真实团队、真实项目和真实迭代过程。</p><div class="annodex-actions"><a class="annodex-button annodex-button-primary" href="/docs">阅读文档 <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></a><a class="annodex-button annodex-button-secondary" href="/workspace">打开工作台 <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-square-terminal" aria-hidden="true"><path d="m7 11 2-2-2-2"></path><path d="M11 13h4"></path><rect width="18" height="18" x="3" y="3" rx="2" ry="2"></rect></svg></a></div><div class="annodex-install"><span>Quick start</span><pre><code>npm i -g @seqyuan/annodex<!-- -->
2
- <!-- -->annodex</code></pre></div></div><div class="annodex-preview" aria-label="Annodex workspace preview"><div class="annodex-preview-bar"><span></span><span></span><span></span><div>localhost:30121</div></div><div class="annodex-preview-body"><aside><div class="annodex-preview-title">Projects</div><div class="annodex-preview-item annodex-preview-item-active">rna-seq-atlas</div><div class="annodex-preview-item">single-cell-qc</div><div class="annodex-preview-item">variant-review</div></aside><section><div class="annodex-preview-chips"><span>deepseek-chat</span><span>tools: full</span><span>thinking: medium</span></div><div class="annodex-bubble annodex-bubble-assistant">我可以检查这个项目目录,总结当前分析进度,并起草发给同事的说明。</div><div class="annodex-bubble annodex-bubble-tool"><strong>Running tools</strong><div class="annodex-tool-flow"><span>read</span><span>grep</span><span>bash</span></div></div><div class="annodex-bubble annodex-bubble-user">顺便整理成一份简洁的项目更新。</div></section></div></div></section><section class="annodex-section"><div class="annodex-section-head"><div class="annodex-kicker">Why annodex</div><h2>不是又一个聊天框,而是可工作的壳层</h2><p>CLI 强于执行,却不擅长文件审阅、状态追踪与多项目操作。annodex 的职责, 是把底层 agent 能力包装成更适合日常工作的界面。</p></div><div class="annodex-grid"><article class="annodex-card"><div class="annodex-card-icon"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-folder-tree" aria-hidden="true"><path d="M20 10a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1h-2.5a1 1 0 0 1-.8-.4l-.9-1.2A1 1 0 0 0 15 3h-2a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1Z"></path><path d="M20 21a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1h-2.9a1 1 0 0 1-.88-.55l-.42-.85a1 1 0 0 0-.92-.6H13a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1Z"></path><path d="M3 5a2 2 0 0 0 2 2h3"></path><path d="M3 3v13a2 2 0 0 0 2 2h3"></path></svg></div><h3>项目驱动的会话管理</h3><p>按项目组织聊天、文件与上下文,而不是把工作散落在终端历史里。</p></article><article class="annodex-card"><div class="annodex-card-icon"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-activity" aria-hidden="true"><path d="M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2"></path></svg></div><h3>实时运行态可见</h3><p>工具执行、SSE 流、模型忙碌状态、停止按钮与进度反馈都可以直接观察。</p></article><article class="annodex-card"><div class="annodex-card-icon"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-bot" aria-hidden="true"><path d="M12 8V4H8"></path><rect width="16" height="12" x="4" y="8" rx="2"></rect><path d="M2 14h2"></path><path d="M20 14h2"></path><path d="M15 13v2"></path><path d="M9 13v2"></path></svg></div><h3>模型与工具配置统一</h3><p>在浏览器中切换 provider、model、thinking level 与工具预设,降低使用门槛。</p></article><article class="annodex-card"><div class="annodex-card-icon"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-flask-conical" aria-hidden="true"><path d="M14 2v6a2 2 0 0 0 .245.96l5.51 10.08A2 2 0 0 1 18 22H6a2 2 0 0 1-1.755-2.96l5.51-10.08A2 2 0 0 0 10 8V2"></path><path d="M6.453 15h11.094"></path><path d="M8.5 2h7"></path></svg></div><h3>适合分析型工作流</h3><p>代码、Markdown、图像、PDF、表格与报告在同一工作区中查看与整理。</p></article></div></section><section class="annodex-section annodex-section-alt"><div class="annodex-section-head"><div class="annodex-kicker">Architecture</div><h2>围绕 Codex app-server 构建的 Web 工作流</h2><p>浏览器负责交互,Next.js 负责 API 与会话包装,Codex app-server 负责底层线程与 turn 协议。</p></div><div class="annodex-architecture"><div><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-panels-top-left" aria-hidden="true"><rect width="18" height="18" x="3" y="3" rx="2"></rect><path d="M3 9h18"></path><path d="M9 21V9"></path></svg> Browser UI</div><span>→</span><div>Next.js Server</div><span>→</span><div>Codex app-server</div></div></section><section class="annodex-section"><div class="annodex-section-head"><div class="annodex-kicker">Capabilities</div><h2>核心能力</h2><p>annodex 关注的不是单次提问,而是项目生命周期中的连续工作体验。</p></div><div class="annodex-grid annodex-grid-three"><article class="annodex-card"><div class="annodex-card-icon"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-workflow" aria-hidden="true"><rect width="8" height="8" x="3" y="3" rx="2"></rect><path d="M7 11v4a2 2 0 0 0 2 2h4"></path><rect width="8" height="8" x="13" y="13" rx="2"></rect></svg></div><h3>会话、文件与结果同屏协作</h3><p>在同一工作台中切换聊天、文件树、预览面板与分支导航,减少上下文切换成本。</p></article><article class="annodex-card"><div class="annodex-card-icon"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-radio" aria-hidden="true"><path d="M16.247 7.761a6 6 0 0 1 0 8.478"></path><path d="M19.075 4.933a10 10 0 0 1 0 14.134"></path><path d="M4.925 19.067a10 10 0 0 1 0-14.134"></path><path d="M7.753 16.239a6 6 0 0 1 0-8.478"></path><circle cx="12" cy="12" r="2"></circle></svg></div><h3>SSE 事件流与运行反馈</h3><p>不只显示回答文本,也显示 agent 当前是否仍在工作、是否正在调用工具、是否需要重连。</p></article><article class="annodex-card"><div class="annodex-card-icon"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-server-cog" aria-hidden="true"><path d="m10.852 14.772-.383.923"></path><path d="M13.148 14.772a3 3 0 1 0-2.296-5.544l-.383-.923"></path><path d="m13.148 9.228.383-.923"></path><path d="m13.53 15.696-.382-.924a3 3 0 1 1-2.296-5.544"></path><path d="m14.772 10.852.923-.383"></path><path d="m14.772 13.148.923.383"></path><path d="M4.5 10H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-.5"></path><path d="M4.5 14H4a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-4a2 2 0 0 0-2-2h-.5"></path><path d="M6 18h.01"></path><path d="M6 6h.01"></path><path d="m9.228 10.852-.923-.383"></path><path d="m9.228 13.148-.923.383"></path></svg></div><h3>Codex app-server 的产品外壳</h3><p>保留底层 thread / turn 能力,同时在浏览器提供更友好的交互层与会话包装。</p></article><article class="annodex-card"><div class="annodex-card-icon"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-git-branch" aria-hidden="true"><path d="M15 6a9 9 0 0 0-9 9V3"></path><circle cx="18" cy="6" r="3"></circle><circle cx="6" cy="18" r="3"></circle></svg></div><h3>面向探索型工作的分支体验</h3><p>支持对话分支、历史导航与项目级上下文回看,适合多轮分析与方案比较。</p></article><article class="annodex-card"><div class="annodex-card-icon"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-file-text" aria-hidden="true"><path d="M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z"></path><path d="M14 2v5a1 1 0 0 0 1 1h5"></path><path d="M10 9H8"></path><path d="M16 13H8"></path><path d="M16 17H8"></path></svg></div><h3>对文档型工作更友好</h3><p>不仅适合 coding,也适合读报告、写说明、整理分析结果与输出结构化总结。</p></article><article class="annodex-card"><div class="annodex-card-icon"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-square-terminal" aria-hidden="true"><path d="m7 11 2-2-2-2"></path><path d="M11 13h4"></path><rect width="18" height="18" x="3" y="3" rx="2" ry="2"></rect></svg></div><h3>降低非 CLI 用户门槛</h3><p>让团队成员无需长期停留在终端,也能理解 agent 在做什么、结果产出在哪里。</p></article></div></section><section class="annodex-section annodex-section-alt"><div class="annodex-section-head"><div class="annodex-kicker">Workflow</div><h2>典型使用路径</h2></div><div class="annodex-workflow"><div class="annodex-workflow-step"><div class="annodex-workflow-index">0<!-- -->1</div><div>选择项目目录</div></div><div class="annodex-workflow-step"><div class="annodex-workflow-index">0<!-- -->2</div><div>创建或继续会话</div></div><div class="annodex-workflow-step"><div class="annodex-workflow-index">0<!-- -->3</div><div>查看文件与上下文</div></div><div class="annodex-workflow-step"><div class="annodex-workflow-index">0<!-- -->4</div><div>观察工具运行态</div></div><div class="annodex-workflow-step"><div class="annodex-workflow-index">0<!-- -->5</div><div>输出结果或结论</div></div></div></section><section class="annodex-section"><div class="annodex-section-head"><div class="annodex-kicker">Use cases</div><h2>适合哪些团队与任务</h2></div><div class="annodex-usecases"><div class="annodex-usecase">生物信息学与数据分析项目</div><div class="annodex-usecase">Codex / agent 工作流的浏览器前端</div><div class="annodex-usecase">团队演示、培训与非 CLI 用户接入</div><div class="annodex-usecase">多项目知识工作与持续迭代协作</div></div></section><section class="annodex-section annodex-cta-section"><div class="annodex-cta-card"><div><div class="annodex-kicker">Start</div><h2>先读文档,再进入工作台</h2><p>如果你希望把 Codex 接入更稳定的浏览器工作流,最合理的起点是先了解结构,再开始使用。</p></div><div class="annodex-actions"><a class="annodex-button annodex-button-primary" href="/docs">查看文档</a><a class="annodex-button annodex-button-secondary" href="/workspace">进入工作台</a></div></div></section></main><!--$--><!--/$--><script src="/_next/static/chunks/webpack-ced9e639bb94bd30.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[67504,[\"8500\",\"static/chunks/8500-f62a38ff68ab7f42.js\",\"5122\",\"static/chunks/5122-6e0d29bd15f079e1.js\",\"7177\",\"static/chunks/app/layout-11cc1f48ff425fd0.js\"],\"RootProvider\"]\n3:I[57121,[],\"\"]\n4:I[74581,[],\"\"]\n5:I[98500,[\"8500\",\"static/chunks/8500-f62a38ff68ab7f42.js\",\"8974\",\"static/chunks/app/page-eb62ac677a87b790.js\"],\"\"]\n6:I[99535,[\"8500\",\"static/chunks/8500-f62a38ff68ab7f42.js\",\"8974\",\"static/chunks/app/page-eb62ac677a87b790.js\"],\"default\"]\n12:I[27123,[],\"default\",1]\n:HL[\"/_next/static/media/7deddc85b7ffd1dc-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/ec14413c594b3356-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/css/fddca953485158e4.css\",\"style\"]\n:HL[\"/_next/static/css/876e881d7ba02ed2.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{}]},\"$undefined\",\"$undefined\",16],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/fddca953485158e4.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/876e881d7ba02ed2.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"__variable_66b8ca\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"(function(){try{var t=localStorage.getItem(\\\"annodex-theme\\\");if(t===\\\"dark\\\")document.documentElement.classList.add(\\\"dark\\\")}catch(e){}})();\"}}]}],[\"$\",\"body\",null,{\"style\":{\"minHeight\":\"100dvh\",\"display\":\"flex\",\"flexDirection\":\"column\"},\"children\":[\"$\",\"$L2\",null,{\"children\":[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"main\",null,{\"className\":\"fd-container annodex-home\",\"children\":[[\"$\",\"section\",null,{\"className\":\"annodex-hero\",\"children\":[[\"$\",\"div\",null,{\"className\":\"annodex-hero-copy\",\"children\":[[\"$\",\"div\",null,{\"className\":\"annodex-eyebrow\",\"children\":\"@seqyuan/annodex · browser-native Codex workspace\"}],[\"$\",\"h1\",null,{\"children\":\"让 Codex 成为真正可用的工作台\"}],[\"$\",\"p\",null,{\"className\":\"annodex-lead\",\"children\":\"annodex 将项目、会话、文件、工具运行态和模型配置收敛到一个浏览器界面中, 为 AI 编程与分析工作流补上产品层。\"}],[\"$\",\"p\",null,{\"className\":\"annodex-sublead\",\"children\":\"它不是替代 Codex,而是让 Codex 更适合真实团队、真实项目和真实迭代过程。\"}],[\"$\",\"div\",null,{\"className\":\"annodex-actions\",\"children\":[[\"$\",\"$L5\",null,{\"href\":\"/docs\",\"className\":\"annodex-button annodex-button-primary\",\"children\":[\"阅读文档 \",[\"$\",\"$L6\",null,{\"ref\":\"$undefined\",\"iconNode\":[[\"path\",{\"d\":\"M5 12h14\",\"key\":\"1ays0h\"}],[\"path\",{\"d\":\"m12 5 7 7-7 7\",\"key\":\"xquz4c\"}]],\"className\":\"lucide-arrow-right\",\"size\":16}]]}],[\"$\",\"$L5\",null,{\"href\":\"/workspace\",\"className\":\"annodex-button annodex-button-secondary\",\"children\":[\"打开工作台 \",[\"$\",\"$L6\",null,{\"ref\":\"$undefined\",\"iconNode\":[[\"path\",{\"d\":\"m7 11 2-2-2-2\",\"key\":\"1lz0vl\"}],[\"path\",{\"d\":\"M11 13h4\",\"key\":\"1p7l4v\"}],[\"rect\",{\"width\":\"18\",\"height\":\"18\",\"x\":\"3\",\"y\":\"3\",\"rx\":\"2\",\"ry\":\"2\",\"key\":\"1m3agn\"}]],\"className\":\"lucide-square-terminal\",\"size\":16}]]}]]}],[\"$\",\"div\",null,{\"className\":\"annodex-install\",\"children\":[[\"$\",\"span\",null,{\"children\":\"Quick start\"}],[\"$\",\"pre\",null,{\"children\":[\"$\",\"code\",null,{\"children\":[\"npm i -g @seqyuan/annodex\",\"\\n\",\"annodex\"]}]}]]}]]}],[\"$\",\"div\",null,{\"className\":\"annodex-preview\",\"aria-label\":\"Annodex workspace preview\",\"children\":[[\"$\",\"div\",null,{\"className\":\"annodex-preview-bar\",\"children\":[[\"$\",\"span\",null,{}],[\"$\",\"span\",null,{}],[\"$\",\"span\",null,{}],[\"$\",\"div\",null,{\"children\":\"localhost:30121\"}]]}],[\"$\",\"div\",null,{\"className\":\"annodex-preview-body\",\"children\":[[\"$\",\"aside\",null,{\"children\":[[\"$\",\"div\",null,{\"className\":\"annodex-preview-title\",\"children\":\"Projects\"}],[\"$\",\"div\",null,{\"className\":\"annodex-preview-item annodex-preview-item-active\",\"children\":\"rna-seq-atlas\"}],[\"$\",\"div\",null,{\"className\":\"annodex-preview-item\",\"children\":\"single-cell-qc\"}],[\"$\",\"div\",null,{\"className\":\"annodex-preview-item\",\"children\":\"variant-review\"}]]}],[\"$\",\"section\",null,{\"children\":[[\"$\",\"div\",null,{\"className\":\"annodex-preview-chips\",\"children\":[[\"$\",\"span\",null,{\"children\":\"deepseek-chat\"}],[\"$\",\"span\",null,{\"children\":\"tools: full\"}],[\"$\",\"span\",null,{\"children\":\"thinking: medium\"}]]}],\"$L7\",\"$L8\",\"$L9\"]}]]}]]}]]}],\"$La\",\"$Lb\",\"$Lc\",\"$Ld\",\"$Le\",\"$Lf\"]}],null,\"$L10\"]}],{},null,false,null]},null,false,null],\"$L11\",false]],\"m\":\"$undefined\",\"G\":[\"$12\",[]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"s_6_fNU625ME9ztugxAk2\"}\n"])</script><script>self.__next_f.push([1,"13:I[90484,[],\"OutletBoundary\"]\n14:\"$Sreact.suspense\"\n16:I[90484,[],\"ViewportBoundary\"]\n18:I[90484,[],\"MetadataBoundary\"]\n7:[\"$\",\"div\",null,{\"className\":\"annodex-bubble annodex-bubble-assistant\",\"children\":\"我可以检查这个项目目录,总结当前分析进度,并起草发给同事的说明。\"}]\n8:[\"$\",\"div\",null,{\"className\":\"annodex-bubble annodex-bubble-tool\",\"children\":[[\"$\",\"strong\",null,{\"children\":\"Running tools\"}],[\"$\",\"div\",null,{\"className\":\"annodex-tool-flow\",\"children\":[[\"$\",\"span\",null,{\"children\":\"read\"}],[\"$\",\"span\",null,{\"children\":\"grep\"}],[\"$\",\"span\",null,{\"children\":\"bash\"}]]}]]}]\n9:[\"$\",\"div\",null,{\"className\":\"annodex-bubble annodex-bubble-user\",\"children\":\"顺便整理成一份简洁的项目更新。\"}]\n"])</script><script>self.__next_f.push([1,"a:[\"$\",\"section\",null,{\"className\":\"annodex-section\",\"children\":[[\"$\",\"div\",null,{\"className\":\"annodex-section-head\",\"children\":[[\"$\",\"div\",null,{\"className\":\"annodex-kicker\",\"children\":\"Why annodex\"}],[\"$\",\"h2\",null,{\"children\":\"不是又一个聊天框,而是可工作的壳层\"}],[\"$\",\"p\",null,{\"children\":\"CLI 强于执行,却不擅长文件审阅、状态追踪与多项目操作。annodex 的职责, 是把底层 agent 能力包装成更适合日常工作的界面。\"}]]}],[\"$\",\"div\",null,{\"className\":\"annodex-grid\",\"children\":[[\"$\",\"article\",\"项目驱动的会话管理\",{\"className\":\"annodex-card\",\"children\":[[\"$\",\"div\",null,{\"className\":\"annodex-card-icon\",\"children\":[\"$\",\"$L6\",null,{\"ref\":\"$undefined\",\"iconNode\":[[\"path\",{\"d\":\"M20 10a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1h-2.5a1 1 0 0 1-.8-.4l-.9-1.2A1 1 0 0 0 15 3h-2a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1Z\",\"key\":\"hod4my\"}],[\"path\",{\"d\":\"M20 21a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1h-2.9a1 1 0 0 1-.88-.55l-.42-.85a1 1 0 0 0-.92-.6H13a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1Z\",\"key\":\"w4yl2u\"}],[\"path\",{\"d\":\"M3 5a2 2 0 0 0 2 2h3\",\"key\":\"f2jnh7\"}],[\"path\",{\"d\":\"M3 3v13a2 2 0 0 0 2 2h3\",\"key\":\"k8epm1\"}]],\"className\":\"lucide-folder-tree\",\"size\":18}]}],[\"$\",\"h3\",null,{\"children\":\"项目驱动的会话管理\"}],[\"$\",\"p\",null,{\"children\":\"按项目组织聊天、文件与上下文,而不是把工作散落在终端历史里。\"}]]}],[\"$\",\"article\",\"实时运行态可见\",{\"className\":\"annodex-card\",\"children\":[[\"$\",\"div\",null,{\"className\":\"annodex-card-icon\",\"children\":[\"$\",\"$L6\",null,{\"ref\":\"$undefined\",\"iconNode\":[[\"path\",{\"d\":\"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2\",\"key\":\"169zse\"}]],\"className\":\"lucide-activity\",\"size\":18}]}],[\"$\",\"h3\",null,{\"children\":\"实时运行态可见\"}],[\"$\",\"p\",null,{\"children\":\"工具执行、SSE 流、模型忙碌状态、停止按钮与进度反馈都可以直接观察。\"}]]}],[\"$\",\"article\",\"模型与工具配置统一\",{\"className\":\"annodex-card\",\"children\":[[\"$\",\"div\",null,{\"className\":\"annodex-card-icon\",\"children\":[\"$\",\"$L6\",null,{\"ref\":\"$undefined\",\"iconNode\":[[\"path\",{\"d\":\"M12 8V4H8\",\"key\":\"hb8ula\"}],[\"rect\",{\"width\":\"16\",\"height\":\"12\",\"x\":\"4\",\"y\":\"8\",\"rx\":\"2\",\"key\":\"enze0r\"}],[\"path\",{\"d\":\"M2 14h2\",\"key\":\"vft8re\"}],[\"path\",{\"d\":\"M20 14h2\",\"key\":\"4cs60a\"}],[\"path\",{\"d\":\"M15 13v2\",\"key\":\"1xurst\"}],[\"path\",{\"d\":\"M9 13v2\",\"key\":\"rq6x2g\"}]],\"className\":\"lucide-bot\",\"size\":18}]}],[\"$\",\"h3\",null,{\"children\":\"模型与工具配置统一\"}],[\"$\",\"p\",null,{\"children\":\"在浏览器中切换 provider、model、thinking level 与工具预设,降低使用门槛。\"}]]}],[\"$\",\"article\",\"适合分析型工作流\",{\"className\":\"annodex-card\",\"children\":[[\"$\",\"div\",null,{\"className\":\"annodex-card-icon\",\"children\":[\"$\",\"$L6\",null,{\"ref\":\"$undefined\",\"iconNode\":[[\"path\",{\"d\":\"M14 2v6a2 2 0 0 0 .245.96l5.51 10.08A2 2 0 0 1 18 22H6a2 2 0 0 1-1.755-2.96l5.51-10.08A2 2 0 0 0 10 8V2\",\"key\":\"18mbvz\"}],[\"path\",{\"d\":\"M6.453 15h11.094\",\"key\":\"3shlmq\"}],[\"path\",{\"d\":\"M8.5 2h7\",\"key\":\"csnxdl\"}]],\"className\":\"lucide-flask-conical\",\"size\":18}]}],[\"$\",\"h3\",null,{\"children\":\"适合分析型工作流\"}],[\"$\",\"p\",null,{\"children\":\"代码、Markdown、图像、PDF、表格与报告在同一工作区中查看与整理。\"}]]}]]}]]}]\n"])</script><script>self.__next_f.push([1,"b:[\"$\",\"section\",null,{\"className\":\"annodex-section annodex-section-alt\",\"children\":[[\"$\",\"div\",null,{\"className\":\"annodex-section-head\",\"children\":[[\"$\",\"div\",null,{\"className\":\"annodex-kicker\",\"children\":\"Architecture\"}],[\"$\",\"h2\",null,{\"children\":\"围绕 Codex app-server 构建的 Web 工作流\"}],[\"$\",\"p\",null,{\"children\":\"浏览器负责交互,Next.js 负责 API 与会话包装,Codex app-server 负责底层线程与 turn 协议。\"}]]}],[\"$\",\"div\",null,{\"className\":\"annodex-architecture\",\"children\":[[\"$\",\"div\",null,{\"children\":[[\"$\",\"$L6\",null,{\"ref\":\"$undefined\",\"iconNode\":[[\"rect\",{\"width\":\"18\",\"height\":\"18\",\"x\":\"3\",\"y\":\"3\",\"rx\":\"2\",\"key\":\"afitv7\"}],[\"path\",{\"d\":\"M3 9h18\",\"key\":\"1pudct\"}],[\"path\",{\"d\":\"M9 21V9\",\"key\":\"1oto5p\"}]],\"className\":\"lucide-panels-top-left\",\"size\":18}],\" Browser UI\"]}],[\"$\",\"span\",null,{\"children\":\"→\"}],[\"$\",\"div\",null,{\"children\":\"Next.js Server\"}],[\"$\",\"span\",null,{\"children\":\"→\"}],[\"$\",\"div\",null,{\"children\":\"Codex app-server\"}]]}]]}]\n"])</script><script>self.__next_f.push([1,"c:[\"$\",\"section\",null,{\"className\":\"annodex-section\",\"children\":[[\"$\",\"div\",null,{\"className\":\"annodex-section-head\",\"children\":[[\"$\",\"div\",null,{\"className\":\"annodex-kicker\",\"children\":\"Capabilities\"}],[\"$\",\"h2\",null,{\"children\":\"核心能力\"}],[\"$\",\"p\",null,{\"children\":\"annodex 关注的不是单次提问,而是项目生命周期中的连续工作体验。\"}]]}],[\"$\",\"div\",null,{\"className\":\"annodex-grid annodex-grid-three\",\"children\":[[\"$\",\"article\",\"会话、文件与结果同屏协作\",{\"className\":\"annodex-card\",\"children\":[[\"$\",\"div\",null,{\"className\":\"annodex-card-icon\",\"children\":[\"$\",\"$L6\",null,{\"ref\":\"$undefined\",\"iconNode\":[[\"rect\",{\"width\":\"8\",\"height\":\"8\",\"x\":\"3\",\"y\":\"3\",\"rx\":\"2\",\"key\":\"by2w9f\"}],[\"path\",{\"d\":\"M7 11v4a2 2 0 0 0 2 2h4\",\"key\":\"xkn7yn\"}],[\"rect\",{\"width\":\"8\",\"height\":\"8\",\"x\":\"13\",\"y\":\"13\",\"rx\":\"2\",\"key\":\"1cgmvn\"}]],\"className\":\"lucide-workflow\",\"size\":18}]}],[\"$\",\"h3\",null,{\"children\":\"会话、文件与结果同屏协作\"}],[\"$\",\"p\",null,{\"children\":\"在同一工作台中切换聊天、文件树、预览面板与分支导航,减少上下文切换成本。\"}]]}],[\"$\",\"article\",\"SSE 事件流与运行反馈\",{\"className\":\"annodex-card\",\"children\":[[\"$\",\"div\",null,{\"className\":\"annodex-card-icon\",\"children\":[\"$\",\"$L6\",null,{\"ref\":\"$undefined\",\"iconNode\":[[\"path\",{\"d\":\"M16.247 7.761a6 6 0 0 1 0 8.478\",\"key\":\"1fwjs5\"}],[\"path\",{\"d\":\"M19.075 4.933a10 10 0 0 1 0 14.134\",\"key\":\"ehdyv1\"}],[\"path\",{\"d\":\"M4.925 19.067a10 10 0 0 1 0-14.134\",\"key\":\"1q22gi\"}],[\"path\",{\"d\":\"M7.753 16.239a6 6 0 0 1 0-8.478\",\"key\":\"r2q7qm\"}],[\"circle\",{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"2\",\"key\":\"1c9p78\"}]],\"className\":\"lucide-radio\",\"size\":18}]}],[\"$\",\"h3\",null,{\"children\":\"SSE 事件流与运行反馈\"}],[\"$\",\"p\",null,{\"children\":\"不只显示回答文本,也显示 agent 当前是否仍在工作、是否正在调用工具、是否需要重连。\"}]]}],[\"$\",\"article\",\"Codex app-server 的产品外壳\",{\"className\":\"annodex-card\",\"children\":[[\"$\",\"div\",null,{\"className\":\"annodex-card-icon\",\"children\":[\"$\",\"$L6\",null,{\"ref\":\"$undefined\",\"iconNode\":[[\"path\",{\"d\":\"m10.852 14.772-.383.923\",\"key\":\"11vil6\"}],[\"path\",{\"d\":\"M13.148 14.772a3 3 0 1 0-2.296-5.544l-.383-.923\",\"key\":\"1v3clb\"}],[\"path\",{\"d\":\"m13.148 9.228.383-.923\",\"key\":\"t2zzyc\"}],[\"path\",{\"d\":\"m13.53 15.696-.382-.924a3 3 0 1 1-2.296-5.544\",\"key\":\"1bxfiv\"}],[\"path\",{\"d\":\"m14.772 10.852.923-.383\",\"key\":\"k9m8cz\"}],[\"path\",{\"d\":\"m14.772 13.148.923.383\",\"key\":\"1xvhww\"}],[\"path\",{\"d\":\"M4.5 10H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-.5\",\"key\":\"tn8das\"}],[\"path\",{\"d\":\"M4.5 14H4a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-4a2 2 0 0 0-2-2h-.5\",\"key\":\"1g2pve\"}],[\"path\",{\"d\":\"M6 18h.01\",\"key\":\"uhywen\"}],[\"path\",{\"d\":\"M6 6h.01\",\"key\":\"1utrut\"}],[\"path\",{\"d\":\"m9.228 10.852-.923-.383\",\"key\":\"1wtb30\"}],[\"path\",{\"d\":\"m9.228 13.148-.923.383\",\"key\":\"1a830x\"}]],\"className\":\"lucide-server-cog\",\"size\":18}]}],[\"$\",\"h3\",null,{\"children\":\"Codex app-server 的产品外壳\"}],[\"$\",\"p\",null,{\"children\":\"保留底层 thread / turn 能力,同时在浏览器提供更友好的交互层与会话包装。\"}]]}],[\"$\",\"article\",\"面向探索型工作的分支体验\",{\"className\":\"annodex-card\",\"children\":[[\"$\",\"div\",null,{\"className\":\"annodex-card-icon\",\"children\":[\"$\",\"$L6\",null,{\"ref\":\"$undefined\",\"iconNode\":[[\"path\",{\"d\":\"M15 6a9 9 0 0 0-9 9V3\",\"key\":\"1cii5b\"}],[\"circle\",{\"cx\":\"18\",\"cy\":\"6\",\"r\":\"3\",\"key\":\"1h7g24\"}],[\"circle\",{\"cx\":\"6\",\"cy\":\"18\",\"r\":\"3\",\"key\":\"fqmcym\"}]],\"className\":\"lucide-git-branch\",\"size\":18}]}],[\"$\",\"h3\",null,{\"children\":\"面向探索型工作的分支体验\"}],[\"$\",\"p\",null,{\"children\":\"支持对话分支、历史导航与项目级上下文回看,适合多轮分析与方案比较。\"}]]}],[\"$\",\"article\",\"对文档型工作更友好\",{\"className\":\"annodex-card\",\"children\":[[\"$\",\"div\",null,{\"className\":\"annodex-card-icon\",\"children\":[\"$\",\"$L6\",null,{\"ref\":\"$undefined\",\"iconNode\":[[\"path\",{\"d\":\"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z\",\"key\":\"1oefj6\"}],[\"path\",{\"d\":\"M14 2v5a1 1 0 0 0 1 1h5\",\"key\":\"wfsgrz\"}],[\"path\",{\"d\":\"M10 9H8\",\"key\":\"b1mrlr\"}],[\"path\",{\"d\":\"M16 13H8\",\"key\":\"t4e002\"}],[\"path\",{\"d\":\"M16 17H8\",\"key\":\"z1uh3a\"}]],\"className\":\"lucide-file-text\",\"size\":18}]}],[\"$\",\"h3\",null,{\"children\":\"对文档型工作更友好\"}],[\"$\",\"p\",null,{\"children\":\"不仅适合 coding,也适合读报告、写说明、整理分析结果与输出结构化总结。\"}]]}],[\"$\",\"article\",\"降低非 CLI 用户门槛\",{\"className\":\"annodex-card\",\"children\":[[\"$\",\"div\",null,{\"className\":\"annodex-card-icon\",\"children\":[\"$\",\"$L6\",null,{\"ref\":\"$undefined\",\"iconNode\":\"$0:f:0:1:1:children:0:props:children:0:props:children:0:props:children:0:props:children:4:props:children:1:props:children:1:props:iconNode\",\"className\":\"lucide-square-terminal\",\"size\":18}]}],[\"$\",\"h3\",null,{\"children\":\"降低非 CLI 用户门槛\"}],[\"$\",\"p\",null,{\"children\":\"让团队成员无需长期停留在终端,也能理解 agent 在做什么、结果产出在哪里。\"}]]}]]}]]}]\n"])</script><script>self.__next_f.push([1,"d:[\"$\",\"section\",null,{\"className\":\"annodex-section annodex-section-alt\",\"children\":[[\"$\",\"div\",null,{\"className\":\"annodex-section-head\",\"children\":[[\"$\",\"div\",null,{\"className\":\"annodex-kicker\",\"children\":\"Workflow\"}],[\"$\",\"h2\",null,{\"children\":\"典型使用路径\"}]]}],[\"$\",\"div\",null,{\"className\":\"annodex-workflow\",\"children\":[[\"$\",\"div\",\"选择项目目录\",{\"className\":\"annodex-workflow-step\",\"children\":[[\"$\",\"div\",null,{\"className\":\"annodex-workflow-index\",\"children\":[\"0\",1]}],[\"$\",\"div\",null,{\"children\":\"选择项目目录\"}]]}],[\"$\",\"div\",\"创建或继续会话\",{\"className\":\"annodex-workflow-step\",\"children\":[[\"$\",\"div\",null,{\"className\":\"annodex-workflow-index\",\"children\":[\"0\",2]}],[\"$\",\"div\",null,{\"children\":\"创建或继续会话\"}]]}],[\"$\",\"div\",\"查看文件与上下文\",{\"className\":\"annodex-workflow-step\",\"children\":[[\"$\",\"div\",null,{\"className\":\"annodex-workflow-index\",\"children\":[\"0\",3]}],[\"$\",\"div\",null,{\"children\":\"查看文件与上下文\"}]]}],[\"$\",\"div\",\"观察工具运行态\",{\"className\":\"annodex-workflow-step\",\"children\":[[\"$\",\"div\",null,{\"className\":\"annodex-workflow-index\",\"children\":[\"0\",4]}],[\"$\",\"div\",null,{\"children\":\"观察工具运行态\"}]]}],[\"$\",\"div\",\"输出结果或结论\",{\"className\":\"annodex-workflow-step\",\"children\":[[\"$\",\"div\",null,{\"className\":\"annodex-workflow-index\",\"children\":[\"0\",5]}],[\"$\",\"div\",null,{\"children\":\"输出结果或结论\"}]]}]]}]]}]\ne:[\"$\",\"section\",null,{\"className\":\"annodex-section\",\"children\":[[\"$\",\"div\",null,{\"className\":\"annodex-section-head\",\"children\":[[\"$\",\"div\",null,{\"className\":\"annodex-kicker\",\"children\":\"Use cases\"}],[\"$\",\"h2\",null,{\"children\":\"适合哪些团队与任务\"}]]}],[\"$\",\"div\",null,{\"className\":\"annodex-usecases\",\"children\":[[\"$\",\"div\",\"生物信息学与数据分析项目\",{\"className\":\"annodex-usecase\",\"children\":\"生物信息学与数据分析项目\"}],[\"$\",\"div\",\"Codex / agent 工作流的浏览器前端\",{\"className\":\"annodex-usecase\",\"children\":\"Codex / agent 工作流的浏览器前端\"}],[\"$\",\"div\",\"团队演示、培训与非 CLI 用户接入\",{\"className\":\"annodex-usecase\",\"children\":\"团队演示、培训与非 CLI 用户接入\"}],[\"$\",\"div\",\"多项目知识工作与持续迭代协作\",{\"className\":\"annodex-usecase\",\"children\":\"多项目知识工作与持续迭代协作\"}]]}]]}]\nf:[\"$\",\"section\",null,{\"className\":\"annodex-section annodex-cta-section\",\"children\":[\"$\",\"div\",null,{\"className\":\"annodex-cta-card\",\"children\":[[\"$\",\"div\",null,{\"children\":[[\"$\",\"div\",null,{\"className\":\"annodex-kicker\",\"children\":\"Start\"}],[\"$\",\"h2\",null,{\"children\":\"先读文档,再进入工作台\"}],[\"$\",\"p\",null,{\"children\":\"如果你希望把 Codex 接入更稳定的浏览器工作流,最合理的起点是先了解结构,再开始使用。\"}]]}],[\"$\",\"div\",null,{\"className\":\"annodex-actions\",\"children\":[[\"$\",\"$L5\",null,{\"href\":\"/docs\",\"className\":\"annodex-button annodex-button-primary\",\"children\":\"查看文档\"}],[\"$\",\"$L5\",null,{\"href\":\"/workspace\",\"className\":\"annodex-button annodex-button-secondary\",\"children\":\"进入工作台\"}]]}]]}]}]\n10:[\"$\",\"$L13\",null,{\"children\":[\"$\",\"$14\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@15\"}]}]\n11:[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L16\",null,{\"children\":\"$L17\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$L18\",null,{\"children\":[\"$\",\"$14\",null,{\"name\":\"Next.Metadata\",\"children\":\"$L19\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}]\n"])</script><script>self.__next_f.push([1,"17:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"1a:I[86869,[],\"IconMark\"]\n15:null\n19:[[\"$\",\"title\",\"0\",{\"children\":\"annodex\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"AI-native bioinformatics workspace by Annoroad\"}],[\"$\",\"link\",\"2\",{\"rel\":\"shortcut icon\",\"href\":\"/favicon.svg\",\"type\":\"image/svg+xml\"}],[\"$\",\"link\",\"3\",{\"rel\":\"icon\",\"href\":\"/favicon.svg\",\"type\":\"image/svg+xml\"}],[\"$\",\"$L1a\",\"4\",{}]]\n"])</script></body></html>
1
+ <!DOCTYPE html><html id="__next_error__"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-4056c182d935c524.js"/><script src="/_next/static/chunks/4bd1b696-e356ca5ba0218e27.js" async=""></script><script src="/_next/static/chunks/3794-123fdf632563f469.js" async=""></script><script src="/_next/static/chunks/main-app-45a0f19af99d61b6.js" async=""></script><title>annodex</title><meta name="description" content="AI-native bioinformatics workspace by Annoroad"/><link rel="shortcut icon" href="/favicon.svg" type="image/svg+xml"/><link rel="icon" href="/favicon.svg" type="image/svg+xml"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><script src="/_next/static/chunks/webpack-4056c182d935c524.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[11056,[\"4550\",\"static/chunks/4550-a87684eaeae37462.js\",\"7177\",\"static/chunks/app/layout-6f383e02b7aa4d93.js\"],\"RootProvider\"]\n3:I[57121,[],\"\"]\n4:I[74581,[],\"\"]\n6:I[90484,[],\"OutletBoundary\"]\n7:\"$Sreact.suspense\"\n9:I[90484,[],\"ViewportBoundary\"]\nb:I[90484,[],\"MetadataBoundary\"]\nd:I[27123,[],\"default\",1]\n:HL[\"/_next/static/media/7deddc85b7ffd1dc-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/ec14413c594b3356-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/css/fddca953485158e4.css\",\"style\"]\n:HL[\"/_next/static/css/a3dc0b6797dcdda6.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{}]},\"$undefined\",\"$undefined\",16],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/fddca953485158e4.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/a3dc0b6797dcdda6.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"__variable_66b8ca\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"(function(){try{var t=localStorage.getItem(\\\"annodex-theme\\\");if(t===\\\"dark\\\")document.documentElement.classList.add(\\\"dark\\\")}catch(e){}})();\"}}]}],[\"$\",\"body\",null,{\"style\":{\"minHeight\":\"100dvh\",\"display\":\"flex\",\"flexDirection\":\"column\"},\"children\":[\"$\",\"$L2\",null,{\"children\":[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[\"$L5\",null,[\"$\",\"$L6\",null,{\"children\":[\"$\",\"$7\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@8\"}]}]]}],{},null,false,null]},null,false,null],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L9\",null,{\"children\":\"$La\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$Lb\",null,{\"children\":[\"$\",\"$7\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lc\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$d\",[]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"ulp8aFG3qUxVMxSAW5wBJ\"}\n"])</script><script>self.__next_f.push([1,"5:E{\"digest\":\"NEXT_REDIRECT;replace;/workspace;307;\"}\n"])</script><script>self.__next_f.push([1,"a:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"e:I[86869,[],\"IconMark\"]\n8:null\nc:[[\"$\",\"title\",\"0\",{\"children\":\"annodex\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"AI-native bioinformatics workspace by Annoroad\"}],[\"$\",\"link\",\"2\",{\"rel\":\"shortcut icon\",\"href\":\"/favicon.svg\",\"type\":\"image/svg+xml\"}],[\"$\",\"link\",\"3\",{\"rel\":\"icon\",\"href\":\"/favicon.svg\",\"type\":\"image/svg+xml\"}],[\"$\",\"$Le\",\"4\",{}]]\n"])</script></body></html>
@@ -1,5 +1,7 @@
1
1
  {
2
+ "status": 307,
2
3
  "headers": {
4
+ "location": "/workspace",
3
5
  "x-nextjs-stale-time": "300",
4
6
  "x-nextjs-prerender": "1",
5
7
  "x-next-cache-tags": "_N_T_/layout,_N_T_/page,_N_T_/,_N_T_/index"
@@ -1,31 +1,19 @@
1
1
  1:"$Sreact.fragment"
2
- 2:I[67504,["8500","static/chunks/8500-f62a38ff68ab7f42.js","5122","static/chunks/5122-6e0d29bd15f079e1.js","7177","static/chunks/app/layout-11cc1f48ff425fd0.js"],"RootProvider"]
2
+ 2:I[11056,["4550","static/chunks/4550-a87684eaeae37462.js","7177","static/chunks/app/layout-6f383e02b7aa4d93.js"],"RootProvider"]
3
3
  3:I[57121,[],""]
4
4
  4:I[74581,[],""]
5
- 5:I[98500,["8500","static/chunks/8500-f62a38ff68ab7f42.js","8974","static/chunks/app/page-eb62ac677a87b790.js"],""]
6
- 6:I[99535,["8500","static/chunks/8500-f62a38ff68ab7f42.js","8974","static/chunks/app/page-eb62ac677a87b790.js"],"default"]
7
- 12:I[27123,[],"default",1]
5
+ 6:I[90484,[],"OutletBoundary"]
6
+ 7:"$Sreact.suspense"
7
+ 9:I[90484,[],"ViewportBoundary"]
8
+ b:I[90484,[],"MetadataBoundary"]
9
+ d:I[27123,[],"default",1]
8
10
  :HL["/_next/static/media/7deddc85b7ffd1dc-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
9
11
  :HL["/_next/static/media/ec14413c594b3356-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
10
12
  :HL["/_next/static/css/fddca953485158e4.css","style"]
11
- :HL["/_next/static/css/876e881d7ba02ed2.css","style"]
12
- 0:{"P":null,"c":["",""],"q":"","i":false,"f":[[["",{"children":["__PAGE__",{}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/fddca953485158e4.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/876e881d7ba02ed2.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","className":"__variable_66b8ca","suppressHydrationWarning":true,"children":[["$","head",null,{"children":["$","script",null,{"dangerouslySetInnerHTML":{"__html":"(function(){try{var t=localStorage.getItem(\"annodex-theme\");if(t===\"dark\")document.documentElement.classList.add(\"dark\")}catch(e){}})();"}}]}],["$","body",null,{"style":{"minHeight":"100dvh","display":"flex","flexDirection":"column"},"children":["$","$L2",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}]]}]]}],{"children":[["$","$1","c",{"children":[["$","main",null,{"className":"fd-container annodex-home","children":[["$","section",null,{"className":"annodex-hero","children":[["$","div",null,{"className":"annodex-hero-copy","children":[["$","div",null,{"className":"annodex-eyebrow","children":"@seqyuan/annodex · browser-native Codex workspace"}],["$","h1",null,{"children":"让 Codex 成为真正可用的工作台"}],["$","p",null,{"className":"annodex-lead","children":"annodex 将项目、会话、文件、工具运行态和模型配置收敛到一个浏览器界面中, 为 AI 编程与分析工作流补上产品层。"}],["$","p",null,{"className":"annodex-sublead","children":"它不是替代 Codex,而是让 Codex 更适合真实团队、真实项目和真实迭代过程。"}],["$","div",null,{"className":"annodex-actions","children":[["$","$L5",null,{"href":"/docs","className":"annodex-button annodex-button-primary","children":["阅读文档 ",["$","$L6",null,{"ref":"$undefined","iconNode":[["path",{"d":"M5 12h14","key":"1ays0h"}],["path",{"d":"m12 5 7 7-7 7","key":"xquz4c"}]],"className":"lucide-arrow-right","size":16}]]}],["$","$L5",null,{"href":"/workspace","className":"annodex-button annodex-button-secondary","children":["打开工作台 ",["$","$L6",null,{"ref":"$undefined","iconNode":[["path",{"d":"m7 11 2-2-2-2","key":"1lz0vl"}],["path",{"d":"M11 13h4","key":"1p7l4v"}],["rect",{"width":"18","height":"18","x":"3","y":"3","rx":"2","ry":"2","key":"1m3agn"}]],"className":"lucide-square-terminal","size":16}]]}]]}],["$","div",null,{"className":"annodex-install","children":[["$","span",null,{"children":"Quick start"}],["$","pre",null,{"children":["$","code",null,{"children":["npm i -g @seqyuan/annodex","\n","annodex"]}]}]]}]]}],["$","div",null,{"className":"annodex-preview","aria-label":"Annodex workspace preview","children":[["$","div",null,{"className":"annodex-preview-bar","children":[["$","span",null,{}],["$","span",null,{}],["$","span",null,{}],["$","div",null,{"children":"localhost:30121"}]]}],["$","div",null,{"className":"annodex-preview-body","children":[["$","aside",null,{"children":[["$","div",null,{"className":"annodex-preview-title","children":"Projects"}],["$","div",null,{"className":"annodex-preview-item annodex-preview-item-active","children":"rna-seq-atlas"}],["$","div",null,{"className":"annodex-preview-item","children":"single-cell-qc"}],["$","div",null,{"className":"annodex-preview-item","children":"variant-review"}]]}],["$","section",null,{"children":[["$","div",null,{"className":"annodex-preview-chips","children":[["$","span",null,{"children":"deepseek-chat"}],["$","span",null,{"children":"tools: full"}],["$","span",null,{"children":"thinking: medium"}]]}],"$L7","$L8","$L9"]}]]}]]}]]}],"$La","$Lb","$Lc","$Ld","$Le","$Lf"]}],null,"$L10"]}],{},null,false,null]},null,false,null],"$L11",false]],"m":"$undefined","G":["$12",[]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"s_6_fNU625ME9ztugxAk2"}
13
- 13:I[90484,[],"OutletBoundary"]
14
- 14:"$Sreact.suspense"
15
- 16:I[90484,[],"ViewportBoundary"]
16
- 18:I[90484,[],"MetadataBoundary"]
17
- 7:["$","div",null,{"className":"annodex-bubble annodex-bubble-assistant","children":"我可以检查这个项目目录,总结当前分析进度,并起草发给同事的说明。"}]
18
- 8:["$","div",null,{"className":"annodex-bubble annodex-bubble-tool","children":[["$","strong",null,{"children":"Running tools"}],["$","div",null,{"className":"annodex-tool-flow","children":[["$","span",null,{"children":"read"}],["$","span",null,{"children":"grep"}],["$","span",null,{"children":"bash"}]]}]]}]
19
- 9:["$","div",null,{"className":"annodex-bubble annodex-bubble-user","children":"顺便整理成一份简洁的项目更新。"}]
20
- a:["$","section",null,{"className":"annodex-section","children":[["$","div",null,{"className":"annodex-section-head","children":[["$","div",null,{"className":"annodex-kicker","children":"Why annodex"}],["$","h2",null,{"children":"不是又一个聊天框,而是可工作的壳层"}],["$","p",null,{"children":"CLI 强于执行,却不擅长文件审阅、状态追踪与多项目操作。annodex 的职责, 是把底层 agent 能力包装成更适合日常工作的界面。"}]]}],["$","div",null,{"className":"annodex-grid","children":[["$","article","项目驱动的会话管理",{"className":"annodex-card","children":[["$","div",null,{"className":"annodex-card-icon","children":["$","$L6",null,{"ref":"$undefined","iconNode":[["path",{"d":"M20 10a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1h-2.5a1 1 0 0 1-.8-.4l-.9-1.2A1 1 0 0 0 15 3h-2a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1Z","key":"hod4my"}],["path",{"d":"M20 21a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1h-2.9a1 1 0 0 1-.88-.55l-.42-.85a1 1 0 0 0-.92-.6H13a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1Z","key":"w4yl2u"}],["path",{"d":"M3 5a2 2 0 0 0 2 2h3","key":"f2jnh7"}],["path",{"d":"M3 3v13a2 2 0 0 0 2 2h3","key":"k8epm1"}]],"className":"lucide-folder-tree","size":18}]}],["$","h3",null,{"children":"项目驱动的会话管理"}],["$","p",null,{"children":"按项目组织聊天、文件与上下文,而不是把工作散落在终端历史里。"}]]}],["$","article","实时运行态可见",{"className":"annodex-card","children":[["$","div",null,{"className":"annodex-card-icon","children":["$","$L6",null,{"ref":"$undefined","iconNode":[["path",{"d":"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2","key":"169zse"}]],"className":"lucide-activity","size":18}]}],["$","h3",null,{"children":"实时运行态可见"}],["$","p",null,{"children":"工具执行、SSE 流、模型忙碌状态、停止按钮与进度反馈都可以直接观察。"}]]}],["$","article","模型与工具配置统一",{"className":"annodex-card","children":[["$","div",null,{"className":"annodex-card-icon","children":["$","$L6",null,{"ref":"$undefined","iconNode":[["path",{"d":"M12 8V4H8","key":"hb8ula"}],["rect",{"width":"16","height":"12","x":"4","y":"8","rx":"2","key":"enze0r"}],["path",{"d":"M2 14h2","key":"vft8re"}],["path",{"d":"M20 14h2","key":"4cs60a"}],["path",{"d":"M15 13v2","key":"1xurst"}],["path",{"d":"M9 13v2","key":"rq6x2g"}]],"className":"lucide-bot","size":18}]}],["$","h3",null,{"children":"模型与工具配置统一"}],["$","p",null,{"children":"在浏览器中切换 provider、model、thinking level 与工具预设,降低使用门槛。"}]]}],["$","article","适合分析型工作流",{"className":"annodex-card","children":[["$","div",null,{"className":"annodex-card-icon","children":["$","$L6",null,{"ref":"$undefined","iconNode":[["path",{"d":"M14 2v6a2 2 0 0 0 .245.96l5.51 10.08A2 2 0 0 1 18 22H6a2 2 0 0 1-1.755-2.96l5.51-10.08A2 2 0 0 0 10 8V2","key":"18mbvz"}],["path",{"d":"M6.453 15h11.094","key":"3shlmq"}],["path",{"d":"M8.5 2h7","key":"csnxdl"}]],"className":"lucide-flask-conical","size":18}]}],["$","h3",null,{"children":"适合分析型工作流"}],["$","p",null,{"children":"代码、Markdown、图像、PDF、表格与报告在同一工作区中查看与整理。"}]]}]]}]]}]
21
- b:["$","section",null,{"className":"annodex-section annodex-section-alt","children":[["$","div",null,{"className":"annodex-section-head","children":[["$","div",null,{"className":"annodex-kicker","children":"Architecture"}],["$","h2",null,{"children":"围绕 Codex app-server 构建的 Web 工作流"}],["$","p",null,{"children":"浏览器负责交互,Next.js 负责 API 与会话包装,Codex app-server 负责底层线程与 turn 协议。"}]]}],["$","div",null,{"className":"annodex-architecture","children":[["$","div",null,{"children":[["$","$L6",null,{"ref":"$undefined","iconNode":[["rect",{"width":"18","height":"18","x":"3","y":"3","rx":"2","key":"afitv7"}],["path",{"d":"M3 9h18","key":"1pudct"}],["path",{"d":"M9 21V9","key":"1oto5p"}]],"className":"lucide-panels-top-left","size":18}]," Browser UI"]}],["$","span",null,{"children":"→"}],["$","div",null,{"children":"Next.js Server"}],["$","span",null,{"children":"→"}],["$","div",null,{"children":"Codex app-server"}]]}]]}]
22
- c:["$","section",null,{"className":"annodex-section","children":[["$","div",null,{"className":"annodex-section-head","children":[["$","div",null,{"className":"annodex-kicker","children":"Capabilities"}],["$","h2",null,{"children":"核心能力"}],["$","p",null,{"children":"annodex 关注的不是单次提问,而是项目生命周期中的连续工作体验。"}]]}],["$","div",null,{"className":"annodex-grid annodex-grid-three","children":[["$","article","会话、文件与结果同屏协作",{"className":"annodex-card","children":[["$","div",null,{"className":"annodex-card-icon","children":["$","$L6",null,{"ref":"$undefined","iconNode":[["rect",{"width":"8","height":"8","x":"3","y":"3","rx":"2","key":"by2w9f"}],["path",{"d":"M7 11v4a2 2 0 0 0 2 2h4","key":"xkn7yn"}],["rect",{"width":"8","height":"8","x":"13","y":"13","rx":"2","key":"1cgmvn"}]],"className":"lucide-workflow","size":18}]}],["$","h3",null,{"children":"会话、文件与结果同屏协作"}],["$","p",null,{"children":"在同一工作台中切换聊天、文件树、预览面板与分支导航,减少上下文切换成本。"}]]}],["$","article","SSE 事件流与运行反馈",{"className":"annodex-card","children":[["$","div",null,{"className":"annodex-card-icon","children":["$","$L6",null,{"ref":"$undefined","iconNode":[["path",{"d":"M16.247 7.761a6 6 0 0 1 0 8.478","key":"1fwjs5"}],["path",{"d":"M19.075 4.933a10 10 0 0 1 0 14.134","key":"ehdyv1"}],["path",{"d":"M4.925 19.067a10 10 0 0 1 0-14.134","key":"1q22gi"}],["path",{"d":"M7.753 16.239a6 6 0 0 1 0-8.478","key":"r2q7qm"}],["circle",{"cx":"12","cy":"12","r":"2","key":"1c9p78"}]],"className":"lucide-radio","size":18}]}],["$","h3",null,{"children":"SSE 事件流与运行反馈"}],["$","p",null,{"children":"不只显示回答文本,也显示 agent 当前是否仍在工作、是否正在调用工具、是否需要重连。"}]]}],["$","article","Codex app-server 的产品外壳",{"className":"annodex-card","children":[["$","div",null,{"className":"annodex-card-icon","children":["$","$L6",null,{"ref":"$undefined","iconNode":[["path",{"d":"m10.852 14.772-.383.923","key":"11vil6"}],["path",{"d":"M13.148 14.772a3 3 0 1 0-2.296-5.544l-.383-.923","key":"1v3clb"}],["path",{"d":"m13.148 9.228.383-.923","key":"t2zzyc"}],["path",{"d":"m13.53 15.696-.382-.924a3 3 0 1 1-2.296-5.544","key":"1bxfiv"}],["path",{"d":"m14.772 10.852.923-.383","key":"k9m8cz"}],["path",{"d":"m14.772 13.148.923.383","key":"1xvhww"}],["path",{"d":"M4.5 10H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-.5","key":"tn8das"}],["path",{"d":"M4.5 14H4a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-4a2 2 0 0 0-2-2h-.5","key":"1g2pve"}],["path",{"d":"M6 18h.01","key":"uhywen"}],["path",{"d":"M6 6h.01","key":"1utrut"}],["path",{"d":"m9.228 10.852-.923-.383","key":"1wtb30"}],["path",{"d":"m9.228 13.148-.923.383","key":"1a830x"}]],"className":"lucide-server-cog","size":18}]}],["$","h3",null,{"children":"Codex app-server 的产品外壳"}],["$","p",null,{"children":"保留底层 thread / turn 能力,同时在浏览器提供更友好的交互层与会话包装。"}]]}],["$","article","面向探索型工作的分支体验",{"className":"annodex-card","children":[["$","div",null,{"className":"annodex-card-icon","children":["$","$L6",null,{"ref":"$undefined","iconNode":[["path",{"d":"M15 6a9 9 0 0 0-9 9V3","key":"1cii5b"}],["circle",{"cx":"18","cy":"6","r":"3","key":"1h7g24"}],["circle",{"cx":"6","cy":"18","r":"3","key":"fqmcym"}]],"className":"lucide-git-branch","size":18}]}],["$","h3",null,{"children":"面向探索型工作的分支体验"}],["$","p",null,{"children":"支持对话分支、历史导航与项目级上下文回看,适合多轮分析与方案比较。"}]]}],["$","article","对文档型工作更友好",{"className":"annodex-card","children":[["$","div",null,{"className":"annodex-card-icon","children":["$","$L6",null,{"ref":"$undefined","iconNode":[["path",{"d":"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z","key":"1oefj6"}],["path",{"d":"M14 2v5a1 1 0 0 0 1 1h5","key":"wfsgrz"}],["path",{"d":"M10 9H8","key":"b1mrlr"}],["path",{"d":"M16 13H8","key":"t4e002"}],["path",{"d":"M16 17H8","key":"z1uh3a"}]],"className":"lucide-file-text","size":18}]}],["$","h3",null,{"children":"对文档型工作更友好"}],["$","p",null,{"children":"不仅适合 coding,也适合读报告、写说明、整理分析结果与输出结构化总结。"}]]}],["$","article","降低非 CLI 用户门槛",{"className":"annodex-card","children":[["$","div",null,{"className":"annodex-card-icon","children":["$","$L6",null,{"ref":"$undefined","iconNode":"$0:f:0:1:1:children:0:props:children:0:props:children:0:props:children:0:props:children:4:props:children:1:props:children:1:props:iconNode","className":"lucide-square-terminal","size":18}]}],["$","h3",null,{"children":"降低非 CLI 用户门槛"}],["$","p",null,{"children":"让团队成员无需长期停留在终端,也能理解 agent 在做什么、结果产出在哪里。"}]]}]]}]]}]
23
- d:["$","section",null,{"className":"annodex-section annodex-section-alt","children":[["$","div",null,{"className":"annodex-section-head","children":[["$","div",null,{"className":"annodex-kicker","children":"Workflow"}],["$","h2",null,{"children":"典型使用路径"}]]}],["$","div",null,{"className":"annodex-workflow","children":[["$","div","选择项目目录",{"className":"annodex-workflow-step","children":[["$","div",null,{"className":"annodex-workflow-index","children":["0",1]}],["$","div",null,{"children":"选择项目目录"}]]}],["$","div","创建或继续会话",{"className":"annodex-workflow-step","children":[["$","div",null,{"className":"annodex-workflow-index","children":["0",2]}],["$","div",null,{"children":"创建或继续会话"}]]}],["$","div","查看文件与上下文",{"className":"annodex-workflow-step","children":[["$","div",null,{"className":"annodex-workflow-index","children":["0",3]}],["$","div",null,{"children":"查看文件与上下文"}]]}],["$","div","观察工具运行态",{"className":"annodex-workflow-step","children":[["$","div",null,{"className":"annodex-workflow-index","children":["0",4]}],["$","div",null,{"children":"观察工具运行态"}]]}],["$","div","输出结果或结论",{"className":"annodex-workflow-step","children":[["$","div",null,{"className":"annodex-workflow-index","children":["0",5]}],["$","div",null,{"children":"输出结果或结论"}]]}]]}]]}]
24
- e:["$","section",null,{"className":"annodex-section","children":[["$","div",null,{"className":"annodex-section-head","children":[["$","div",null,{"className":"annodex-kicker","children":"Use cases"}],["$","h2",null,{"children":"适合哪些团队与任务"}]]}],["$","div",null,{"className":"annodex-usecases","children":[["$","div","生物信息学与数据分析项目",{"className":"annodex-usecase","children":"生物信息学与数据分析项目"}],["$","div","Codex / agent 工作流的浏览器前端",{"className":"annodex-usecase","children":"Codex / agent 工作流的浏览器前端"}],["$","div","团队演示、培训与非 CLI 用户接入",{"className":"annodex-usecase","children":"团队演示、培训与非 CLI 用户接入"}],["$","div","多项目知识工作与持续迭代协作",{"className":"annodex-usecase","children":"多项目知识工作与持续迭代协作"}]]}]]}]
25
- f:["$","section",null,{"className":"annodex-section annodex-cta-section","children":["$","div",null,{"className":"annodex-cta-card","children":[["$","div",null,{"children":[["$","div",null,{"className":"annodex-kicker","children":"Start"}],["$","h2",null,{"children":"先读文档,再进入工作台"}],["$","p",null,{"children":"如果你希望把 Codex 接入更稳定的浏览器工作流,最合理的起点是先了解结构,再开始使用。"}]]}],["$","div",null,{"className":"annodex-actions","children":[["$","$L5",null,{"href":"/docs","className":"annodex-button annodex-button-primary","children":"查看文档"}],["$","$L5",null,{"href":"/workspace","className":"annodex-button annodex-button-secondary","children":"进入工作台"}]]}]]}]}]
26
- 10:["$","$L13",null,{"children":["$","$14",null,{"name":"Next.MetadataOutlet","children":"$@15"}]}]
27
- 11:["$","$1","h",{"children":[null,["$","$L16",null,{"children":"$L17"}],["$","div",null,{"hidden":true,"children":["$","$L18",null,{"children":["$","$14",null,{"name":"Next.Metadata","children":"$L19"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}]
28
- 17:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
29
- 1a:I[86869,[],"IconMark"]
30
- 15:null
31
- 19:[["$","title","0",{"children":"annodex"}],["$","meta","1",{"name":"description","content":"AI-native bioinformatics workspace by Annoroad"}],["$","link","2",{"rel":"shortcut icon","href":"/favicon.svg","type":"image/svg+xml"}],["$","link","3",{"rel":"icon","href":"/favicon.svg","type":"image/svg+xml"}],["$","$L1a","4",{}]]
13
+ :HL["/_next/static/css/a3dc0b6797dcdda6.css","style"]
14
+ 0:{"P":null,"c":["",""],"q":"","i":false,"f":[[["",{"children":["__PAGE__",{}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/fddca953485158e4.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/a3dc0b6797dcdda6.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","className":"__variable_66b8ca","suppressHydrationWarning":true,"children":[["$","head",null,{"children":["$","script",null,{"dangerouslySetInnerHTML":{"__html":"(function(){try{var t=localStorage.getItem(\"annodex-theme\");if(t===\"dark\")document.documentElement.classList.add(\"dark\")}catch(e){}})();"}}]}],["$","body",null,{"style":{"minHeight":"100dvh","display":"flex","flexDirection":"column"},"children":["$","$L2",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}]]}]]}],{"children":[["$","$1","c",{"children":["$L5",null,["$","$L6",null,{"children":["$","$7",null,{"name":"Next.MetadataOutlet","children":"$@8"}]}]]}],{},null,false,null]},null,false,null],["$","$1","h",{"children":[null,["$","$L9",null,{"children":"$La"}],["$","div",null,{"hidden":true,"children":["$","$Lb",null,{"children":["$","$7",null,{"name":"Next.Metadata","children":"$Lc"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],false]],"m":"$undefined","G":["$d",[]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"ulp8aFG3qUxVMxSAW5wBJ"}
15
+ 5:E{"digest":"NEXT_REDIRECT;replace;/workspace;307;"}
16
+ a:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
17
+ e:I[86869,[],"IconMark"]
18
+ 8:null
19
+ c:[["$","title","0",{"children":"annodex"}],["$","meta","1",{"name":"description","content":"AI-native bioinformatics workspace by Annoroad"}],["$","link","2",{"rel":"shortcut icon","href":"/favicon.svg","type":"image/svg+xml"}],["$","link","3",{"rel":"icon","href":"/favicon.svg","type":"image/svg+xml"}],["$","$Le","4",{}]]
@@ -1,15 +1,6 @@
1
1
  1:"$Sreact.fragment"
2
- 2:I[98500,["8500","static/chunks/8500-f62a38ff68ab7f42.js","8974","static/chunks/app/page-eb62ac677a87b790.js"],""]
3
- 3:I[99535,["8500","static/chunks/8500-f62a38ff68ab7f42.js","8974","static/chunks/app/page-eb62ac677a87b790.js"],"default"]
4
- c:I[90484,[],"OutletBoundary"]
5
- d:"$Sreact.suspense"
6
- 0:{"rsc":["$","$1","c",{"children":[["$","main",null,{"className":"fd-container annodex-home","children":[["$","section",null,{"className":"annodex-hero","children":[["$","div",null,{"className":"annodex-hero-copy","children":[["$","div",null,{"className":"annodex-eyebrow","children":"@seqyuan/annodex · browser-native Codex workspace"}],["$","h1",null,{"children":"让 Codex 成为真正可用的工作台"}],["$","p",null,{"className":"annodex-lead","children":"annodex 将项目、会话、文件、工具运行态和模型配置收敛到一个浏览器界面中, 为 AI 编程与分析工作流补上产品层。"}],["$","p",null,{"className":"annodex-sublead","children":"它不是替代 Codex,而是让 Codex 更适合真实团队、真实项目和真实迭代过程。"}],["$","div",null,{"className":"annodex-actions","children":[["$","$L2",null,{"href":"/docs","className":"annodex-button annodex-button-primary","children":["阅读文档 ",["$","$L3",null,{"iconNode":[["path",{"d":"M5 12h14","key":"1ays0h"}],["path",{"d":"m12 5 7 7-7 7","key":"xquz4c"}]],"className":"lucide-arrow-right","size":16}]]}],["$","$L2",null,{"href":"/workspace","className":"annodex-button annodex-button-secondary","children":["打开工作台 ",["$","$L3",null,{"iconNode":[["path",{"d":"m7 11 2-2-2-2","key":"1lz0vl"}],["path",{"d":"M11 13h4","key":"1p7l4v"}],["rect",{"width":"18","height":"18","x":"3","y":"3","rx":"2","ry":"2","key":"1m3agn"}]],"className":"lucide-square-terminal","size":16}]]}]]}],["$","div",null,{"className":"annodex-install","children":[["$","span",null,{"children":"Quick start"}],["$","pre",null,{"children":["$","code",null,{"children":["npm i -g @seqyuan/annodex","\n","annodex"]}]}]]}]]}],["$","div",null,{"className":"annodex-preview","aria-label":"Annodex workspace preview","children":[["$","div",null,{"className":"annodex-preview-bar","children":[["$","span",null,{}],["$","span",null,{}],["$","span",null,{}],["$","div",null,{"children":"localhost:30121"}]]}],["$","div",null,{"className":"annodex-preview-body","children":[["$","aside",null,{"children":[["$","div",null,{"className":"annodex-preview-title","children":"Projects"}],["$","div",null,{"className":"annodex-preview-item annodex-preview-item-active","children":"rna-seq-atlas"}],["$","div",null,{"className":"annodex-preview-item","children":"single-cell-qc"}],["$","div",null,{"className":"annodex-preview-item","children":"variant-review"}]]}],["$","section",null,{"children":[["$","div",null,{"className":"annodex-preview-chips","children":[["$","span",null,{"children":"deepseek-chat"}],["$","span",null,{"children":"tools: full"}],["$","span",null,{"children":"thinking: medium"}]]}],["$","div",null,{"className":"annodex-bubble annodex-bubble-assistant","children":"我可以检查这个项目目录,总结当前分析进度,并起草发给同事的说明。"}],["$","div",null,{"className":"annodex-bubble annodex-bubble-tool","children":[["$","strong",null,{"children":"Running tools"}],["$","div",null,{"className":"annodex-tool-flow","children":[["$","span",null,{"children":"read"}],["$","span",null,{"children":"grep"}],["$","span",null,{"children":"bash"}]]}]]}],["$","div",null,{"className":"annodex-bubble annodex-bubble-user","children":"顺便整理成一份简洁的项目更新。"}]]}]]}]]}]]}],["$","section",null,{"className":"annodex-section","children":[["$","div",null,{"className":"annodex-section-head","children":[["$","div",null,{"className":"annodex-kicker","children":"Why annodex"}],["$","h2",null,{"children":"不是又一个聊天框,而是可工作的壳层"}],["$","p",null,{"children":"CLI 强于执行,却不擅长文件审阅、状态追踪与多项目操作。annodex 的职责, 是把底层 agent 能力包装成更适合日常工作的界面。"}]]}],["$","div",null,{"className":"annodex-grid","children":[["$","article","项目驱动的会话管理",{"className":"annodex-card","children":[["$","div",null,{"className":"annodex-card-icon","children":["$","$L3",null,{"iconNode":[["path",{"d":"M20 10a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1h-2.5a1 1 0 0 1-.8-.4l-.9-1.2A1 1 0 0 0 15 3h-2a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1Z","key":"hod4my"}],["path",{"d":"M20 21a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1h-2.9a1 1 0 0 1-.88-.55l-.42-.85a1 1 0 0 0-.92-.6H13a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1Z","key":"w4yl2u"}],["path",{"d":"M3 5a2 2 0 0 0 2 2h3","key":"f2jnh7"}],["path",{"d":"M3 3v13a2 2 0 0 0 2 2h3","key":"k8epm1"}]],"className":"lucide-folder-tree","size":18}]}],["$","h3",null,{"children":"项目驱动的会话管理"}],["$","p",null,{"children":"按项目组织聊天、文件与上下文,而不是把工作散落在终端历史里。"}]]}],["$","article","实时运行态可见",{"className":"annodex-card","children":[["$","div",null,{"className":"annodex-card-icon","children":["$","$L3",null,{"iconNode":[["path",{"d":"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2","key":"169zse"}]],"className":"lucide-activity","size":18}]}],["$","h3",null,{"children":"实时运行态可见"}],["$","p",null,{"children":"工具执行、SSE 流、模型忙碌状态、停止按钮与进度反馈都可以直接观察。"}]]}],"$L4","$L5"]}]]}],"$L6","$L7","$L8","$L9","$La"]}],null,"$Lb"]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"s_6_fNU625ME9ztugxAk2"}
7
- 4:["$","article","模型与工具配置统一",{"className":"annodex-card","children":[["$","div",null,{"className":"annodex-card-icon","children":["$","$L3",null,{"iconNode":[["path",{"d":"M12 8V4H8","key":"hb8ula"}],["rect",{"width":"16","height":"12","x":"4","y":"8","rx":"2","key":"enze0r"}],["path",{"d":"M2 14h2","key":"vft8re"}],["path",{"d":"M20 14h2","key":"4cs60a"}],["path",{"d":"M15 13v2","key":"1xurst"}],["path",{"d":"M9 13v2","key":"rq6x2g"}]],"className":"lucide-bot","size":18}]}],["$","h3",null,{"children":"模型与工具配置统一"}],["$","p",null,{"children":"在浏览器中切换 provider、model、thinking level 与工具预设,降低使用门槛。"}]]}]
8
- 5:["$","article","适合分析型工作流",{"className":"annodex-card","children":[["$","div",null,{"className":"annodex-card-icon","children":["$","$L3",null,{"iconNode":[["path",{"d":"M14 2v6a2 2 0 0 0 .245.96l5.51 10.08A2 2 0 0 1 18 22H6a2 2 0 0 1-1.755-2.96l5.51-10.08A2 2 0 0 0 10 8V2","key":"18mbvz"}],["path",{"d":"M6.453 15h11.094","key":"3shlmq"}],["path",{"d":"M8.5 2h7","key":"csnxdl"}]],"className":"lucide-flask-conical","size":18}]}],["$","h3",null,{"children":"适合分析型工作流"}],["$","p",null,{"children":"代码、Markdown、图像、PDF、表格与报告在同一工作区中查看与整理。"}]]}]
9
- 6:["$","section",null,{"className":"annodex-section annodex-section-alt","children":[["$","div",null,{"className":"annodex-section-head","children":[["$","div",null,{"className":"annodex-kicker","children":"Architecture"}],["$","h2",null,{"children":"围绕 Codex app-server 构建的 Web 工作流"}],["$","p",null,{"children":"浏览器负责交互,Next.js 负责 API 与会话包装,Codex app-server 负责底层线程与 turn 协议。"}]]}],["$","div",null,{"className":"annodex-architecture","children":[["$","div",null,{"children":[["$","$L3",null,{"iconNode":[["rect",{"width":"18","height":"18","x":"3","y":"3","rx":"2","key":"afitv7"}],["path",{"d":"M3 9h18","key":"1pudct"}],["path",{"d":"M9 21V9","key":"1oto5p"}]],"className":"lucide-panels-top-left","size":18}]," Browser UI"]}],["$","span",null,{"children":"→"}],["$","div",null,{"children":"Next.js Server"}],["$","span",null,{"children":"→"}],["$","div",null,{"children":"Codex app-server"}]]}]]}]
10
- 7:["$","section",null,{"className":"annodex-section","children":[["$","div",null,{"className":"annodex-section-head","children":[["$","div",null,{"className":"annodex-kicker","children":"Capabilities"}],["$","h2",null,{"children":"核心能力"}],["$","p",null,{"children":"annodex 关注的不是单次提问,而是项目生命周期中的连续工作体验。"}]]}],["$","div",null,{"className":"annodex-grid annodex-grid-three","children":[["$","article","会话、文件与结果同屏协作",{"className":"annodex-card","children":[["$","div",null,{"className":"annodex-card-icon","children":["$","$L3",null,{"iconNode":[["rect",{"width":"8","height":"8","x":"3","y":"3","rx":"2","key":"by2w9f"}],["path",{"d":"M7 11v4a2 2 0 0 0 2 2h4","key":"xkn7yn"}],["rect",{"width":"8","height":"8","x":"13","y":"13","rx":"2","key":"1cgmvn"}]],"className":"lucide-workflow","size":18}]}],["$","h3",null,{"children":"会话、文件与结果同屏协作"}],["$","p",null,{"children":"在同一工作台中切换聊天、文件树、预览面板与分支导航,减少上下文切换成本。"}]]}],["$","article","SSE 事件流与运行反馈",{"className":"annodex-card","children":[["$","div",null,{"className":"annodex-card-icon","children":["$","$L3",null,{"iconNode":[["path",{"d":"M16.247 7.761a6 6 0 0 1 0 8.478","key":"1fwjs5"}],["path",{"d":"M19.075 4.933a10 10 0 0 1 0 14.134","key":"ehdyv1"}],["path",{"d":"M4.925 19.067a10 10 0 0 1 0-14.134","key":"1q22gi"}],["path",{"d":"M7.753 16.239a6 6 0 0 1 0-8.478","key":"r2q7qm"}],["circle",{"cx":"12","cy":"12","r":"2","key":"1c9p78"}]],"className":"lucide-radio","size":18}]}],["$","h3",null,{"children":"SSE 事件流与运行反馈"}],["$","p",null,{"children":"不只显示回答文本,也显示 agent 当前是否仍在工作、是否正在调用工具、是否需要重连。"}]]}],["$","article","Codex app-server 的产品外壳",{"className":"annodex-card","children":[["$","div",null,{"className":"annodex-card-icon","children":["$","$L3",null,{"iconNode":[["path",{"d":"m10.852 14.772-.383.923","key":"11vil6"}],["path",{"d":"M13.148 14.772a3 3 0 1 0-2.296-5.544l-.383-.923","key":"1v3clb"}],["path",{"d":"m13.148 9.228.383-.923","key":"t2zzyc"}],["path",{"d":"m13.53 15.696-.382-.924a3 3 0 1 1-2.296-5.544","key":"1bxfiv"}],["path",{"d":"m14.772 10.852.923-.383","key":"k9m8cz"}],["path",{"d":"m14.772 13.148.923.383","key":"1xvhww"}],["path",{"d":"M4.5 10H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-.5","key":"tn8das"}],["path",{"d":"M4.5 14H4a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-4a2 2 0 0 0-2-2h-.5","key":"1g2pve"}],["path",{"d":"M6 18h.01","key":"uhywen"}],["path",{"d":"M6 6h.01","key":"1utrut"}],["path",{"d":"m9.228 10.852-.923-.383","key":"1wtb30"}],["path",{"d":"m9.228 13.148-.923.383","key":"1a830x"}]],"className":"lucide-server-cog","size":18}]}],["$","h3",null,{"children":"Codex app-server 的产品外壳"}],["$","p",null,{"children":"保留底层 thread / turn 能力,同时在浏览器提供更友好的交互层与会话包装。"}]]}],["$","article","面向探索型工作的分支体验",{"className":"annodex-card","children":[["$","div",null,{"className":"annodex-card-icon","children":["$","$L3",null,{"iconNode":[["path",{"d":"M15 6a9 9 0 0 0-9 9V3","key":"1cii5b"}],["circle",{"cx":"18","cy":"6","r":"3","key":"1h7g24"}],["circle",{"cx":"6","cy":"18","r":"3","key":"fqmcym"}]],"className":"lucide-git-branch","size":18}]}],["$","h3",null,{"children":"面向探索型工作的分支体验"}],["$","p",null,{"children":"支持对话分支、历史导航与项目级上下文回看,适合多轮分析与方案比较。"}]]}],["$","article","对文档型工作更友好",{"className":"annodex-card","children":[["$","div",null,{"className":"annodex-card-icon","children":["$","$L3",null,{"iconNode":[["path",{"d":"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z","key":"1oefj6"}],["path",{"d":"M14 2v5a1 1 0 0 0 1 1h5","key":"wfsgrz"}],["path",{"d":"M10 9H8","key":"b1mrlr"}],["path",{"d":"M16 13H8","key":"t4e002"}],["path",{"d":"M16 17H8","key":"z1uh3a"}]],"className":"lucide-file-text","size":18}]}],["$","h3",null,{"children":"对文档型工作更友好"}],["$","p",null,{"children":"不仅适合 coding,也适合读报告、写说明、整理分析结果与输出结构化总结。"}]]}],["$","article","降低非 CLI 用户门槛",{"className":"annodex-card","children":[["$","div",null,{"className":"annodex-card-icon","children":["$","$L3",null,{"iconNode":"$0:rsc:props:children:0:props:children:0:props:children:0:props:children:4:props:children:1:props:children:1:props:iconNode","className":"lucide-square-terminal","size":18}]}],["$","h3",null,{"children":"降低非 CLI 用户门槛"}],["$","p",null,{"children":"让团队成员无需长期停留在终端,也能理解 agent 在做什么、结果产出在哪里。"}]]}]]}]]}]
11
- 8:["$","section",null,{"className":"annodex-section annodex-section-alt","children":[["$","div",null,{"className":"annodex-section-head","children":[["$","div",null,{"className":"annodex-kicker","children":"Workflow"}],["$","h2",null,{"children":"典型使用路径"}]]}],["$","div",null,{"className":"annodex-workflow","children":[["$","div","选择项目目录",{"className":"annodex-workflow-step","children":[["$","div",null,{"className":"annodex-workflow-index","children":["0",1]}],["$","div",null,{"children":"选择项目目录"}]]}],["$","div","创建或继续会话",{"className":"annodex-workflow-step","children":[["$","div",null,{"className":"annodex-workflow-index","children":["0",2]}],["$","div",null,{"children":"创建或继续会话"}]]}],["$","div","查看文件与上下文",{"className":"annodex-workflow-step","children":[["$","div",null,{"className":"annodex-workflow-index","children":["0",3]}],["$","div",null,{"children":"查看文件与上下文"}]]}],["$","div","观察工具运行态",{"className":"annodex-workflow-step","children":[["$","div",null,{"className":"annodex-workflow-index","children":["0",4]}],["$","div",null,{"children":"观察工具运行态"}]]}],["$","div","输出结果或结论",{"className":"annodex-workflow-step","children":[["$","div",null,{"className":"annodex-workflow-index","children":["0",5]}],["$","div",null,{"children":"输出结果或结论"}]]}]]}]]}]
12
- 9:["$","section",null,{"className":"annodex-section","children":[["$","div",null,{"className":"annodex-section-head","children":[["$","div",null,{"className":"annodex-kicker","children":"Use cases"}],["$","h2",null,{"children":"适合哪些团队与任务"}]]}],["$","div",null,{"className":"annodex-usecases","children":[["$","div","生物信息学与数据分析项目",{"className":"annodex-usecase","children":"生物信息学与数据分析项目"}],["$","div","Codex / agent 工作流的浏览器前端",{"className":"annodex-usecase","children":"Codex / agent 工作流的浏览器前端"}],["$","div","团队演示、培训与非 CLI 用户接入",{"className":"annodex-usecase","children":"团队演示、培训与非 CLI 用户接入"}],["$","div","多项目知识工作与持续迭代协作",{"className":"annodex-usecase","children":"多项目知识工作与持续迭代协作"}]]}]]}]
13
- a:["$","section",null,{"className":"annodex-section annodex-cta-section","children":["$","div",null,{"className":"annodex-cta-card","children":[["$","div",null,{"children":[["$","div",null,{"className":"annodex-kicker","children":"Start"}],["$","h2",null,{"children":"先读文档,再进入工作台"}],["$","p",null,{"children":"如果你希望把 Codex 接入更稳定的浏览器工作流,最合理的起点是先了解结构,再开始使用。"}]]}],["$","div",null,{"className":"annodex-actions","children":[["$","$L2",null,{"href":"/docs","className":"annodex-button annodex-button-primary","children":"查看文档"}],["$","$L2",null,{"href":"/workspace","className":"annodex-button annodex-button-secondary","children":"进入工作台"}]]}]]}]}]
14
- b:["$","$Lc",null,{"children":["$","$d",null,{"name":"Next.MetadataOutlet","children":"$@e"}]}]
15
- e:null
2
+ 3:I[90484,[],"OutletBoundary"]
3
+ 4:"$Sreact.suspense"
4
+ 0:{"rsc":["$","$1","c",{"children":["$L2",null,["$","$L3",null,{"children":["$","$4",null,{"name":"Next.MetadataOutlet","children":"$@5"}]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"ulp8aFG3qUxVMxSAW5wBJ"}
5
+ 5:null
6
+ 2:E{"digest":"NEXT_REDIRECT;replace;/workspace;307;"}