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
29
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