# 轻量级OA协作平台 **Repository Path**: smarthhl/pyoa ## Basic Information - **Project Name**: 轻量级OA协作平台 - **Description**: PyOA 是一款面向中小企业的轻量级OA协作平台,致力于提供简洁、高效、易于部署的办公自动化解决方案。系统采用 Python + Flask 技术栈开发,无需复杂的基础设施,单机即可运行,适合10-500人规模的团队使用。 与传统重量级OA系统不同,PyOA 坚持"轻量、开源、易用"的设计理念,让企业无需专业的IT团队就能快速搭建内部协作体系。 - **Primary Language**: Python - **License**: MIT - **Default Branch**: pybase - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2026-04-13 - **Last Updated**: 2026-04-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # PyOA 产品介绍 **轻量级企业OA协作平台** > 版本 v1.0 | 2026年4月 --- ## 目录 - [1 产品概述](#1-产品概述) - [2 功能概览](#2-功能概览) - [3 系统架构](#3-系统架构) - [4 适用场景](#4-适用场景) - [5 版本信息](#5-版本信息) --- ## 1 产品概述 ### 1.1 产品定位 PyOA 是一款面向中小企业的轻量级OA协作平台,致力于提供简洁、高效、易于部署的办公自动化解决方案。系统采用 Python + Flask 技术栈开发,无需复杂的基础设施,单机即可运行,适合10-500人规模的团队使用。 与传统重量级OA系统不同,PyOA 坚持"轻量、开源、易用"的设计理念,让企业无需专业的IT团队就能快速搭建内部协作体系。 ### 1.2 核心优势 | 特性 | 说明 | |------|------| | 轻量部署 | Python单文件部署,SQLite零配置,无需MySQL/Redis等依赖 | | 开源透明 | 完整源代码,可自由二次开发和定制 | | 模块化架构 | 15大业务模块 + 6大管理模块,Flask Blueprint解耦 | | AI智能助手 | 内置大模型集成,支持5大提供商、主备切换 | | 多级权限 | 系统角色+自定义角色双层权限体系,精细到模块级 | | 全流程审批 | 可视化流程设计器,多节点审批流,覆盖全部业务场景 | | 响应式设计 | TailwindCSS + 移动端自适应,手机、平板均可使用 | | 安全可靠 | CSRF保护、bcrypt加密、AES加密存储API Key | | 开箱即用 | Windows一键EXE部署,含完整数据备份恢复 | ### 1.3 技术栈 | 层级 | 技术 | |------|------| | 后端框架 | Flask 3.0 + SQLAlchemy ORM | | 数据库 | SQLite(默认)/ PostgreSQL(生产) | | 前端UI | TailwindCSS CDN + Font Awesome 6 | | 模板引擎 | Jinja2 | | 用户认证 | Flask-Login + bcrypt | | 表单/安全 | Flask-WTF CSRF保护 | | AI集成 | 多提供商 OpenAI 兼容 API | | 数据备份 | 自带备份管理模块 | | 打包部署 | PyInstaller + NSIS(Windows EXE) | --- ## 2 功能概览 ### 2.1 工作台 工作台是用户登录后的首页,提供个人工作概览和快捷入口。包含待办审批、今日日程、本周任务、最新公告等信息卡片,并提供快捷操作入口。 ### 2.2 审批中心 支持多模板、多节点审批流程: - **内置模板**:请假、出差、报销、用印 - **可视化流程设计器**:拖拽配置审批节点,支持指定用户/按角色/部门主管三种审批人类型 - **自动流转**:通过后自动分配下一节点审批人 - **统一业务回调**:补卡、加班、会议室预订、工作报告提交均可触发审批流程 - **流程时间线**:审批详情页展示带时间的完整流程进度 - **多状态追踪**:待审批、审批中、已通过、已驳回、已撤回 ### 2.3 任务管理 - 看板视图 + 列表视图双模式切换 - 任务优先级(高/中/低)、状态流转(待办 → 进行中 → 已完成) - 多参与人协作、评论功能、截止日期提醒 - 支持按负责人、状态、优先级筛选 ### 2.4 文档管理 - 三级文档作用域:个人 / 部门 / 公共 - 树形目录结构,支持多级文件夹创建 - 软删除 + 回收站机制,30天内可恢复 - 支持上传 PDF、Word、Excel、图片、压缩包等常见格式 ### 2.5 公告通知 - 支持全公司 / 指定部门发布范围 - 置顶、重要标记,已读/未读状态跟踪 - 富文本编辑器支持图片、表格、链接 - 未读公告数量在导航栏实时显示 ### 2.6 考勤打卡 - 上下班打卡,自动识别迟到/早退/缺勤 - 考勤日历视图,按月统计出勤率 - 补卡/加班申请,自动触发审批流程 - 管理员可配置工作时间、迟到阈值、工作日设置 ### 2.7 日程管理 - 日视图/周视图双模式 - 支持重复循环(每日/每周/每月/每年) - 颜色标签、地点、提醒设置 ### 2.8 会议管理 - 会议室资源管理(容纳人数、设备、位置描述) - 实时冲突检测,防止重复预订 - 会议纪要编辑,参会人通知自动发送 - 会议预订可触发审批流程(需审批的会议室) ### 2.9 知识库 - 树形分类结构,支持多级分类 - 富文本编辑器,支持标签、封面图 - 文章浏览量统计、点赞功能 - 支持草稿/发布状态管理 ### 2.10 工作报告 - 周报/月报模板,包含完成工作、下期计划、问题反馈 - 主管评语功能 - 团队报告汇总视图 - 提交后可触发审批流程 ### 2.11 组织架构 - 树形部门结构可视化 - 员工通讯录,全局搜索快速查找 - 员工详情页(联系信息、部门、职位) ### 2.12 AI智能助手 - 全局悬浮对话窗口,随时可用 - **意图识别**:自动判断用户提问类型(审批查询/任务查询/公告/知识库/流程指引等) - **本地数据直查**:待办审批、任务、日程、公告等无需大模型即可响应 - **周报自动生成**:根据任务和日程数据智能生成 - 对话历史按用户隔离,LocalStorage 持久化 - **多提供商支持**:通义千问、智谱GLM、DeepSeek、文心一言、OpenAI - 主备切换、API Key AES加密存储、调用日志审计 - 管理后台可配置化意图关键词(120秒缓存) ### 2.13 工资条管理 - **员工端**:按月查看工资条明细,支持签收确认和PDF导出 - **HR管理端**: - 工资项配置(自定义收入项和扣除项名称) - CSV批量导入工资数据,自动匹配员工 - 批次管理:发布/作废工资条,操作日志审计 - 批次状态追踪:草稿 → 已发布 → 已作废 ### 2.14 资产管理 - **分类管理**:自定义资产分类,支持编号前缀配置 - **资产入库**:自动生成唯一资产编号(分类代码+日期+序号),支持批量入库 - **全生命周期**:入库 → 在库 → 借出 → 归还 → 维修 → 报废 - **审批集成**:领用、归还、维修、报废操作均触发审批流程 - **我的资产**:员工查看已领用资产和待处理申请 - **变更历史**:完整的资产状态变更记录 - **数据导出**:支持资产台账导出 ### 2.15 绩效管理 - **考核周期**:支持月度/季度/半年度/年度考核周期管理 - **考核模板**:多维度模板配置(工作业绩、工作态度、专业能力等),自定义评分项和权重 - **KPI设定**:主管为团队成员设定量化KPI指标 - **360度评价**:支持自评、上级评、同级互评三种评价方式 - **自动计算**:加权平均计算最终得分,自动评定等级(S/A/B/C/D) - **同级评价**:管理员可配置同级评价规则,系统自动分配评价对象 - **结果报表**:个人绩效结果查看、部门汇总报表、公司级汇总报表 - **数据导出**:支持部门/公司绩效报表导出为Excel --- ## 3 系统架构 ### 3.1 技术架构 PyOA 采用经典的MVC架构模式,基于 Flask 工厂模式 + Blueprint 模块化设计,共注册 **19个蓝图**,各模块独立开发、独立部署。 ### 3.2 模块清单 **业务模块(15个):** | 模块 | 蓝图名 | 说明 | |------|--------|------| | 工作台 | main | 首页概览 | | 审批中心 | approval | 多节点审批流 | | 任务管理 | task | 看板+列表 | | 文档管理 | document | 三级作用域 | | 公告通知 | announcement | 已读追踪 | | 考勤打卡 | attendance | 补卡/加班审批 | | 日程管理 | schedule | 日/周视图 | | 会议管理 | meeting | 会议室+预订 | | 知识库 | knowledge | 文章+分类 | | 工作报告 | report | 周/月报+审批 | | 组织架构 | org | 通讯录 | | 工资条 | salary | 批次+签收 | | 资产管理 | asset | 全生命周期 | | 绩效管理 | performance | 360度评价 | | AI智能助手 | ai | 大模型集成 | **管理模块(6个):** | 模块 | 说明 | |------|------| | admin_users | 用户管理(增删改查、角色绑定、权限覆盖) | | admin_roles | 角色管理(自定义角色、模块权限配置) | | admin_dept | 部门管理(树形结构) | | admin_template | 审批模板管理(流程可视化配置) | | admin_backup | 数据备份与恢复 | | admin_ai | AI大模型配置管理 | ### 3.3 数据模型 系统共包含 **25+ 数据表**,涵盖组织架构、权限系统、审批流程、任务管理、文档管理、公告通知、考勤管理、日程管理、会议管理、知识库、工作报告、工资条、资产管理、绩效管理、AI大模型等全部业务数据。 ### 3.4 权限体系 采用三层权限设计: - **系统角色**(Role.system_role):admin(管理员)、manager(管理者)、employee(普通员工),控制业务逻辑如审批节点分配 - **自定义角色**(Role模型):可配置各模块的访问权限,支持创建无限个自定义角色 - **用户级覆盖**(User.permissions):可在角色权限基础上,对单个用户进行精细化的模块权限调整 - **模块守卫**:每个业务模块的首页路由均加装 `@module_required` 装饰器,无权限时自动拦截 - **权限检查优先级**:管理员全开 → 用户级覆盖 → 角色权限 → 默认规则(业务模块允许/管理模块拒绝) ### 3.5 审批引擎 统一的审批流程引擎,支持: - **可视化节点配置**:拖拽添加审批节点,配置审批人类型 - **三种审批人类型**:指定用户、按角色匹配、按部门主管自动获取 - **业务回调机制**:审批通过/驳回时自动执行业务逻辑(如补卡生效、资产状态变更) - **多模板支持**:请假、出差、报销、用印、补卡、加班、会议室、报告、资产领用/归还/维修/报废 --- ## 4 适用场景 | 场景 | 描述 | |------|------| | 初创团队 | 无需专业IT团队,快速搭建内部管理体系 | | 中小企业 | 替代重量级OA,降低采购和维护成本 | | 远程办公 | 基于浏览器,随时随地访问 | | 项目管理 | 任务管理 + 审批流程 + 工作报告一体化 | | 团队协作 | 文档共享、知识沉淀、会议管理 | | 人力资源 | 考勤管理 + 工资条 + 绩效考核 + 资产管理全覆盖 | | 行政后勤 | 会议室预订 + 资产领用归还 + 公告通知 | --- ## 5 版本信息 | 项目 | 内容 | |------|------| | 产品名称 | PyOA 轻量级企业OA协作平台 | | 当前版本 | v1.0 | | 发布日期 | 2026年4月 | | 技术栈 | Python 3.10+ / Flask 3.0 / SQLite / TailwindCSS | | 源代码行数 | 约 15,000 行 | | 业务模块 | 15个 | | 管理模块 | 6个 | | Flask蓝图 | 19个 | | 数据表 | 25+ 个 | | 模板文件 | 110+ 个 HTML 模板 | | 路由端点 | 150+ 个 API 和页面路由 | | 测试用例 | 134 项(pytest) | | 部署方式 | Python直接运行 / Windows EXE一键安装 | --- ## 6 体验地址(开源的为基础框架功能) PyOA体验地址(v0.8.1版本):http://47.96.96.8:17325 ![输入图片说明](imagegw.png) ![输入图片说明](imagesy.png) 目前已有移动端(v1.0.1版本),需要了解的可以私信我!! ![输入图片说明](imageyd-sy.png)