Files
卡若AI ba786b3700 feat: Persistent Chat v1.1 CO-Chat 整合上传 Gitea
同步 enhance/bridge/smoke/retire 模块、vendor 3.3.34、增强面板与 PRD 文档,
Hub 接入 hub-routes-prd,含安装/经验/模块说明与 co-integration 运维脚本。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-29 17:42:16 +08:00

325 lines
10 KiB
JSON
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"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": "后台心跳周期(毫秒),默认 2400004 分钟)。修改后需重新初始化 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
}
}