Plan_A
Plan_A is a project built with Python 3 that aims to streamline workflows through automation and data analysis capabilities. It supports developers in rapidly building applications, particularly excelling in API integration and security analysis.
GitHub Stars
3
User Rating
Not Rated
Favorites
0
Views
378
Forks
0
Issues
0
Plan_A
Plan_A的初心和目标是构建一个懂业务,能行动,产出质量高,能够让大家出门玩耍Agent可以在家自动办公的自动化办公文档产品。基于FastAPI的后端和VUE前端的全栈项目,提供用户认证和API服务。
功能特性
- 用户注册和登录认证
- 基于JWT的认证系统
- 异步PostgreSQL数据库操作
- Alembic数据库迁移
- 智能Agent助手系统
- 文档自动编辑和处理
- 工具调用和配置管理
- MCP(Model Context Protocol)服务集成
- 实时聊天和对话管理
- 多格式文档支持(Markdown、LaTeX、HTML等)
项目路线图
🎯 第一阶段:Cursor式智能辅助办公工具
目标:打造类似Cursor的智能编程助手体验,专注于文档处理和办公自动化
| 功能模块 | 状态 | 核心能力 | 详细描述 | 优先级 |
|---|---|---|---|---|
| Agent智能助手 | ✅ 已完成 | 文档理解与编辑 | • 自动读取文档内容并理解上下文 • 智能文档编辑和内容生成 • 基于需求的自动化文档处理 |
🔥 高 |
| 工具调用系统 | ✅ 已完成 | 扩展能力管理 | • 灵活的工具配置和管理 • 自定义工具扩展支持 • 工具调用历史追踪 |
🔥 高 |
| MCP服务集成 | ✅ 已完成 | 外部服务接入 | • MCP协议标准化实现 • 外部服务无缝接入 • 服务配置和管理界面 |
🔥 高 |
| 办公软件集成 | 🚧 开发中 | 企业生态连接 | • 微信消息通知和交互 • 飞书文档和日历集成 • 企业微信群组管理 • 钉钉审批流程对接 |
🟡 中 |
| 动态上下文压缩 | 🚧 开发中 | 内容优化管理 | • 智能内容摘要和压缩 • 上下文窗口优化管理 • 长文档处理能力增强 |
🟡 中 |
| 智能文档发现 | 📋 计划中 | 关联分析推荐 | • Agent主动查找相关文档 • 跨文档关联分析 • 智能推荐相关内容 |
🟡 中 |
| 知识库系统 | 📋 计划中 | 企业知识管理 | • 企业级知识库构建 • 文档索引和检索优化 • 知识图谱构建 |
🟡 中 |
| 多级目录文档 | 📋 计划中 | 协作文档管理 | • 飞书式层级文档结构 • 文档权限和协作管理 • 版本控制和历史追踪 |
🟢 低 |
🚀 第二阶段:Manus式可控自主规划办公
目标:实现可控的自主办公系统,Agent能够理解业务需求并自主规划执行方案
| 核心系统 | 状态 | 核心能力 | 技术特性 | 应用场景 |
|---|---|---|---|---|
| 业务理解引擎 | 🎯 规划中 | 智能业务分析 | • 业务流程自动分析 • 需求意图智能识别 • 上下文业务知识学习 |
会议纪要处理 项目需求分析 |
| 自主任务规划 | 🎯 规划中 | 任务分解执行 | • 复杂任务自动分解 • 多步骤执行计划生成 • 依赖关系和优先级管理 |
项目管理 工作流自动化 |
| 可控执行框架 | 🎯 规划中 | 人机协作控制 | • 人机协作决策机制 • 关键节点确认和干预 • 执行过程实时监控 |
风险控制 质量保证 |
| 智能办公生态 | 🎯 规划中 | 全场景办公整合 | • 跨平台消息智能路由 • 办公流程自动化编排 • 多系统数据同步协调 • 智能会议和协作管理 |
无缝办公体验 企业协作优化 |
| 结果交付系统 | 🎯 规划中 | 自动化输出 | • 自动化报告生成 • 多格式输出支持 • 质量评估和反馈机制 |
报告生成 文档交付 |
技术栈
后端
- FastAPI:快速的API框架
- SQLAlchemy:ORM工具
- Pydantic:数据验证
- Alembic:数据库迁移
- PostgreSQL:数据库
- UV:依赖管理
前端
- UVE:UI框架
- Vite:构建工具
- TypeScript:类型系统
Docker部署指南
本项目支持使用Docker进行灵活部署,提供多种部署方式满足不同需求。
环境准备
安装Docker和Docker Compose
# 检查安装情况 docker --version docker-compose --version准备环境变量
# 复制环境变量示例文件 cp .env.example .env # 编辑环境变量 vim .env # 或使用其他编辑器环境变量配置要点:
- 数据库连接信息(
POSTGRES_*) - API路径前缀(
API_V1_STR) - 安全密钥(
SECRET_KEY) - 日志配置(
LOG_*) - OpenAI集成配置(
OPENAI_*)
- 数据库连接信息(
部署方式
方式一:一键部署(前后端+Redis)
最简单的方式,同时部署所有服务:
# 构建并启动所有服务
docker-compose up -d
# 查看部署状态
docker-compose ps
这将启动:
- Redis服务(端口6379)
- 后端API服务(端口1314)
- 前端Web服务(端口80)
方式二:仅部署后端(适合开发前端)
当你需要单独开发前端,但使用Docker部署后端时:
# 只启动Redis和后端服务
docker-compose up -d redis backend
# 检查后端服务状态
docker-compose ps backend
后端API将在 http://localhost:1314/api/v1 可用。
方式三:仅部署前端(适合开发后端)
当你在本地运行后端,只需要Docker部署前端时:
# 指定后端API地址(替换为你本地后端地址)
BACKEND_API_URL=http://localhost:1314/api/ docker-compose up -d frontend
# 检查前端服务状态
docker-compose ps frontend
前端将在 http://localhost 可用,并连接到指定的后端API。
方式四:完全分离部署
在不同环境中部署前后端:
先部署后端:
# 在后端服务器上 docker-compose up -d redis backend再部署前端(在另一台服务器):
# 在前端服务器上,指向后端服务器地址 BACKEND_API_URL=http://backend-server-ip:1314/api/ docker-compose up -d frontend
构建选项
项目使用单一Dockerfile通过构建参数实现前后端服务分离:
# 手动构建前端镜像
docker build --build-arg BUILD_TARGET=frontend -t freewrite-frontend .
# 手动构建后端镜像
docker build --build-arg BUILD_TARGET=backend -t freewrite-backend .
日志查看
查看服务日志
# 查看所有服务的最新日志
docker-compose logs
# 持续查看日志(类似tail -f)
docker-compose logs -f
# 查看特定服务日志
docker-compose logs -f backend # 查看后端日志
docker-compose logs -f frontend # 查看前端日志
docker-compose logs -f redis # 查看Redis日志
# 查看最近50行日志
docker-compose logs --tail=50 backend
# 查看容器内的具体日志文件
docker exec -it freewrite-backend ls -la /app/logs
docker exec -it freewrite-backend cat /app/logs/app.log
应用日志文件
后端应用日志位于容器内的/app/logs目录,也已挂载到宿主机的./logs目录:
# 在宿主机查看日志文件
ls -la ./logs
# 查看具体日志内容
cat ./logs/app.log # 应用主日志
cat ./logs/api.log # API请求日志
cat ./logs/db.log # 数据库操作日志
cat ./logs/error.log # 错误日志
常用操作命令
# 启动所有服务
docker-compose up -d
# 停止所有服务但保留数据
docker-compose down
# 停止并删除所有数据(慎用!)
docker-compose down -v
# 重建并重启特定服务
docker-compose up -d --build backend
# 重启特定服务
docker-compose restart backend
# 查看容器资源使用情况
docker stats freewrite-backend freewrite-frontend
# 进入容器内部
docker exec -it freewrite-backend bash
docker exec -it freewrite-frontend sh
访问服务
部署完成后的访问地址:
- 前端界面:http://localhost/
- 后端API:http://localhost:1314/api/v1/
- API文档:
- Swagger UI: http://localhost:1314/docs
- ReDoc: http://localhost:1314/redoc
This project demonstrates a minimal MCP server and client example for basic calculator operations using both SSE and stdio transports. It includes clear instructions for installation and execution, making it accessible for developers. The inclusion of hot-reloading for development enhances the developer experience, while the structure allows for easy understanding of MCP functionalities.