@seqyuan/annodex 0.1.29 → 0.1.31
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.
- package/.next/BUILD_ID +1 -1
- package/.next/app-path-routes-manifest.json +8 -6
- package/.next/build-manifest.json +3 -3
- package/.next/diagnostics/build-diagnostics.json +1 -1
- package/.next/prerender-manifest.json +297 -4
- package/.next/react-loadable-manifest.json +44 -0
- package/.next/required-server-files.js +51 -6
- package/.next/required-server-files.json +51 -6
- package/.next/routes-manifest.json +14 -0
- package/.next/server/app/_global-error/page.js +3 -3
- package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_global-error.html +1 -1
- package/.next/server/app/_global-error.rsc +1 -1
- package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/_not-found/page.js +2 -2
- package/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_not-found.html +1 -1
- package/.next/server/app/_not-found.rsc +17 -15
- package/.next/server/app/_not-found.segments/_full.segment.rsc +17 -15
- package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_index.segment.rsc +6 -4
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +3 -2
- package/.next/server/app/api/agent/[id]/events/route.js +2 -2
- package/.next/server/app/api/agent/[id]/events/route.js.nft.json +1 -1
- package/.next/server/app/api/agent/[id]/route.js +1 -1
- package/.next/server/app/api/agent/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/agent/new/route.js +1 -1
- package/.next/server/app/api/agent/new/route.js.nft.json +1 -1
- package/.next/server/app/api/agent/runtime/route.js +1 -1
- package/.next/server/app/api/agent/runtime/route.js.nft.json +1 -1
- package/.next/server/app/api/auth/all-providers/route.js +1 -1
- package/.next/server/app/api/auth/all-providers/route.js.nft.json +1 -1
- package/.next/server/app/api/auth/api-key/[provider]/route.js +1 -1
- package/.next/server/app/api/auth/api-key/[provider]/route.js.nft.json +1 -1
- package/.next/server/app/api/auth/login/[provider]/route.js +1 -1
- package/.next/server/app/api/auth/login/[provider]/route.js.nft.json +1 -1
- package/.next/server/app/api/auth/login/route.js +1 -1
- package/.next/server/app/api/auth/login/route.js.nft.json +1 -1
- package/.next/server/app/api/auth/logout/[provider]/route.js +1 -1
- package/.next/server/app/api/auth/logout/[provider]/route.js.nft.json +1 -1
- package/.next/server/app/api/auth/providers/route.js +1 -1
- package/.next/server/app/api/auth/providers/route.js.nft.json +1 -1
- package/.next/server/app/api/auth/status/route.js +1 -1
- package/.next/server/app/api/auth/status/route.js.nft.json +1 -1
- package/.next/server/app/api/default-cwd/route.js +1 -1
- package/.next/server/app/api/default-cwd/route.js.nft.json +1 -1
- package/.next/server/app/api/files/[...path]/route.js +1 -1
- package/.next/server/app/api/files/[...path]/route.js.nft.json +1 -1
- package/.next/server/app/api/harness/route.js +1 -1
- package/.next/server/app/api/harness/route.js.nft.json +1 -1
- package/.next/server/app/api/home/route.js +1 -1
- package/.next/server/app/api/home/route.js.nft.json +1 -1
- package/.next/server/app/api/internal/runtime/route.js +1 -1
- package/.next/server/app/api/internal/runtime/route.js.nft.json +1 -1
- package/.next/server/app/api/models/route.js +1 -1
- package/.next/server/app/api/models/route.js.nft.json +1 -1
- package/.next/server/app/api/models-config/discover/route.js +1 -1
- package/.next/server/app/api/models-config/discover/route.js.nft.json +1 -1
- package/.next/server/app/api/models-config/route.js +1 -1
- package/.next/server/app/api/models-config/route.js.nft.json +1 -1
- package/.next/server/app/api/models-config/test/route.js +1 -1
- package/.next/server/app/api/models-config/test/route.js.nft.json +1 -1
- package/.next/server/app/api/projects/browse/route.js +1 -1
- package/.next/server/app/api/projects/browse/route.js.nft.json +1 -1
- package/.next/server/app/api/projects/route.js +1 -1
- package/.next/server/app/api/projects/route.js.nft.json +1 -1
- package/.next/server/app/api/search/route.js +1 -1
- package/.next/server/app/api/search/route.js.nft.json +1 -1
- package/.next/server/app/api/sessions/[id]/context/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/context/route.js.nft.json +1 -1
- package/.next/server/app/api/sessions/[id]/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/sessions/new/route.js +1 -1
- package/.next/server/app/api/sessions/new/route.js.nft.json +1 -1
- package/.next/server/app/api/sessions/route.js +1 -1
- package/.next/server/app/api/sessions/route.js.nft.json +1 -1
- package/.next/server/app/api/settings/route.js +1 -1
- package/.next/server/app/api/settings/route.js.nft.json +1 -1
- package/.next/server/app/api/skills/install/route.js +2 -2
- package/.next/server/app/api/skills/install/route.js.nft.json +1 -1
- package/.next/server/app/api/skills/route.js +2 -2
- package/.next/server/app/api/skills/route.js.nft.json +1 -1
- package/.next/server/app/api/skills/search/route.js +1 -1
- package/.next/server/app/api/skills/search/route.js.nft.json +1 -1
- package/.next/server/app/api/soul/route.js +1 -1
- package/.next/server/app/api/soul/route.js.nft.json +1 -1
- package/.next/server/app/api/version/route.js +1 -1
- package/.next/server/app/api/version/route.js.nft.json +1 -1
- package/.next/server/app/docs/[[...slug]]/page.js +4 -0
- package/.next/server/app/docs/[[...slug]]/page.js.nft.json +1 -0
- package/.next/server/app/docs/[[...slug]]/page_client-reference-manifest.js +1 -0
- package/.next/server/app/docs/architecture.html +26 -0
- package/.next/server/app/docs/architecture.meta +16 -0
- package/.next/server/app/docs/architecture.rsc +36 -0
- package/.next/server/app/docs/architecture.segments/_full.segment.rsc +36 -0
- package/.next/server/app/docs/architecture.segments/_head.segment.rsc +6 -0
- package/.next/server/app/docs/architecture.segments/_index.segment.rsc +7 -0
- package/.next/server/app/docs/architecture.segments/_tree.segment.rsc +5 -0
- package/.next/server/app/docs/architecture.segments/docs/$oc$slug/__PAGE__.segment.rsc +12 -0
- package/.next/server/app/docs/architecture.segments/docs/$oc$slug.segment.rsc +5 -0
- package/.next/server/app/docs/architecture.segments/docs.segment.rsc +6 -0
- package/.next/server/app/docs/configuration.html +28 -0
- package/.next/server/app/docs/configuration.meta +16 -0
- package/.next/server/app/docs/configuration.rsc +34 -0
- package/.next/server/app/docs/configuration.segments/_full.segment.rsc +34 -0
- package/.next/server/app/docs/configuration.segments/_head.segment.rsc +6 -0
- package/.next/server/app/docs/configuration.segments/_index.segment.rsc +7 -0
- package/.next/server/app/docs/configuration.segments/_tree.segment.rsc +5 -0
- package/.next/server/app/docs/configuration.segments/docs/$oc$slug/__PAGE__.segment.rsc +10 -0
- package/.next/server/app/docs/configuration.segments/docs/$oc$slug.segment.rsc +5 -0
- package/.next/server/app/docs/configuration.segments/docs.segment.rsc +6 -0
- package/.next/server/app/docs/file-and-report-viewing.html +29 -0
- package/.next/server/app/docs/file-and-report-viewing.meta +16 -0
- package/.next/server/app/docs/file-and-report-viewing.rsc +34 -0
- package/.next/server/app/docs/file-and-report-viewing.segments/_full.segment.rsc +34 -0
- package/.next/server/app/docs/file-and-report-viewing.segments/_head.segment.rsc +6 -0
- package/.next/server/app/docs/file-and-report-viewing.segments/_index.segment.rsc +7 -0
- package/.next/server/app/docs/file-and-report-viewing.segments/_tree.segment.rsc +5 -0
- package/.next/server/app/docs/file-and-report-viewing.segments/docs/$oc$slug/__PAGE__.segment.rsc +10 -0
- package/.next/server/app/docs/file-and-report-viewing.segments/docs/$oc$slug.segment.rsc +5 -0
- package/.next/server/app/docs/file-and-report-viewing.segments/docs.segment.rsc +6 -0
- package/.next/server/app/docs/installation-and-deployment.html +30 -0
- package/.next/server/app/docs/installation-and-deployment.meta +16 -0
- package/.next/server/app/docs/installation-and-deployment.rsc +39 -0
- package/.next/server/app/docs/installation-and-deployment.segments/_full.segment.rsc +39 -0
- package/.next/server/app/docs/installation-and-deployment.segments/_head.segment.rsc +6 -0
- package/.next/server/app/docs/installation-and-deployment.segments/_index.segment.rsc +7 -0
- package/.next/server/app/docs/installation-and-deployment.segments/_tree.segment.rsc +5 -0
- package/.next/server/app/docs/installation-and-deployment.segments/docs/$oc$slug/__PAGE__.segment.rsc +16 -0
- package/.next/server/app/docs/installation-and-deployment.segments/docs/$oc$slug.segment.rsc +5 -0
- package/.next/server/app/docs/installation-and-deployment.segments/docs.segment.rsc +6 -0
- package/.next/server/app/docs/models-and-tools.html +29 -0
- package/.next/server/app/docs/models-and-tools.meta +16 -0
- package/.next/server/app/docs/models-and-tools.rsc +34 -0
- package/.next/server/app/docs/models-and-tools.segments/_full.segment.rsc +34 -0
- package/.next/server/app/docs/models-and-tools.segments/_head.segment.rsc +6 -0
- package/.next/server/app/docs/models-and-tools.segments/_index.segment.rsc +7 -0
- package/.next/server/app/docs/models-and-tools.segments/_tree.segment.rsc +5 -0
- package/.next/server/app/docs/models-and-tools.segments/docs/$oc$slug/__PAGE__.segment.rsc +10 -0
- package/.next/server/app/docs/models-and-tools.segments/docs/$oc$slug.segment.rsc +5 -0
- package/.next/server/app/docs/models-and-tools.segments/docs.segment.rsc +6 -0
- package/.next/server/app/docs/quick-start.html +24 -0
- package/.next/server/app/docs/quick-start.meta +16 -0
- package/.next/server/app/docs/quick-start.rsc +36 -0
- package/.next/server/app/docs/quick-start.segments/_full.segment.rsc +36 -0
- package/.next/server/app/docs/quick-start.segments/_head.segment.rsc +6 -0
- package/.next/server/app/docs/quick-start.segments/_index.segment.rsc +7 -0
- package/.next/server/app/docs/quick-start.segments/_tree.segment.rsc +5 -0
- package/.next/server/app/docs/quick-start.segments/docs/$oc$slug/__PAGE__.segment.rsc +12 -0
- package/.next/server/app/docs/quick-start.segments/docs/$oc$slug.segment.rsc +5 -0
- package/.next/server/app/docs/quick-start.segments/docs.segment.rsc +6 -0
- package/.next/server/app/docs/runtime-and-sse.html +28 -0
- package/.next/server/app/docs/runtime-and-sse.meta +16 -0
- package/.next/server/app/docs/runtime-and-sse.rsc +34 -0
- package/.next/server/app/docs/runtime-and-sse.segments/_full.segment.rsc +34 -0
- package/.next/server/app/docs/runtime-and-sse.segments/_head.segment.rsc +6 -0
- package/.next/server/app/docs/runtime-and-sse.segments/_index.segment.rsc +7 -0
- package/.next/server/app/docs/runtime-and-sse.segments/_tree.segment.rsc +5 -0
- package/.next/server/app/docs/runtime-and-sse.segments/docs/$oc$slug/__PAGE__.segment.rsc +10 -0
- package/.next/server/app/docs/runtime-and-sse.segments/docs/$oc$slug.segment.rsc +5 -0
- package/.next/server/app/docs/runtime-and-sse.segments/docs.segment.rsc +6 -0
- package/.next/server/app/docs/sessions-and-projects.html +27 -0
- package/.next/server/app/docs/sessions-and-projects.meta +16 -0
- package/.next/server/app/docs/sessions-and-projects.rsc +34 -0
- package/.next/server/app/docs/sessions-and-projects.segments/_full.segment.rsc +34 -0
- package/.next/server/app/docs/sessions-and-projects.segments/_head.segment.rsc +6 -0
- package/.next/server/app/docs/sessions-and-projects.segments/_index.segment.rsc +7 -0
- package/.next/server/app/docs/sessions-and-projects.segments/_tree.segment.rsc +5 -0
- package/.next/server/app/docs/sessions-and-projects.segments/docs/$oc$slug/__PAGE__.segment.rsc +10 -0
- package/.next/server/app/docs/sessions-and-projects.segments/docs/$oc$slug.segment.rsc +5 -0
- package/.next/server/app/docs/sessions-and-projects.segments/docs.segment.rsc +6 -0
- package/.next/server/app/docs/workspace.html +28 -0
- package/.next/server/app/docs/workspace.meta +16 -0
- package/.next/server/app/docs/workspace.rsc +34 -0
- package/.next/server/app/docs/workspace.segments/_full.segment.rsc +34 -0
- package/.next/server/app/docs/workspace.segments/_head.segment.rsc +6 -0
- package/.next/server/app/docs/workspace.segments/_index.segment.rsc +7 -0
- package/.next/server/app/docs/workspace.segments/_tree.segment.rsc +5 -0
- package/.next/server/app/docs/workspace.segments/docs/$oc$slug/__PAGE__.segment.rsc +10 -0
- package/.next/server/app/docs/workspace.segments/docs/$oc$slug.segment.rsc +5 -0
- package/.next/server/app/docs/workspace.segments/docs.segment.rsc +6 -0
- package/.next/server/app/docs.html +41 -0
- package/.next/server/app/docs.meta +16 -0
- package/.next/server/app/docs.rsc +35 -0
- package/.next/server/app/docs.segments/_full.segment.rsc +35 -0
- package/.next/server/app/docs.segments/_head.segment.rsc +6 -0
- package/.next/server/app/docs.segments/_index.segment.rsc +7 -0
- package/.next/server/app/docs.segments/_tree.segment.rsc +5 -0
- package/.next/server/app/docs.segments/docs/$oc$slug/__PAGE__.segment.rsc +11 -0
- package/.next/server/app/docs.segments/docs/$oc$slug.segment.rsc +5 -0
- package/.next/server/app/docs.segments/docs.segment.rsc +6 -0
- package/.next/server/app/index.html +2 -1
- package/.next/server/app/index.rsc +28 -14
- package/.next/server/app/index.segments/__PAGE__.segment.rsc +14 -5
- package/.next/server/app/index.segments/_full.segment.rsc +28 -14
- package/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/.next/server/app/index.segments/_index.segment.rsc +6 -4
- package/.next/server/app/index.segments/_tree.segment.rsc +3 -2
- package/.next/server/app/login/page.js +2 -2
- package/.next/server/app/login/page.js.nft.json +1 -1
- package/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/.next/server/app/login.html +1 -1
- package/.next/server/app/login.rsc +21 -19
- package/.next/server/app/login.segments/_full.segment.rsc +21 -19
- package/.next/server/app/login.segments/_head.segment.rsc +1 -1
- package/.next/server/app/login.segments/_index.segment.rsc +6 -4
- package/.next/server/app/login.segments/_tree.segment.rsc +3 -2
- package/.next/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/login.segments/login.segment.rsc +1 -1
- package/.next/server/app/page.js +3 -263
- package/.next/server/app/page.js.nft.json +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app/workspace/page.js +263 -0
- package/.next/server/app/workspace/page.js.nft.json +1 -0
- package/.next/server/app/workspace/page_client-reference-manifest.js +1 -0
- package/.next/server/app/workspace.html +1 -0
- package/.next/server/app/workspace.meta +15 -0
- package/.next/server/app/workspace.rsc +21 -0
- package/.next/server/app/workspace.segments/_full.segment.rsc +21 -0
- package/.next/server/app/workspace.segments/_head.segment.rsc +6 -0
- package/.next/server/app/workspace.segments/_index.segment.rsc +7 -0
- package/.next/server/app/workspace.segments/_tree.segment.rsc +5 -0
- package/.next/server/app/workspace.segments/workspace/__PAGE__.segment.rsc +6 -0
- package/.next/server/app/workspace.segments/workspace.segment.rsc +5 -0
- package/.next/server/app-paths-manifest.json +8 -6
- package/.next/server/chunks/1106.js +1 -0
- package/.next/server/chunks/1381.js +1 -1
- package/.next/server/chunks/1681.js +2 -2
- package/.next/server/chunks/1703.js +2 -2
- package/.next/server/chunks/2098.js +1 -0
- package/.next/server/chunks/2220.js +1 -0
- package/.next/server/chunks/3031.js +1 -1
- package/.next/server/chunks/3353.js +1 -0
- package/.next/server/chunks/3493.js +1 -1
- package/.next/server/chunks/402.js +1 -1
- package/.next/server/chunks/4035.js +1 -1
- package/.next/server/chunks/4091.js +5 -0
- package/.next/server/chunks/4443.js +3 -0
- package/.next/server/chunks/5293.js +2 -2
- package/.next/server/chunks/5488.js +1 -0
- package/.next/server/chunks/7073.js +1 -1
- package/.next/server/chunks/7526.js +1 -0
- package/.next/server/chunks/76.js +1 -0
- package/.next/server/chunks/8875.js +1 -0
- package/.next/server/chunks/8916.js +1 -1
- package/.next/server/chunks/9175.js +10 -0
- package/.next/server/chunks/9537.js +1 -1
- package/.next/server/chunks/966.js +1 -1
- package/.next/server/middleware-build-manifest.js +1 -1
- package/.next/server/middleware-react-loadable-manifest.js +1 -1
- package/.next/server/middleware.js +1 -1
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/server/server-reference-manifest.json +1 -1
- package/.next/server/webpack-runtime.js +1 -1
- package/.next/static/c12uc5Ebna-CqP4_lL37X/_buildManifest.js +1 -0
- package/.next/static/c12uc5Ebna-CqP4_lL37X/_ssgManifest.js +1 -0
- package/.next/static/chunks/2632.f12f984b8009d7f1.js +1 -0
- package/.next/static/chunks/2679.f76721dbd8ec617f.js +5 -0
- package/.next/static/chunks/4660.6d9fc47e6ed8e7e4.js +10 -0
- package/.next/static/chunks/4894-e27a35edd6176226.js +1 -0
- package/.next/static/chunks/5122-6e0d29bd15f079e1.js +3 -0
- package/.next/static/chunks/5166-58bbf85cbd32ad99.js +1 -0
- package/.next/static/chunks/6606.789f1fc26b9150dd.js +1 -0
- package/.next/static/chunks/6878.3d114dd7c83aa676.js +1 -0
- package/.next/static/chunks/7627-1f8c705195c83044.js +1 -0
- package/.next/static/chunks/8500-f62a38ff68ab7f42.js +1 -0
- package/.next/static/chunks/9211-21786f967f9c2826.js +1 -0
- package/.next/static/chunks/9278-58ee6294b32318a5.js +3 -0
- package/.next/static/chunks/9566.2b92edbd162fb97d.js +1 -0
- package/.next/static/chunks/9855.1127e644bd68ced0.js +1 -0
- package/.next/static/chunks/app/docs/[[...slug]]/page-d232277716ab7921.js +1 -0
- package/.next/static/chunks/app/docs/layout-4809bb9dd4b49bff.js +1 -0
- package/.next/static/chunks/app/layout-11cc1f48ff425fd0.js +1 -0
- package/.next/static/chunks/app/login/page-870e0ee50453c2ba.js +1 -0
- package/.next/static/chunks/app/page-eb62ac677a87b790.js +1 -0
- package/.next/static/chunks/app/{page-2922ff93c9d7125a.js → workspace/page-696a330100ac0387.js} +5 -5
- package/.next/static/chunks/webpack-ced9e639bb94bd30.js +1 -0
- package/.next/static/css/876e881d7ba02ed2.css +1 -0
- package/.next/static/css/fddca953485158e4.css +1 -0
- package/README.md +3 -3
- package/next.config.ts +4 -1
- package/package.json +6 -1
- package/.next/static/9gZRVRFtSybXSBT4BsNDG/_buildManifest.js +0 -1
- package/.next/static/9gZRVRFtSybXSBT4BsNDG/_ssgManifest.js +0 -1
- package/.next/static/chunks/8771-3e14b6810486df1f.js +0 -1
- package/.next/static/chunks/app/layout-be148b7ae915b22a.js +0 -1
- package/.next/static/chunks/app/login/page-ebf0e6de99062783.js +0 -1
- package/.next/static/chunks/webpack-fcf4a889ecbd753c.js +0 -1
- package/.next/static/css/df604d0d99136435.css +0 -3
|
@@ -0,0 +1,30 @@
|
|
|
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/5166-58bbf85cbd32ad99.js" async=""></script><script src="/_next/static/chunks/9278-58ee6294b32318a5.js" async=""></script><script src="/_next/static/chunks/app/docs/layout-4809bb9dd4b49bff.js" async=""></script><script src="/_next/static/chunks/4894-e27a35edd6176226.js" async=""></script><script src="/_next/static/chunks/app/docs/%5B%5B...slug%5D%5D/page-d232277716ab7921.js" async=""></script><meta name="next-size-adjust" content=""/><title>Installation and Deployment</title><meta name="description" content="如何安装、启动并部署 annodex。"/><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><!--/$--><div id="nd-docs-layout" data-sidebar-collapsed="false" data-column-changed="false" style="grid-template:"sidebar sidebar header toc toc"
|
|
2
|
+
"sidebar sidebar toc-popover toc toc"
|
|
3
|
+
"sidebar sidebar main toc toc" 1fr / minmax(min-content, 1fr) var(--fd-sidebar-col) minmax(0, calc(var(--fd-layout-width,97rem) - var(--fd-sidebar-width) - var(--fd-toc-width))) var(--fd-toc-width) minmax(min-content, 1fr);--fd-docs-row-1:var(--fd-banner-height, 0px);--fd-docs-row-2:calc(var(--fd-docs-row-1) + var(--fd-header-height));--fd-docs-row-3:calc(var(--fd-docs-row-2) + var(--fd-toc-popover-height));--fd-sidebar-col:var(--fd-sidebar-width)" class="grid overflow-x-clip min-h-(--fd-docs-height) [--fd-docs-height:100dvh] [--fd-header-height:0px] [--fd-toc-popover-height:0px] [--fd-sidebar-width:0px] [--fd-toc-width:0px] data-[column-changed=true]:transition-[grid-template-columns]"><header id="nd-subnav" data-transparent="false" class="[grid-area:header] sticky top-(--fd-docs-row-1) z-30 flex items-center ps-4 pe-2.5 border-b transition-colors backdrop-blur-sm h-(--fd-header-height) md:hidden max-md:layout:[--fd-header-height:--spacing(14)] data-[transparent=false]:bg-fd-background/80"><a class="inline-flex items-center gap-2.5 font-semibold" href="/"><span style="display:inline-flex;align-items:center;gap:10px;font-weight:700"><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>annodex</span></a><div class="flex-1"></div><button type="button" class="inline-flex items-center justify-center rounded-md text-sm font-medium transition-colors duration-100 disabled:pointer-events-none disabled:opacity-50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-fd-ring hover:bg-fd-accent hover:text-fd-accent-foreground [&_svg]:size-4.5 p-2" data-search="" aria-label="Open Search"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-search" aria-hidden="true"><path d="m21 21-4.34-4.34"></path><circle cx="11" cy="11" r="8"></circle></svg></button><button aria-label="Open Sidebar" class="inline-flex items-center justify-center rounded-md text-sm font-medium transition-colors duration-100 disabled:pointer-events-none disabled:opacity-50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-fd-ring hover:bg-fd-accent hover:text-fd-accent-foreground [&_svg]:size-4.5 p-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-panel-left" aria-hidden="true"><rect width="18" height="18" x="3" y="3" rx="2"></rect><path d="M9 3v18"></path></svg></button></header><div data-sidebar-placeholder="" class="sticky top-(--fd-docs-row-1) z-20 [grid-area:sidebar] pointer-events-none *:pointer-events-auto h-[calc(var(--fd-docs-height)-var(--fd-docs-row-1))] md:layout:[--fd-sidebar-width:268px] max-md:hidden"><aside id="nd-sidebar" data-collapsed="false" data-hovered="false" class="absolute flex flex-col w-full inset-s-0 inset-y-0 items-end bg-fd-card text-sm border-e duration-250 *:w-(--fd-sidebar-width)"><div class="flex flex-col gap-3 p-4 pb-2"><div class="flex"><a class="inline-flex text-[0.9375rem] items-center gap-2.5 font-medium me-auto" href="/"><span style="display:inline-flex;align-items:center;gap:10px;font-weight:700"><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>annodex</span></a><button type="button" aria-label="Collapse Sidebar" data-collapsed="false" class="inline-flex items-center justify-center rounded-md text-sm font-medium transition-colors duration-100 disabled:pointer-events-none disabled:opacity-50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-fd-ring hover:bg-fd-accent hover:text-fd-accent-foreground p-1.5 [&_svg]:size-4.5 mb-auto text-fd-muted-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-panel-left" aria-hidden="true"><rect width="18" height="18" x="3" y="3" rx="2"></rect><path d="M9 3v18"></path></svg></button></div><button type="button" data-search-full="" class="inline-flex items-center gap-2 rounded-lg border bg-fd-secondary/50 p-1.5 ps-2 text-sm text-fd-muted-foreground transition-colors hover:bg-fd-accent hover:text-fd-accent-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-search size-4" aria-hidden="true"><path d="m21 21-4.34-4.34"></path><circle cx="11" cy="11" r="8"></circle></svg>Search<div class="ms-auto inline-flex gap-0.5"><kbd class="rounded-md border bg-fd-background px-1.5">⌘</kbd><kbd class="rounded-md border bg-fd-background px-1.5">K</kbd></div></button></div><div dir="ltr" class="overflow-hidden min-h-0 flex-1" style="position:relative;--radix-scroll-area-corner-width:0px;--radix-scroll-area-corner-height:0px"><style>[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}</style><div data-radix-scroll-area-viewport="" class="size-full rounded-[inherit] *:flex! *:flex-col! *:gap-0.5! p-4 overscroll-contain mask-[linear-gradient(to_bottom,transparent,white_12px,white_calc(100%-12px),transparent)]" style="overflow-x:hidden;overflow-y:hidden"><div style="min-width:100%;display:table"><a data-active="true" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&_svg]:size-4 [&_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none data-[active=true]:bg-fd-primary/10 data-[active=true]:text-fd-primary data-[active=true]:hover:transition-colors" style="padding-inline-start:calc(2 * var(--spacing))" 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-book-open-text" aria-hidden="true"><path d="M12 7v14"></path><path d="M16 12h2"></path><path d="M16 8h2"></path><path d="M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z"></path><path d="M6 12h2"></path><path d="M6 8h2"></path></svg>Docs</a><a data-active="false" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&_svg]:size-4 [&_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none data-[active=true]:bg-fd-primary/10 data-[active=true]:text-fd-primary data-[active=true]:hover:transition-colors" style="padding-inline-start:calc(2 * var(--spacing))" 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>Workspace</a><a href="https://github.com/seqyuan/annodex" rel="noreferrer noopener" target="_blank" data-active="false" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&_svg]:size-4 [&_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none data-[active=true]:bg-fd-primary/10 data-[active=true]:text-fd-primary data-[active=true]:hover:transition-colors mb-4" style="padding-inline-start:calc(2 * var(--spacing))"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-external-link" aria-hidden="true"><path d="M15 3h6v6"></path><path d="M10 14 21 3"></path><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"></path></svg>GitHub</a><a data-active="false" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&_svg]:size-4 [&_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none data-[active=true]:bg-fd-primary/10 data-[active=true]:text-fd-primary data-[active=true]:hover:transition-colors" style="padding-inline-start:calc(2 * var(--spacing))" href="/docs">Annodex</a><a data-active="false" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&_svg]:size-4 [&_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none data-[active=true]:bg-fd-primary/10 data-[active=true]:text-fd-primary data-[active=true]:hover:transition-colors" style="padding-inline-start:calc(2 * var(--spacing))" href="/docs/quick-start">Quick Start</a><a data-active="true" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&_svg]:size-4 [&_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none data-[active=true]:bg-fd-primary/10 data-[active=true]:text-fd-primary data-[active=true]:hover:transition-colors" style="padding-inline-start:calc(2 * var(--spacing))" href="/docs/installation-and-deployment">Installation and Deployment</a><a data-active="false" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&_svg]:size-4 [&_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none data-[active=true]:bg-fd-primary/10 data-[active=true]:text-fd-primary data-[active=true]:hover:transition-colors" style="padding-inline-start:calc(2 * var(--spacing))" href="/docs/configuration">Configuration</a><a data-active="false" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&_svg]:size-4 [&_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none data-[active=true]:bg-fd-primary/10 data-[active=true]:text-fd-primary data-[active=true]:hover:transition-colors" style="padding-inline-start:calc(2 * var(--spacing))" href="/docs/architecture">Architecture</a><a data-active="false" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&_svg]:size-4 [&_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none data-[active=true]:bg-fd-primary/10 data-[active=true]:text-fd-primary data-[active=true]:hover:transition-colors" style="padding-inline-start:calc(2 * var(--spacing))" href="/docs/workspace">Workspace</a><a data-active="false" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&_svg]:size-4 [&_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none data-[active=true]:bg-fd-primary/10 data-[active=true]:text-fd-primary data-[active=true]:hover:transition-colors" style="padding-inline-start:calc(2 * var(--spacing))" href="/docs/sessions-and-projects">Sessions and Projects</a><a data-active="false" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&_svg]:size-4 [&_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none data-[active=true]:bg-fd-primary/10 data-[active=true]:text-fd-primary data-[active=true]:hover:transition-colors" style="padding-inline-start:calc(2 * var(--spacing))" href="/docs/models-and-tools">Models and Tools</a><a data-active="false" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&_svg]:size-4 [&_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none data-[active=true]:bg-fd-primary/10 data-[active=true]:text-fd-primary data-[active=true]:hover:transition-colors" style="padding-inline-start:calc(2 * var(--spacing))" href="/docs/runtime-and-sse">Runtime and SSE</a><a data-active="false" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&_svg]:size-4 [&_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none data-[active=true]:bg-fd-primary/10 data-[active=true]:text-fd-primary data-[active=true]:hover:transition-colors" style="padding-inline-start:calc(2 * var(--spacing))" href="/docs/file-and-report-viewing">File Viewing and Outputs</a></div></div></div><div class="flex flex-col p-4 pt-2"><div class="flex text-fd-muted-foreground items-center border bg-fd-secondary/50 p-0.5 pe-0 rounded-lg empty:hidden"><button class="inline-flex items-center border p-1 overflow-hidden px-1 py-0 border-y-0 border-e-0 rounded-none ms-auto *:rounded-md" aria-label="Toggle Theme" data-theme-toggle=""><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sun size-6.5 p-1.5 text-fd-muted-foreground" aria-hidden="true"><circle cx="12" cy="12" r="4"></circle><path d="M12 2v2"></path><path d="M12 20v2"></path><path d="m4.93 4.93 1.41 1.41"></path><path d="m17.66 17.66 1.41 1.41"></path><path d="M2 12h2"></path><path d="M20 12h2"></path><path d="m6.34 17.66-1.41 1.41"></path><path d="m19.07 4.93-1.41 1.41"></path></svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-moon size-6.5 p-1.5 text-fd-muted-foreground" aria-hidden="true"><path d="M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401"></path></svg></button></div></div></aside></div><div data-sidebar-panel="" class="fixed flex top-[calc(--spacing(4)+var(--fd-docs-row-3))] inset-s-4 shadow-lg transition-opacity rounded-xl p-0.5 border bg-fd-muted text-fd-muted-foreground z-10 pointer-events-none opacity-0"><button type="button" aria-label="Collapse Sidebar" data-collapsed="false" class="inline-flex items-center justify-center text-sm font-medium transition-colors duration-100 disabled:pointer-events-none disabled:opacity-50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-fd-ring hover:bg-fd-accent hover:text-fd-accent-foreground p-1.5 [&_svg]:size-4.5 rounded-lg"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-panel-left" aria-hidden="true"><rect width="18" height="18" x="3" y="3" rx="2"></rect><path d="M9 3v18"></path></svg></button><button type="button" class="inline-flex items-center justify-center text-sm font-medium transition-colors duration-100 disabled:pointer-events-none disabled:opacity-50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-fd-ring hover:bg-fd-accent hover:text-fd-accent-foreground p-1.5 [&_svg]:size-4.5 rounded-lg" data-search="" aria-label="Open Search"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-search" aria-hidden="true"><path d="m21 21-4.34-4.34"></path><circle cx="11" cy="11" r="8"></circle></svg></button></div><div data-state="closed" data-toc-popover="" class="sticky top-(--fd-docs-row-2) z-10 [grid-area:toc-popover] h-(--fd-toc-popover-height) xl:hidden max-xl:layout:[--fd-toc-popover-height:--spacing(10)]"><header class="border-b backdrop-blur-sm transition-colors bg-fd-background/80"><button type="button" aria-expanded="false" data-state="closed" class="flex w-full h-10 items-center text-sm text-fd-muted-foreground gap-2.5 px-4 py-2.5 text-start focus-visible:outline-none [&_svg]:size-4 md:px-6" data-toc-popover-trigger=""><svg role="progressbar" viewBox="0 0 18 18" aria-valuenow="0" aria-valuemin="0" aria-valuemax="1" style="width:18px;height:18px" class="shrink-0"><circle cx="9" cy="9" r="7.5" fill="none" stroke-width="1.5" class="stroke-current/25"></circle><circle cx="9" cy="9" r="7.5" fill="none" stroke-width="1.5" stroke="currentColor" stroke-dasharray="47.12388980384689" stroke-dashoffset="47.12388980384689" stroke-linecap="round" transform="rotate(-90 9 9)" class="transition-all"></circle></svg><span class="grid flex-1 *:my-auto *:row-start-1 *:col-start-1"><span class="truncate transition-[opacity,translate,color]">Installation and Deployment</span><span class="truncate transition-[opacity,translate] opacity-0 translate-y-full pointer-events-none"></span></span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down shrink-0 transition-transform mx-0.5" aria-hidden="true"><path d="m6 9 6 6 6-6"></path></svg></button><div data-state="closed" id="radix-_R_5bsnp5ulb_" hidden="" data-toc-popover-content="" class="overflow-hidden"></div></header></div><article id="nd-page" data-full="false" class="flex flex-col w-full max-w-[900px] mx-auto [grid-area:main] px-4 py-6 gap-4 md:px-6 md:pt-8 xl:px-8 xl:pt-14"><h1 class="text-[1.75em] font-semibold">Installation and Deployment</h1><p class="mb-8 text-lg text-fd-muted-foreground">如何安装、启动并部署 annodex。</p><div class="prose flex-1"><h2 id="本地安装" class="group/heading flex scroll-m-28 flex-row items-center gap-1"><a data-card="" href="#本地安装">本地安装</a><button aria-label="Copy Anchor Link" class="inline-flex items-center justify-center rounded-md text-sm font-medium duration-100 disabled:pointer-events-none disabled:opacity-50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-fd-ring hover:bg-fd-accent hover:text-fd-accent-foreground p-1 [&_svg]:size-4 not-prose shrink-0 text-fd-muted-foreground opacity-0 transition-opacity group-hover/heading:opacity-100"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></button></h2>
|
|
4
|
+
<p>最直接的使用方式是全局安装:</p>
|
|
5
|
+
<figure dir="ltr" class="my-4 bg-fd-card rounded-xl shiki relative border shadow-sm not-prose overflow-hidden text-sm shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="-1"><div class="empty:hidden absolute top-3 right-2 z-2 backdrop-blur-lg rounded-lg text-fd-muted-foreground"><button type="button" class="inline-flex items-center justify-center rounded-md text-sm font-medium transition-colors duration-100 disabled:pointer-events-none disabled:opacity-50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-fd-ring p-1 [&_svg]:size-4 hover:text-fd-accent-foreground data-checked:text-fd-accent-foreground" aria-label="Copy Text"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clipboard" aria-hidden="true"><rect width="8" height="4" x="8" y="2" rx="1" ry="1"></rect><path d="M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2"></path></svg></button></div><div role="region" tabindex="0" class="text-[0.8125rem] py-3.5 overflow-auto max-h-[600px] fd-scroll-container focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-fd-ring" style="--padding-right:calc(var(--spacing) * 8)"><pre class="min-w-full w-max *:flex *:flex-col"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">npm</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> i</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> -g</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> @seqyuan/annodex</span></span></code></pre></div></figure>
|
|
6
|
+
<p>安装后可直接运行:</p>
|
|
7
|
+
<figure dir="ltr" class="my-4 bg-fd-card rounded-xl shiki relative border shadow-sm not-prose overflow-hidden text-sm shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="-1"><div class="empty:hidden absolute top-3 right-2 z-2 backdrop-blur-lg rounded-lg text-fd-muted-foreground"><button type="button" class="inline-flex items-center justify-center rounded-md text-sm font-medium transition-colors duration-100 disabled:pointer-events-none disabled:opacity-50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-fd-ring p-1 [&_svg]:size-4 hover:text-fd-accent-foreground data-checked:text-fd-accent-foreground" aria-label="Copy Text"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clipboard" aria-hidden="true"><rect width="8" height="4" x="8" y="2" rx="1" ry="1"></rect><path d="M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2"></path></svg></button></div><div role="region" tabindex="0" class="text-[0.8125rem] py-3.5 overflow-auto max-h-[600px] fd-scroll-container focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-fd-ring" style="--padding-right:calc(var(--spacing) * 8)"><pre class="min-w-full w-max *:flex *:flex-col"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">annodex</span></span></code></pre></div></figure>
|
|
8
|
+
<p>启动后,项目说明首页位于 <code>/</code>,实际工作台入口位于 <code>/workspace</code>。</p>
|
|
9
|
+
<h2 id="开发模式" class="group/heading flex scroll-m-28 flex-row items-center gap-1"><a data-card="" href="#开发模式">开发模式</a><button aria-label="Copy Anchor Link" class="inline-flex items-center justify-center rounded-md text-sm font-medium duration-100 disabled:pointer-events-none disabled:opacity-50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-fd-ring hover:bg-fd-accent hover:text-fd-accent-foreground p-1 [&_svg]:size-4 not-prose shrink-0 text-fd-muted-foreground opacity-0 transition-opacity group-hover/heading:opacity-100"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></button></h2>
|
|
10
|
+
<p>在源码目录中,推荐使用:</p>
|
|
11
|
+
<figure dir="ltr" class="my-4 bg-fd-card rounded-xl shiki relative border shadow-sm not-prose overflow-hidden text-sm shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="-1"><div class="empty:hidden absolute top-3 right-2 z-2 backdrop-blur-lg rounded-lg text-fd-muted-foreground"><button type="button" class="inline-flex items-center justify-center rounded-md text-sm font-medium transition-colors duration-100 disabled:pointer-events-none disabled:opacity-50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-fd-ring p-1 [&_svg]:size-4 hover:text-fd-accent-foreground data-checked:text-fd-accent-foreground" aria-label="Copy Text"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clipboard" aria-hidden="true"><rect width="8" height="4" x="8" y="2" rx="1" ry="1"></rect><path d="M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2"></path></svg></button></div><div role="region" tabindex="0" class="text-[0.8125rem] py-3.5 overflow-auto max-h-[600px] fd-scroll-container focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-fd-ring" style="--padding-right:calc(var(--spacing) * 8)"><pre class="min-w-full w-max *:flex *:flex-col"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">npm</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> run</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> dev</span></span></code></pre></div></figure>
|
|
12
|
+
<p>默认端口为 <code>30121</code>。</p>
|
|
13
|
+
<h2 id="部署思路" class="group/heading flex scroll-m-28 flex-row items-center gap-1"><a data-card="" href="#部署思路">部署思路</a><button aria-label="Copy Anchor Link" class="inline-flex items-center justify-center rounded-md text-sm font-medium duration-100 disabled:pointer-events-none disabled:opacity-50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-fd-ring hover:bg-fd-accent hover:text-fd-accent-foreground p-1 [&_svg]:size-4 not-prose shrink-0 text-fd-muted-foreground opacity-0 transition-opacity group-hover/heading:opacity-100"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></button></h2>
|
|
14
|
+
<p>annodex 的核心是本地或受控环境中的浏览器工作台,因此更适合:</p>
|
|
15
|
+
<ul>
|
|
16
|
+
<li>本机个人使用</li>
|
|
17
|
+
<li>局域网内部部署</li>
|
|
18
|
+
<li>团队内受控节点或开发服务器</li>
|
|
19
|
+
</ul>
|
|
20
|
+
<h2 id="部署注意事项" class="group/heading flex scroll-m-28 flex-row items-center gap-1"><a data-card="" href="#部署注意事项">部署注意事项</a><button aria-label="Copy Anchor Link" class="inline-flex items-center justify-center rounded-md text-sm font-medium duration-100 disabled:pointer-events-none disabled:opacity-50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-fd-ring hover:bg-fd-accent hover:text-fd-accent-foreground p-1 [&_svg]:size-4 not-prose shrink-0 text-fd-muted-foreground opacity-0 transition-opacity group-hover/heading:opacity-100"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></button></h2>
|
|
21
|
+
<p>使用时应考虑:</p>
|
|
22
|
+
<ul>
|
|
23
|
+
<li>Codex app-server 的可访问性</li>
|
|
24
|
+
<li>provider 配置来源</li>
|
|
25
|
+
<li>本地文件系统权限</li>
|
|
26
|
+
<li>团队是否需要统一默认目录与项目注册</li>
|
|
27
|
+
<li>是否启用密码保护以及谁可以访问 <code>/workspace</code></li>
|
|
28
|
+
</ul>
|
|
29
|
+
<h2 id="建议" class="group/heading flex scroll-m-28 flex-row items-center gap-1"><a data-card="" href="#建议">建议</a><button aria-label="Copy Anchor Link" class="inline-flex items-center justify-center rounded-md text-sm font-medium duration-100 disabled:pointer-events-none disabled:opacity-50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-fd-ring hover:bg-fd-accent hover:text-fd-accent-foreground p-1 [&_svg]:size-4 not-prose shrink-0 text-fd-muted-foreground opacity-0 transition-opacity group-hover/heading:opacity-100"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></button></h2>
|
|
30
|
+
<p>如果目标是先验证产品体验,最好的方式不是复杂部署,而是先在本机跑通完整流程。</p></div><div class="flex flex-row flex-wrap items-center justify-between gap-4 empty:hidden"></div><div class="@container grid gap-4 grid-cols-2"><a class="flex flex-col gap-2 rounded-lg border p-4 text-sm transition-colors hover:bg-fd-accent/80 hover:text-fd-accent-foreground @max-lg:col-span-full" href="/docs/quick-start"><div class="inline-flex items-center gap-1.5 font-medium"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-left -mx-1 size-4 shrink-0 rtl:rotate-180" aria-hidden="true"><path d="m15 18-6-6 6-6"></path></svg><p>Quick Start</p></div><p class="text-fd-muted-foreground truncate">安装并启动 annodex。</p></a><a class="flex flex-col gap-2 rounded-lg border p-4 text-sm transition-colors hover:bg-fd-accent/80 hover:text-fd-accent-foreground @max-lg:col-span-full text-end" href="/docs/configuration"><div class="inline-flex items-center gap-1.5 font-medium flex-row-reverse"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right -mx-1 size-4 shrink-0 rtl:rotate-180" aria-hidden="true"><path d="m9 18 6-6-6-6"></path></svg><p>Configuration</p></div><p class="text-fd-muted-foreground truncate">annodex 的配置位置与主要配置对象。</p></a></div></article><div id="nd-toc" class="sticky top-(--fd-docs-row-1) h-[calc(var(--fd-docs-height)-var(--fd-docs-row-1))] flex flex-col [grid-area:toc] w-(--fd-toc-width) pt-12 pe-4 pb-2 xl:layout:[--fd-toc-width:268px] max-xl:hidden"><h3 id="toc-title" class="inline-flex items-center gap-1.5 text-sm text-fd-muted-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-text-align-start size-4" aria-hidden="true"><path d="M21 5H3"></path><path d="M15 12H3"></path><path d="M17 19H3"></path></svg>On this page</h3><div class="relative min-h-0 text-sm ms-px overflow-auto [scrollbar-width:none] mask-[linear-gradient(to_bottom,transparent,white_16px,white_calc(100%-16px),transparent)] py-3"><div class="relative"><div class="flex flex-col border-s border-fd-foreground/10"><a data-active="false" href="#本地安装" class="prose py-1.5 text-sm text-fd-muted-foreground scroll-m-4 transition-colors wrap-anywhere first:pt-0 last:pb-0 data-[active=true]:text-fd-primary hover:text-fd-accent-foreground ps-3">本地安装</a><a data-active="false" href="#开发模式" class="prose py-1.5 text-sm text-fd-muted-foreground scroll-m-4 transition-colors wrap-anywhere first:pt-0 last:pb-0 data-[active=true]:text-fd-primary hover:text-fd-accent-foreground ps-3">开发模式</a><a data-active="false" href="#部署思路" class="prose py-1.5 text-sm text-fd-muted-foreground scroll-m-4 transition-colors wrap-anywhere first:pt-0 last:pb-0 data-[active=true]:text-fd-primary hover:text-fd-accent-foreground ps-3">部署思路</a><a data-active="false" href="#部署注意事项" class="prose py-1.5 text-sm text-fd-muted-foreground scroll-m-4 transition-colors wrap-anywhere first:pt-0 last:pb-0 data-[active=true]:text-fd-primary hover:text-fd-accent-foreground ps-3">部署注意事项</a><a data-active="false" href="#建议" class="prose py-1.5 text-sm text-fd-muted-foreground scroll-m-4 transition-colors wrap-anywhere first:pt-0 last:pb-0 data-[active=true]:text-fd-primary hover:text-fd-accent-foreground ps-3">建议</a></div></div></div></div><!--$--><!--/$--></div><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[67197,[\"5166\",\"static/chunks/5166-58bbf85cbd32ad99.js\",\"9278\",\"static/chunks/9278-58ee6294b32318a5.js\",\"4499\",\"static/chunks/app/docs/layout-4809bb9dd4b49bff.js\"],\"LayoutBody\"]\n6:I[99535,[\"5166\",\"static/chunks/5166-58bbf85cbd32ad99.js\",\"9278\",\"static/chunks/9278-58ee6294b32318a5.js\",\"4894\",\"static/chunks/4894-e27a35edd6176226.js\",\"7870\",\"static/chunks/app/docs/%5B%5B...slug%5D%5D/page-d232277716ab7921.js\"],\"default\"]\ne: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\":[\"\",\"docs\",\"installation-and-deployment\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"docs\",{\"children\":[[\"slug\",\"installation-and-deployment\",\"oc\",null],{\"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\":[null,[\"$\",\"$L5\",null,{\"tree\":{\"type\":\"root\",\"$ref\":{\"folder\":\"\",\"meta\":\"meta.json\"},\"$id\":\"root\",\"name\":\"Documentation\",\"description\":\"$undefined\",\"children\":[{\"$id\":\"index.mdx\",\"type\":\"page\",\"name\":\"Annodex\",\"description\":\"浏览器原生的 Codex 工作台。\",\"icon\":\"$undefined\",\"url\":\"/docs\",\"$ref\":\"index.mdx\"},{\"$id\":\"quick-start.mdx\",\"type\":\"page\",\"name\":\"Quick Start\",\"description\":\"安装并启动 annodex。\",\"icon\":\"$undefined\",\"url\":\"/docs/quick-start\",\"$ref\":\"quick-start.mdx\"},{\"$id\":\"installation-and-deployment.mdx\",\"type\":\"page\",\"name\":\"Installation and Deployment\",\"description\":\"如何安装、启动并部署 annodex。\",\"icon\":\"$undefined\",\"url\":\"/docs/installation-and-deployment\",\"$ref\":\"installation-and-deployment.mdx\"},{\"$id\":\"configuration.mdx\",\"type\":\"page\",\"name\":\"Configuration\",\"description\":\"annodex 的配置位置与主要配置对象。\",\"icon\":\"$undefined\",\"url\":\"/docs/configuration\",\"$ref\":\"configuration.mdx\"},{\"$id\":\"architecture.mdx\",\"type\":\"page\",\"name\":\"Architecture\",\"description\":\"annodex 的核心结构与数据流。\",\"icon\":\"$undefined\",\"url\":\"/docs/architecture\",\"$ref\":\"architecture.mdx\"},{\"$id\":\"workspace.mdx\",\"type\":\"page\",\"name\":\"Workspace\",\"description\":\"annodex 工作台的主要界面组成。\",\"icon\":\"$undefined\",\"url\":\"/docs/workspace\",\"$ref\":\"workspace.mdx\"},{\"$id\":\"sessions-and-projects.mdx\",\"type\":\"page\",\"name\":\"Sessions and Projects\",\"description\":\"为什么 annodex 以项目为中心组织会话。\",\"icon\":\"$undefined\",\"url\":\"/docs/sessions-and-projects\",\"$ref\":\"sessions-and-projects.mdx\"},{\"$id\":\"models-and-tools.mdx\",\"type\":\"page\",\"name\":\"Models and Tools\",\"description\":\"provider、模型、thinking level 与工具预设的作用。\",\"icon\":\"$undefined\",\"url\":\"/docs/models-and-tools\",\"$ref\":\"models-and-tools.mdx\"},{\"$id\":\"runtime-and-sse.mdx\",\"type\":\"page\",\"name\":\"Runtime and SSE\",\"description\":\"annodex 如何显示 agent 的运行态与实时事件。\",\"icon\":\"$undefined\",\"url\":\"/docs/runtime-and-sse\",\"$ref\":\"runtime-and-sse.mdx\"},{\"$id\":\"file-and-report-viewing.mdx\",\"type\":\"page\",\"name\":\"File Viewing and Outputs\",\"description\":\"annodex 如何让文件审阅与结果产物查看发生在同一界面。\",\"icon\":\"$undefined\",\"url\":\"/docs/file-and-report-viewing\",\"$ref\":\"file-and-report-viewing.mdx\"}]},\"tabs\":[],\"tabMode\":\"$undefined\",\"sidebar\":{},\"nav\":{\"title\":[\"$\",\"span\",null,{\"style\":{\"display\":\"inline-flex\",\"alignItems\":\"center\",\"gap\":10,\"fontWeight\":700},\"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}],\"annodex\"]}]},\"links\":[{\"text\":\"Docs\",\"url\":\"/docs\",\"icon\":\"$L7\",\"active\":\"nested-url\"},{\"text\":\"Workspace\",\"url\":\"/workspace\",\"icon\":\"$L8\",\"active\":\"nested-url\"},{\"text\":\"GitHub\",\"url\":\"https://github.com/seqyuan/annodex\",\"external\":true}],\"children\":\"$L9\"}]]}],{\"children\":[\"$La\",{\"children\":[\"$Lb\",{},null,false,null]},null,false,\"$@c\"]},null,false,null]},null,false,null],\"$Ld\",false]],\"m\":\"$undefined\",\"G\":[\"$e\",[]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"c12uc5Ebna-CqP4_lL37X\"}\n"])</script><script>self.__next_f.push([1,"10:I[90484,[],\"OutletBoundary\"]\n11:\"$Sreact.suspense\"\n14:I[90484,[],\"ViewportBoundary\"]\n16:I[90484,[],\"MetadataBoundary\"]\n7:[\"$\",\"$L6\",null,{\"ref\":\"$undefined\",\"iconNode\":[[\"path\",{\"d\":\"M12 7v14\",\"key\":\"1akyts\"}],[\"path\",{\"d\":\"M16 12h2\",\"key\":\"7q9ll5\"}],[\"path\",{\"d\":\"M16 8h2\",\"key\":\"msurwy\"}],[\"path\",{\"d\":\"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z\",\"key\":\"ruj8y\"}],[\"path\",{\"d\":\"M6 12h2\",\"key\":\"32wvfc\"}],[\"path\",{\"d\":\"M6 8h2\",\"key\":\"30oboj\"}]],\"className\":\"lucide-book-open-text\",\"size\":16}]\n8:[\"$\",\"$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}]\n9:[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]\na:[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}]\nb:[\"$\",\"$1\",\"c\",{\"children\":[\"$Lf\",null,[\"$\",\"$L10\",null,{\"children\":[\"$\",\"$11\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@12\"}]}]]}]\n13:[]\nc:\"$W13\"\nd:[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L14\",null,{\"children\":\"$L15\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$L16\",null,{\"children\":[\"$\",\"$11\",null,{\"name\":\"Next.Metadata\",\"children\":\"$L17\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}]\n"])</script><script>self.__next_f.push([1,"18:I[39006,[\"5166\",\"static/chunks/5166-58bbf85cbd32ad99.js\",\"9278\",\"static/chunks/9278-58ee6294b32318a5.js\",\"4894\",\"static/chunks/4894-e27a35edd6176226.js\",\"7870\",\"static/chunks/app/docs/%5B%5B...slug%5D%5D/page-d232277716ab7921.js\"],\"DocsPage\"]\n19:I[39006,[\"5166\",\"static/chunks/5166-58bbf85cbd32ad99.js\",\"9278\",\"static/chunks/9278-58ee6294b32318a5.js\",\"4894\",\"static/chunks/4894-e27a35edd6176226.js\",\"7870\",\"static/chunks/app/docs/%5B%5B...slug%5D%5D/page-d232277716ab7921.js\"],\"DocsTitle\"]\n1a:I[39006,[\"5166\",\"static/chunks/5166-58bbf85cbd32ad99.js\",\"9278\",\"static/chunks/9278-58ee6294b32318a5.js\",\"4894\",\"static/chunks/4894-e27a35edd6176226.js\",\"7870\",\"static/chunks/app/docs/%5B%5B...slug%5D%5D/page-d232277716ab7921.js\"],\"DocsDescription\"]\n1b:I[39006,[\"5166\",\"static/chunks/5166-58bbf85cbd32ad99.js\",\"9278\",\"static/chunks/9278-58ee6294b32318a5.js\",\"4894\",\"static/chunks/4894-e27a35edd6176226.js\",\"7870\",\"static/chunks/app/docs/%5B%5B...slug%5D%5D/page-d232277716ab7921.js\"],\"DocsBody\"]\n1c:I[88518,[\"5166\",\"static/chunks/5166-58bbf85cbd32ad99.js\",\"9278\",\"static/chunks/9278-58ee6294b32318a5.js\",\"4894\",\"static/chunks/4894-e27a35edd6176226.js\",\"7870\",\"static/chunks/app/docs/%5B%5B...slug%5D%5D/page-d232277716ab7921.js\"],\"Heading\"]\n1d:I[13768,[\"5166\",\"static/chunks/5166-58bbf85cbd32ad99.js\",\"9278\",\"static/chunks/9278-58ee6294b32318a5.js\",\"4894\",\"static/chunks/4894-e27a35edd6176226.js\",\"7870\",\"static/chunks/app/docs/%5B%5B...slug%5D%5D/page-d232277716ab7921.js\"],\"CodeBlock\"]\n1e:I[13768,[\"5166\",\"static/chunks/5166-58bbf85cbd32ad99.js\",\"9278\",\"static/chunks/9278-58ee6294b32318a5.js\",\"4894\",\"static/chunks/4894-e27a35edd6176226.js\",\"7870\",\"static/chunks/app/docs/%5B%5B...slug%5D%5D/page-d232277716ab7921.js\"],\"Pre\"]\n"])</script><script>self.__next_f.push([1,"f:[\"$\",\"$L18\",null,{\"toc\":[{\"depth\":2,\"url\":\"#本地安装\",\"title\":\"本地安装\"},{\"depth\":2,\"url\":\"#开发模式\",\"title\":\"开发模式\"},{\"depth\":2,\"url\":\"#部署思路\",\"title\":\"部署思路\"},{\"depth\":2,\"url\":\"#部署注意事项\",\"title\":\"部署注意事项\"},{\"depth\":2,\"url\":\"#建议\",\"title\":\"建议\"}],\"full\":\"$undefined\",\"children\":[[\"$\",\"$L19\",null,{\"children\":\"Installation and Deployment\"}],[\"$\",\"$L1a\",null,{\"children\":\"如何安装、启动并部署 annodex。\"}],[\"$\",\"$L1b\",null,{\"children\":[[\"$\",\"$L1c\",null,{\"as\":\"h2\",\"id\":\"本地安装\",\"children\":\"本地安装\"}],\"\\n\",[\"$\",\"p\",null,{\"children\":\"最直接的使用方式是全局安装:\"}],\"\\n\",[\"$\",\"$L1d\",null,{\"className\":\"shiki shiki-themes github-light github-dark\",\"style\":{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},\"tabIndex\":\"0\",\"icon\":\"\u003csvg viewBox=\\\"0 0 24 24\\\"\u003e\u003cpath d=\\\"m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z\\\" fill=\\\"currentColor\\\" /\u003e\u003c/svg\u003e\",\"children\":[\"$\",\"$L1e\",null,{\"children\":[\"$\",\"code\",null,{\"children\":[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},\"children\":\"npm\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\" i\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},\"children\":\" -g\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\" @seqyuan/annodex\"}]]}]}]}]}],\"\\n\",[\"$\",\"p\",null,{\"children\":\"安装后可直接运行:\"}],\"\\n\",[\"$\",\"$L1d\",null,{\"className\":\"shiki shiki-themes github-light github-dark\",\"style\":{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},\"tabIndex\":\"0\",\"icon\":\"\u003csvg viewBox=\\\"0 0 24 24\\\"\u003e\u003cpath d=\\\"m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z\\\" fill=\\\"currentColor\\\" /\u003e\u003c/svg\u003e\",\"children\":[\"$\",\"$L1e\",null,{\"children\":[\"$\",\"code\",null,{\"children\":[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},\"children\":\"annodex\"}]}]}]}]}],\"\\n\",[\"$\",\"p\",null,{\"children\":[\"启动后,项目说明首页位于 \",[\"$\",\"code\",null,{\"children\":\"/\"}],\",实际工作台入口位于 \",[\"$\",\"code\",null,{\"children\":\"/workspace\"}],\"。\"]}],\"\\n\",[\"$\",\"$L1c\",null,{\"as\":\"h2\",\"id\":\"开发模式\",\"children\":\"开发模式\"}],\"\\n\",[\"$\",\"p\",null,{\"children\":\"在源码目录中,推荐使用:\"}],\"\\n\",[\"$\",\"$L1d\",null,{\"className\":\"shiki shiki-themes github-light github-dark\",\"style\":{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},\"tabIndex\":\"0\",\"icon\":\"\u003csvg viewBox=\\\"0 0 24 24\\\"\u003e\u003cpath d=\\\"m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z\\\" fill=\\\"currentColor\\\" /\u003e\u003c/svg\u003e\",\"children\":[\"$\",\"$L1e\",null,{\"children\":[\"$\",\"code\",null,{\"children\":[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},\"children\":\"npm\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\" run\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\" dev\"}]]}]}]}]}],\"\\n\",[\"$\",\"p\",null,{\"children\":[\"默认端口为 \",[\"$\",\"code\",null,{\"children\":\"30121\"}],\"。\"]}],\"\\n\",[\"$\",\"$L1c\",null,{\"as\":\"h2\",\"id\":\"部署思路\",\"children\":\"部署思路\"}],\"\\n\",[\"$\",\"p\",null,{\"children\":\"annodex 的核心是本地或受控环境中的浏览器工作台,因此更适合:\"}],\"\\n\",[\"$\",\"ul\",null,{\"children\":[\"\\n\",[\"$\",\"li\",null,{\"children\":\"本机个人使用\"}],\"\\n\",[\"$\",\"li\",null,{\"children\":\"局域网内部部署\"}],\"\\n\",[\"$\",\"li\",null,{\"children\":\"团队内受控节点或开发服务器\"}],\"\\n\"]}],\"\\n\",[\"$\",\"$L1c\",null,{\"as\":\"h2\",\"id\":\"部署注意事项\",\"children\":\"部署注意事项\"}],\"\\n\",[\"$\",\"p\",null,{\"children\":\"使用时应考虑:\"}],\"\\n\",[\"$\",\"ul\",null,{\"children\":[\"\\n\",[\"$\",\"li\",null,{\"children\":\"Codex app-server 的可访问性\"}],\"\\n\",[\"$\",\"li\",null,{\"children\":\"provider 配置来源\"}],\"\\n\",[\"$\",\"li\",null,{\"children\":\"本地文件系统权限\"}],\"\\n\",[\"$\",\"li\",null,{\"children\":\"团队是否需要统一默认目录与项目注册\"}],\"\\n\",\"$L1f\",\"\\n\"]}],\"\\n\",\"$L20\",\"\\n\",\"$L21\"]}]]}]\n"])</script><script>self.__next_f.push([1,"1f:[\"$\",\"li\",null,{\"children\":[\"是否启用密码保护以及谁可以访问 \",[\"$\",\"code\",null,{\"children\":\"/workspace\"}]]}]\n20:[\"$\",\"$L1c\",null,{\"as\":\"h2\",\"id\":\"建议\",\"children\":\"建议\"}]\n21:[\"$\",\"p\",null,{\"children\":\"如果目标是先验证产品体验,最好的方式不是复杂部署,而是先在本机跑通完整流程。\"}]\n"])</script><script>self.__next_f.push([1,"15:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"22:I[86869,[],\"IconMark\"]\n12:null\n17:[[\"$\",\"title\",\"0\",{\"children\":\"Installation and Deployment\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"如何安装、启动并部署 annodex。\"}],[\"$\",\"link\",\"2\",{\"rel\":\"shortcut icon\",\"href\":\"/favicon.svg\",\"type\":\"image/svg+xml\"}],[\"$\",\"link\",\"3\",{\"rel\":\"icon\",\"href\":\"/favicon.svg\",\"type\":\"image/svg+xml\"}],[\"$\",\"$L22\",\"4\",{}]]\n"])</script></body></html>
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"headers": {
|
|
3
|
+
"x-nextjs-stale-time": "300",
|
|
4
|
+
"x-nextjs-prerender": "1",
|
|
5
|
+
"x-next-cache-tags": "_N_T_/layout,_N_T_/docs/layout,_N_T_/docs/[[...slug]]/layout,_N_T_/docs/[[...slug]]/page,_N_T_/docs/installation-and-deployment"
|
|
6
|
+
},
|
|
7
|
+
"segmentPaths": [
|
|
8
|
+
"/_tree",
|
|
9
|
+
"/_full",
|
|
10
|
+
"/docs/$oc$slug/__PAGE__",
|
|
11
|
+
"/docs/$oc$slug",
|
|
12
|
+
"/docs",
|
|
13
|
+
"/_index",
|
|
14
|
+
"/_head"
|
|
15
|
+
]
|
|
16
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
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"]
|
|
3
|
+
3:I[57121,[],""]
|
|
4
|
+
4:I[74581,[],""]
|
|
5
|
+
5:I[67197,["5166","static/chunks/5166-58bbf85cbd32ad99.js","9278","static/chunks/9278-58ee6294b32318a5.js","4499","static/chunks/app/docs/layout-4809bb9dd4b49bff.js"],"LayoutBody"]
|
|
6
|
+
6:I[99535,["5166","static/chunks/5166-58bbf85cbd32ad99.js","9278","static/chunks/9278-58ee6294b32318a5.js","4894","static/chunks/4894-e27a35edd6176226.js","7870","static/chunks/app/docs/%5B%5B...slug%5D%5D/page-d232277716ab7921.js"],"default"]
|
|
7
|
+
e:I[27123,[],"default",1]
|
|
8
|
+
:HL["/_next/static/media/7deddc85b7ffd1dc-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
|
9
|
+
:HL["/_next/static/media/ec14413c594b3356-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
|
10
|
+
:HL["/_next/static/css/fddca953485158e4.css","style"]
|
|
11
|
+
:HL["/_next/static/css/876e881d7ba02ed2.css","style"]
|
|
12
|
+
0:{"P":null,"c":["","docs","installation-and-deployment"],"q":"","i":false,"f":[[["",{"children":["docs",{"children":[["slug","installation-and-deployment","oc",null],{"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":[null,["$","$L5",null,{"tree":{"type":"root","$ref":{"folder":"","meta":"meta.json"},"$id":"root","name":"Documentation","description":"$undefined","children":[{"$id":"index.mdx","type":"page","name":"Annodex","description":"浏览器原生的 Codex 工作台。","icon":"$undefined","url":"/docs","$ref":"index.mdx"},{"$id":"quick-start.mdx","type":"page","name":"Quick Start","description":"安装并启动 annodex。","icon":"$undefined","url":"/docs/quick-start","$ref":"quick-start.mdx"},{"$id":"installation-and-deployment.mdx","type":"page","name":"Installation and Deployment","description":"如何安装、启动并部署 annodex。","icon":"$undefined","url":"/docs/installation-and-deployment","$ref":"installation-and-deployment.mdx"},{"$id":"configuration.mdx","type":"page","name":"Configuration","description":"annodex 的配置位置与主要配置对象。","icon":"$undefined","url":"/docs/configuration","$ref":"configuration.mdx"},{"$id":"architecture.mdx","type":"page","name":"Architecture","description":"annodex 的核心结构与数据流。","icon":"$undefined","url":"/docs/architecture","$ref":"architecture.mdx"},{"$id":"workspace.mdx","type":"page","name":"Workspace","description":"annodex 工作台的主要界面组成。","icon":"$undefined","url":"/docs/workspace","$ref":"workspace.mdx"},{"$id":"sessions-and-projects.mdx","type":"page","name":"Sessions and Projects","description":"为什么 annodex 以项目为中心组织会话。","icon":"$undefined","url":"/docs/sessions-and-projects","$ref":"sessions-and-projects.mdx"},{"$id":"models-and-tools.mdx","type":"page","name":"Models and Tools","description":"provider、模型、thinking level 与工具预设的作用。","icon":"$undefined","url":"/docs/models-and-tools","$ref":"models-and-tools.mdx"},{"$id":"runtime-and-sse.mdx","type":"page","name":"Runtime and SSE","description":"annodex 如何显示 agent 的运行态与实时事件。","icon":"$undefined","url":"/docs/runtime-and-sse","$ref":"runtime-and-sse.mdx"},{"$id":"file-and-report-viewing.mdx","type":"page","name":"File Viewing and Outputs","description":"annodex 如何让文件审阅与结果产物查看发生在同一界面。","icon":"$undefined","url":"/docs/file-and-report-viewing","$ref":"file-and-report-viewing.mdx"}]},"tabs":[],"tabMode":"$undefined","sidebar":{},"nav":{"title":["$","span",null,{"style":{"display":"inline-flex","alignItems":"center","gap":10,"fontWeight":700},"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}],"annodex"]}]},"links":[{"text":"Docs","url":"/docs","icon":"$L7","active":"nested-url"},{"text":"Workspace","url":"/workspace","icon":"$L8","active":"nested-url"},{"text":"GitHub","url":"https://github.com/seqyuan/annodex","external":true}],"children":"$L9"}]]}],{"children":["$La",{"children":["$Lb",{},null,false,null]},null,false,"$@c"]},null,false,null]},null,false,null],"$Ld",false]],"m":"$undefined","G":["$e",[]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"c12uc5Ebna-CqP4_lL37X"}
|
|
13
|
+
10:I[90484,[],"OutletBoundary"]
|
|
14
|
+
11:"$Sreact.suspense"
|
|
15
|
+
14:I[90484,[],"ViewportBoundary"]
|
|
16
|
+
16:I[90484,[],"MetadataBoundary"]
|
|
17
|
+
7:["$","$L6",null,{"ref":"$undefined","iconNode":[["path",{"d":"M12 7v14","key":"1akyts"}],["path",{"d":"M16 12h2","key":"7q9ll5"}],["path",{"d":"M16 8h2","key":"msurwy"}],["path",{"d":"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z","key":"ruj8y"}],["path",{"d":"M6 12h2","key":"32wvfc"}],["path",{"d":"M6 8h2","key":"30oboj"}]],"className":"lucide-book-open-text","size":16}]
|
|
18
|
+
8:["$","$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}]
|
|
19
|
+
9:["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]
|
|
20
|
+
a:["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}]
|
|
21
|
+
b:["$","$1","c",{"children":["$Lf",null,["$","$L10",null,{"children":["$","$11",null,{"name":"Next.MetadataOutlet","children":"$@12"}]}]]}]
|
|
22
|
+
13:[]
|
|
23
|
+
c:"$W13"
|
|
24
|
+
d:["$","$1","h",{"children":[null,["$","$L14",null,{"children":"$L15"}],["$","div",null,{"hidden":true,"children":["$","$L16",null,{"children":["$","$11",null,{"name":"Next.Metadata","children":"$L17"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}]
|
|
25
|
+
18:I[39006,["5166","static/chunks/5166-58bbf85cbd32ad99.js","9278","static/chunks/9278-58ee6294b32318a5.js","4894","static/chunks/4894-e27a35edd6176226.js","7870","static/chunks/app/docs/%5B%5B...slug%5D%5D/page-d232277716ab7921.js"],"DocsPage"]
|
|
26
|
+
19:I[39006,["5166","static/chunks/5166-58bbf85cbd32ad99.js","9278","static/chunks/9278-58ee6294b32318a5.js","4894","static/chunks/4894-e27a35edd6176226.js","7870","static/chunks/app/docs/%5B%5B...slug%5D%5D/page-d232277716ab7921.js"],"DocsTitle"]
|
|
27
|
+
1a:I[39006,["5166","static/chunks/5166-58bbf85cbd32ad99.js","9278","static/chunks/9278-58ee6294b32318a5.js","4894","static/chunks/4894-e27a35edd6176226.js","7870","static/chunks/app/docs/%5B%5B...slug%5D%5D/page-d232277716ab7921.js"],"DocsDescription"]
|
|
28
|
+
1b:I[39006,["5166","static/chunks/5166-58bbf85cbd32ad99.js","9278","static/chunks/9278-58ee6294b32318a5.js","4894","static/chunks/4894-e27a35edd6176226.js","7870","static/chunks/app/docs/%5B%5B...slug%5D%5D/page-d232277716ab7921.js"],"DocsBody"]
|
|
29
|
+
1c:I[88518,["5166","static/chunks/5166-58bbf85cbd32ad99.js","9278","static/chunks/9278-58ee6294b32318a5.js","4894","static/chunks/4894-e27a35edd6176226.js","7870","static/chunks/app/docs/%5B%5B...slug%5D%5D/page-d232277716ab7921.js"],"Heading"]
|
|
30
|
+
1d:I[13768,["5166","static/chunks/5166-58bbf85cbd32ad99.js","9278","static/chunks/9278-58ee6294b32318a5.js","4894","static/chunks/4894-e27a35edd6176226.js","7870","static/chunks/app/docs/%5B%5B...slug%5D%5D/page-d232277716ab7921.js"],"CodeBlock"]
|
|
31
|
+
1e:I[13768,["5166","static/chunks/5166-58bbf85cbd32ad99.js","9278","static/chunks/9278-58ee6294b32318a5.js","4894","static/chunks/4894-e27a35edd6176226.js","7870","static/chunks/app/docs/%5B%5B...slug%5D%5D/page-d232277716ab7921.js"],"Pre"]
|
|
32
|
+
f:["$","$L18",null,{"toc":[{"depth":2,"url":"#本地安装","title":"本地安装"},{"depth":2,"url":"#开发模式","title":"开发模式"},{"depth":2,"url":"#部署思路","title":"部署思路"},{"depth":2,"url":"#部署注意事项","title":"部署注意事项"},{"depth":2,"url":"#建议","title":"建议"}],"full":"$undefined","children":[["$","$L19",null,{"children":"Installation and Deployment"}],["$","$L1a",null,{"children":"如何安装、启动并部署 annodex。"}],["$","$L1b",null,{"children":[["$","$L1c",null,{"as":"h2","id":"本地安装","children":"本地安装"}],"\n",["$","p",null,{"children":"最直接的使用方式是全局安装:"}],"\n",["$","$L1d",null,{"className":"shiki shiki-themes github-light github-dark","style":{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8","--shiki-light-bg":"#fff","--shiki-dark-bg":"#24292e"},"tabIndex":"0","icon":"<svg viewBox=\"0 0 24 24\"><path d=\"m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z\" fill=\"currentColor\" /></svg>","children":["$","$L1e",null,{"children":["$","code",null,{"children":["$","span",null,{"className":"line","children":[["$","span",null,{"style":{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},"children":"npm"}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" i"}],["$","span",null,{"style":{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},"children":" -g"}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" @seqyuan/annodex"}]]}]}]}]}],"\n",["$","p",null,{"children":"安装后可直接运行:"}],"\n",["$","$L1d",null,{"className":"shiki shiki-themes github-light github-dark","style":{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8","--shiki-light-bg":"#fff","--shiki-dark-bg":"#24292e"},"tabIndex":"0","icon":"<svg viewBox=\"0 0 24 24\"><path d=\"m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z\" fill=\"currentColor\" /></svg>","children":["$","$L1e",null,{"children":["$","code",null,{"children":["$","span",null,{"className":"line","children":["$","span",null,{"style":{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},"children":"annodex"}]}]}]}]}],"\n",["$","p",null,{"children":["启动后,项目说明首页位于 ",["$","code",null,{"children":"/"}],",实际工作台入口位于 ",["$","code",null,{"children":"/workspace"}],"。"]}],"\n",["$","$L1c",null,{"as":"h2","id":"开发模式","children":"开发模式"}],"\n",["$","p",null,{"children":"在源码目录中,推荐使用:"}],"\n",["$","$L1d",null,{"className":"shiki shiki-themes github-light github-dark","style":{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8","--shiki-light-bg":"#fff","--shiki-dark-bg":"#24292e"},"tabIndex":"0","icon":"<svg viewBox=\"0 0 24 24\"><path d=\"m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z\" fill=\"currentColor\" /></svg>","children":["$","$L1e",null,{"children":["$","code",null,{"children":["$","span",null,{"className":"line","children":[["$","span",null,{"style":{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},"children":"npm"}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" run"}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" dev"}]]}]}]}]}],"\n",["$","p",null,{"children":["默认端口为 ",["$","code",null,{"children":"30121"}],"。"]}],"\n",["$","$L1c",null,{"as":"h2","id":"部署思路","children":"部署思路"}],"\n",["$","p",null,{"children":"annodex 的核心是本地或受控环境中的浏览器工作台,因此更适合:"}],"\n",["$","ul",null,{"children":["\n",["$","li",null,{"children":"本机个人使用"}],"\n",["$","li",null,{"children":"局域网内部部署"}],"\n",["$","li",null,{"children":"团队内受控节点或开发服务器"}],"\n"]}],"\n",["$","$L1c",null,{"as":"h2","id":"部署注意事项","children":"部署注意事项"}],"\n",["$","p",null,{"children":"使用时应考虑:"}],"\n",["$","ul",null,{"children":["\n",["$","li",null,{"children":"Codex app-server 的可访问性"}],"\n",["$","li",null,{"children":"provider 配置来源"}],"\n",["$","li",null,{"children":"本地文件系统权限"}],"\n",["$","li",null,{"children":"团队是否需要统一默认目录与项目注册"}],"\n","$L1f","\n"]}],"\n","$L20","\n","$L21"]}]]}]
|
|
33
|
+
1f:["$","li",null,{"children":["是否启用密码保护以及谁可以访问 ",["$","code",null,{"children":"/workspace"}]]}]
|
|
34
|
+
20:["$","$L1c",null,{"as":"h2","id":"建议","children":"建议"}]
|
|
35
|
+
21:["$","p",null,{"children":"如果目标是先验证产品体验,最好的方式不是复杂部署,而是先在本机跑通完整流程。"}]
|
|
36
|
+
15:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
|
|
37
|
+
22:I[86869,[],"IconMark"]
|
|
38
|
+
12:null
|
|
39
|
+
17:[["$","title","0",{"children":"Installation and Deployment"}],["$","meta","1",{"name":"description","content":"如何安装、启动并部署 annodex。"}],["$","link","2",{"rel":"shortcut icon","href":"/favicon.svg","type":"image/svg+xml"}],["$","link","3",{"rel":"icon","href":"/favicon.svg","type":"image/svg+xml"}],["$","$L22","4",{}]]
|
|
@@ -0,0 +1,39 @@
|
|
|
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"]
|
|
3
|
+
3:I[57121,[],""]
|
|
4
|
+
4:I[74581,[],""]
|
|
5
|
+
5:I[67197,["5166","static/chunks/5166-58bbf85cbd32ad99.js","9278","static/chunks/9278-58ee6294b32318a5.js","4499","static/chunks/app/docs/layout-4809bb9dd4b49bff.js"],"LayoutBody"]
|
|
6
|
+
6:I[99535,["5166","static/chunks/5166-58bbf85cbd32ad99.js","9278","static/chunks/9278-58ee6294b32318a5.js","4894","static/chunks/4894-e27a35edd6176226.js","7870","static/chunks/app/docs/%5B%5B...slug%5D%5D/page-d232277716ab7921.js"],"default"]
|
|
7
|
+
e:I[27123,[],"default",1]
|
|
8
|
+
:HL["/_next/static/media/7deddc85b7ffd1dc-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
|
9
|
+
:HL["/_next/static/media/ec14413c594b3356-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
|
10
|
+
:HL["/_next/static/css/fddca953485158e4.css","style"]
|
|
11
|
+
:HL["/_next/static/css/876e881d7ba02ed2.css","style"]
|
|
12
|
+
0:{"P":null,"c":["","docs","installation-and-deployment"],"q":"","i":false,"f":[[["",{"children":["docs",{"children":[["slug","installation-and-deployment","oc",null],{"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":[null,["$","$L5",null,{"tree":{"type":"root","$ref":{"folder":"","meta":"meta.json"},"$id":"root","name":"Documentation","description":"$undefined","children":[{"$id":"index.mdx","type":"page","name":"Annodex","description":"浏览器原生的 Codex 工作台。","icon":"$undefined","url":"/docs","$ref":"index.mdx"},{"$id":"quick-start.mdx","type":"page","name":"Quick Start","description":"安装并启动 annodex。","icon":"$undefined","url":"/docs/quick-start","$ref":"quick-start.mdx"},{"$id":"installation-and-deployment.mdx","type":"page","name":"Installation and Deployment","description":"如何安装、启动并部署 annodex。","icon":"$undefined","url":"/docs/installation-and-deployment","$ref":"installation-and-deployment.mdx"},{"$id":"configuration.mdx","type":"page","name":"Configuration","description":"annodex 的配置位置与主要配置对象。","icon":"$undefined","url":"/docs/configuration","$ref":"configuration.mdx"},{"$id":"architecture.mdx","type":"page","name":"Architecture","description":"annodex 的核心结构与数据流。","icon":"$undefined","url":"/docs/architecture","$ref":"architecture.mdx"},{"$id":"workspace.mdx","type":"page","name":"Workspace","description":"annodex 工作台的主要界面组成。","icon":"$undefined","url":"/docs/workspace","$ref":"workspace.mdx"},{"$id":"sessions-and-projects.mdx","type":"page","name":"Sessions and Projects","description":"为什么 annodex 以项目为中心组织会话。","icon":"$undefined","url":"/docs/sessions-and-projects","$ref":"sessions-and-projects.mdx"},{"$id":"models-and-tools.mdx","type":"page","name":"Models and Tools","description":"provider、模型、thinking level 与工具预设的作用。","icon":"$undefined","url":"/docs/models-and-tools","$ref":"models-and-tools.mdx"},{"$id":"runtime-and-sse.mdx","type":"page","name":"Runtime and SSE","description":"annodex 如何显示 agent 的运行态与实时事件。","icon":"$undefined","url":"/docs/runtime-and-sse","$ref":"runtime-and-sse.mdx"},{"$id":"file-and-report-viewing.mdx","type":"page","name":"File Viewing and Outputs","description":"annodex 如何让文件审阅与结果产物查看发生在同一界面。","icon":"$undefined","url":"/docs/file-and-report-viewing","$ref":"file-and-report-viewing.mdx"}]},"tabs":[],"tabMode":"$undefined","sidebar":{},"nav":{"title":["$","span",null,{"style":{"display":"inline-flex","alignItems":"center","gap":10,"fontWeight":700},"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}],"annodex"]}]},"links":[{"text":"Docs","url":"/docs","icon":"$L7","active":"nested-url"},{"text":"Workspace","url":"/workspace","icon":"$L8","active":"nested-url"},{"text":"GitHub","url":"https://github.com/seqyuan/annodex","external":true}],"children":"$L9"}]]}],{"children":["$La",{"children":["$Lb",{},null,false,null]},null,false,"$@c"]},null,false,null]},null,false,null],"$Ld",false]],"m":"$undefined","G":["$e",[]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"c12uc5Ebna-CqP4_lL37X"}
|
|
13
|
+
10:I[90484,[],"OutletBoundary"]
|
|
14
|
+
11:"$Sreact.suspense"
|
|
15
|
+
14:I[90484,[],"ViewportBoundary"]
|
|
16
|
+
16:I[90484,[],"MetadataBoundary"]
|
|
17
|
+
7:["$","$L6",null,{"ref":"$undefined","iconNode":[["path",{"d":"M12 7v14","key":"1akyts"}],["path",{"d":"M16 12h2","key":"7q9ll5"}],["path",{"d":"M16 8h2","key":"msurwy"}],["path",{"d":"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z","key":"ruj8y"}],["path",{"d":"M6 12h2","key":"32wvfc"}],["path",{"d":"M6 8h2","key":"30oboj"}]],"className":"lucide-book-open-text","size":16}]
|
|
18
|
+
8:["$","$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}]
|
|
19
|
+
9:["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]
|
|
20
|
+
a:["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}]
|
|
21
|
+
b:["$","$1","c",{"children":["$Lf",null,["$","$L10",null,{"children":["$","$11",null,{"name":"Next.MetadataOutlet","children":"$@12"}]}]]}]
|
|
22
|
+
13:[]
|
|
23
|
+
c:"$W13"
|
|
24
|
+
d:["$","$1","h",{"children":[null,["$","$L14",null,{"children":"$L15"}],["$","div",null,{"hidden":true,"children":["$","$L16",null,{"children":["$","$11",null,{"name":"Next.Metadata","children":"$L17"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}]
|
|
25
|
+
18:I[39006,["5166","static/chunks/5166-58bbf85cbd32ad99.js","9278","static/chunks/9278-58ee6294b32318a5.js","4894","static/chunks/4894-e27a35edd6176226.js","7870","static/chunks/app/docs/%5B%5B...slug%5D%5D/page-d232277716ab7921.js"],"DocsPage"]
|
|
26
|
+
19:I[39006,["5166","static/chunks/5166-58bbf85cbd32ad99.js","9278","static/chunks/9278-58ee6294b32318a5.js","4894","static/chunks/4894-e27a35edd6176226.js","7870","static/chunks/app/docs/%5B%5B...slug%5D%5D/page-d232277716ab7921.js"],"DocsTitle"]
|
|
27
|
+
1a:I[39006,["5166","static/chunks/5166-58bbf85cbd32ad99.js","9278","static/chunks/9278-58ee6294b32318a5.js","4894","static/chunks/4894-e27a35edd6176226.js","7870","static/chunks/app/docs/%5B%5B...slug%5D%5D/page-d232277716ab7921.js"],"DocsDescription"]
|
|
28
|
+
1b:I[39006,["5166","static/chunks/5166-58bbf85cbd32ad99.js","9278","static/chunks/9278-58ee6294b32318a5.js","4894","static/chunks/4894-e27a35edd6176226.js","7870","static/chunks/app/docs/%5B%5B...slug%5D%5D/page-d232277716ab7921.js"],"DocsBody"]
|
|
29
|
+
1c:I[88518,["5166","static/chunks/5166-58bbf85cbd32ad99.js","9278","static/chunks/9278-58ee6294b32318a5.js","4894","static/chunks/4894-e27a35edd6176226.js","7870","static/chunks/app/docs/%5B%5B...slug%5D%5D/page-d232277716ab7921.js"],"Heading"]
|
|
30
|
+
1d:I[13768,["5166","static/chunks/5166-58bbf85cbd32ad99.js","9278","static/chunks/9278-58ee6294b32318a5.js","4894","static/chunks/4894-e27a35edd6176226.js","7870","static/chunks/app/docs/%5B%5B...slug%5D%5D/page-d232277716ab7921.js"],"CodeBlock"]
|
|
31
|
+
1e:I[13768,["5166","static/chunks/5166-58bbf85cbd32ad99.js","9278","static/chunks/9278-58ee6294b32318a5.js","4894","static/chunks/4894-e27a35edd6176226.js","7870","static/chunks/app/docs/%5B%5B...slug%5D%5D/page-d232277716ab7921.js"],"Pre"]
|
|
32
|
+
f:["$","$L18",null,{"toc":[{"depth":2,"url":"#本地安装","title":"本地安装"},{"depth":2,"url":"#开发模式","title":"开发模式"},{"depth":2,"url":"#部署思路","title":"部署思路"},{"depth":2,"url":"#部署注意事项","title":"部署注意事项"},{"depth":2,"url":"#建议","title":"建议"}],"full":"$undefined","children":[["$","$L19",null,{"children":"Installation and Deployment"}],["$","$L1a",null,{"children":"如何安装、启动并部署 annodex。"}],["$","$L1b",null,{"children":[["$","$L1c",null,{"as":"h2","id":"本地安装","children":"本地安装"}],"\n",["$","p",null,{"children":"最直接的使用方式是全局安装:"}],"\n",["$","$L1d",null,{"className":"shiki shiki-themes github-light github-dark","style":{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8","--shiki-light-bg":"#fff","--shiki-dark-bg":"#24292e"},"tabIndex":"0","icon":"<svg viewBox=\"0 0 24 24\"><path d=\"m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z\" fill=\"currentColor\" /></svg>","children":["$","$L1e",null,{"children":["$","code",null,{"children":["$","span",null,{"className":"line","children":[["$","span",null,{"style":{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},"children":"npm"}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" i"}],["$","span",null,{"style":{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},"children":" -g"}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" @seqyuan/annodex"}]]}]}]}]}],"\n",["$","p",null,{"children":"安装后可直接运行:"}],"\n",["$","$L1d",null,{"className":"shiki shiki-themes github-light github-dark","style":{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8","--shiki-light-bg":"#fff","--shiki-dark-bg":"#24292e"},"tabIndex":"0","icon":"<svg viewBox=\"0 0 24 24\"><path d=\"m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z\" fill=\"currentColor\" /></svg>","children":["$","$L1e",null,{"children":["$","code",null,{"children":["$","span",null,{"className":"line","children":["$","span",null,{"style":{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},"children":"annodex"}]}]}]}]}],"\n",["$","p",null,{"children":["启动后,项目说明首页位于 ",["$","code",null,{"children":"/"}],",实际工作台入口位于 ",["$","code",null,{"children":"/workspace"}],"。"]}],"\n",["$","$L1c",null,{"as":"h2","id":"开发模式","children":"开发模式"}],"\n",["$","p",null,{"children":"在源码目录中,推荐使用:"}],"\n",["$","$L1d",null,{"className":"shiki shiki-themes github-light github-dark","style":{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8","--shiki-light-bg":"#fff","--shiki-dark-bg":"#24292e"},"tabIndex":"0","icon":"<svg viewBox=\"0 0 24 24\"><path d=\"m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z\" fill=\"currentColor\" /></svg>","children":["$","$L1e",null,{"children":["$","code",null,{"children":["$","span",null,{"className":"line","children":[["$","span",null,{"style":{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},"children":"npm"}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" run"}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" dev"}]]}]}]}]}],"\n",["$","p",null,{"children":["默认端口为 ",["$","code",null,{"children":"30121"}],"。"]}],"\n",["$","$L1c",null,{"as":"h2","id":"部署思路","children":"部署思路"}],"\n",["$","p",null,{"children":"annodex 的核心是本地或受控环境中的浏览器工作台,因此更适合:"}],"\n",["$","ul",null,{"children":["\n",["$","li",null,{"children":"本机个人使用"}],"\n",["$","li",null,{"children":"局域网内部部署"}],"\n",["$","li",null,{"children":"团队内受控节点或开发服务器"}],"\n"]}],"\n",["$","$L1c",null,{"as":"h2","id":"部署注意事项","children":"部署注意事项"}],"\n",["$","p",null,{"children":"使用时应考虑:"}],"\n",["$","ul",null,{"children":["\n",["$","li",null,{"children":"Codex app-server 的可访问性"}],"\n",["$","li",null,{"children":"provider 配置来源"}],"\n",["$","li",null,{"children":"本地文件系统权限"}],"\n",["$","li",null,{"children":"团队是否需要统一默认目录与项目注册"}],"\n","$L1f","\n"]}],"\n","$L20","\n","$L21"]}]]}]
|
|
33
|
+
1f:["$","li",null,{"children":["是否启用密码保护以及谁可以访问 ",["$","code",null,{"children":"/workspace"}]]}]
|
|
34
|
+
20:["$","$L1c",null,{"as":"h2","id":"建议","children":"建议"}]
|
|
35
|
+
21:["$","p",null,{"children":"如果目标是先验证产品体验,最好的方式不是复杂部署,而是先在本机跑通完整流程。"}]
|
|
36
|
+
15:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
|
|
37
|
+
22:I[86869,[],"IconMark"]
|
|
38
|
+
12:null
|
|
39
|
+
17:[["$","title","0",{"children":"Installation and Deployment"}],["$","meta","1",{"name":"description","content":"如何安装、启动并部署 annodex。"}],["$","link","2",{"rel":"shortcut icon","href":"/favicon.svg","type":"image/svg+xml"}],["$","link","3",{"rel":"icon","href":"/favicon.svg","type":"image/svg+xml"}],["$","$L22","4",{}]]
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
1:"$Sreact.fragment"
|
|
2
|
+
2:I[90484,[],"ViewportBoundary"]
|
|
3
|
+
3:I[90484,[],"MetadataBoundary"]
|
|
4
|
+
4:"$Sreact.suspense"
|
|
5
|
+
5:I[86869,[],"IconMark"]
|
|
6
|
+
0:{"rsc":["$","$1","h",{"children":[null,["$","$L2",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]}],["$","div",null,{"hidden":true,"children":["$","$L3",null,{"children":["$","$4",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"Installation and Deployment"}],["$","meta","1",{"name":"description","content":"如何安装、启动并部署 annodex。"}],["$","link","2",{"rel":"shortcut icon","href":"/favicon.svg","type":"image/svg+xml"}],["$","link","3",{"rel":"icon","href":"/favicon.svg","type":"image/svg+xml"}],["$","$L5","4",{}]]}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"c12uc5Ebna-CqP4_lL37X"}
|
|
@@ -0,0 +1,7 @@
|
|
|
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"]
|
|
3
|
+
3:I[57121,[],""]
|
|
4
|
+
4:I[74581,[],""]
|
|
5
|
+
:HL["/_next/static/css/fddca953485158e4.css","style"]
|
|
6
|
+
:HL["/_next/static/css/876e881d7ba02ed2.css","style"]
|
|
7
|
+
0:{"rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/fddca953485158e4.css","precedence":"next"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/876e881d7ba02ed2.css","precedence":"next"}]],["$","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","template":["$","$L4",null,{}],"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."}]}]]}]}]],[]]}]}]}]]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"c12uc5Ebna-CqP4_lL37X"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
:HL["/_next/static/media/7deddc85b7ffd1dc-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
|
2
|
+
:HL["/_next/static/media/ec14413c594b3356-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
|
3
|
+
:HL["/_next/static/css/fddca953485158e4.css","style"]
|
|
4
|
+
:HL["/_next/static/css/876e881d7ba02ed2.css","style"]
|
|
5
|
+
0:{"tree":{"name":"","param":null,"prefetchHints":16,"slots":{"children":{"name":"docs","param":null,"prefetchHints":0,"slots":{"children":{"name":"slug","param":{"type":"oc","key":"installation-and-deployment","siblings":null},"prefetchHints":0,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":0,"slots":null}}}}}}},"staleTime":300,"buildId":"c12uc5Ebna-CqP4_lL37X"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
1:"$Sreact.fragment"
|
|
2
|
+
2:I[39006,["5166","static/chunks/5166-58bbf85cbd32ad99.js","9278","static/chunks/9278-58ee6294b32318a5.js","4894","static/chunks/4894-e27a35edd6176226.js","7870","static/chunks/app/docs/%5B%5B...slug%5D%5D/page-d232277716ab7921.js"],"DocsPage"]
|
|
3
|
+
3:I[39006,["5166","static/chunks/5166-58bbf85cbd32ad99.js","9278","static/chunks/9278-58ee6294b32318a5.js","4894","static/chunks/4894-e27a35edd6176226.js","7870","static/chunks/app/docs/%5B%5B...slug%5D%5D/page-d232277716ab7921.js"],"DocsTitle"]
|
|
4
|
+
4:I[39006,["5166","static/chunks/5166-58bbf85cbd32ad99.js","9278","static/chunks/9278-58ee6294b32318a5.js","4894","static/chunks/4894-e27a35edd6176226.js","7870","static/chunks/app/docs/%5B%5B...slug%5D%5D/page-d232277716ab7921.js"],"DocsDescription"]
|
|
5
|
+
5:I[39006,["5166","static/chunks/5166-58bbf85cbd32ad99.js","9278","static/chunks/9278-58ee6294b32318a5.js","4894","static/chunks/4894-e27a35edd6176226.js","7870","static/chunks/app/docs/%5B%5B...slug%5D%5D/page-d232277716ab7921.js"],"DocsBody"]
|
|
6
|
+
6:I[88518,["5166","static/chunks/5166-58bbf85cbd32ad99.js","9278","static/chunks/9278-58ee6294b32318a5.js","4894","static/chunks/4894-e27a35edd6176226.js","7870","static/chunks/app/docs/%5B%5B...slug%5D%5D/page-d232277716ab7921.js"],"Heading"]
|
|
7
|
+
7:I[13768,["5166","static/chunks/5166-58bbf85cbd32ad99.js","9278","static/chunks/9278-58ee6294b32318a5.js","4894","static/chunks/4894-e27a35edd6176226.js","7870","static/chunks/app/docs/%5B%5B...slug%5D%5D/page-d232277716ab7921.js"],"CodeBlock"]
|
|
8
|
+
8:I[13768,["5166","static/chunks/5166-58bbf85cbd32ad99.js","9278","static/chunks/9278-58ee6294b32318a5.js","4894","static/chunks/4894-e27a35edd6176226.js","7870","static/chunks/app/docs/%5B%5B...slug%5D%5D/page-d232277716ab7921.js"],"Pre"]
|
|
9
|
+
d:I[90484,[],"OutletBoundary"]
|
|
10
|
+
e:"$Sreact.suspense"
|
|
11
|
+
0:{"rsc":["$","$1","c",{"children":[["$","$L2",null,{"toc":[{"depth":2,"url":"#本地安装","title":"本地安装"},{"depth":2,"url":"#开发模式","title":"开发模式"},{"depth":2,"url":"#部署思路","title":"部署思路"},{"depth":2,"url":"#部署注意事项","title":"部署注意事项"},{"depth":2,"url":"#建议","title":"建议"}],"children":[["$","$L3",null,{"children":"Installation and Deployment"}],["$","$L4",null,{"children":"如何安装、启动并部署 annodex。"}],["$","$L5",null,{"children":[["$","$L6",null,{"as":"h2","id":"本地安装","children":"本地安装"}],"\n",["$","p",null,{"children":"最直接的使用方式是全局安装:"}],"\n",["$","$L7",null,{"className":"shiki shiki-themes github-light github-dark","style":{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8","--shiki-light-bg":"#fff","--shiki-dark-bg":"#24292e"},"tabIndex":"0","icon":"<svg viewBox=\"0 0 24 24\"><path d=\"m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z\" fill=\"currentColor\" /></svg>","children":["$","$L8",null,{"children":["$","code",null,{"children":["$","span",null,{"className":"line","children":[["$","span",null,{"style":{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},"children":"npm"}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" i"}],["$","span",null,{"style":{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},"children":" -g"}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" @seqyuan/annodex"}]]}]}]}]}],"\n",["$","p",null,{"children":"安装后可直接运行:"}],"\n",["$","$L7",null,{"className":"shiki shiki-themes github-light github-dark","style":{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8","--shiki-light-bg":"#fff","--shiki-dark-bg":"#24292e"},"tabIndex":"0","icon":"<svg viewBox=\"0 0 24 24\"><path d=\"m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z\" fill=\"currentColor\" /></svg>","children":["$","$L8",null,{"children":["$","code",null,{"children":["$","span",null,{"className":"line","children":["$","span",null,{"style":{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},"children":"annodex"}]}]}]}]}],"\n",["$","p",null,{"children":["启动后,项目说明首页位于 ",["$","code",null,{"children":"/"}],",实际工作台入口位于 ",["$","code",null,{"children":"/workspace"}],"。"]}],"\n",["$","$L6",null,{"as":"h2","id":"开发模式","children":"开发模式"}],"\n",["$","p",null,{"children":"在源码目录中,推荐使用:"}],"\n",["$","$L7",null,{"className":"shiki shiki-themes github-light github-dark","style":{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8","--shiki-light-bg":"#fff","--shiki-dark-bg":"#24292e"},"tabIndex":"0","icon":"<svg viewBox=\"0 0 24 24\"><path d=\"m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z\" fill=\"currentColor\" /></svg>","children":["$","$L8",null,{"children":["$","code",null,{"children":["$","span",null,{"className":"line","children":[["$","span",null,{"style":{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},"children":"npm"}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" run"}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" dev"}]]}]}]}]}],"\n",["$","p",null,{"children":["默认端口为 ",["$","code",null,{"children":"30121"}],"。"]}],"\n",["$","$L6",null,{"as":"h2","id":"部署思路","children":"部署思路"}],"\n",["$","p",null,{"children":"annodex 的核心是本地或受控环境中的浏览器工作台,因此更适合:"}],"\n",["$","ul",null,{"children":["\n",["$","li",null,{"children":"本机个人使用"}],"\n",["$","li",null,{"children":"局域网内部部署"}],"\n",["$","li",null,{"children":"团队内受控节点或开发服务器"}],"\n"]}],"\n",["$","$L6",null,{"as":"h2","id":"部署注意事项","children":"部署注意事项"}],"\n",["$","p",null,{"children":"使用时应考虑:"}],"\n",["$","ul",null,{"children":["\n",["$","li",null,{"children":"Codex app-server 的可访问性"}],"\n",["$","li",null,{"children":"provider 配置来源"}],"\n",["$","li",null,{"children":"本地文件系统权限"}],"\n",["$","li",null,{"children":"团队是否需要统一默认目录与项目注册"}],"\n","$L9","\n"]}],"\n","$La","\n","$Lb"]}]]}],null,"$Lc"]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"c12uc5Ebna-CqP4_lL37X"}
|
|
12
|
+
9:["$","li",null,{"children":["是否启用密码保护以及谁可以访问 ",["$","code",null,{"children":"/workspace"}]]}]
|
|
13
|
+
a:["$","$L6",null,{"as":"h2","id":"建议","children":"建议"}]
|
|
14
|
+
b:["$","p",null,{"children":"如果目标是先验证产品体验,最好的方式不是复杂部署,而是先在本机跑通完整流程。"}]
|
|
15
|
+
c:["$","$Ld",null,{"children":["$","$e",null,{"name":"Next.MetadataOutlet","children":"$@f"}]}]
|
|
16
|
+
f:null
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
1:"$Sreact.fragment"
|
|
2
|
+
2:I[57121,[],""]
|
|
3
|
+
3:I[74581,[],""]
|
|
4
|
+
4:[]
|
|
5
|
+
0:{"rsc":["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}]}]]}],"isPartial":false,"staleTime":300,"varyParams":"$W4","buildId":"c12uc5Ebna-CqP4_lL37X"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
1:"$Sreact.fragment"
|
|
2
|
+
2:I[67197,["5166","static/chunks/5166-58bbf85cbd32ad99.js","9278","static/chunks/9278-58ee6294b32318a5.js","4499","static/chunks/app/docs/layout-4809bb9dd4b49bff.js"],"LayoutBody"]
|
|
3
|
+
3:I[99535,["5166","static/chunks/5166-58bbf85cbd32ad99.js","9278","static/chunks/9278-58ee6294b32318a5.js","4894","static/chunks/4894-e27a35edd6176226.js","7870","static/chunks/app/docs/%5B%5B...slug%5D%5D/page-d232277716ab7921.js"],"default"]
|
|
4
|
+
4:I[57121,[],""]
|
|
5
|
+
5:I[74581,[],""]
|
|
6
|
+
0:{"rsc":["$","$1","c",{"children":[null,["$","$L2",null,{"tree":{"type":"root","$ref":{"folder":"","meta":"meta.json"},"$id":"root","name":"Documentation","children":[{"$id":"index.mdx","type":"page","name":"Annodex","description":"浏览器原生的 Codex 工作台。","url":"/docs","$ref":"index.mdx"},{"$id":"quick-start.mdx","type":"page","name":"Quick Start","description":"安装并启动 annodex。","url":"/docs/quick-start","$ref":"quick-start.mdx"},{"$id":"installation-and-deployment.mdx","type":"page","name":"Installation and Deployment","description":"如何安装、启动并部署 annodex。","url":"/docs/installation-and-deployment","$ref":"installation-and-deployment.mdx"},{"$id":"configuration.mdx","type":"page","name":"Configuration","description":"annodex 的配置位置与主要配置对象。","url":"/docs/configuration","$ref":"configuration.mdx"},{"$id":"architecture.mdx","type":"page","name":"Architecture","description":"annodex 的核心结构与数据流。","url":"/docs/architecture","$ref":"architecture.mdx"},{"$id":"workspace.mdx","type":"page","name":"Workspace","description":"annodex 工作台的主要界面组成。","url":"/docs/workspace","$ref":"workspace.mdx"},{"$id":"sessions-and-projects.mdx","type":"page","name":"Sessions and Projects","description":"为什么 annodex 以项目为中心组织会话。","url":"/docs/sessions-and-projects","$ref":"sessions-and-projects.mdx"},{"$id":"models-and-tools.mdx","type":"page","name":"Models and Tools","description":"provider、模型、thinking level 与工具预设的作用。","url":"/docs/models-and-tools","$ref":"models-and-tools.mdx"},{"$id":"runtime-and-sse.mdx","type":"page","name":"Runtime and SSE","description":"annodex 如何显示 agent 的运行态与实时事件。","url":"/docs/runtime-and-sse","$ref":"runtime-and-sse.mdx"},{"$id":"file-and-report-viewing.mdx","type":"page","name":"File Viewing and Outputs","description":"annodex 如何让文件审阅与结果产物查看发生在同一界面。","url":"/docs/file-and-report-viewing","$ref":"file-and-report-viewing.mdx"}]},"tabs":[],"sidebar":{},"nav":{"title":["$","span",null,{"style":{"display":"inline-flex","alignItems":"center","gap":10,"fontWeight":700},"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}],"annodex"]}]},"links":[{"text":"Docs","url":"/docs","icon":["$","$L3",null,{"iconNode":[["path",{"d":"M12 7v14","key":"1akyts"}],["path",{"d":"M16 12h2","key":"7q9ll5"}],["path",{"d":"M16 8h2","key":"msurwy"}],["path",{"d":"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z","key":"ruj8y"}],["path",{"d":"M6 12h2","key":"32wvfc"}],["path",{"d":"M6 8h2","key":"30oboj"}]],"className":"lucide-book-open-text","size":16}],"active":"nested-url"},{"text":"Workspace","url":"/workspace","icon":["$","$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}],"active":"nested-url"},{"text":"GitHub","url":"https://github.com/seqyuan/annodex","external":true}],"children":["$","$L4",null,{"parallelRouterKey":"children","template":["$","$L5",null,{}]}]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"c12uc5Ebna-CqP4_lL37X"}
|