使用说明
🤖 自主工作空间v3——多工具AI代理(安全模式)
一个全栈AI代理系统,从电子邮件或文本中提取任务,将其映射到MCP工具,并在明确的用户批准下执行。
✨ 特性
- 📧 电子邮件/文本分析 --粘贴任何电子邮件或任务描述
- 🔍 AI任务提取 --Groq LLM提取可操作的任务
- 🔧 工具映射 --自动将任务映射到MCP工具
- 🛡️ 安全模式 --未经明确批准不得执行
- 📊 置信度得分 --AI为每项任务提供信心
- 📝 审计跟踪 --完整记录所有操作
- 🎨 高级深色用户界面 --现代、灵敏的设计
🏗️ 建筑
Frontend (React + Vite) ⇄ MCP Server ⇄ Groq API + Tool Adapters
可用工具
| 工具 | 描述 | 状态 |
|---|---|---|
filesystem |
读/写文件(沙盒) | ✅ 活动 |
github |
GitHub API操作 | ✅ 活动 |
slack |
发送Slack消息 | ✅ 活动 |
calendar |
管理日历事件 | ✅ 活动 |
terminal |
执行命令 | ⚠️ 默认情况下已禁用 |
browser |
安全HTTP获取 | ✅ 活动 |
🚀 快速开始
先决条件
- Node.js 18+
- npm或纱线
- Groq API密钥(在这里买一个)
安装
# Clone and navigate
cd mcp
# Install all dependencies
npm run install:all
# Configure environment
cp mcp-server/.env.example mcp-server/.env
# Edit .env and add your GROQ_API_KEY
跑步
终端1-MCP服务器:
npm run dev:mcp
2号航站楼——前端:
npm run dev:web
打开http://localhost:5173
📝 示例用法
电子邮件输入示例
Hi team,
Please handle the following:
1. Create a new file called "meeting-notes.md" with today's date
2. Send a Slack message to #general about the standup at 10am
3. Create a GitHub issue for the login bug we discussed
4. Add a calendar event for the design review on Friday at 2pm
Thanks!
预期输出
AI将提取4个任务:
- 文件系统 → 创建会议笔记.md
- Slack → 向#general发送消息
- GitHub → 创建登录错误问题
- 日历 → 创建周五下午2点的活动
每个任务显示:
- 建议工具
- 有效载荷预览
- 置信度得分
- 批准按钮
🔒 安全
安全模式(默认)
- ✅ 无自动执行 --所有任务都需要明确批准
- ✅ 沙盒文件系统 --只有
./sandbox文件夹可访问 - ✅ 终端已禁用 --设置
ALLOW_TERMINAL=true启用 - ✅ 命令白名单 --只允许使用安全命令
- ✅ 完整的审计追踪 --记录的每个操作
环境变量
| 变量 | 描述 | 默认值 |
|---|---|---|
GROQ_API_KEY |
您的Groq API密钥 | 必需 |
MCP_SERVER_PORT |
服务器端口 | 3001 |
ALLOW_TERMINAL |
启用终端适配器 | false |
📁 项目结构
├── client/ # React Frontend
│ ├── src/
│ │ ├── components/ # UI Components
│ │ ├── api/ # MCP API Client
│ │ ├── lib/ # Types
│ │ └── utils/ # Utilities
│ └── ...
├── mcp-server/ # MCP Backend
│ ├── src/
│ │ ├── tools/ # Tool Adapters
│ │ │ └── adapters/ # Individual tools
│ │ ├── planner.ts # LLM Orchestration
│ │ ├── groqClient.ts # Groq API
│ │ ├── validation.ts # Zod Schemas
│ │ └── audit.ts # Audit Logging
│ ├── audit/ # Audit logs
│ └── sandbox/ # Sandboxed files
└── README.md
🔌 API终点
POST/api/计划
分析文本并生成执行计划。
请求:
{
"text": "Create a file called notes.md..."
}
答复:
{
"summary": "Plan to create a notes file",
"tasks": [
{
"id": "task-1",
"description": "Create notes.md file",
"tool": "filesystem",
"payload": { "action": "write", "path": "notes.md", "content": "..." },
"confidence": 0.95,
"status": "pending"
}
]
}
POST/api/执行
执行已批准的任务。
请求:
{
"taskId": "task-1",
"tool": "filesystem",
"payload": { "action": "write", "path": "notes.md", "content": "..." }
}
GET/api/audit
检索审核历史记录。
🛠️ 发展
添加新工具
- 在中创建适配器
mcp-server/src/tools/adapters/ - 注册
mcp-server/src/tools/dispatcher.ts - 更新Groq提示
mcp-server/src/groqClient.ts
自定义提示
在中编辑提示 groqClient.ts 调整任务提取和工具映射行为。
📄 许可证
MIT许可证——请随意使用和修改。
内置于❤️ 使用React、TypeScript、Groq和TailwindCSS
e9eba61(首次提交)
