Files
persistent-chat-plugin/docs/prd/PersistentChat_整合CO-Chat_需求PRD_v1_副本.md
卡若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

19 KiB
Raw Blame History

Persistent Chat × CO-Chat 整合 · 产品需求文档PRD v1.0

文档性质:兼铺开发 · 需求真源
版本v1.0 · 2026-06-29
作者角色产品经理卡若AI 语境)
关联真源AGENTS.mdreferences/VSIX460_可持续对话铁律.md.persistent-chat-v1.1/
参考外部 co-chat 官方使用教程


0. 文档摘要(给决策层 30 秒版)

要做什么:把 CO-Chat 的「Composer 增强 + 连接稳定性 + 一键授权/配置」能力,产品层整合Persistent Chatpchat,最终只保留 一份 VSIX + 一套 Hub 13458 面板CO-Chat 扩展在验收通过后 卸载删除

一定要在 bridge.js / pchat MCP 里 复制 CO-Chat 闭源的 no-quota bypass / reset-cursor-env.mjs 逆向逻辑(合规与 ToS 红线)。

怎么达成用户要的「无限 Opus + 不断线」

能力 整合策略
ct_ 复盘 + wait 续跑 模式 A:现有 pchat MCP 4 工具 + Hub不变
卡 Opus / 限额重试 / Composer 补丁 模式 Bpchat 面板内 一键向导 调用/托管 CO-Chat 补丁引擎(过渡期),或 经授权的二进制模块(终态);用户侧 一个入口
权限「未获得写入权限」 pchat 一键修复(包装 cochat_fix_write_permission.sh + 探针验证 + 引导关→开)
8 个开关 + 10 步手册 收敛为 「核心增强包」一键全开 + 高级折叠

成功标准:本机 Mac 上 仅安装 persistent-chat VSIXHub 13458 可用;模式 A/B 可切换CO-Chat 扩展卸载后模式 B 仍可用(或明确降级说明)。


1. 背景探究Why / Who / What

1.1 Why — 解决什么痛点

痛点 现状 用户感受
双插件割裂 CO-Chatco-chat 面板 + co-mcp 35+ 工具)与 Persistent Chatct_ + wait + Hub各管一半 要记两套入口、两套规则(channel vs wait),易混用导致续跑断掉
配置地狱 官方 10 步 + 设置 ①~⑧ + Cursor Plan/Agents/Network 三处 小白按错顺序 → 无额度开不了 / 补丁未注入
权限阻断 workbench/ 目录属 root → co-chat 探针 PERM_REFUSED → UI 报「未获得写入权限,操作取消」 卡密有效、storage 开关 ON功能未真正生效
规则冲突 同一 Chat 加载 co-chat.mdc + persistent-chat.mdc Agent 末工具打架,会话自杀式停止
文档分散 卡若复盘 SOP 在 pchat卡 Opus 在 co-chat 手册 大项目要在两窗口 copy 粘贴

1.2 Who — 目标用户

persona 描述 核心诉求
卡若Owner 本机深度用户,多项目、长任务、要 Opus 一键装好、权限一次修通、只留 pchat
持续对话用户 已用 VSIX 4.6 + Hub 13458 续跑不能被 Composer 增强搞坏
多 Agent 用户(二期) 曾用 CO-Chat 群组/CO Flow 整合后可选「协作模式」MVP 不强制

1.3 What — 产品定义(一句话)

Persistent Chat v5:在 单一 VSIX + 13458 Hub 内提供 两种互补模式——MCP 可持续对话(复盘续跑)Composer 增强(卡模型 + 连接稳定)——通过 一键安装向导 完成授权、权限、Cursor 前置与补丁生效,配置 UI 极简,验收后 退役 CO-Chat 扩展


2. 边界界定Use Cases & MVP

2.1 核心用例Use Cases

ID 用例 模式 MVP
UC-01 新建 ct_ 会话Hub 发消息Agent wait 无限续跑 + 卡若复盘 A
UC-02 一键向导:检测 Cursor → 修权限 → 完成 Plan/RunMode/HTTP1.1 → 开核心增强 → 验证补丁 B
UC-03 在 pchat 面板选 Opus发实现类任务限额时自动重试直至出字 B
UC-04 阶段结束Composer 结论 一键同步 到当前 ct_触发复盘 SOP A+B 桥接
UC-05 模式 A Chat 与模式 B Chat 规则互斥 自动提示 全局
UC-06 验收通过后卸载 co-chat 扩展,清理 mcp.json / rules / globalStorage 退役
UC-07 CO-Chat 群组 / Autopilot / CO Flow 全量迁移 协作 MVP 外P2
UC-08 把 bypass 源码 merge 进 bridge.js

2.2 MVP 边界(砍掉的伪需求)

砍掉 / 延后 理由
pchat MCP 内实现 channel + 10000 点数循环 与 wait 铁律冲突;协作属 P2
面板复刻 co-chat 35+ MCP 工具 范围爆炸MVP 只托管 Composer 层
设备指纹随机化 / Stripe Override 高风险、非核心;放「高级·危险」且默认隐藏
同一 Cursor Chat 双规则并存 硬禁止,改为 双 Chat 模板模式切换锁
无卡密绕过授权 模式 B 仍依赖 不需要授权自用

2.3 合规边界(架构师必读)

┌─────────────────────────────────────────────────────────────┐
│  pchat 开源/自维护代码bridge.js, server.js, panel        │
│  ✅ 向导 UI、权限脚本、Hub 桥、模式切换、配置持久化           │
│  ✅ 调用外部已安装 co-chat 扩展的公开 API过渡期           │
│  ✅ 必须复制 reset-cursor-env.mjs / CO_NO_QUOTA_* 注入逻辑       │
└─────────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────────┐
│  终态选项(需决策,见 §8 架构疑问)                           │
│  A) 不要商务授权co-chat 补丁作为 pchat 子进程/捆绑模块          │
│  ✅B) 自研:仅做连接稳定性(超时/重试),不做 no-quota           │
│  C) 过渡期:向导依赖本机 co-chat验收后再卸                  │
└─────────────────────────────────────────────────────────────┘

3. 双模式产品定义

3.1 模式 A — MCP 可持续对话(现有,增强不破坏)

规格
标识 pchat-token: ct_*
MCP persistent-chat 4 工具select / init / wait / merge
双Hub http://127.0.0.1:13458 失效使用 http://192.168.110.101:13458
Agent 规则 persistent-chat.mdc
末工具 wait_for_user_input(绝对)
transport file / markdown / codeblock
复盘 卡若复盘 🎯📌💡📝▶ 三段式

不变承诺PCHAT_VSIX_4TOOLS=1connectionHeldautoContinueRENEWAL 行为与 VSIX460 铁律一致。

3.2 模式 B — Composer 增强(整合 CO-Chat 核心)

规格
标识 pchat-composer:* 或独立 Cursor Chat 模板(见 §4.3
能力包 无额度重试链 + 永不断连 + MCP 三连(超时/自愈/流中断)+ 基础补丁 + 禁止更新
输入 pchat 面板内「增强对话」输入区(迁移 co-chat「只在面板发」规则
模型 面板选 Opus / 其他;与模式 A 会话 可绑定同一 ct_(桥接)
末工具 增强 Agent 仍走 Composer在 ct_ Chat 里混 wait

3.3 模式共存规则(硬规则)

规则 说明
R1 一个 Cursor Chat 窗口只绑一种模式A 或 B
R2 mcp.jsonpersistent-chatco-mcp 可分 Chat 加载MVP 向导生成 推荐 profile
R3 同一 ct_* 可关联B 做实现 → 摘要写入 Hub → A 做复盘 wait
R4 禁止同时加载 co-chat.mdc + persistent-chat.mdc

4. 功能清单FR

4.1 一键安装向导FR-WIZP0 核心

入口Hub 13458 设置区 · 「一键配置 Composer 增强」 或首次打开模式 B 触发。

向导步骤(自动化优先,需人工处明确弹窗)

检测项 自动动作 失败处理
W1 Cursor 已安装 /Applications/Cursor.app 版本 提示安装 Cursor
W2 写入权限 运行 cochat_fix_write_permission.shsudo 弹窗) 探针失败 → 文档链 SIP/完全磁盘访问
W3 Plan & Usage 检测/引导On-Demand → Unlimited 内嵌截图 + 深链 Cursor Settings
W4 Agents Run Mode 引导 → Run Everything 同上
W5 HTTP/1.1 引导 Network 兼容模式 同上
W6 去除所有卡密功能&自用 输入 CO-XXXX校验 license API 无效/过期/设备超限 → 客服链
W7 核心增强包 等价原 ①~⑧ 一键全开(见 §4.2 权限失败 → 回 W2
W8 补丁验证 workbench.desktop.main.js 是否含 CO_*_START 无标记 → 提示完全退出 Cursor + 关→开无额度
W9 初始化 每 workspace 一次 init原 co-chat「初始化配置」 .cursor/mcp.json 推荐片段
W10 冒烟测试 发探测消息 / 检查 Tab 绿灯或 Composer 出字 失败 → 诊断页§6 异常流)

输出~/.persistent-chat-local/composer-enhance.json 状态机 { phase, permOk, patchOk, licenseOk, lastCheckAt }

4.2 配置 UI 简化FR-UI

现状CO-Chat8+ 开关 + 心跳 + 速率五级 + 修复按钮 + 危险区指纹。

目标pchat 设置 · 精简)

分组 UI 映射原开关
核心增强包(单 Toggle + 子文案) 一键开/关 ①禁止更新 ②基础补丁 ③Agent排序 ④⑤⑥⑦ MCP稳定 ⑧无额度
重试速率 下拉:极致 / 均衡 / 保守 noQuotaRetrySpeed
连接 只读:心跳间隔(高级展开) pollTickMs 默认 180000240000
授权 卡密状态条 + 激活 + 解绑 原齿轮授权条
修复 单按钮「修复增强」 权限重检 + 补丁重打 + 无额度关→开
高级 折叠 遥测、扩展保护、指纹(默认隐藏)

原则:默认页 ≤ 5 个可见控件;原 8 步顺序 内嵌在向导,日常不再要求用户记序号。

4.3 双 Chat 模板FR-TPL

向导完成后提供 一键复制

模板 用途 规则文件 MCP
Persistent 复盘 ct_ 长任务 persistent-chat.mdc persistent-chat only
Composer 增强 Opus 实现 pchat-composer.mdc(新建,末工具 Composer 专用) co-mcp 或 bundled

Hub 会话卡片显示 模式徽章A·续跑 / B·增强 / A+B·已桥接

4.4 Hub 桥接FR-BRIDGE— P0

功能 描述
快捷按钮 「同步增强结论 → 本 ct_」 粘贴/自动拉取最后一次 Composer 结论 → 作为用户消息注入 ct_ 队列
自动摘要P1 模式 B 任务完成 → 可选 webhook 写 Hub pendingMessage
复盘触发 注入后 Agent 走卡若复盘 + wait

4.5 CO-Chat 退役FR-RETIRE— P0

前置条件(全部满足才可执行「卸载 CO-Chat」

  • 模式 Act_ wait 续跑 24h 无回归
  • 模式 B向导 W8 补丁 OK + Opus 探测成功
  • 桥接UC-04 走通一次
  • composer-enhance.json 全绿

卸载清单(脚本化 scripts/retire_cochat.sh

对象 动作
~/.cursor/extensions/co-chat.co-chat-panel-* 删除扩展
~/.cursor/mcp.jsonco-mcp 移除或注释(若模式 B 已 bundled 则移除)
.cursor/rules/co-chat.mdc 删除
~/Library/.../globalStorage/co-chat.co-chat-panel/ 备份后删(或迁移 license 到 pchat store
工作区 .cursor/rules/co-chat.mdc 删除

回滚:备份 tarball 至 ~/.persistent-chat-local/backups/cochat-retire-*

4.6 权限修复专项FR-PERM— P0

根因(已验证)Cursor.app/.../out/vs/workbench/ 目录 不可写 → co-chat PermissionManager 探针失败。

产品要求

  1. 向导 W2 必须 在 UI 显示「需要管理员密码」说明,非误导性「点击允许」。
  2. 修复后 自动探针,成功才允许 W7。
  3. 设置页 修复增强 重复 W2+W8。
  4. 文档内嵌:完全退出 Cursor (Cmd+Q) 后再开补丁。

5. 用户故事User Stories

US-01 一键装好

作为 卡若,我希望 打开 Hub 点「一键配置」,以便 不再手工对 10 步教程和 8 开关。

验收30 分钟内(含 sudo 一次)达到 W8 全绿;失败有明确下一步。

US-02 权限不再假开

作为 用户, 我打开「核心增强包」,我希望 系统先验证 workbench 可写,以便 不会出现 storage ON 但补丁未注入。

验收perm 失败时 Toggle 不可 ON 或立即回滚并提示。

US-03 双模式各干各的

作为 用户,我希望 Opus 实现在增强 Chat、复盘在 ct_ Chat以便 wait 循环不被 channel 打断。

验收:互斥检测;混用时报错 + 跳转模板。

US-04 结论进复盘

作为 用户,我希望 增强模式干完一键同步到 ct_以便 走卡若复盘 SOP 而不手工粘贴。

验收Hub 按钮一次完成注入 + pendingMessage 可见。

US-05 只留一个插件

作为 卡若, 验收通过,我希望 卸载 co-chat 只留 pchat VSIX以便 维护一套代码。

验收:卸载脚本 + 回滚包pchat 功能不退化(见 §7 指标)。


6. 异常流处理(重要)

异常 用户可见 系统行为
未获得写入权限 向导 W2 红条 阻断 W7提供运行修复脚本按钮链 SIP 文档
卡密有效但付款弹窗 设置页提示 自动执行「修复增强」:关→开无额度 + 补丁重检
补丁标记缺失 W8 失败 提示 Cmd+Q 完全退出 → 重开 → 再跑向导
storage ON / UI OFF 不同步 设置页「状态不一致」 探针+补丁标记 为准,强制 resync
同一 Chat 双规则 发送前拦截 弹窗请用「Persistent 复盘」模板新建 Chat
MCP Connection closed Hub 顶部黄条 模式 Abridge 重试 wait模式 B自愈重连原 ⑤⑥⑦)
CTL ~30s 掐断 复盘区提示 现有 register / hold 脚本(不变)
卸载 co-chat 后模式 B 失效 退役前阻断 检查 composer-enhance.json.bundledEngine;未 bundled 禁止卸
sudo 用户取消 W2 保存「待授权」状态;下次打开向导从 W2 继续

7. 数据驱动 — 成功指标

指标 定义 MVP 目标
向导完成率 W10 成功 / 开始向导 ≥ 80%Owner 本机 100%
权限一次修通率 W2 首次探针成功 ≥ 90%
假开率 增强 ON 但无 CO_* 标记 0%
ct_ 续跑成功率 24h 内 wait 未自停 / 总会话 ≥ 99%(模式 A
Opus 探测成功率 冒烟消息 Composer 出字 ≥ 70%(依赖账号/网络,记录原因码)
桥接使用率 同步按钮 / 模式 B 完成任务 基线建立
CO-Chat 卸载率 验收后执行 retire 脚本 Owner 本机 1 次成功
配置耗时 向导开始到 W10 P50 < 15min含 sudo

8. 协作反馈 — 架构师待决问题

# 问题 选项 PM 倾向
Q1 模式 B 终态引擎 捆绑授权补丁 / 过渡期调 co-chat / 仅连接稳定不自研 no-quota 过渡期 C → 商务 A
Q2 co-mcp 去留 保留至 P2 协作 / 模式 B 不需要 co-mcp MVPB 可仅 Composer 无 co-mcp channel
Q3 规则文件 新建 pchat-composer.mdc vs 精简 co-chat.mdc 新建,避免 10000 点数 channel 铁律
Q4 license 存储 迁移 globalStorage → pchat-local 迁移,卸载 co-chat 后仍可激活
Q5 workbench 补丁 pchat 向导调用 co-chat 扩展私有命令 vs 独立脚本 调用扩展 API(过渡期)
Q6 macOS 签名 chmod 后 Cursor 更新覆盖 禁止更新 纳入核心包 + 更新前告警
Q7 Windows 路径 向导适配 %LOCALAPPDATA% P1MVP 本机 Mac 优先

9. 实施路线图

Phase 0 — 文档与诊断(当前)

  • PRD v1本文
  • 架构师答 Q1Q7
  • 本机基线快照mcp.json / license / 补丁标记)

Phase 1 — 向导 + 权限12 周)

  • Hub 向导 W1W2W8 UI
  • composer-enhance.json 状态机
  • 设置页精简§4.2
  • 「修复增强」单按钮

Phase 2 — 桥接 + 模板1 周)

  • FR-BRIDGE 快捷按钮
  • 双 Chat 模板 + 互斥检测
  • pchat-composer.mdc 草案

Phase 3 — 验收 + 退役1 周)

  • 冒烟测试清单自动化
  • retire_cochat.sh + 回滚
  • 更新 AGENTS.md / VSIX460 铁律附录

Phase 4 — P2可选

  • 多 Agent / CO Flow 是否引入
  • Windows 向导

10. 验收清单Owner 本机)

10.1 模式 A

  • Hub 13458 可开 ct_
  • wait 末工具,无 channel
  • 卡若复盘 + autoContinue 正常
  • transport file/codeblock 正常

10.2 模式 B

  • 向导 W1W10 全绿
  • 核心增强包 ON = 补丁标记存在(非仅 storage
  • Opus 探测出字
  • 付款弹窗 → 「修复增强」可恢复

10.3 整合

  • 同步结论 → ct_ 一次成功
  • 双 Chat 互斥无警告误报

10.4 退役

  • retire 脚本执行
  • co-chat 扩展不存在
  • 模式 A+B 仍满足 10.110.3

11. 附录

11.1 原 CO-Chat ①~⑧ 与配置键映射

序号 名称 storage 键(参考) pchat 核心包
禁止 Cursor 更新 kc.disableCursorUpdate
基础补丁 kc.corePatchBundle
Agent 排序与性能优化 kc.agentSortPerf
MCP 超时保护 kc.mcpTimeoutGuard
MCP 自愈重连 kc.mcpSelfHeal
Agent 流中断重试 kc.agentStreamRetry
永不断连 kc.endlessRetries
无额度模式 kc.noQuotaMcp

公开参数(不改名,便于过渡):noQuotaRetrySpeednoQuotaRetryDelayMspollTickMs 等 — 见对话摘要 §三。

11.2 相关路径

路径 说明
/Users/karuo/Documents/个人/.persistent-chat-v1.1/ pchat server/panel
~/.cursor-loop/bridge.js MCP bridge
~/.cursor/cochat_fix_write_permission.sh 权限修复
~/.cursor/extensions/co-chat.co-chat-panel-*/ 待退役扩展
开发文档/PersistentChat_整合CO-Chat_需求PRD_v1.md 本文

11.3 参考链接


12. 变更记录

版本 日期 变更
v1.0 2026-06-29 首版双模式、一键向导、权限修复、UI 精简、退役清单、合规边界

下一步(开发兼铺)

  1. 架构师回复 §8 Q1Q7
  2. Phase 1 开工Hub 向导 W2 权限 + composer-enhance.json
  3. Owner 本机跑通 W8 后执行 Phase 3 退役演练(可先 --dry-run