明确创建会话异步回传提示并重新打包

This commit is contained in:
shiyue
2026-09-17 21:29:40 +08:00
parent 8ecc778645
commit 96bfcaaf99
10 changed files with 91 additions and 2 deletions

View File

@@ -0,0 +1,9 @@
# 发现
已暴露工具描述只强调持久会话用途。requestReply 参数原文:若为 true会在新对话完成本轮输出后把回复写回来源对话并继续触发来源对话运行。默认 false。
该描述未说明创建调用立即返回、禁止 sleep/轮询、来源会话可结束当前轮次。代码索引 home-cc-web 为 ready。
实现 createMcpConversation 同步创建并投递消息后返回未阻塞等待requestReply=true 且无首条消息会返回 reply_requires_initial_messagesend_message 已说明立即返回但 create 未说明。已有 scripts/ccweb-message-reply-unit.js 与 scripts/regression.js 创建回传集成覆盖。
回传由 deliverCrossConversationReply 完成;来源仍 running 时返回 false保持 ready来源完成轮次后 flush 再投递。循环 sleep 会持续占着 running导致自动回传延迟。用户只要默认不轮询且允许显式例外不改运行时行为。
用户再次指出“默认异步等待”可能被误读成参数控制的阻塞方式。修订明确 requestReply 控制回传订阅,是否轮询由模型遵循提示词与用户要求决定。

View File

@@ -0,0 +1,14 @@
# 完成记录
- 已按用户要求仅修改 ccweb_create_conversation 主说明和 requestReply 参数说明。
- 明确默认异步、不轮询,保留用户指定轮询的例外。
- 明确 false 不自动回传true 自动回传并触发来源继续运行,两者调用均立即返回。
- node --check lib/ccweb-mcp-server.js 通过。
- timeout 60s node scripts/ccweb-message-reply-unit.js 通过。
- git diff --check 通过;独立只读审查通过。
- 没有更改业务逻辑、默认值、返回值,没有创建真实会话或发送消息;未重启运行服务。已有会话的旧工具定义不会因文件修改自动更新。
- 规范复盘:本次属已有异步契约说明补全,无需新增通用规范。
## 2026-09-17 后续交付
用户授权重启并重新打包、提交推送全部修改。PM2 已确认 ccweb online进程 4186290重启计数 70启动时间 2026-09-17T13:19:07.223Z。正在重新生成 baseline 发布包。
发布验证通过7 个入口文件语法检查通过baseline 可执行文件 MCP initialize 与 tools/list 通过tools/list 已验证包含新回传提示;压缩包 137 项、43904045 字节SHA256 为 9289fddd83ce4feb542a6c02e17e047665846360a80d03d05376ea1dc35d4648。重启后的 HTTP 请求返回 200。按用户要求不再代码审计。

View File

@@ -0,0 +1,22 @@
# 修复创建会话异步等待提示
目标:按用户最新要求,只修正 ccweb_create_conversation 提示词,明确“除非用户指定,否则默认不轮询等待回复,而是异步等待”。
1. 核验工具提示词和异步回复链路 — completed
2. 修正创建会话的异步交互契约 — completed
3. 补充并运行相关回归验证 — completed
4. 核对生效条件并整理交付 — completed
边界:只改 lib/ccweb-mcp-server.js 的 description 和 requestReply description不改功能、不改默认值、不扩展返回值、不新增测试、不重启服务。
验收description 保留用户明确指定轮询的例外false 表示不自动回传true 表示完成后回传并触发来源继续运行两者创建调用均立即返回true 必须携带 initialMessage。使用现有单测、语法检查与导出提示词检查验证。
工具限制:当前没有 update_plan 工具,以同文案文件计划与 CSV 同步状态。
错误记录:早期工具调用有格式与未打印输出问题,已改为 await tools + text没有据此变更代码。用户明确缩小范围后取消任何绝对禁止轮询要求。
## 2026-09-17 后续澄清
用户接受推荐措辞:启用 requestReply 后,默认由系统异步回传结果;除非用户明确要求轮询,否则不主动轮询等待。
1. 按推荐措辞更新两处工具说明 — completed
2. 核验提示词与现有检查并收尾 — completed
仍仅修改两处说明,保持默认 false 和业务逻辑。
## 2026-09-17 打包交付
按用户要求重新打包、提交全部修改并推送,不再代码审计。
1. 生成 CentOS 7 baseline 发布包 — completed
2. 验证发布产物并整理全部修改 — completed
3. 提交全部修改并推送远端 — in_progress

View File

@@ -0,0 +1,2 @@
{"file":".trellis/spec/backend/quality-guidelines.md","reason":"后端质量约定"}
{"file":".planning/create-conversation-async/findings.md","reason":"工具契约与回传链路证据"}

View File

@@ -0,0 +1,2 @@
{"file":".trellis/spec/backend/quality-guidelines.md","reason":"后端质量约定"}
{"file":".planning/create-conversation-async/findings.md","reason":"工具契约与回传链路证据"}

View File

@@ -0,0 +1,10 @@
# 修复创建会话异步等待提示
目标:按用户最新要求,只修正 ccweb_create_conversation 提示词,明确“启用 requestReply 后,由系统异步回传结果;除非用户明确要求轮询,否则不主动轮询等待”。
1. 核验工具提示词和异步回复链路 — completed
2. 修正创建会话的异步交互契约 — completed
3. 补充并运行相关回归验证 — completed
4. 核对生效条件并整理交付 — completed
边界:只改 lib/ccweb-mcp-server.js 的 description 和 requestReply description不改功能、不改默认值、不扩展返回值、不新增测试、不重启服务。
验收description 保留用户明确指定轮询的例外false 表示不自动回传true 表示完成后回传并触发来源继续运行两者创建调用均立即返回true 必须携带 initialMessage。使用现有单测、语法检查与导出提示词检查验证。
工具限制:当前没有 update_plan 工具,以同文案文件计划与 CSV 同步状态。
错误记录:早期工具调用有格式与未打印输出问题,已改为 await tools + text没有据此变更代码。用户明确缩小范围后取消任何绝对禁止轮询要求。

View File

@@ -0,0 +1,26 @@
{
"id": "create-conversation-async",
"name": "create-conversation-async",
"title": "修复创建会话异步等待提示",
"description": "",
"status": "completed",
"dev_type": null,
"scope": null,
"package": null,
"priority": "P2",
"creator": "shiyue",
"assignee": "shiyue",
"createdAt": "2026-09-16",
"completedAt": "2026-09-17",
"branch": null,
"base_branch": "main",
"worktree_path": null,
"commit": null,
"pr_url": null,
"subtasks": [],
"children": [],
"parent": null,
"relatedFiles": [],
"notes": "",
"meta": {}
}

View File

@@ -128,7 +128,7 @@ const TOOLS = [
},
{
name: 'ccweb_create_conversation',
description: '创建一个新的 ccweb 持久对话。Agent 固定继承来源对话,不作为参数指定;只用于需要在会话列表中长期追踪、后续可继续对话的工作流;一次性并行研究应优先使用子代能力。',
description: '创建一个新的 ccweb 持久对话。Agent 固定继承来源对话,不作为参数指定;只用于需要在会话列表中长期追踪、后续可继续对话的工作流;一次性并行研究应优先使用子代能力。工具调用会立即返回。启用 requestReply 后,默认由系统异步回传结果;除非用户明确要求轮询,否则不主动轮询等待。',
inputSchema: {
type: 'object',
properties: {
@@ -152,7 +152,7 @@ const TOOLS = [
},
requestReply: {
type: 'boolean',
description: '可选。若为 true,会在新对话完成本轮输出后把回复写回来源对话,并继续触发来源对话运行。默认 false。',
description: '可选。控制是否自动回传结果,默认 false结果留在新对话不自动回传true新对话完成本轮输出后,系统自动把回复写回来源对话并触发其继续运行,必须同时提供 initialMessage。两种情况下本调用都立即返回。启用回传后除非用户明确要求轮询否则由系统异步回传结果无需主动轮询。',
},
},
additionalProperties: false,

View File

@@ -0,0 +1,4 @@
id,item,status,done_at,notes
1,生成 CentOS 7 baseline 发布包,DONE,2026-09-17T21:25:32+08:00,Bun baseline 发布包已生成,语法检查通过,重启后 HTTP 200
2,验证发布产物并整理全部修改,DONE,2026-09-17T21:26:52+08:00,发布包 MCP smoke、压缩包内容、校验和均通过
3,提交全部修改并推送远端,IN_PROGRESS,,
1 id item status done_at notes
2 1 生成 CentOS 7 baseline 发布包 DONE 2026-09-17T21:25:32+08:00 Bun baseline 发布包已生成,语法检查通过,重启后 HTTP 200
3 2 验证发布产物并整理全部修改 DONE 2026-09-17T21:26:52+08:00 发布包 MCP smoke、压缩包内容、校验和均通过
4 3 提交全部修改并推送远端 IN_PROGRESS