文件最后提交记录最后更新时间
refactor: update codebase to support PilotDeck integration - Replaced references to Claude with PilotDeck across various components and utilities. - Updated session paths and permission handling to align with PilotDeck specifications. - Enhanced chat state management to include PilotDeck status. - Adjusted message formatting and permission request handling for PilotDeck compatibility. - Ensured consistent naming conventions and types for PilotDeck throughout the codebase. 6 天前
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 天前
refactor: replace Claude references with PilotDeck across the codebase - Updated various components and utilities to use 'PilotDeck' instead of 'Claude'. - Adjusted session paths, command handling, and configuration file references to align with PilotDeck specifications. - Enhanced error messages and validation to reflect the new provider. - Ensured consistent naming conventions for PilotDeck throughout the application. 6 天前
feat(tools): add configurable web search providers Add GLM, Tavily, and custom provider support for the web_search tool so deployments can choose a single search backend from settings. Co-authored-by: Cursor <cursoragent@cursor.com> 15 天前
refactor: replace Claude references with PilotDeck across the codebase - Updated various components and utilities to use 'PilotDeck' instead of 'Claude'. - Adjusted session paths, command handling, and configuration file references to align with PilotDeck specifications. - Enhanced error messages and validation to reflect the new provider. - Ensured consistent naming conventions for PilotDeck throughout the application. 6 天前
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(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 天前
chore(repo): prepare for public release Bulk cleanup ahead of open-sourcing: - Move edgeclaw-memory-core into src/context/memory/edgeclaw-memory-core - Drop legacy docs/, old_ui/, .test_skills/ and third-party/ snapshots - Refresh BOUNDARY.md and desktop release/verify scripts - Add bilingual README (zh-CN + English) and competitor comparison asset Co-authored-by: Cursor <cursoragent@cursor.com> 12 天前
fix(plan): persist plan card data through history reload path Thread planTitle/planSummary/planFilePath from JSONL raw.data through the readSessionMessages -> routes/messages history read path so the plan card retains its content after a browser refresh. Co-authored-by: Cursor <cursoragent@cursor.com> 7 天前
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 天前
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 天前
fix(permissions): unify skip prompt handling Persist permission settings through the backend and apply per-turn bypass mode in the gateway so skip prompts consistently reaches tool execution while preserving hard safety denies. Co-authored-by: Cursor <cursoragent@cursor.com> 20 天前
chore: relicense to Apache 2.0 and align PilotDeck naming Switch project license and README badges from AGPL-3.0 to Apache 2.0, recognize ~/.pilotdeck as the general-chat cwd for skills, and use messageTypes.pilotdeck for assistant labels instead of the legacy claude key. Co-authored-by: Cursor <cursoragent@cursor.com> 6 天前
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(dev): bootstrap placeholder pilotdeck.yaml on first npm run dev Fresh clones (or anyone who rm'd ~/.pilotdeck/pilotdeck.yaml) couldn't run npm run dev because the gateway crashes on missing config and concurrently --kill-others then takes down the web UI, leaving no path to finish onboarding. - Add scripts/bootstrap-pilotdeck-config.mjs: idempotent script that writes a minimal V2 yaml at $PILOT_HOME/pilotdeck.yaml (default ~/.pilotdeck/) if one does not already exist. The yaml resolves through parseModelConfig (anthropic provider + claude-sonnet-4.6) and uses the sentinel apiKey PLACEHOLDER_RUN_ONBOARDING_TO_REPLACE so the gateway can boot. - Wire predev hook on both root and ui workspace so the bootstrap runs regardless of which directory npm run dev is launched from. - Teach hasUsablePilotDeckConfig() to recognise the sentinel apiKey as "not configured" so the Web UI redirects users to the onboarding flow instead of pretending the placeholder is real. Set PILOTDECK_SKIP_BOOTSTRAP=1 to opt out (e.g. in CI). Co-authored-by: Cursor <cursoragent@cursor.com> 20 天前