feat: 接入独立 MCP Agent 与进度回调#1154
Closed
xiongxz wants to merge 1 commit into
Closed
Conversation
📋 Code Review Requested (P2)This is a large-scope feature PR from external contributor @xiongxz — standalone MCP sandbox agent binary. Scope: 41 files, +5,384/-87 lines — new binary, Dockerfile, docker-compose, MCP forwarding. Recommendations:
|
Author
|
先临时关闭,避免包含内部实现细节;后续如需提交,会重新整理成通用、可公开 review 的版本。 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
提交理由
这次改动是为了让 GoClaw 能更稳定地接入外部 MCP 工具服务,并为耗时较长的工具调用提供统一的进度回传能力。之前外部工具执行期间主要依赖最终结果,GoClaw UI 和外部渠道很难持续感知中间状态;现在可以通过统一的
progress / ask_user / result / error语义,让运行时、前端和外部渠道都按同一套协议处理长任务反馈。主要改动
notifications/progress回传到 GoClaw,并转成AgentEventActivity phase=mcp_progress。DirectReturn工具结果路径,避免结构化工具结果被模型二次改写。gateway_context_id / channel / internal_session_id / conversation_id / message_id / out_track_id / reply_mode。影响范围
验证
go test ./cmd/... ./internal/channels ./internal/gateway/methods ./internal/mcp ./internal/agent ./internal/pipeline ./internal/toolsdocker compose -f docker-compose.mcp-agent.yml config --servicesdocker compose -f docker-compose.yml -f docker-compose.mcp-agent.yml config --services | rg '^(goclaw|mcp-agent)$'docker compose -f docker-compose.mcp-agent.yml up -d --build mcp-agentcurl -fsS http://127.0.0.1:8090/healthzhttp://127.0.0.1:8090/mcp