文件最后提交记录最后更新时间
chore(ui): remove unused vendor icon SVGs Delete claude/codex/cursor/gemini icons that are no longer referenced. Co-authored-by: Cursor <cursoragent@cursor.com> 8 天前
chore(repo): convert ui/ into an npm workspace, unify install + add root \npm run dev\ A fresh checkout previously needed two installs (\npm install\ at the repo root and again under \ui/\) plus a separate \cd ui\ to start the dev stack. This commit folds the web UI / express bridge into a real npm workspace so \npm install\ at the root provisions everything in one pass, and a new root-level \npm run dev\ proxies to the workspace's \concurrently\ orchestrator. Changes: - root \package.json\ declares \"workspaces": ["ui"]\ and adds a \dev\ script that delegates to \npm --workspace ui run dev\. - \ui/package-lock.json\ is removed in favour of the single root lockfile produced by npm workspaces. - \ui/scripts/fix-node-pty.js\ (postinstall) now resolves \node-pty\'s install dir via \require.resolve('node-pty/package.json')\ instead of hard-coding \ui/node_modules/node-pty\. Without this fix, hoisting would silently skip the spawn-helper chmod and break the shell tab on macOS. Verified locally: clean install (\rm -rf node_modules ui/node_modules\ then \npm install\ from root) produces a 513 MB root \node_modules\ with \node-pty\ hoisted and spawn-helper chmod'd to 755; remaining 12 MB under \ui/node_modules\ is just react@18 / @types/react@18 and other deps that conflict with the root's react@19 (used by ink). \npm run dev\ from the root brings up gateway (18789) + ui/server (3001) + Vite (5173) and the bridge connects successfully. New-onboard flow is now: git clone .../PilotDeck.git && cd PilotDeck npm install npm run dev # open http://localhost:5173 → Onboarding wizard configures the LLM Co-authored-by: Cursor <cursoragent@cursor.com> 21 天前
fix: allow workspace selection from any filesystem path (fixes #20) - Remove /tmp from FORBIDDEN_PATHS so /tmp subdirs can be workspaces - Change folder browser getParentPath('~') to return '/' instead of null, allowing navigation above home to reach /Volumes, /mnt, /tmp, etc. - Skip validateWorkspacePath in browse-filesystem endpoint — browsing is read-only; workspace creation endpoints still enforce the blacklist 5 天前
chore(ui): remove Claude references from comments Drop legacy Claude wording from UI comments while leaving runtime identifiers, protocol strings, and real CLI/model references unchanged. 6 天前
fix: allow workspace selection from any filesystem path (fixes #20) - Remove /tmp from FORBIDDEN_PATHS so /tmp subdirs can be workspaces - Change folder browser getParentPath('~') to return '/' instead of null, allowing navigation above home to reach /Volumes, /mnt, /tmp, etc. - Skip validateWorkspacePath in browse-filesystem endpoint — browsing is read-only; workspace creation endpoints still enforce the blacklist 5 天前
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> 24 天前
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> 24 天前
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> 21 天前
chore(deps-dev): bump node-gyp from 10.3.1 to 12.3.0 (#9) Bumps [node-gyp](https://github.com/nodejs/node-gyp) from 10.3.1 to 12.3.0. - [Release notes](https://github.com/nodejs/node-gyp/releases) - [Changelog](https://github.com/nodejs/node-gyp/blob/main/CHANGELOG.md) - [Commits](https://github.com/nodejs/node-gyp/compare/v10.3.1...v12.3.0) --- updated-dependencies: - dependency-name: node-gyp dependency-version: 12.3.0 dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>4 天前
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> 24 天前
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> 24 天前
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> 24 天前
chore(branding): complete cleanup of legacy CloudCLI/Claude Code references - CLOUDCLI_DISABLE_LOCAL_AUTH → PILOTDECK_DISABLE_LOCAL_AUTH - CLOUDCLI_CRON_DAEMON_* → PILOTDECK_CRON_DAEMON_* - CLOUDCLI_GITHUB_STARS → PILOTDECK_GITHUB_STARS - ~/.claude-code-ui/plugins/ → ~/.pilotdeck/plugins/ - claudecodeui-server → pilotdeck-server - edgeClawConfig i18n key → pilotDeckConfig (248 refs in TSX + settings.json) - claude-code-main source provenance comments → generic descriptions - CloudCLI user-facing strings → PilotDeck - DEFAULT_PROVIDER_FALLBACK "edgeclaw" → "pilotdeck" - .claude/ config home → .pilotdeck/ in cron daemon services Co-authored-by: Cursor <cursoragent@cursor.com> 9 天前