文件最后提交记录最后更新时间
feat(ui): rewrite ui/ with EdgeClaw-derived front-end and pilotdeck bridge backend Replaces the 4-file Vite demo (gateway-browser-client, main.tsx, styles.css, vite.config.ts) with the full EdgeClaw-derived UI plus an Express bridge that talks to src/gateway through pilotdeck-bridge.js, unblocking dev-mode HMR and parity testing while the migration to the gateway-only architecture (docs/old-ui-adaptation/04-implementation-plan) is in flight. - ui/server: Express bridge serving /api/* and /ws, providers / agent / git / mcp / memory / projects / sessions routes, cron + always-on daemon plumbing, vapid push, plugin process manager. - ui/src: React 18 app — chat-v2 UI, app-shell, code editor, files, git, mcp, memory, projects, settings, skills, tasks, terminals, i18n, contexts, hooks, stores, etc. - ui/src/stores/useSessionStore.ts: session-keyed message store with a same-turn streaming dedup guard — fixes a bug where a NEW turn's __streaming_<sid> message would splice out the PREVIOUS turn's legitimate assistant tail in computeMerged, dropping the prior assistant reply and reordering the new user message after the new streaming row. - ui/public: PWA manifest, icons, screenshots, service worker. - Build/lint/typecheck config: vite.config.js (with /api /ws /shell proxy + manualChunks split), tailwind, postcss, eslint, tsconfig, .nvmrc (v22), node-pty postinstall fixup. Co-authored-by: Cursor <cursoragent@cursor.com> 25 天前
feat(ui): rewrite ui/ with EdgeClaw-derived front-end and pilotdeck bridge backend Replaces the 4-file Vite demo (gateway-browser-client, main.tsx, styles.css, vite.config.ts) with the full EdgeClaw-derived UI plus an Express bridge that talks to src/gateway through pilotdeck-bridge.js, unblocking dev-mode HMR and parity testing while the migration to the gateway-only architecture (docs/old-ui-adaptation/04-implementation-plan) is in flight. - ui/server: Express bridge serving /api/* and /ws, providers / agent / git / mcp / memory / projects / sessions routes, cron + always-on daemon plumbing, vapid push, plugin process manager. - ui/src: React 18 app — chat-v2 UI, app-shell, code editor, files, git, mcp, memory, projects, settings, skills, tasks, terminals, i18n, contexts, hooks, stores, etc. - ui/src/stores/useSessionStore.ts: session-keyed message store with a same-turn streaming dedup guard — fixes a bug where a NEW turn's __streaming_<sid> message would splice out the PREVIOUS turn's legitimate assistant tail in computeMerged, dropping the prior assistant reply and reordering the new user message after the new streaming row. - ui/public: PWA manifest, icons, screenshots, service worker. - Build/lint/typecheck config: vite.config.js (with /api /ws /shell proxy + manualChunks split), tailwind, postcss, eslint, tsconfig, .nvmrc (v22), node-pty postinstall fixup. Co-authored-by: Cursor <cursoragent@cursor.com> 25 天前
chore(branding): rename PascalCase "PolitDeck" → "PilotDeck" Earlier rebrand commit (6003f14) standardized on "PolitDeck" to match the repository directory name. The intended brand is "PilotDeck" (Pilot+Deck) to align with the GitHub repo's new name. Lowercase forms (~/.pilotdeck/, pilotdeck server CLI, PILOTDECK_* env vars, politdeck.yaml watcher logs) were already correct and remain untouched. Touched surfaces: * ui/index.html: <title>PilotDeck</title> + apple-mobile-web-app-title. * ui/public/manifest.json: name / short_name / description. * ui/public/sw.js: comment header + push-notification fallback title. * ui/server/index.js: startup banner ("PilotDeck Server - Ready"). * ui/server/projects.js, routes/agent.js, services/notification- orchestrator.js: log strings + PR template + push titles. * ui/src React components (AuthLoadingScreen, AuthScreenLayout, LoginForm, SetupForm, ChatInterfaceV2, AppShellV2, MainAreaV2, PilotDeckConfigTab): every user-visible "PolitDeck" string. * ui/src/i18n/locales/{en,zh-CN}/{auth,chat,common,settings,sidebar}.json: loading / placeholder / breadcrumb / memory description text. * docs: 01-web-ui-replication-development-guide.md and old-ui-adaptation/README.md. * .cursor/skills/deploy-politdeck/SKILL.md: skill body references. * src/pilot/config/loadPilotConfig.ts: one inline comment. Deliberately untouched: * Repo directory name PolitDeck/ and skill filename deploy-politdeck/SKILL.md — those are filesystem artifacts that predate the brand change; renaming them requires coordination with every contributor's clone + GitHub repo rename (which already happened upstream and is served via the redirect remote). * artifacts/* historical logs and scripts/rename-polit-to-pilot.sh (someone's prior migration draft); both are outside the runtime surface and stay as-is. Co-authored-by: Cursor <cursoragent@cursor.com> 22 天前
chore: scrub stale claudecodeui/claude-code-main residuals Remove legacy brand leftovers from the pre-PilotDeck era so the repo stops mentioning unrelated upstream projects and stops carrying parity fixtures that point at a third-party tree no longer present. - Drop src/context/memory/edgeclaw-memory-core/README.md (old CloudCLI install guide that referenced a claude-code-main/ sibling dir). - Delete tests + fixtures whose only purpose was to assert byte-for-byte parity against third-party/claude-code-main/** (legacy-behavior tool scenarios, dual-parity legacy context scenarios, the parity test helper, and the six parity-* tests that consumed them). - Rewrite stale code comments in apps/desktop, src/context/compaction, src/agent/sub, src/context/memory/.../app.css and PermissionsSettingsTab to drop dangling third-party/claude-code-main/... mirror references and rename claudecodeui -> PilotDeck ui/server / ui shell. - Repoint the auth-screen "PilotDeck is open source" footer link from github.com/siteboon/claudecodeui to github.com/OpenBMB/PilotDeck. - Align memory source tag written by ui/server with the one used by the in-process src/** provider (claudecodeui -> pilotdeck) so the memory_turns SQLite column is consistent across both write paths. - Update VAPID web-push contact mailto domain (claudecodeui.local -> pilotdeck.local). - Drop two stale .gitignore entries for bundle tarballs that the current build pipeline never produces. CCR (/api/ccr/* routes, CCRConfig types, <ccr-subagent-model> tag, CCR_SENTINEL) is intentionally untouched — those are kept for frontend back-compat. Comparison mentions of "Claude Code" / "Claude Sonnet 4.6" in README marketing copy are also intentional and untouched. Co-authored-by: Cursor <cursoragent@cursor.com> 9 天前
chore(branding): rename PascalCase "PolitDeck" → "PilotDeck" Earlier rebrand commit (6003f14) standardized on "PolitDeck" to match the repository directory name. The intended brand is "PilotDeck" (Pilot+Deck) to align with the GitHub repo's new name. Lowercase forms (~/.pilotdeck/, pilotdeck server CLI, PILOTDECK_* env vars, politdeck.yaml watcher logs) were already correct and remain untouched. Touched surfaces: * ui/index.html: <title>PilotDeck</title> + apple-mobile-web-app-title. * ui/public/manifest.json: name / short_name / description. * ui/public/sw.js: comment header + push-notification fallback title. * ui/server/index.js: startup banner ("PilotDeck Server - Ready"). * ui/server/projects.js, routes/agent.js, services/notification- orchestrator.js: log strings + PR template + push titles. * ui/src React components (AuthLoadingScreen, AuthScreenLayout, LoginForm, SetupForm, ChatInterfaceV2, AppShellV2, MainAreaV2, PilotDeckConfigTab): every user-visible "PolitDeck" string. * ui/src/i18n/locales/{en,zh-CN}/{auth,chat,common,settings,sidebar}.json: loading / placeholder / breadcrumb / memory description text. * docs: 01-web-ui-replication-development-guide.md and old-ui-adaptation/README.md. * .cursor/skills/deploy-politdeck/SKILL.md: skill body references. * src/pilot/config/loadPilotConfig.ts: one inline comment. Deliberately untouched: * Repo directory name PolitDeck/ and skill filename deploy-politdeck/SKILL.md — those are filesystem artifacts that predate the brand change; renaming them requires coordination with every contributor's clone + GitHub repo rename (which already happened upstream and is served via the redirect remote). * artifacts/* historical logs and scripts/rename-polit-to-pilot.sh (someone's prior migration draft); both are outside the runtime surface and stay as-is. Co-authored-by: Cursor <cursoragent@cursor.com> 22 天前
feat(ui): rewrite ui/ with EdgeClaw-derived front-end and pilotdeck bridge backend Replaces the 4-file Vite demo (gateway-browser-client, main.tsx, styles.css, vite.config.ts) with the full EdgeClaw-derived UI plus an Express bridge that talks to src/gateway through pilotdeck-bridge.js, unblocking dev-mode HMR and parity testing while the migration to the gateway-only architecture (docs/old-ui-adaptation/04-implementation-plan) is in flight. - ui/server: Express bridge serving /api/* and /ws, providers / agent / git / mcp / memory / projects / sessions routes, cron + always-on daemon plumbing, vapid push, plugin process manager. - ui/src: React 18 app — chat-v2 UI, app-shell, code editor, files, git, mcp, memory, projects, settings, skills, tasks, terminals, i18n, contexts, hooks, stores, etc. - ui/src/stores/useSessionStore.ts: session-keyed message store with a same-turn streaming dedup guard — fixes a bug where a NEW turn's __streaming_<sid> message would splice out the PREVIOUS turn's legitimate assistant tail in computeMerged, dropping the prior assistant reply and reordering the new user message after the new streaming row. - ui/public: PWA manifest, icons, screenshots, service worker. - Build/lint/typecheck config: vite.config.js (with /api /ws /shell proxy + manualChunks split), tailwind, postcss, eslint, tsconfig, .nvmrc (v22), node-pty postinstall fixup. Co-authored-by: Cursor <cursoragent@cursor.com> 25 天前
feat(ui): update branding assets and adjust logo usage in components - Added new branding assets: pilotdeck-wordmark-dark.png and pilotdeck-wordmark-light.png. - Updated SidebarV2 and SetupForm components to use the new logo assets, enhancing visual consistency across the UI. - Adjusted logo dimensions and classes for better responsiveness and appearance in both light and dark modes. 16 天前