chatgpt-web-bridgelisted
Install: claude install-skill ooooooooooooooooooop/personal-ai
# ChatGPT Web Bridge
这个 skill 负责把网页端当作一个有自己上下文的协作者接入本地工作流。网页端负责基于会话、Project 指令、Project 文件和可用的网页能力进行判断;本地 agent 负责执行本地动作、保存原始证据、判断任务是否真的完成,并对隐私和权限边界负责。
## 先选模式
| 用户意图 | 模式 | 回合形状 |
| --- | --- | --- |
| “推进/继续这个网页会话” | A 推进 | 发最小推进消息,读回结果,按终止条件决定是否继续 |
| “让网页端指挥现在的项目” | B 指挥 | 网页端给指令,本地执行并回帖事实,直到指令循环结束 |
| “协作/对等/共同推进” | C 协作 | 双方先独立陈述,再交换证据、交锋,执行落在本地 |
| “用网页端项目/会话的资料” | D 只读 | 只读项目、会话或记忆;不发送消息、不创建会话 |
不要把一次回帖本身当成任务完成。A、B、C 都需要检查当前模式的终止条件;D 在资料已经取回并交付后结束。
## 项目和会话绑定
先确定目标,再发送任何写操作。
- 续接已有会话时,使用用户给出的 `conversation_id`;没有 ID 时用 `list_conversations` 查找,并用标题、更新时间和 Project 归属核对,不凭最近一条猜测。
- 创建新会话时,先用 `list_projects` 找候选 Project。Project 名称必须精确解析为唯一 ID;未知或歧义名称停止并报告。没有合适的 Project 时,请用户在网页端创建,或由用户明确批准独立会话例外。
- 首轮需要改变会话绑定(新会话、新 Project、换 `conversation_id`、损坏会话重建)时,向用户说明具体绑定和原因。一个已经明确批准的、相同的绑定不会因为 MCP 重连或进程重启而自动变成新的审批请求;只有绑定、权限范围或用户意图改变,或已有批准无法可靠关联时才重新确认。
- 记录并沿用返回的 `conversation_id`。不要把省略 ID 的自动续接当作跨进程的可靠专线。
Project 提供上下文范围、指令和文件入口,但不能把“Project”当成绝对隐私隔离证明。发送前仍要检查目标 Project 和会话;不要把本地私密材料放进网页端,除非用户明确要求且该传输在当前任务范围内。
## 结果优先的调用纪律
一次调用可能已经完成网页端动作,即使客户端随后超时、取消或丢失连接。每次 `chat_completion`、写操作或长读操作之后,先完整消费当前返回值,再决定是否需要下一次调用。
1. 检查结构化字段、内联文本、`conversation_id`、状态、delivery receipt,以及客户端暴露的 `overflow`、`out_file` 等结果指针。结果指出文件或溢出内容时,先读取该内容;不要为了“确认一下”再发相同消息或重复读会话。
2. 如果结果带有可用的投递收据,收据就是本次投递的主要证据。`delivery_stage`/`reply_persisted=true` 说明已经提交或已有 assistant 节点,不自动等同于终态完成;仍要服从 tail 的 `in_progress`/`generating` 状态。保存会话 ID、消息/回合标识(如果有)、状态和时间;仅在收据明确为未知或不完整时做一次有目的的补读。
3. 客户端超时、取消、断线或 transport error 只