文件最后提交记录最后更新时间
feat(gateway): hot-reload extension changes without transcript replay Temporarily ignore project-local YAML so global config stays authoritative while cached sessions can pick up config and plugin or skill updates on the next turn without rereading transcripts. Co-authored-by: Cursor <cursoragent@cursor.com> 19 天前
fix: only add cwd to workspace list when started via pilotdeck server Non-interactive launchers (npm run dev, install.sh wrapper) set PILOTDECK_SKIP_DEFAULT_PROJECT=1 so the source-tree directory is no longer injected into the Web UI project list. Co-authored-by: Cursor <cursoragent@cursor.com> 6 天前
refactor: rename Polit/PolitDeck to Pilot/PilotDeck across entire codebase Automated global rename covering all case variants: - PolitDeck → PilotDeck, politdeck → pilotdeck, POLITDECK → PILOTDECK - Polit → Pilot, polit → pilot, POLIT → PILOT, politDeck → pilotDeck Includes: - 648 content replacements across 200+ source files - 24 file renames + 3 directory renames (src/polit→pilot, tests/polit→pilot, docs/polit-config→pilot-config) - package.json name, bin, env vars updated - package-lock.json regenerated - "Politely" in server-manager.ts preserved via placeholder mechanism - All 587 unit tests pass, tsc --noEmit clean - E2E tests verified against real OpenRouter API (model, tool-use, context, lifecycle hooks) Co-authored-by: Cursor <cursoragent@cursor.com> 24 天前
fix: only add cwd to workspace list when started via pilotdeck server Non-interactive launchers (npm run dev, install.sh wrapper) set PILOTDECK_SKIP_DEFAULT_PROJECT=1 so the source-tree directory is no longer injected into the Web UI project list. Co-authored-by: Cursor <cursoragent@cursor.com> 6 天前
feat(channel): refactor platforms into per-channel folders + Feishu stream mode Migrate all 16 legacy platform adapters from BasePlatformAdapter to the ChannelAdapter pattern, one folder per channel (matching feishu/weixin layout). Each new folder contains <Name>Channel.ts, <Name>SessionMapper.ts, and <name>-render.ts; transport SDKs are imported lazily so they remain optional. Telegram, Discord, Slack, Matrix, Mattermost, Signal, WhatsApp, BlueBubbles, DingTalk, WeCom, WeCom Callback, Email, SMS, HomeAssistant, ApiServer, Webhook all flow through gateway.submitTurn() and render GatewayEvents back to the platform via their existing transport. FeishuChannel gains: - Lark Open API outbound (tenant_access_token cache + im/v1/messages) - WSClient stream mode (default) — no public URL needed, mirrors weixin-ilink - Webhook fallback with url_verification, encryptKey AES-256-CBC, verifyToken - Event dedupe by event_id (LRU 2000) - Per-chat concurrency guard Config wiring: - adapters.feishu now reads appId/appSecret/connectionMode/domainName - adapters.weixin gated by enabled: true (no more unconditional QR login) - New PilotPlatformAdapterConfig schema for the 16 platform channels - loadEnabledChannels(adapters) lazily instantiates the matching channel - pilotdeckServer.ts threads PilotConfig into channel.start({ config }) Drop the entire src/adapters/channel/platforms/ subtree. Co-authored-by: Cursor <cursoragent@cursor.com> 8 天前
feat(channel): migrate all platform adapters from main branch Port 16 platform adapters (telegram, dingtalk, discord, slack, wecom, wecom-callback, whatsapp, signal, matrix, mattermost, email, sms, homeassistant, bluebubbles, api-server, webhook) along with BasePlatformAdapter base class and gateway types into src/adapters/channel/platforms/ for future refactoring into ChannelAdapter interface. Also fix: lazy-load undici in proxy.ts, add logger to weixin channel start. Co-authored-by: Cursor <cursoragent@cursor.com> 8 天前