@surething/cockpit 1.0.210 → 1.0.212
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-prod/BUILD_ID +1 -1
- package/.next-prod/app-path-routes-manifest.json +9 -5
- package/.next-prod/build-manifest.json +2 -2
- package/.next-prod/prerender-manifest.json +3 -3
- package/.next-prod/routes-manifest.json +24 -0
- package/.next-prod/server/app/_global-error/page.js +3 -3
- package/.next-prod/server/app/_global-error/page.js.nft.json +1 -1
- package/.next-prod/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/_global-error.html +1 -1
- package/.next-prod/server/app/_global-error.rsc +1 -1
- package/.next-prod/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next-prod/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/.next-prod/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
- package/.next-prod/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/.next-prod/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next-prod/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next-prod/server/app/_not-found/page.js +2 -2
- package/.next-prod/server/app/_not-found/page.js.nft.json +1 -1
- package/.next-prod/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/_not-found.html +1 -1
- package/.next-prod/server/app/_not-found.rsc +4 -4
- package/.next-prod/server/app/_not-found.segments/_full.segment.rsc +4 -4
- package/.next-prod/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/.next-prod/server/app/_not-found.segments/_index.segment.rsc +3 -3
- package/.next-prod/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/.next-prod/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/.next-prod/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/.next-prod/server/app/api/agent/test/route.js +1 -1
- package/.next-prod/server/app/api/agent/test/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/bash/route.js +1 -1
- package/.next-prod/server/app/api/bash/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/chat/codex/route.js +78 -4
- package/.next-prod/server/app/api/chat/codex/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/chat/deepseek/route.js +78 -4
- package/.next-prod/server/app/api/chat/deepseek/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/chat/kimi/route.js +87 -13
- package/.next-prod/server/app/api/chat/kimi/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/chat/ollama/route.js +89 -15
- package/.next-prod/server/app/api/chat/ollama/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/chat/route.js +78 -4
- package/.next-prod/server/app/api/chat/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/claude-stats/route.js +1 -1
- package/.next-prod/server/app/api/claude-stats/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/commands/route.js +1 -1
- package/.next-prod/server/app/api/commands/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/comments/route.js +1 -1
- package/.next-prod/server/app/api/comments/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/db/columns/route.js +2 -2
- package/.next-prod/server/app/api/db/columns/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/db/connect/route.js +1 -1
- package/.next-prod/server/app/api/db/connect/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/db/disconnect/route.js +1 -1
- package/.next-prod/server/app/api/db/disconnect/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/db/export/route.js +1 -1
- package/.next-prod/server/app/api/db/export/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/db/query/route.js +1 -1
- package/.next-prod/server/app/api/db/query/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/db/schemas/route.js +1 -1
- package/.next-prod/server/app/api/db/schemas/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/dev/spans/route.js +1 -1
- package/.next-prod/server/app/api/dev/spans/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/extension/version/route.js +1 -1
- package/.next-prod/server/app/api/extension/version/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/file/route.js +1 -1
- package/.next-prod/server/app/api/file/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/files/blame/route.js +1 -1
- package/.next-prod/server/app/api/files/blame/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/files/clipboard/route.js +1 -1
- package/.next-prod/server/app/api/files/clipboard/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/files/copy/route.js +1 -1
- package/.next-prod/server/app/api/files/copy/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/files/delete/route.js +1 -1
- package/.next-prod/server/app/api/files/delete/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/files/expanded/route.js +1 -1
- package/.next-prod/server/app/api/files/expanded/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/files/index/route.js +1 -1
- package/.next-prod/server/app/api/files/index/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/files/init/route.js +1 -1
- package/.next-prod/server/app/api/files/init/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/files/paste/route.js +1 -1
- package/.next-prod/server/app/api/files/paste/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/files/read/route.js +1 -1
- package/.next-prod/server/app/api/files/read/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/files/readdir/route.js +1 -1
- package/.next-prod/server/app/api/files/readdir/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/files/recent/route.js +1 -1
- package/.next-prod/server/app/api/files/recent/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/files/save/route.js +1 -1
- package/.next-prod/server/app/api/files/save/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/files/search/route.js +1 -1
- package/.next-prod/server/app/api/files/search/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/files/stat/route.js +1 -1
- package/.next-prod/server/app/api/files/stat/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/files/text/route.js +1 -1
- package/.next-prod/server/app/api/files/text/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/git/branch-diff/route.js +1 -1
- package/.next-prod/server/app/api/git/branch-diff/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/git/branches/route.js +1 -1
- package/.next-prod/server/app/api/git/branches/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/git/commit-diff/route.js +1 -1
- package/.next-prod/server/app/api/git/commit-diff/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/git/commits/route.js +1 -1
- package/.next-prod/server/app/api/git/commits/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/git/diff/route.js +1 -1
- package/.next-prod/server/app/api/git/diff/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/git/discard/route.js +1 -1
- package/.next-prod/server/app/api/git/discard/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/git/stage/route.js +1 -1
- package/.next-prod/server/app/api/git/stage/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/git/status/route.js +1 -1
- package/.next-prod/server/app/api/git/status/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/git/unstage/route.js +1 -1
- package/.next-prod/server/app/api/git/unstage/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/git/worktree/route.js +1 -1
- package/.next-prod/server/app/api/git/worktree/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/global-state/route.js +1 -1
- package/.next-prod/server/app/api/global-state/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/jupyter/load/route.js +1 -1
- package/.next-prod/server/app/api/jupyter/load/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/jupyter/save/route.js +1 -1
- package/.next-prod/server/app/api/jupyter/save/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/jupyter/shutdown/route.js +1 -1
- package/.next-prod/server/app/api/jupyter/shutdown/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/lsp/definition/route.js +1 -1
- package/.next-prod/server/app/api/lsp/definition/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/lsp/hover/route.js +1 -1
- package/.next-prod/server/app/api/lsp/hover/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/lsp/references/route.js +1 -1
- package/.next-prod/server/app/api/lsp/references/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/lsp/status/route.js +1 -1
- package/.next-prod/server/app/api/lsp/status/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/lsp/warmup/route.js +1 -1
- package/.next-prod/server/app/api/lsp/warmup/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/mysql/columns/route.js +1 -1
- package/.next-prod/server/app/api/mysql/columns/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/mysql/connect/route.js +1 -1
- package/.next-prod/server/app/api/mysql/connect/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/mysql/disconnect/route.js +1 -1
- package/.next-prod/server/app/api/mysql/disconnect/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/mysql/export/route.js +1 -1
- package/.next-prod/server/app/api/mysql/export/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/mysql/query/route.js +1 -1
- package/.next-prod/server/app/api/mysql/query/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/mysql/schemas/route.js +1 -1
- package/.next-prod/server/app/api/mysql/schemas/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/neo4j/connect/route.js +1 -1
- package/.next-prod/server/app/api/neo4j/connect/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/neo4j/disconnect/route.js +1 -1
- package/.next-prod/server/app/api/neo4j/disconnect/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/neo4j/query/route.js +1 -1
- package/.next-prod/server/app/api/neo4j/query/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/neo4j/schema/route.js +1 -1
- package/.next-prod/server/app/api/neo4j/schema/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/note/route.js +1 -1
- package/.next-prod/server/app/api/note/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/ollama/models/route.js +1 -1
- package/.next-prod/server/app/api/ollama/models/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/ollama/start/route.js +1 -1
- package/.next-prod/server/app/api/ollama/start/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/open-cursor/route.js +1 -1
- package/.next-prod/server/app/api/open-cursor/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/open-vscode/route.js +1 -1
- package/.next-prod/server/app/api/open-vscode/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/pick-folder/route.js +1 -1
- package/.next-prod/server/app/api/pick-folder/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/pinned-sessions/route.js +1 -1
- package/.next-prod/server/app/api/pinned-sessions/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/project-settings/route.js +1 -1
- package/.next-prod/server/app/api/project-settings/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/project-state/route.js +1 -1
- package/.next-prod/server/app/api/project-state/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/projectGraph/callees/route.js +1 -0
- package/.next-prod/server/app/api/projectGraph/callees/route.js.nft.json +1 -0
- package/.next-prod/server/app/api/projectGraph/callees/route_client-reference-manifest.js +1 -0
- package/.next-prod/server/app/api/projectGraph/callers/route.js +1 -0
- package/.next-prod/server/app/api/projectGraph/callers/route.js.nft.json +1 -0
- package/.next-prod/server/app/api/projectGraph/callers/route_client-reference-manifest.js +1 -0
- package/.next-prod/server/app/api/projectGraph/coedit/route.js +1 -0
- package/.next-prod/server/app/api/projectGraph/coedit/route.js.nft.json +1 -0
- package/.next-prod/server/app/api/projectGraph/coedit/route_client-reference-manifest.js +1 -0
- package/.next-prod/server/app/api/projectGraph/file/route.js +1 -1
- package/.next-prod/server/app/api/projectGraph/file/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/projectGraph/file-functions/route.js +1 -1
- package/.next-prod/server/app/api/projectGraph/file-functions/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/projectGraph/impact/route.js +1 -0
- package/.next-prod/server/app/api/projectGraph/impact/route.js.nft.json +1 -0
- package/.next-prod/server/app/api/projectGraph/impact/route_client-reference-manifest.js +1 -0
- package/.next-prod/server/app/api/projectGraph/search/route.js +1 -1
- package/.next-prod/server/app/api/projectGraph/search/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/projects/route.js +1 -1
- package/.next-prod/server/app/api/projects/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/redis/command/route.js +1 -1
- package/.next-prod/server/app/api/redis/command/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/redis/connect/route.js +1 -1
- package/.next-prod/server/app/api/redis/connect/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/redis/delete/route.js +1 -1
- package/.next-prod/server/app/api/redis/delete/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/redis/disconnect/route.js +1 -1
- package/.next-prod/server/app/api/redis/disconnect/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/redis/get/route.js +1 -1
- package/.next-prod/server/app/api/redis/get/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/redis/keys/route.js +1 -1
- package/.next-prod/server/app/api/redis/keys/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/redis/set/route.js +1 -1
- package/.next-prod/server/app/api/redis/set/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/review/[id]/comments/route.js +1 -1
- package/.next-prod/server/app/api/review/[id]/comments/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/review/[id]/replies/route.js +1 -1
- package/.next-prod/server/app/api/review/[id]/replies/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/review/[id]/route.js +1 -1
- package/.next-prod/server/app/api/review/[id]/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/review/identify/route.js +1 -1
- package/.next-prod/server/app/api/review/identify/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/review/order/route.js +1 -1
- package/.next-prod/server/app/api/review/order/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/review/route.js +1 -1
- package/.next-prod/server/app/api/review/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/review/share-info/route.js +1 -1
- package/.next-prod/server/app/api/review/share-info/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/review/users/route.js +1 -1
- package/.next-prod/server/app/api/review/users/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/scheduled-tasks/route.js +1 -1
- package/.next-prod/server/app/api/scheduled-tasks/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/services/config/route.js +1 -1
- package/.next-prod/server/app/api/services/config/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/services/scripts/route.js +1 -1
- package/.next-prod/server/app/api/services/scripts/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/session/[sessionId]/fork/route.js +1 -1
- package/.next-prod/server/app/api/session/[sessionId]/fork/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/session/[sessionId]/history/route.js +1 -1
- package/.next-prod/server/app/api/session/[sessionId]/history/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/session-by-path/route.js +1 -1
- package/.next-prod/server/app/api/session-by-path/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/sessions/projects/[encodedPath]/route.js +1 -1
- package/.next-prod/server/app/api/sessions/projects/[encodedPath]/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/sessions/projects/route.js +1 -1
- package/.next-prod/server/app/api/sessions/projects/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/sessions/route.js +1 -1
- package/.next-prod/server/app/api/sessions/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/settings/route.js +1 -1
- package/.next-prod/server/app/api/settings/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/skills/[id]/route.js +1 -1
- package/.next-prod/server/app/api/skills/[id]/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/skills/content/route.js +1 -1
- package/.next-prod/server/app/api/skills/content/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/skills/route.js +1 -1
- package/.next-prod/server/app/api/skills/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/terminal/aliases/route.js +1 -1
- package/.next-prod/server/app/api/terminal/aliases/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/terminal/autocomplete/route.js +1 -1
- package/.next-prod/server/app/api/terminal/autocomplete/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/terminal/bubble-order/route.js +1 -1
- package/.next-prod/server/app/api/terminal/bubble-order/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/terminal/env/route.js +1 -1
- package/.next-prod/server/app/api/terminal/env/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/terminal/history/route.js +1 -1
- package/.next-prod/server/app/api/terminal/history/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/version/route.js +1 -1
- package/.next-prod/server/app/api/version/route.js.nft.json +1 -1
- package/.next-prod/server/app/favicon.ico/route.js +1 -1
- package/.next-prod/server/app/favicon.ico/route.js.nft.json +1 -1
- package/.next-prod/server/app/manifest.webmanifest/route.js +2 -2
- package/.next-prod/server/app/manifest.webmanifest/route.js.nft.json +1 -1
- package/.next-prod/server/app/manifest.webmanifest.body +1 -1
- package/.next-prod/server/app/page.js +2 -2
- package/.next-prod/server/app/page.js.nft.json +1 -1
- package/.next-prod/server/app/page_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/project/page.js +2 -2
- package/.next-prod/server/app/project/page.js.nft.json +1 -1
- package/.next-prod/server/app/project/page_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/review/[id]/page.js +2 -2
- package/.next-prod/server/app/review/[id]/page.js.nft.json +1 -1
- package/.next-prod/server/app/review/[id]/page_client-reference-manifest.js +1 -1
- package/.next-prod/server/app-paths-manifest.json +9 -5
- package/.next-prod/server/chunks/2939.js +1 -0
- package/.next-prod/server/chunks/5616.js +1 -1
- package/.next-prod/server/chunks/6955.js +1 -1
- package/.next-prod/server/chunks/8916.js +1 -1
- package/.next-prod/server/chunks/9658.js +2 -2
- package/.next-prod/server/middleware-build-manifest.js +1 -1
- package/.next-prod/server/pages/404.html +1 -1
- package/.next-prod/server/pages/500.html +1 -1
- package/.next-prod/server/server-reference-manifest.json +1 -1
- package/.next-prod/static/IVZ8ReZv3wH9JQhz4PDC2/_buildManifest.js +1 -0
- package/.next-prod/static/chunks/6345-3da1914a1a74c1fb.js +14 -0
- package/.next-prod/static/chunks/app/_global-error/page-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/agent/test/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/bash/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/chat/codex/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/chat/deepseek/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/chat/kimi/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/chat/ollama/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/chat/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/claude-stats/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/commands/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/comments/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/db/columns/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/db/connect/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/db/disconnect/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/db/export/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/db/query/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/db/schemas/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/dev/spans/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/extension/version/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/file/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/files/blame/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/files/clipboard/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/files/copy/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/files/delete/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/files/expanded/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/files/index/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/files/init/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/files/paste/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/files/read/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/files/readdir/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/files/recent/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/files/save/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/files/search/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/files/stat/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/files/text/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/git/branch-diff/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/git/branches/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/git/commit-diff/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/git/commits/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/git/diff/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/git/discard/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/git/stage/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/git/status/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/git/unstage/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/git/worktree/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/global-state/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/jupyter/load/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/jupyter/save/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/jupyter/shutdown/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/lsp/definition/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/lsp/hover/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/lsp/references/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/lsp/status/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/lsp/warmup/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/mysql/columns/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/mysql/connect/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/mysql/disconnect/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/mysql/export/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/mysql/query/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/mysql/schemas/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/neo4j/connect/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/neo4j/disconnect/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/neo4j/query/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/neo4j/schema/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/note/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/ollama/models/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/ollama/start/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/open-cursor/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/open-vscode/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/pick-folder/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/pinned-sessions/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/project-settings/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/project-state/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/projectGraph/callees/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/projectGraph/callers/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/projectGraph/coedit/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/projectGraph/file/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/projectGraph/file-functions/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/projectGraph/impact/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/projectGraph/search/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/projects/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/redis/command/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/redis/connect/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/redis/delete/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/redis/disconnect/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/redis/get/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/redis/keys/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/redis/set/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/review/[id]/comments/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/review/[id]/replies/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/review/[id]/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/review/identify/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/review/order/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/review/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/review/share-info/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/review/users/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/scheduled-tasks/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/services/config/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/services/scripts/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/session/[sessionId]/fork/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/session/[sessionId]/history/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/session-by-path/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/sessions/projects/[encodedPath]/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/sessions/projects/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/sessions/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/settings/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/skills/[id]/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/skills/content/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/skills/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/terminal/aliases/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/terminal/autocomplete/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/terminal/bubble-order/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/terminal/env/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/terminal/history/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/api/version/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/app/manifest.webmanifest/route-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/next/dist/client/components/builtin/app-error-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/next/dist/client/components/builtin/forbidden-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/next/dist/client/components/builtin/not-found-994734ef0d317687.js +1 -0
- package/.next-prod/static/chunks/next/dist/client/components/builtin/unauthorized-994734ef0d317687.js +1 -0
- package/.next-prod/static/css/f9a27209b85d8e5a.css +1 -0
- package/.next-prod/trace +12 -12
- package/.next-prod/trace-build +1 -1
- package/.next-prod/types/app/api/projectGraph/callees/route.ts +351 -0
- package/.next-prod/types/app/api/projectGraph/callers/route.ts +351 -0
- package/.next-prod/types/app/api/projectGraph/coedit/route.ts +351 -0
- package/.next-prod/types/app/api/projectGraph/impact/route.ts +351 -0
- package/.next-prod/types/routes.d.ts +5 -1
- package/.next-prod/types/validator.ts +36 -0
- package/README.md +16 -28
- package/README.zh.md +16 -28
- package/chrome-extension/manifest.json +2 -2
- package/dist/wsServer.mjs +2730 -4
- package/package.json +3 -3
- package/.next-prod/server/chunks/5159.js +0 -1
- package/.next-prod/static/LJRtmjYCuVrSA_dcelxlR/_buildManifest.js +0 -1
- package/.next-prod/static/chunks/6345-3c06cdc8c89677b8.js +0 -14
- package/.next-prod/static/chunks/app/_global-error/page-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/agent/test/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/bash/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/chat/codex/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/chat/deepseek/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/chat/kimi/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/chat/ollama/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/chat/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/claude-stats/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/commands/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/comments/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/db/columns/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/db/connect/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/db/disconnect/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/db/export/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/db/query/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/db/schemas/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/dev/spans/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/extension/version/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/file/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/files/blame/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/files/clipboard/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/files/copy/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/files/delete/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/files/expanded/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/files/index/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/files/init/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/files/paste/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/files/read/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/files/readdir/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/files/recent/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/files/save/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/files/search/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/files/stat/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/files/text/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/git/branch-diff/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/git/branches/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/git/commit-diff/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/git/commits/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/git/diff/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/git/discard/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/git/stage/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/git/status/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/git/unstage/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/git/worktree/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/global-state/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/jupyter/load/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/jupyter/save/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/jupyter/shutdown/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/lsp/definition/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/lsp/hover/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/lsp/references/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/lsp/status/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/lsp/warmup/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/mysql/columns/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/mysql/connect/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/mysql/disconnect/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/mysql/export/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/mysql/query/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/mysql/schemas/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/neo4j/connect/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/neo4j/disconnect/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/neo4j/query/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/neo4j/schema/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/note/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/ollama/models/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/ollama/start/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/open-cursor/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/open-vscode/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/pick-folder/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/pinned-sessions/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/project-settings/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/project-state/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/projectGraph/file/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/projectGraph/file-functions/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/projectGraph/search/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/projects/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/redis/command/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/redis/connect/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/redis/delete/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/redis/disconnect/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/redis/get/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/redis/keys/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/redis/set/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/review/[id]/comments/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/review/[id]/replies/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/review/[id]/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/review/identify/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/review/order/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/review/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/review/share-info/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/review/users/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/scheduled-tasks/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/services/config/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/services/scripts/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/session/[sessionId]/fork/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/session/[sessionId]/history/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/session-by-path/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/sessions/projects/[encodedPath]/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/sessions/projects/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/sessions/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/settings/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/skills/[id]/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/skills/content/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/skills/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/terminal/aliases/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/terminal/autocomplete/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/terminal/bubble-order/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/terminal/env/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/terminal/history/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/api/version/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/app/manifest.webmanifest/route-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/next/dist/client/components/builtin/app-error-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/next/dist/client/components/builtin/forbidden-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/next/dist/client/components/builtin/not-found-826847d169541fa9.js +0 -1
- package/.next-prod/static/chunks/next/dist/client/components/builtin/unauthorized-826847d169541fa9.js +0 -1
- package/.next-prod/static/css/dcde719317bea028.css +0 -1
- /package/.next-prod/static/{LJRtmjYCuVrSA_dcelxlR → IVZ8ReZv3wH9JQhz4PDC2}/_ssgManifest.js +0 -0
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// Do not edit this file manually
|
|
3
3
|
|
|
4
4
|
type AppRoutes = "/" | "/project" | "/review/[id]"
|
|
5
|
-
type AppRouteHandlerRoutes = "/api/agent/test" | "/api/bash" | "/api/chat" | "/api/chat/codex" | "/api/chat/deepseek" | "/api/chat/kimi" | "/api/chat/ollama" | "/api/claude-stats" | "/api/commands" | "/api/comments" | "/api/db/columns" | "/api/db/connect" | "/api/db/disconnect" | "/api/db/export" | "/api/db/query" | "/api/db/schemas" | "/api/dev/spans" | "/api/extension/version" | "/api/file" | "/api/files/blame" | "/api/files/clipboard" | "/api/files/copy" | "/api/files/delete" | "/api/files/expanded" | "/api/files/index" | "/api/files/init" | "/api/files/paste" | "/api/files/read" | "/api/files/readdir" | "/api/files/recent" | "/api/files/save" | "/api/files/search" | "/api/files/stat" | "/api/files/text" | "/api/git/branch-diff" | "/api/git/branches" | "/api/git/commit-diff" | "/api/git/commits" | "/api/git/diff" | "/api/git/discard" | "/api/git/stage" | "/api/git/status" | "/api/git/unstage" | "/api/git/worktree" | "/api/global-state" | "/api/jupyter/load" | "/api/jupyter/save" | "/api/jupyter/shutdown" | "/api/lsp/definition" | "/api/lsp/hover" | "/api/lsp/references" | "/api/lsp/status" | "/api/lsp/warmup" | "/api/mysql/columns" | "/api/mysql/connect" | "/api/mysql/disconnect" | "/api/mysql/export" | "/api/mysql/query" | "/api/mysql/schemas" | "/api/neo4j/connect" | "/api/neo4j/disconnect" | "/api/neo4j/query" | "/api/neo4j/schema" | "/api/note" | "/api/ollama/models" | "/api/ollama/start" | "/api/open-cursor" | "/api/open-vscode" | "/api/pick-folder" | "/api/pinned-sessions" | "/api/project-settings" | "/api/project-state" | "/api/projectGraph/file" | "/api/projectGraph/file-functions" | "/api/projectGraph/search" | "/api/projects" | "/api/redis/command" | "/api/redis/connect" | "/api/redis/delete" | "/api/redis/disconnect" | "/api/redis/get" | "/api/redis/keys" | "/api/redis/set" | "/api/review" | "/api/review/[id]" | "/api/review/[id]/comments" | "/api/review/[id]/replies" | "/api/review/identify" | "/api/review/order" | "/api/review/share-info" | "/api/review/users" | "/api/scheduled-tasks" | "/api/services/config" | "/api/services/scripts" | "/api/session-by-path" | "/api/session/[sessionId]/fork" | "/api/session/[sessionId]/history" | "/api/sessions" | "/api/sessions/projects" | "/api/sessions/projects/[encodedPath]" | "/api/settings" | "/api/skills" | "/api/skills/[id]" | "/api/skills/content" | "/api/terminal/aliases" | "/api/terminal/autocomplete" | "/api/terminal/bubble-order" | "/api/terminal/env" | "/api/terminal/history" | "/api/version"
|
|
5
|
+
type AppRouteHandlerRoutes = "/api/agent/test" | "/api/bash" | "/api/chat" | "/api/chat/codex" | "/api/chat/deepseek" | "/api/chat/kimi" | "/api/chat/ollama" | "/api/claude-stats" | "/api/commands" | "/api/comments" | "/api/db/columns" | "/api/db/connect" | "/api/db/disconnect" | "/api/db/export" | "/api/db/query" | "/api/db/schemas" | "/api/dev/spans" | "/api/extension/version" | "/api/file" | "/api/files/blame" | "/api/files/clipboard" | "/api/files/copy" | "/api/files/delete" | "/api/files/expanded" | "/api/files/index" | "/api/files/init" | "/api/files/paste" | "/api/files/read" | "/api/files/readdir" | "/api/files/recent" | "/api/files/save" | "/api/files/search" | "/api/files/stat" | "/api/files/text" | "/api/git/branch-diff" | "/api/git/branches" | "/api/git/commit-diff" | "/api/git/commits" | "/api/git/diff" | "/api/git/discard" | "/api/git/stage" | "/api/git/status" | "/api/git/unstage" | "/api/git/worktree" | "/api/global-state" | "/api/jupyter/load" | "/api/jupyter/save" | "/api/jupyter/shutdown" | "/api/lsp/definition" | "/api/lsp/hover" | "/api/lsp/references" | "/api/lsp/status" | "/api/lsp/warmup" | "/api/mysql/columns" | "/api/mysql/connect" | "/api/mysql/disconnect" | "/api/mysql/export" | "/api/mysql/query" | "/api/mysql/schemas" | "/api/neo4j/connect" | "/api/neo4j/disconnect" | "/api/neo4j/query" | "/api/neo4j/schema" | "/api/note" | "/api/ollama/models" | "/api/ollama/start" | "/api/open-cursor" | "/api/open-vscode" | "/api/pick-folder" | "/api/pinned-sessions" | "/api/project-settings" | "/api/project-state" | "/api/projectGraph/callees" | "/api/projectGraph/callers" | "/api/projectGraph/coedit" | "/api/projectGraph/file" | "/api/projectGraph/file-functions" | "/api/projectGraph/impact" | "/api/projectGraph/search" | "/api/projects" | "/api/redis/command" | "/api/redis/connect" | "/api/redis/delete" | "/api/redis/disconnect" | "/api/redis/get" | "/api/redis/keys" | "/api/redis/set" | "/api/review" | "/api/review/[id]" | "/api/review/[id]/comments" | "/api/review/[id]/replies" | "/api/review/identify" | "/api/review/order" | "/api/review/share-info" | "/api/review/users" | "/api/scheduled-tasks" | "/api/services/config" | "/api/services/scripts" | "/api/session-by-path" | "/api/session/[sessionId]/fork" | "/api/session/[sessionId]/history" | "/api/sessions" | "/api/sessions/projects" | "/api/sessions/projects/[encodedPath]" | "/api/settings" | "/api/skills" | "/api/skills/[id]" | "/api/skills/content" | "/api/terminal/aliases" | "/api/terminal/autocomplete" | "/api/terminal/bubble-order" | "/api/terminal/env" | "/api/terminal/history" | "/api/version"
|
|
6
6
|
type PageRoutes = never
|
|
7
7
|
type LayoutRoutes = "/"
|
|
8
8
|
type RedirectRoutes = never
|
|
@@ -84,8 +84,12 @@ interface ParamMap {
|
|
|
84
84
|
"/api/pinned-sessions": {}
|
|
85
85
|
"/api/project-settings": {}
|
|
86
86
|
"/api/project-state": {}
|
|
87
|
+
"/api/projectGraph/callees": {}
|
|
88
|
+
"/api/projectGraph/callers": {}
|
|
89
|
+
"/api/projectGraph/coedit": {}
|
|
87
90
|
"/api/projectGraph/file": {}
|
|
88
91
|
"/api/projectGraph/file-functions": {}
|
|
92
|
+
"/api/projectGraph/impact": {}
|
|
89
93
|
"/api/projectGraph/search": {}
|
|
90
94
|
"/api/projects": {}
|
|
91
95
|
"/api/redis/command": {}
|
|
@@ -722,6 +722,33 @@ type RouteHandlerConfig<Route extends AppRouteHandlerRoutes = AppRouteHandlerRou
|
|
|
722
722
|
type __Unused = __Check
|
|
723
723
|
}
|
|
724
724
|
|
|
725
|
+
// Validate ../../src/app/api/projectGraph/callees/route.ts
|
|
726
|
+
{
|
|
727
|
+
type __IsExpected<Specific extends RouteHandlerConfig<"/api/projectGraph/callees">> = Specific
|
|
728
|
+
const handler = {} as typeof import("../../src/app/api/projectGraph/callees/route.js")
|
|
729
|
+
type __Check = __IsExpected<typeof handler>
|
|
730
|
+
// @ts-ignore
|
|
731
|
+
type __Unused = __Check
|
|
732
|
+
}
|
|
733
|
+
|
|
734
|
+
// Validate ../../src/app/api/projectGraph/callers/route.ts
|
|
735
|
+
{
|
|
736
|
+
type __IsExpected<Specific extends RouteHandlerConfig<"/api/projectGraph/callers">> = Specific
|
|
737
|
+
const handler = {} as typeof import("../../src/app/api/projectGraph/callers/route.js")
|
|
738
|
+
type __Check = __IsExpected<typeof handler>
|
|
739
|
+
// @ts-ignore
|
|
740
|
+
type __Unused = __Check
|
|
741
|
+
}
|
|
742
|
+
|
|
743
|
+
// Validate ../../src/app/api/projectGraph/coedit/route.ts
|
|
744
|
+
{
|
|
745
|
+
type __IsExpected<Specific extends RouteHandlerConfig<"/api/projectGraph/coedit">> = Specific
|
|
746
|
+
const handler = {} as typeof import("../../src/app/api/projectGraph/coedit/route.js")
|
|
747
|
+
type __Check = __IsExpected<typeof handler>
|
|
748
|
+
// @ts-ignore
|
|
749
|
+
type __Unused = __Check
|
|
750
|
+
}
|
|
751
|
+
|
|
725
752
|
// Validate ../../src/app/api/projectGraph/file-functions/route.ts
|
|
726
753
|
{
|
|
727
754
|
type __IsExpected<Specific extends RouteHandlerConfig<"/api/projectGraph/file-functions">> = Specific
|
|
@@ -740,6 +767,15 @@ type RouteHandlerConfig<Route extends AppRouteHandlerRoutes = AppRouteHandlerRou
|
|
|
740
767
|
type __Unused = __Check
|
|
741
768
|
}
|
|
742
769
|
|
|
770
|
+
// Validate ../../src/app/api/projectGraph/impact/route.ts
|
|
771
|
+
{
|
|
772
|
+
type __IsExpected<Specific extends RouteHandlerConfig<"/api/projectGraph/impact">> = Specific
|
|
773
|
+
const handler = {} as typeof import("../../src/app/api/projectGraph/impact/route.js")
|
|
774
|
+
type __Check = __IsExpected<typeof handler>
|
|
775
|
+
// @ts-ignore
|
|
776
|
+
type __Unused = __Check
|
|
777
|
+
}
|
|
778
|
+
|
|
743
779
|
// Validate ../../src/app/api/projectGraph/search/route.ts
|
|
744
780
|
{
|
|
745
781
|
type __IsExpected<Specific extends RouteHandlerConfig<"/api/projectGraph/search">> = Specific
|
package/README.md
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
<p align="center">
|
|
2
|
-
<a href="https://
|
|
3
|
-
<img src="public/icons/icon-128x128.png" width="80" alt="
|
|
2
|
+
<a href="https://opencockpit.dev">
|
|
3
|
+
<img src="public/icons/icon-128x128.png" width="80" alt="OpenCockpit logo" />
|
|
4
4
|
</a>
|
|
5
5
|
</p>
|
|
6
6
|
|
|
7
|
-
<h1 align="center">
|
|
7
|
+
<h1 align="center">OpenCockpit — The open Claude Code GUI for any agent</h1>
|
|
8
8
|
|
|
9
9
|
<p align="center">
|
|
10
|
-
<strong>One seat.
|
|
10
|
+
<strong>One seat. One AI. Everything under control.</strong><br/>
|
|
11
11
|
<sub><code>/ˈkɒkpɪt/</code> — like an aircraft cockpit</sub>
|
|
12
12
|
</p>
|
|
13
13
|
|
|
@@ -16,17 +16,17 @@
|
|
|
16
16
|
<a href="https://www.npmjs.com/package/@surething/cockpit"><img src="https://img.shields.io/npm/dm/@surething/cockpit?color=12a594&label=downloads&style=flat-square" alt="npm downloads"/></a>
|
|
17
17
|
<a href="https://github.com/Surething-io/cockpit/stargazers"><img src="https://img.shields.io/github/stars/Surething-io/cockpit?color=12a594&style=flat-square" alt="GitHub stars"/></a>
|
|
18
18
|
<a href="https://github.com/Surething-io/cockpit/blob/main/LICENSE"><img src="https://img.shields.io/badge/license-MIT-12a594?style=flat-square" alt="MIT license"/></a>
|
|
19
|
-
<a href="https://
|
|
19
|
+
<a href="https://opencockpit.dev"><img src="https://img.shields.io/badge/website-opencockpit.dev-12a594?style=flat-square" alt="website"/></a>
|
|
20
20
|
<a href="https://github.com/anthropics/anthropic-sdk-typescript"><img src="https://img.shields.io/badge/built_on-Claude%20Agent%20SDK-12a594?style=flat-square" alt="Built on Claude Agent SDK"/></a>
|
|
21
21
|
</p>
|
|
22
22
|
|
|
23
23
|
<p align="center">
|
|
24
|
-
<a href="README.md">English</a> · <a href="README.zh.md">中文</a> · <a href="https://
|
|
24
|
+
<a href="README.md">English</a> · <a href="README.zh.md">中文</a> · <a href="https://opencockpit.dev">Website</a> · <a href="https://opencockpit.dev/en/blog/">Blog</a>
|
|
25
25
|
</p>
|
|
26
26
|
|
|
27
27
|
---
|
|
28
28
|
|
|
29
|
-
> **
|
|
29
|
+
> **OpenCockpit is the open-source Claude Code GUI** — and a single canvas for whatever agent you bring next. Run multi-project Claude sessions out of the box; pop open a tab for **OpenAI Codex, DeepSeek, Kimi, or local Ollama** whenever you need. Built-in terminal, Chrome control, PostgreSQL / MySQL / Redis bubbles, code review, and slash modes — all local.
|
|
30
30
|
|
|
31
31
|
https://github.com/user-attachments/assets/18f1a5dc-64f3-4ff6-b9fc-9cd08181fbb8
|
|
32
32
|
|
|
@@ -80,6 +80,7 @@ Cockpit is the instrument panel. It does **not** replace Claude Code; it stands
|
|
|
80
80
|
- Git **blame**, diff view, branch switching, **worktree** management
|
|
81
81
|
- **LSP integration** — go to definition, find references, hover info
|
|
82
82
|
- **Code Map** — every function as a chip with caller / callee pins; click to walk the call graph. Multi-language: TS/JS, Python, Go, Rust. No LSP, no project setup, works offline.
|
|
83
|
+
- **CodeGraph** — a **code graph** for the agent: same tree-sitter index exposed as 6 HTTP endpoints (`search` / `callers` / `callees` / `impact` / `file` / `coedit`) so the agent queries coordinates instead of grepping text; trigger with `/cg` from chat. Coordinates only, never source — precise, cheap, and catches the conventional coupling no regex can.
|
|
83
84
|
- Fuzzy file search (Cmd+F), JSON viewer, Markdown preview
|
|
84
85
|
|
|
85
86
|
### Console — Terminal & smart Bubbles
|
|
@@ -104,6 +105,7 @@ Cockpit is the instrument panel. It does **not** replace Claude Code; it stands
|
|
|
104
105
|
- `/fx` — **Diagnose-only**: bug evidence chain, never edit
|
|
105
106
|
- `/review` — read the diff, write notes, no rewrites
|
|
106
107
|
- `/commit` — stage + draft a message in your repo's style + commit
|
|
108
|
+
- `/cg` — **CodeGraph** project exploration: 6 HTTP endpoints for symbol / callers / impact / co-edit queries (precise where grep is fuzzy)
|
|
107
109
|
- **Custom**: drop any `*.md` into `~/.claude/commands/` or `./.claude/commands/` → instant slash command
|
|
108
110
|
|
|
109
111
|
### Scheduled tasks — Cron for AI
|
|
@@ -132,7 +134,7 @@ Cockpit is the instrument panel. It does **not** replace Claude Code; it stands
|
|
|
132
134
|
|
|
133
135
|
No install, no AI chat (read-only sandbox, 5 min):
|
|
134
136
|
|
|
135
|
-
[](https://opencockpit.dev/try)
|
|
136
138
|
|
|
137
139
|
## Prerequisites
|
|
138
140
|
|
|
@@ -180,28 +182,14 @@ cockpit terminal <id> exec "ls" # execute command
|
|
|
180
182
|
cockpit terminal <id> output # get terminal output
|
|
181
183
|
```
|
|
182
184
|
|
|
183
|
-
## Comparison
|
|
184
|
-
|
|
185
|
-
| | Raw Claude Code CLI | IDE plugin (Cursor, Continue) | Aider TUI | **Cockpit** |
|
|
186
|
-
|---|---|---|---|---|
|
|
187
|
-
| Multi-engine in app | Claude only | varies | yes, config-driven | **5 in-app: Claude, Codex, DeepSeek, Kimi, Ollama** |
|
|
188
|
-
| Multi-project parallel | tmux required | multi-window | one at a time | **first-class** |
|
|
189
|
-
| Cross-project search | grep | per-window | local | **Cmd+K** |
|
|
190
|
-
| Browser / DB control | ❌ | usually ❌ | ❌ | **✅ Bubbles** |
|
|
191
|
-
| Code review surface | git tools | PR provider | git | **LAN-shared** |
|
|
192
|
-
| Slash modes | manual | per-plugin | yes | **`/qa /fx /review /commit` + custom** |
|
|
193
|
-
| Local-only / no cloud relay | ✅ | varies | ✅ | **✅** |
|
|
194
|
-
| Open source | ✅ | mostly ❌ | ✅ | **✅ MIT** |
|
|
195
|
-
|
|
196
|
-
Read the long version: [Claude Code GUI: CLI vs Cockpit vs IDE plugins](https://cocking.cc/en/blog/claude-code-gui-comparison/)
|
|
197
|
-
|
|
198
185
|
## Read more
|
|
199
186
|
|
|
200
|
-
- 📖 [
|
|
201
|
-
- 📖 [
|
|
202
|
-
- 📖 [
|
|
203
|
-
- 📖 [
|
|
204
|
-
-
|
|
187
|
+
- 📖 [What is a Code Graph (and why your AI needs one)](https://opencockpit.dev/en/blog/code-graph-for-ai-agents/)
|
|
188
|
+
- 📖 [Read code as a map, not a tree](https://opencockpit.dev/en/blog/read-code-as-a-map/)
|
|
189
|
+
- 📖 [How to run 5 Claude Code sessions in parallel](https://opencockpit.dev/en/blog/parallel-claude-code-sessions/)
|
|
190
|
+
- 📖 [Slash modes in Claude Code: /qa /fx /review /commit](https://opencockpit.dev/en/blog/slash-modes-claude-code/)
|
|
191
|
+
- 📖 [Full blog](https://opencockpit.dev/en/blog/)
|
|
192
|
+
- 📋 [Changelog](https://opencockpit.dev/en/changelog/)
|
|
205
193
|
|
|
206
194
|
## Development
|
|
207
195
|
|
package/README.zh.md
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
<p align="center">
|
|
2
|
-
<a href="https://
|
|
3
|
-
<img src="public/icons/icon-128x128.png" width="80" alt="
|
|
2
|
+
<a href="https://opencockpit.dev">
|
|
3
|
+
<img src="public/icons/icon-128x128.png" width="80" alt="OpenCockpit logo" />
|
|
4
4
|
</a>
|
|
5
5
|
</p>
|
|
6
6
|
|
|
7
|
-
<h1 align="center">
|
|
7
|
+
<h1 align="center">OpenCockpit —— 开源 Claude Code GUI,兼容任意 Agent</h1>
|
|
8
8
|
|
|
9
9
|
<p align="center">
|
|
10
|
-
<strong>One seat.
|
|
10
|
+
<strong>One seat. One AI. Everything under control.</strong><br/>
|
|
11
11
|
<sub><code>/ˈkɒkpɪt/</code> —— 像飞机驾驶舱</sub>
|
|
12
12
|
</p>
|
|
13
13
|
|
|
@@ -16,17 +16,17 @@
|
|
|
16
16
|
<a href="https://www.npmjs.com/package/@surething/cockpit"><img src="https://img.shields.io/npm/dm/@surething/cockpit?color=12a594&label=downloads&style=flat-square" alt="npm downloads"/></a>
|
|
17
17
|
<a href="https://github.com/Surething-io/cockpit/stargazers"><img src="https://img.shields.io/github/stars/Surething-io/cockpit?color=12a594&style=flat-square" alt="GitHub stars"/></a>
|
|
18
18
|
<a href="https://github.com/Surething-io/cockpit/blob/main/LICENSE"><img src="https://img.shields.io/badge/license-MIT-12a594?style=flat-square" alt="MIT license"/></a>
|
|
19
|
-
<a href="https://
|
|
19
|
+
<a href="https://opencockpit.dev"><img src="https://img.shields.io/badge/website-opencockpit.dev-12a594?style=flat-square" alt="website"/></a>
|
|
20
20
|
<a href="https://github.com/anthropics/anthropic-sdk-typescript"><img src="https://img.shields.io/badge/built_on-Claude%20Agent%20SDK-12a594?style=flat-square" alt="Built on Claude Agent SDK"/></a>
|
|
21
21
|
</p>
|
|
22
22
|
|
|
23
23
|
<p align="center">
|
|
24
|
-
<a href="README.md">English</a> · <a href="README.zh.md">中文</a> · <a href="https://
|
|
24
|
+
<a href="README.md">English</a> · <a href="README.zh.md">中文</a> · <a href="https://opencockpit.dev">官网</a> · <a href="https://opencockpit.dev/zh/blog/">博客</a>
|
|
25
25
|
</p>
|
|
26
26
|
|
|
27
27
|
---
|
|
28
28
|
|
|
29
|
-
> **
|
|
29
|
+
> **OpenCockpit 是开源的 Claude Code GUI** —— 也是你想接入的任何 Agent 的统一画布。多项目 Claude 会话开箱即用;想用 **OpenAI Codex、DeepSeek、Kimi 或本地 Ollama**?直接新开一个 tab。内置终端、Chrome 自动化、PostgreSQL / MySQL / Redis 气泡、代码评审与斜杠模式 —— 全部本地。
|
|
30
30
|
|
|
31
31
|
https://github.com/user-attachments/assets/18f1a5dc-64f3-4ff6-b9fc-9cd08181fbb8
|
|
32
32
|
|
|
@@ -80,6 +80,7 @@ Cockpit 就是那个仪表盘。它**不替代** Claude Code,而是站在官
|
|
|
80
80
|
- Git **blame**、Diff 视图、分支切换、**Worktree** 管理
|
|
81
81
|
- **LSP 集成** —— 跳转定义、查找引用、悬浮类型信息
|
|
82
82
|
- **代码地图(Code Map)** —— 每个函数渲染为 chip,左右两侧分别列出 caller / callee,点击 pin 即可顺着调用图走。多语言支持:TS/JS、Python、Go、Rust。无需 LSP、无需项目预热,离线可用。
|
|
83
|
+
- **CodeGraph(项目图谱)** —— 给 Agent 的**代码图谱(code graph)**:同一份 tree-sitter 索引开放为 6 个 HTTP 接口(`search` / `callers` / `callees` / `impact` / `file` / `coedit`),Agent 直接按坐标精确查询,无须 grep 字面。在 chat 输入 `/cg` 触发。只返坐标不返源码——比 grep 精确、比 Read 省 token,还能抓住 regex 看不见的「约定耦合」。
|
|
83
84
|
- 模糊搜索 (Cmd+F)、JSON 查看器、Markdown 预览
|
|
84
85
|
|
|
85
86
|
### Console —— 终端与智能气泡
|
|
@@ -104,6 +105,7 @@ Cockpit 就是那个仪表盘。它**不替代** Claude Code,而是站在官
|
|
|
104
105
|
- `/fx` —— **只诊断**:Bug 证据链分析,绝不改文件
|
|
105
106
|
- `/review` —— 读 diff、写评审,不动手重写
|
|
106
107
|
- `/commit` —— 暂存改动、按你仓库的风格起草 message、提交
|
|
108
|
+
- `/cg` —— **CodeGraph 项目探索**:6 个 HTTP 接口按符号 / 调用关系 / 影响范围 / 协同编辑精确查询(比 grep 精准)
|
|
107
109
|
- **自定义**:`~/.claude/commands/` 或 `./.claude/commands/` 下任意 `*.md` 即斜杠指令
|
|
108
110
|
|
|
109
111
|
### 定时任务 —— 给 AI 的 Cron
|
|
@@ -132,7 +134,7 @@ Cockpit 就是那个仪表盘。它**不替代** Claude Code,而是站在官
|
|
|
132
134
|
|
|
133
135
|
无需安装,只读沙盒(5 分钟):
|
|
134
136
|
|
|
135
|
-
[](https://opencockpit.dev/try)
|
|
136
138
|
|
|
137
139
|
## 前置依赖
|
|
138
140
|
|
|
@@ -180,28 +182,14 @@ cockpit terminal <id> exec "ls" # 执行命令
|
|
|
180
182
|
cockpit terminal <id> output # 获取终端输出
|
|
181
183
|
```
|
|
182
184
|
|
|
183
|
-
## 与同类产品对比
|
|
184
|
-
|
|
185
|
-
| | 裸 Claude Code CLI | IDE 插件(Cursor、Continue)| Aider TUI | **Cockpit** |
|
|
186
|
-
|---|---|---|---|---|
|
|
187
|
-
| 多引擎内置 | 仅 Claude | 不一定 | 配置驱动 | **内置 5 个:Claude、Codex、DeepSeek、Kimi、Ollama** |
|
|
188
|
-
| 多项目并行 | 需 tmux | 多窗口 | 一次一个 | **一等公民** |
|
|
189
|
-
| 跨项目搜索 | grep | 各窗口独立 | 本地 | **Cmd+K** |
|
|
190
|
-
| 浏览器 / DB 控制 | ❌ | 通常 ❌ | ❌ | **✅ Bubbles** |
|
|
191
|
-
| 代码评审面 | git 工具 | PR 平台 | git | **局域网共享** |
|
|
192
|
-
| 斜杠模式 | 手动 | 各插件 | 有 | **`/qa /fx /review /commit` + 自定义** |
|
|
193
|
-
| 纯本地 / 不上云 | ✅ | 不一定 | ✅ | **✅** |
|
|
194
|
-
| 开源 | ✅ | 多数 ❌ | ✅ | **✅ MIT** |
|
|
195
|
-
|
|
196
|
-
详细对比:[Claude Code GUI 全景对比:CLI、Cursor、Aider 还是 Cockpit?](https://cocking.cc/zh/blog/claude-code-gui-comparison/)
|
|
197
|
-
|
|
198
185
|
## 阅读更多
|
|
199
186
|
|
|
200
|
-
- 📖 [
|
|
201
|
-
- 📖 [
|
|
202
|
-
- 📖 [Claude Code
|
|
203
|
-
- 📖 [
|
|
204
|
-
-
|
|
187
|
+
- 📖 [Code Graph:给 AI 一张项目图谱](https://opencockpit.dev/zh/blog/code-graph-for-ai-agents/)
|
|
188
|
+
- 📖 [把代码读成地图,而不是树](https://opencockpit.dev/zh/blog/read-code-as-a-map/)
|
|
189
|
+
- 📖 [如何同时跑 5 个 Claude Code 会话不疯掉](https://opencockpit.dev/zh/blog/parallel-claude-code-sessions/)
|
|
190
|
+
- 📖 [Claude Code 斜杠模式实战:/qa、/fx、/review、/commit](https://opencockpit.dev/zh/blog/slash-modes-claude-code/)
|
|
191
|
+
- 📖 [完整博客](https://opencockpit.dev/zh/blog/)
|
|
192
|
+
- 📋 [更新日志](https://opencockpit.dev/zh/changelog/)
|
|
205
193
|
|
|
206
194
|
## 开发
|
|
207
195
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"manifest_version": 3,
|
|
3
|
-
"name": "
|
|
3
|
+
"name": "OpenCockpit Bridge",
|
|
4
4
|
"version": "1.0.1",
|
|
5
|
-
"description": "
|
|
5
|
+
"description": "OpenCockpit 浏览器气泡的链接拦截与导航通信桥",
|
|
6
6
|
"permissions": ["storage", "declarativeNetRequest", "cookies", "webRequest", "webNavigation", "tabs", "scripting"],
|
|
7
7
|
"host_permissions": ["<all_urls>"],
|
|
8
8
|
"content_scripts": [
|