Skip to content

Feat: 子代理支持 MCP 和 Skills 独立配置及状态隔离#729

Open
supreme0597 wants to merge 2 commits into
xerrors:devfrom
supreme0597:feat/subagent-skill-mcp
Open

Feat: 子代理支持 MCP 和 Skills 独立配置及状态隔离#729
supreme0597 wants to merge 2 commits into
xerrors:devfrom
supreme0597:feat/subagent-skill-mcp

Conversation

@supreme0597
Copy link
Copy Markdown
Contributor

变更描述

简要描述这个 PR 做了什么

  • 子代理支持 MCP 和 Skills 独立配置及状态隔离

变更类型

  • 新功能
  • Bug 修复
  • 文档更新
  • 其他

测试

  • 已在 Docker 环境测试
  • 相关功能正常工作

相关日志或者截图

image

说明

(可选)有什么需要特别说明的吗?


💡 提示: 提交前可以运行 make lintmake format 检查代码规范

@supreme0597
Copy link
Copy Markdown
Contributor Author

#593

@xerrors
Copy link
Copy Markdown
Owner

xerrors commented Jun 2, 2026

关于子智能体,我做了这样的设计,没有沿用 deepagents 的子智能体的逻辑,而是将智能体配置(现在已经叫做智能体)和子智能体共享,这样不用单独去使用单独的逻辑配置子智能体,而是像配置智能体一样配置子智能体。同时子智能体也不像 deepagents 的同步智能体一样是一次性的,现在的逻辑可以通过传入之前的子智能体thread_id继续子智能体的上下文。

image image

关于共享方面:

  • 上下文是隔离的
  • State 是隔离的
  • Skill / MCP / 知识库 / 工具 等等,都是可以独立配置的
  • output / uploads 目录是共享的
  • 用户工作区是共享的

@supreme0597
Copy link
Copy Markdown
Contributor Author

  • 在本会话中是有记忆的?太强了。

  • 智能体配置(现在已经叫做智能体)和子智能体共享,State 是隔离的:那有一个问题,子智能体会不会调用展示交付物功能,ask 确认功能?这样会发生什么呢?

  • 子智能体的过程输出呢?用户觉得 subagent 没有过程输出,感觉很卡,要改进;

  • 我正在调研这个方案,让 codex 实现了一版,感觉和你现在的架构有冲突了。

@xerrors
Copy link
Copy Markdown
Owner

xerrors commented Jun 2, 2026

哈哈哈,意识到同样的问题了,我上午刚在子智能体里面禁用了 展示交付物功能,ask 确认功能。

子智能体的输出这个没问题,现在没渲染是我对渲染方案还不满意,但是智能体的详细过程是会流式输出的。而且因为拥有单独的线程 Id,所以也可以执行之后,点击右侧的某个子智能体,就可以看中间的历史记录。

@xerrors
Copy link
Copy Markdown
Owner

xerrors commented Jun 2, 2026

这里说的配置共享不是用同一个配置,而是同一个配置逻辑,就是创建智能体的时候需要选择Backend(是 Chatbot 还是 subagent)两个的 Context 不一样。参考前面的图 1

@supreme0597
Copy link
Copy Markdown
Contributor Author

看来我这边不着急开发新功能了,有些重复开发了,或者新版不适用了

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants