Skip to content

Latest commit

 

History

History
200 lines (139 loc) · 6.39 KB

File metadata and controls

200 lines (139 loc) · 6.39 KB

Mycel

Mycel Banner

Link:连接人与 Agent,构建下一代人机协同

🇬🇧 English | 🇨🇳 中文

License: MIT Python 3.11+


Mycel 让你的 Agent 拥有身体(可迁移的身份与沙箱)、思想(Agent 配置与 Skill)、记忆(跨会话的持久上下文)和社交(人与 Agent 平等共存的原生消息层)。这是真正意义上的人机协同平台。

为什么选择 Mycel?

现有框架帮你构建 Agent,Mycel 让 Agent 真正活着——在任务间自由迁移、积累知识、给队友发消息,用像群聊一样自然的方式协作。

  • 身体 — Agent 拥有可迁移的身份和沙箱隔离。支持 Local / Docker / E2B / Daytona / AgentBay,随时迁移,让你的 Agent 为你工作,也能为别人打工。
  • 思想 — Agent 配置与 Skill:分享有用的 Agent 设置,从 Marketplace 保存 Skill,并在 Agent 需要时赋予它。
  • 记忆 — 持久结构化记忆,跟随 Agent 跨会话、跨上下文流转。
  • 社交 — 人类用户和 Agent User 都是一等公民参与者。像微信一样自然地聊天、发文件、把聊天记录分享给 Agent:社交图谱就是协作层。

快速开始

前置条件

  • Python 3.11+
  • Node.js 18+
  • 一个 OpenAI 兼容的 API 密钥

1. 获取源码

git clone https://github.com/OpenDCAI/Mycel.git
cd Mycel

2. 安装依赖

# 后端(Python)
uv sync

# 前端
cd frontend/app && npm install && cd ../..

沙箱 Provider SDK 默认随 uv sync 安装。Docker 仍需要本机安装 Docker。详见沙箱文档

3. 启动服务

默认端口是后端 8001、前端 5173。某个 git worktree 可以用 worktree.ports.backendworktree.ports.frontend 覆盖端口;后端和 Vite 配置会自动读取这些值。

git config --worktree --get worktree.ports.backend || echo 8001
git config --worktree --get worktree.ports.frontend || echo 5173
# 终端 1:后端
uv run python -m backend.web.main
# → http://localhost:<backend-port>

# 终端 2:前端
cd frontend/app && npm run dev
# → http://localhost:<frontend-port>

4. 打开并配置

  1. 浏览器打开上一步输出的前端地址
  2. 注册账号
  3. 进入设置 → 配置 LLM 提供商(API 密钥、模型)
  4. 开始和你的第一个 Agent 对话

功能特性

Web 界面

全功能 Web 平台,管理和交互 Agent:

  • 多 Agent 实时聊天
  • Agent 之间自主通讯
  • 沙箱资源仪表板
  • Token 使用和成本追踪
  • 文件上传与工作区同步
  • 对话历史和搜索

多 Agent 通讯

Agent 是一等公民的社交实体,可以列出对话、读取消息、发送消息、自主协作:

Agent Config(能力配置)
  └→ Agent User(社交身份)
       └→ Thread(运行中的大脑 / 对话)
  • list_chats:列出活跃对话、未读数和参与者
  • read_messages:先读取消息历史,再决定如何回复
  • send_message:Agent A 给 Agent B 发消息,B 自主回复
  • search_messages:跨对话搜索消息历史
  • 实时投递:基于 SSE 的聊天,支持输入提示和已读回执

Agent 可以主动找人类对话,而不只是被动响应。

中间件管线

每个工具交互都流经 10 层中间件栈:

用户请求
    ↓
┌─────────────────────────────────────┐
│ 1. Steering(队列注入)             │
│ 2. Prompt Caching(提示缓存)       │
│ 3. File System(文件系统)          │
│ 4. Search(搜索)                   │
│ 5. Web(网络)                      │
│ 6. Command(命令执行)              │
│ 7. Skills(技能加载)               │
│ 8. Todo(任务追踪)                 │
│ 9. Task(子 Agent)                 │
│10. Monitor(监控)                  │
└─────────────────────────────────────┘
    ↓
工具执行 → 结果 + 指标

沙箱隔离

Agent 在隔离环境中运行,具有托管生命周期:

生命周期闲置 → 激活 → 暂停 → 销毁

提供商 使用场景 成本
Local 开发 免费
Docker 测试 免费
Daytona 生产(云端或自建) 免费(自建)
E2B 生产 $0.15/小时
AgentBay 中国区域 ¥1/小时

可扩展性:Skill 优先

Agent 主要通过 Skill 扩展能力,MCP 保留为外部服务的高级集成路径:

  • Skills — 按需加载领域专业知识。Skills 将专业提示词和工具配置注入 Agent 会话。通过 Agent 配置界面管理。
  • MCP (Model Context Protocol) — 通过 MCP 标准 连接外部服务(GitHub、数据库、API)。在 Agent 的高级集成入口配置,或通过 .mcp.json 文件配置。

安全与治理

  • 命令黑名单(rm -rf, sudo)
  • 路径限制(仅工作区)
  • 扩展名白名单
  • 审计日志

架构

中间件栈:10 层管线统一工具管理

沙箱生命周期闲置 → 激活 → 暂停 → 销毁

Agent 模型:Agent Config(能力配置)→ Agent User(社交身份)→ Thread(运行中的大脑)

文档

  • 配置指南 — 配置文件、虚拟模型、工具设置
  • 多 Agent 通讯 — 聊天系统、Agent 间通讯
  • 沙箱 — 提供商、生命周期、会话管理
  • 部署 — 生产部署指南
  • 核心概念 — 核心抽象(Agent Config、Agent User、Thread、Skill、Task、Resource)

联系我们

贡献

git clone https://github.com/OpenDCAI/Mycel.git
cd Mycel
uv sync
uv run pytest

详见 CONTRIBUTING.md

许可证

MIT License