______________________________________________________________________
标题:Yuga规划师 表情符号🐍 颜色来源:紫色 颜色:灰色 sdk:docker 应用端口:7860 许可证:apache-2.0 标签:\[“代理演示曲目”\]
Yuga规划师🐍
该项目是为 拥抱面部特工MCP黑客马拉松!
Yuga Planner是一个神经符号系统原型:它提供了一个基于代理的团队调度和任务分配平台 Gradio.
它需要一个项目描述,通过一个 LLamaIndex 代理,然后使用 时间折叠 为复杂项目生成最佳员工时间表。
🚀 立即尝试
现场演示: https://huggingface.co/spaces/blackopsrepl/yuga-planner
GitHub上的源代码:
MCP聊天界面使用
- 导航到聊天选项卡 在Gradio界面中
- 上传您的日历文件(.ics) 提供现有承诺(可选)
- 键入您的日程安排请求 使用自然语言:
"Create a new EC2 instance on AWS"
"Create a Svelte UI that allows me to query a postgresql database"
"Develop a chatbot UI based on Gradio"- 接收智能响应 将会话式人工智能与任务调度功能相结合
- 查看格式化的日程表 具有丰富的表格输出和状态指示器
MCP工具使用
- 在任何兼容MCP的聊天机器人或代理平台中:
use yuga-planner mcp tool
Task Description: [Your task description]- 附加日历文件(.ics) 提供现有承诺
- 接收优化的日程安排 将新任务与现有日历事件集成
建筑
Yuga Planner遵循 面向服务的体系结构 明确区分关注点:
核心服务层
- 数据服务: 处理来自各种来源(Markdown、日历)的数据加载、处理和格式转换
- 时间表服务: 协调计划生成、求解器管理和解决方案轮询
- 国家服务: 用于作业跟踪和计划存储的集中状态管理
- 记录服务: 用于UI反馈和调试的实时日志流
- 模拟项目服务: 为测试和演示提供示例项目数据
- MCPClientWrapper: 管理MCP服务器功能和工具定义
MCP集成组件
- 工具卡装配工: 将Nebius API的流式工具调用增量处理为完整的工具调用
- 工具调用处理器: 通过具有JSON修复功能的MCP后端执行已完成的工具调用
- 聊天界面: 具有智能工具检测的统一会话式AI+任务调度
- 流处理程序: 具有进度指示器和错误恢复的实时响应处理
系统组件
- Gradio用户界面: 具有实时更新和交互式日程可视化功能的现代网络界面
- 任务生成器代理: 用途 LLamaIndex + Nebius AI 智能任务分解与估计
- 约束求解器: 时间折叠 用于优化任务到员工分配的优化引擎
- MCP集成: 用于代理工作流集成的模型上下文协议端点
______________________________________________________________________
🌟 主要特点
| 功能 | 描述 | 状态 |
|---|---|---|
| Markdown项目解析 | 从Markdown文档中自动提取任务 | ✅ |
| LLM驱动的任务分析 | LLamaIndex + Nebius AI 用于任务分解和估计 | ✅ |
| 基于约束的排程 | 时间折叠 日程分配优化引擎 | ✅ |
| 技能匹配 | 检测每项任务所需的技能 | ✅ |
| 任务依赖 | 顺序工作流建模 | ✅ |
| 多项目支持 | 同时加载和调度多个项目 | ✅ |
| 实时日志流 | UI中的实时求解器进度和状态更新 | ✅ |
| 可配置参数 | 可调员工人数和计划持续时间 | ✅ |
| 模拟项目加载 | 用于快速测试的预配置示例项目 | ✅ |
| 日历解析和固定 | 在原始时间从.ics文件中提取并保留日历事件 | ✅ |
| 营业时间执行 | 尊重9:00-18:00的工作时间,不包括午休时间 | ✅ |
| 周末日程安排预防 | 硬约束阻止周末任务分配 | ✅ |
| MCP端点 | 用于MCP工具与日历支持集成的API端点 | ✅ |
| MCP聊天界面 | 统一的对话式AI+任务调度界面 | ✅ |
| 流媒体工具调用 | 实时处理来自Nebius API的工具调用 | ✅ |
| 智能刀具检测 | 基于关键字的调度请求检测 | ✅ |
| JSON修复与恢复 | 对格式错误的流数据的稳健处理 | ✅ |
| 双响应系统 | Nebius API带MCP回退以提高可靠性 | ✅ |
🎯 两种使用模式
Yuga Planner作为 两个独立的系统 服务于不同的用例:
1.💬 MCP聊天界面
目的: 具有集成任务调度功能的对话式人工智能
- 访问权限: Gradio界面中的聊天选项卡
- 输入: 自然语言请求+可选
.ics日历文件 - 特征:
- 基于调度关键字的智能刀具检测 - 使用实时工具调用程序集进行流式响应 - 日程结果的丰富表格格式 - 双响应系统(Nebius API+MCP回退)
- 用例: 通过自然对话进行交互式日程安排
2.🤖 MCP个人工具
目的: 与个人日历集成的个人任务调度
- 访问权限: 通过MCP兼容的聊天机器人和代理平台
- 输入: 附加
.ics日历文件+自然语言任务描述 - 团队: 根据您的时间表 个人日历 以及现有承诺
- 用例: 围绕现有预约的个人生产力和任务规划
MCP使用示例:
User: use yuga-planner mcp tool
Task Description: Create a new EC2 instance on AWS
[Attaches calendar.ics file]
Tool Response: Optimized schedule created - EC2 setup task assigned to
available time slots around your existing meetings🧩 MCP聊天界面技术细节
智能刀具检测
聊天界面使用关键字分析自动检测日程安排请求:
scheduling_keywords = [
'schedule', 'task', 'calendar', 'plan', 'organize',
'meeting', 'appointment', 'project', 'deadline',
'create', 'setup', 'implement', 'develop'
]流媒体工具调用处理
- 三角洲组件: 将200多个流增量收集到完整的工具调用中
- JSON修复: 处理流式响应中格式错误的JSON
- 进度指标: 刀具加工过程中的实时反馈
- 超时保护: MCP操作超时60秒
双响应系统
- 主要的,重要的 具有工具调用功能的Nebius API
- 退路: 工具组装失败时直接调用MCP后端
- 错误恢复: 全面的错误处理和优雅的降级
特征:
- 通过聊天界面接受日历文件和用户任务描述
- 分析现有日历事件和新任务要求
- 全面的日程解决支持 -生成优化的任务分配
- 返回与个人日历集成的完整已解决日程
- 专为无缝聊天机器人和代理工作流集成而设计
当前限制:
- 多时区支持: 目前在单一时区环境中运行,UTC转换以保持一致性。来自不同时区的日历事件被标准化为相同的日程安排上下文。
请参阅 更改日志.md 有关最近MCP相关变化的详细信息。
进行中
- 🔧 Gradio UI大修: 增强的用户体验和视觉改进
- 🔍 迁移到Pydantic模型: 类型安全数据验证和序列化
- ⚡ 增强的时区支持: 多时区日历集成,用于国际日程安排
未来工作
系统集成路线图
- 统一调度引擎 它可以在一个界面中同时处理团队管理和个人生产力
- 混合工作流 个人任务可以与团队项目协调
- 跨系统数据共享 在web演示项目和个人MCP日历之间
- 无缝切换 团队管理与个人任务规划模式
核心功能增强
- 多工具支持: 扩展聊天界面,以支持除日程安排之外的其他MCP工具
- 日历集成: 直接日历服务集成(谷歌、Outlook)
- 性能优化: 针对大型工具调用的增强流式组装
- 抹布: 根据行业相关文献验证任务分解和估计
- 更精细的任务依赖关系: 在可行/方便的情况下,在DAG中而不是列表中表示任务,以允许项目内的重叠
- GitHub问题反馈: 它不是直接处理markdown,而是通过解析问题来创建列表
- 强化学习: 训练代理以改进GitHub历史中的任务分解和估计(例如时间戳差异、问题注释等)
先决条件(本地/GitHub)
- Python 3.10
- Java 17+
- Docker(可选,用于容器化部署)
- Nebius API证书(用于LLM功能)
安装
- 克隆存储库:
git clone https://github.com/blackopsrepl/yuga-planner.git
cd yuga-planner- 创建虚拟环境:
make venv- 安装依赖项:
make install- 设置环境变量/机密:
make setup-secrets
# Then edit tests/secrets/cred.py to add your API credentials- 运行应用程序:
make runDocker(本地/GitHub)
- 塑造形象:
docker build -t yuga-planner .- 运行容器:
docker run -p 7860:7860 yuga-planner______________________________________________________________________
Python依赖关系
看 requirements.txt 查看完整列表。
______________________________________________________________________
许可证
此项目根据Apache 2.0许可证获得许可。看 LICENSE.txt 了解详情。
______________________________________________________________________
