{ "name": "co-chat-panel", "displayName": "co-chat", "description": "Cursor / VS Code 的 AI 对话面板", "icon": "resources/logo.png", "version": "3.3.34", "publisher": "co-chat", "engines": { "vscode": "^1.85.0" }, "type": "commonjs", "private": true, "main": "./dist/extension.js", "activationEvents": [ "onStartupFinished" ], "categories": [ "Chat", "Other" ], "keywords": [ "chat", "ai", "对话" ], "extensionKind": [ "ui" ], "scripts": { "vscode:uninstall": "node ./dist/uninstall.cjs" }, "contributes": { "viewsContainers": { "panel": [ { "id": "co-chat-container", "title": "co-chat", "icon": "$(comment-discussion)" } ] }, "views": { "co-chat-container": [ { "type": "webview", "id": "co-chat-panel", "name": "co-chat", "icon": "$(comment-discussion)", "contextualTitle": "co-chat 持续对话" } ] }, "commands": [ { "command": "co-chat.openPanel", "title": "打开对话面板", "category": "co-chat" }, { "command": "co-chat.paste", "title": "粘贴", "category": "co-chat", "enablement": "focusedView == 'co-chat-panel'" }, { "command": "co-chat.serverSessionsPicker", "title": "选择 MCP 服务端会话", "category": "co-chat" }, { "command": "co-chat.cursorAccountsPanel", "title": "打开 Cursor 账号管理面板", "category": "co-chat" }, { "command": "co-chat.initMcp", "title": "初始化 MCP 服务", "category": "co-chat" }, { "command": "co-chat.openRoleSkillsConfig", "title": "编辑角色技能配置", "category": "co-chat" }, { "command": "co-chat.showLicense", "title": "显示授权信息", "category": "co-chat" }, { "command": "co-chat.refreshLicense", "title": "立即刷新授权", "category": "co-chat" }, { "command": "co-chat.unbindLicense", "title": "解绑授权", "category": "co-chat" }, { "command": "co-chat.testInstance", "title": "管理测试实例", "category": "co-chat" }, { "command": "co-chat.newTestInstance", "title": "新建测试实例", "category": "co-chat" }, { "command": "co-chat.protobufTool", "title": "Protobuf 工具", "category": "co-chat" }, { "command": "co-chat.noQuotaDiagnose", "title": "no-quota 诊断", "category": "co-chat" }, { "command": "co-chat.noQuotaFixDeadlock", "title": "no-quota 修复死锁", "category": "co-chat" } ], "keybindings": [ { "key": "ctrl+v", "mac": "cmd+v", "command": "co-chat.paste", "when": "focusedView == 'co-chat-panel'" } ], "configuration": { "title": "co-chat", "properties": { "coChatPanel.activateAndSend": { "type": "boolean", "default": false, "description": "「批量创建 Agent」时自动发送已填入的提示词。普通「激活 Agent / 新建 Agent」不受影响。" }, "coChatPanel.activateAndSendDelayMs": { "type": "number", "default": 250, "minimum": 0, "maximum": 2000, "description": "「批量发送」前的等待时长(毫秒)。" }, "coChatPanel.batchCreateAgentIntervalMs": { "type": "number", "default": 500, "minimum": 200, "maximum": 60000, "description": "「批量创建 Agent」时每个 Agent 之间的创建间隔(毫秒)。" }, "coChatPanel.pollTickMs": { "type": "number", "default": 240000, "minimum": 30000, "maximum": 240000, "description": "后台心跳周期(毫秒),默认 240000(4 分钟)。修改后需重新初始化 MCP 并重启 Cursor 生效。" }, "coChatPanel.autoUpdate.enabled": { "type": "boolean", "default": false, "description": "后台自动更新(默认关闭,避免服务端误判「强制更新/降级」时静默装包+重载窗口造成反复重启)。开启后:启动约 3 秒首检 + 每 5 分钟静默轮询,并每 30 分钟定时检查一次;服务端标记「强制更新/降级」时静默下载并校验 VSIX、安装后重载窗口;普通新版本仅在设置按钮上显示更新红点。关闭时仅保留手动「检查更新」。修改后需重启 Cursor 生效。" }, "coChatPanel.noQuotaRetrySpeed": { "type": "string", "enum": [ "extreme", "fast", "balanced", "conservative", "custom" ], "default": "extreme", "description": "响应速率级别。修改后即时生效。" }, "coChatPanel.noQuotaSameComposerDebounceMs": { "type": "number", "default": 2000, "minimum": 0, "maximum": 10000, "description": "[高级] 会话去抖间隔(ms)。" }, "coChatPanel.noQuotaRetryDelayMs": { "type": "number", "default": 200, "minimum": 0, "maximum": 1000, "description": "[高级] 触发延迟(ms)。" }, "coChatPanel.noQuotaQueueMaxPerWindow": { "type": "number", "default": 2, "minimum": 0, "maximum": 50, "description": "[高级] 窗口期内最大处理数。" }, "coChatPanel.noQuotaRateLimitPerSecond": { "type": "number", "default": 1, "minimum": 0, "maximum": 10, "description": "[高级] 每秒最大处理数。" }, "coChatPanel.noQuotaGlobalRateLimit": { "type": "boolean", "default": true, "description": "[高级] 启用全局速率限制。" }, "coChatPanel.noQuotaRemoteRevokeStrict": { "type": "boolean", "default": false, "description": "严格模式。" }, "coChatPanel.remoteNodePath": { "type": "string", "default": "", "description": "SSH Remote 模式下远程服务器的 Node.js 绝对路径。" }, "coChatPanel.enableDevDiagnostics": { "type": "boolean", "default": false, "description": "开发者诊断日志。" }, "coChatPanel.cursorExport.includeSensitive": { "type": "boolean", "default": false, "description": "导出对话时包含完整字段。" }, "coChatPanel.cursorExport.inlineLargeBlobs": { "type": "boolean", "default": false, "description": "导出对话时内联大型内容。" }, "coChatPanel.cursorClean.retentionDays": { "type": "number", "default": 7, "minimum": 0, "maximum": 3650, "description": "自动清理保留最近 N 天内活跃的会话;0 = 不按时间保留。(开关在 co-chat 面板「设置 → 自动清理历史会话」,开启后仅在关闭 Cursor 时清理一次)" }, "coChatPanel.cursorClean.maxComposersGlobal": { "type": "number", "default": 50, "minimum": 0, "maximum": 100000, "description": "自动清理后全局最多保留的会话数(按最后活跃时间倒序);0 = 不限制数量。" }, "coChatPanel.cursorClean.minBubblesToClean": { "type": "number", "default": 0, "minimum": 0, "maximum": 100000, "description": "单个会话消息数小于该值时跳过清理(避免误删非空小会话);0 = 不按消息数跳过。" }, "coChatPanel.cursorClean.deleteEmpty": { "type": "boolean", "default": true, "description": "空会话(0 条消息的废弃空壳)必删 —— 优先于保留期/数量,但当前会话始终保护、绝不误删。净化会话列表、零数据损失(实测会话列表常有 75% 是空壳)。" }, "coChatPanel.cursorClean.maxComposerBytes": { "type": "number", "default": 0, "minimum": 0, "description": "体积清理:单会话占用超过该字节(“鲸鱼会话”)且已不活跃(见 bigInactiveDays)才删;0 = 关闭。⚠️ 仅面板手动清理生效(需精确字节全表扫描,大库可达数分钟),周期/关闭热路径不做体积删;绝不纯按体积删(正在重度使用的大会话会被保护)。" }, "coChatPanel.cursorClean.bigInactiveDays": { "type": "number", "default": 3, "minimum": 0, "maximum": 3650, "description": "大会话(超过 maxComposerBytes)的“不活跃”天数阈值,通常比 retentionDays 更短(大东西过期更快);0 = 不做体积删(fail-safe:无不活跃窗口绝不纯体积删)。仅在 maxComposerBytes>0 且面板手动清理时生效。" }, "coChatPanel.cursorClean.runtimeEnabled": { "type": "boolean", "default": true, "description": "运行期清理(需已开启「自动清理历史会话」):使用 Cursor 期间每隔一段时间,自动清理「本次启动后产生、已闲置、消息很少」的草稿会话,防止越用越卡。关闭则只在退出 Cursor 时做一次深度清理。" }, "coChatPanel.cursorClean.runtimeIntervalMinutes": { "type": "number", "default": 60, "minimum": 5, "maximum": 1440, "description": "运行期清理的检查间隔(分钟),默认 60。仅扫描「本次启动后活跃过」的会话、按会话定向计数,轻量不阻塞,不做全库扫描。" }, "coChatPanel.cursorClean.runtimeIdleMinutes": { "type": "number", "default": 10, "minimum": 1, "maximum": 1440, "description": "运行期清理「闲置」阈值(分钟),默认 10:超过该时长未更新的本窗口会话才视为可清候选;最近在写的(见 runtimeRecentWriteGuardMinutes)绝不动。" }, "coChatPanel.cursorClean.runtimeShortLivedMaxBubbles": { "type": "number", "default": 50, "minimum": 1, "maximum": 100000, "description": "运行期清理「短活」阈值:消息数小于该值的本窗口闲置会话才删(随手草稿);不小于该值的「大对话」运行期一律不动,留给退出时全量清理或手动清理。默认 50。" }, "coChatPanel.cursorClean.runtimeRecentWriteGuardMinutes": { "type": "number", "default": 2, "minimum": 0, "maximum": 1440, "description": "运行期清理「最近在写」豁免(分钟),默认 2:最后活跃在该时间窗内的会话绝不删,确保正在使用的对话安全。" } } } }, "dependencies": { "jsonc-parser": "3.3.1", "semver": "^7.8.1", "sql.js": "^1.14.1" }, "author": "", "license": "ISC", "__metadata": { "installedTimestamp": 1782683250690, "targetPlatform": "undefined", "size": 18867984 } }