Files
KnowledgeBase/README.md
lizhuoran 7a4fa7cc18 docs: 更新 README.md 文档,完善功能模块说明
- 新增功能模块概览表格
- 添加 SOP 标准作业流程管理说明
- 添加终端配置管理系统说明
- 添加 AI 提示词模板系统说明
- 添加系统设置管理说明
- 添加活动日志审计系统说明
- 更新技术栈版本信息(Laravel 12.x, PHP 8.2+)
- 新增 Laravel Octane、Spatie Activity Log、Monaco Editor 等组件说明
- 完善项目结构说明
- 新增常用命令参考(开发、数据库、搜索、缓存等)
- 更新部署和配置说明
- 更新版本日志至 v1.0.0 (2026-03-09)
- 扩展文档链接列表
2026-03-09 14:32:03 +08:00

578 lines
18 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 知识库管理系统
基于 Laravel 12 和 Filament 3.X 构建的企业级智能知识库管理平台集成文档管理、SOP 标准作业流程、终端配置管理、AI 提示词模板和系统设置等功能模块,为企业提供全方位的知识管理解决方案。
[![Laravel](https://img.shields.io/badge/Laravel-12.x-red.svg)](https://laravel.com)
[![Filament](https://img.shields.io/badge/Filament-3.x-orange.svg)](https://filamentphp.com)
[![PHP](https://img.shields.io/badge/PHP-8.2+-blue.svg)](https://php.net)
[![License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)
## ✨ 核心功能
### 功能模块概览
| 模块 | 功能描述 | 状态 |
|------|---------|------|
| 📄 文档管理 | Word 文档上传、转换、预览、搜索 | ✅ 已完成 |
| 📋 SOP 流程 | 标准作业流程模板管理和版本控制 | ✅ 已完成 |
| 🖥️ 终端管理 | 生产终端配置和知识库关联 | ✅ 已完成 |
| 🤖 AI 提示词 | AI 助手提示词模板和变量系统 | ✅ 已完成 |
| ⚙️ 系统设置 | 动态系统配置管理 | ✅ 已完成 |
| 📊 活动日志 | 操作审计和变更追踪 | ✅ 已完成 |
| 👥 用户管理 | 用户和分组权限管理 | ✅ 已完成 |
| 🔍 全文搜索 | Meilisearch 快速搜索 | ✅ 已完成 |
### 📄 文档管理系统
- **多格式支持**:支持 .doc 和 .docx 格式的 Word 文档上传
- **智能分类**
- 全局知识库:所有用户可访问
- 专用知识库:仅特定分组用户可访问
- **自动转换**:异步将 Word 文档转换为 Markdown 格式
- **在线预览**Markdown 格式在线预览,支持富文本渲染
- **安全下载**:支持原始文档下载,自动记录下载日志
- **全文搜索**:集成 Meilisearch 提供毫秒级搜索响应
### 📋 SOP 标准作业流程
- **模板管理**:创建和管理标准作业流程模板
- **步骤编排**:支持多步骤流程定义,可设置步骤顺序
- **交互任务**:支持在步骤中添加交互式任务
- **版本控制**:自动记录 SOP 模板的版本历史
- **状态管理**:支持草稿、已发布、已归档等状态
- **分类标签**:支持按类别、部门、岗位分类管理
- **导入导出**:支持 SOP 模板的导入和导出功能
### 🖥️ 终端配置管理
- **终端注册**:管理生产现场的终端设备
- **知识库关联**:为终端配置可访问的知识库,支持优先级设置
- **提示词配置**:为每个终端配置专属的 AI 提示词模板
- **配置同步**:支持终端配置的异步同步和状态跟踪
- **在线状态**:实时监控终端在线状态
- **工位绑定**:支持终端与工作站的绑定关系
- **图纸关联**:可为终端关联工位图纸 URL
### 🤖 AI 提示词模板
- **模板库**:预定义多种场景的 AI 提示词模板
- 通用助手:一般性问答和操作指导
- 安全专员:安全操作指导和风险提示
- 故障诊断:设备故障诊断和问题排查
- 培训教练:新员工培训和操作指导
- 质量检查:质量控制和检验指导
- **变量系统**:支持动态变量替换
- 用户信息:用户名、角色、部门
- 终端信息:终端名称、编码、工作站
- 时间信息:当前时间、日期、班次
- 知识库:关联的知识库列表
- **实时预览**:支持提示词模板的实时预览和变量替换
- **变量验证**:自动验证模板中使用的变量是否有效
### ⚙️ 系统设置管理
- **配置分组**:支持按功能模块分组管理系统配置
- **动态配置**:支持运行时动态修改系统配置
- **配置缓存**:自动缓存配置提升性能
- **公开配置**:支持标记配置是否对外公开
- **配置描述**:为每个配置项提供详细说明
### 📊 活动日志审计
- **操作记录**:自动记录所有重要操作
- **变更追踪**:详细记录数据变更前后的差异
- **用户追溯**:记录操作用户和时间信息
- **批量操作**:支持批量操作的日志记录
- **日志导出**:支持活动日志的导出功能
- **差异对比**:可视化展示数据变更的差异
### 🔐 权限与安全
- **用户分组**:用户可以属于多个分组
- **细粒度权限**
- 全局文档:所有用户可访问
- 专用文档:只有所属分组用户可访问
- **策略控制**:基于 Laravel Policy 的权限控制
- **安全日志**:记录所有未授权访问尝试
- **操作审计**:完整的操作日志和审计追踪
### 🎨 用户界面
- **现代化设计**:基于 Filament 3.X 的美观管理界面
- **完整中文化**:所有界面元素使用简体中文
- **响应式布局**:完美支持桌面和移动设备
- **Monaco 编辑器**:集成 Monaco 编辑器支持代码和 Markdown 编辑
- **直观操作**:简洁的操作流程,降低学习成本
## 🚀 快速开始
### 环境要求
- PHP 8.2 或更高版本
- Composer 2.x
- Node.js 18+ 和 npm
- MySQL 8.0+ 或 PostgreSQL 13+
- Redis 6.0+
- Meilisearch 1.5+
- Pandoc 2.x+(可选,用于文档转换)
- Laravel Octane可选用于高性能部署
### 安装步骤
1. **克隆项目**
```bash
git clone <repository-url>
cd knowledge-base-system
```
2. **安装依赖**
```bash
composer install
npm install
```
3. **配置环境**
```bash
cp .env.example .env
php artisan key:generate
```
编辑 `.env` 文件,配置数据库连接:
```env
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=knowledge_base
DB_USERNAME=your_username
DB_PASSWORD=your_password
```
4. **运行迁移**
```bash
php artisan migrate
```
5. **生成测试数据**(可选)
```bash
php artisan db:seed
```
6. **创建管理员账户**
```bash
php artisan make:filament-user
```
7. **编译前端资源**
```bash
npm run build
```
8. **启动服务**
开发环境有多种启动方式:
**方式一:传统方式(分别启动)**
```bash
# 终端 1Laravel 开发服务器
php artisan serve
# 终端 2队列工作进程
php artisan queue:work
# 终端 3Meilisearch如果本地安装
meilisearch --master-key="your-master-key"
```
**方式二:使用 Composer 脚本(推荐)**
```bash
# 一键启动所有服务(使用 concurrently
composer dev
# 使用 Octane 启动(高性能)
composer dev-octane
```
**方式三:使用 Docker**
```bash
# 启动 Docker 容器
docker-compose up -d
# 查看日志
docker-compose logs -f
```
9. **访问系统**
打开浏览器访问:`http://localhost:8000/admin`
## 📚 文档
- [项目概览](docs/PROJECT_OVERVIEW.md) - 系统架构和功能详解
- [部署指南](docs/DEPLOYMENT.md) - 生产环境部署步骤
- [API 参考](docs/API_REFERENCE.md) - 服务类和方法文档
- [Meilisearch 配置](docs/MEILISEARCH_SETUP.md) - 搜索引擎配置说明
- [文档转换指南](docs/DOCUMENT_CONVERSION_GUIDE.md) - 转换功能配置
- [文档预览指南](docs/DOCUMENT_PREVIEW_GUIDE.md) - 预览功能说明
- [文档搜索指南](docs/DOCUMENT_SEARCH_GUIDE.md) - 搜索功能配置
- [队列设置](docs/QUEUE_SETUP.md) - 队列系统配置
- [Octane 安装](docs/OCTANE_INSTALLATION.md) - 高性能服务器配置
- [Swoole 配置](docs/SWOOLE_CONFIGURATION.md) - Swoole 服务器配置
- [安全日志](docs/security-logging.md) - 安全审计功能说明
- [Docker 部署](docker/README.md) - Docker 容器化部署指南
## 🔧 配置
### Meilisearch 配置
`.env` 文件中配置:
```env
MEILISEARCH_HOST=http://127.0.0.1:7700
MEILISEARCH_KEY=your-master-key
SCOUT_DRIVER=meilisearch
```
### 文档转换配置
```env
DOCUMENT_CONVERSION_DRIVER=pandoc
PANDOC_PATH=/usr/local/bin/pandoc
CONVERSION_TIMEOUT=300
```
### 队列配置
```env
QUEUE_CONNECTION=redis
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
```
### Octane 配置(可选)
```env
OCTANE_SERVER=swoole
OCTANE_HTTPS=false
OCTANE_HOST=0.0.0.0
OCTANE_PORT=8000
OCTANE_WORKERS=auto
OCTANE_MAX_REQUESTS=500
```
详细配置说明请参考 [部署指南](docs/DEPLOYMENT.md)。
## 🧪 测试
### 运行测试
```bash
# 运行所有测试
php artisan test
# 运行特定测试
php artisan test --filter=DocumentAccessScopePropertyTest
# 生成测试覆盖率报告
php artisan test --coverage
# 运行特定测试套件
php artisan test tests/Feature
php artisan test tests/Unit
```
### 测试类型
- **单元测试**:测试独立的类和方法
- **功能测试**:测试完整的用户流程
- **属性测试**:使用 Property-Based Testing 验证核心逻辑
## 🚀 常用命令
### 开发命令
```bash
# 启动开发服务器
composer dev # 启动所有服务(推荐)
composer dev-octane # 使用 Octane 启动
php artisan serve # 仅启动 Laravel
# Octane 相关
composer octane:start # 启动 Octane
composer octane:stop # 停止 Octane
composer octane:restart # 重启 Octane
composer swoole:start # 使用 Swoole 启动
composer swoole:watch # Swoole 监听文件变化
# 队列相关
php artisan queue:work # 启动队列工作进程
php artisan queue:listen # 监听队列
php artisan queue:restart # 重启队列工作进程
php artisan queue:failed # 查看失败的任务
```
### 数据库命令
```bash
# 迁移
php artisan migrate # 运行迁移
php artisan migrate:fresh # 清空数据库并重新迁移
php artisan migrate:rollback # 回滚迁移
# 填充数据
php artisan db:seed # 运行所有 Seeder
php artisan db:seed --class=SystemSettingSeeder # 运行特定 Seeder
# 重置数据库
php artisan migrate:fresh --seed # 重置并填充数据
```
### 搜索索引命令
```bash
# 导入搜索索引
php artisan scout:import "App\Models\Document"
# 清空搜索索引
php artisan scout:flush "App\Models\Document"
# 重建搜索索引
php artisan scout:flush "App\Models\Document"
php artisan scout:import "App\Models\Document"
```
### 缓存命令
```bash
# 清除缓存
php artisan cache:clear # 清除应用缓存
php artisan config:clear # 清除配置缓存
php artisan route:clear # 清除路由缓存
php artisan view:clear # 清除视图缓存
# 生成缓存
php artisan config:cache # 缓存配置
php artisan route:cache # 缓存路由
php artisan view:cache # 缓存视图
# 清除所有缓存
php artisan optimize:clear # 清除所有缓存
```
### 用户管理命令
```bash
# 创建管理员用户
php artisan make:filament-user
# 创建自定义管理员
php artisan app:create-admin-user
```
## 📦 技术栈
### 后端
- **Laravel 12.x** - PHP Web 应用框架
- **Filament 3.X** - 管理面板框架
- **Laravel Scout** - 全文搜索集成
- **Laravel Octane** - 高性能应用服务器
- **Meilisearch** - 快速搜索引擎
- **Pandoc** - 文档格式转换工具
- **Spatie Activity Log** - 活动日志记录
### 前端
- **Blade** - Laravel 模板引擎
- **Tailwind CSS** - CSS 框架
- **Alpine.js** - JavaScript 框架Filament 内置)
- **Livewire** - 全栈框架Filament 内置)
- **Monaco Editor** - 代码编辑器
### 数据库
- **MySQL 8.0+** 或 **PostgreSQL 13+**
- **Redis** - 缓存和队列
### 开发工具
- **Pest PHP** - 测试框架
- **Laravel Pint** - 代码格式化工具
- **Composer** - PHP 依赖管理
- **npm** - 前端依赖管理
## 🗂️ 项目结构
```
knowledge-base-system/
├── app/
│ ├── Console/
│ │ └── Commands/ # Artisan 命令
│ ├── Exports/ # 数据导出类
│ ├── Filament/ # Filament 资源和页面
│ │ ├── Actions/ # 自定义操作
│ │ ├── Pages/ # 自定义页面(搜索、系统设置)
│ │ └── Resources/ # 资源管理
│ │ ├── ActivityLogResource/ # 活动日志
│ │ ├── DocumentResource/ # 文档管理
│ │ ├── GroupResource/ # 分组管理
│ │ ├── SopTemplateResource/ # SOP 模板
│ │ ├── SystemSettingResource/ # 系统设置
│ │ ├── TerminalResource/ # 终端管理
│ │ └── UserResource/ # 用户管理
│ ├── Http/
│ │ └── Controllers/ # 控制器(文档预览)
│ ├── Jobs/ # 队列任务
│ │ ├── ConvertDocumentToMarkdown.php # 文档转换
│ │ └── SyncTerminalConfigJob.php # 终端同步
│ ├── Models/ # Eloquent 模型
│ │ ├── Document.php # 文档
│ │ ├── Group.php # 分组
│ │ ├── KnowledgeBase.php # 知识库
│ │ ├── SopTemplate.php # SOP 模板
│ │ ├── SystemSetting.php # 系统设置
│ │ ├── Terminal.php # 终端
│ │ └── User.php # 用户
│ ├── Observers/ # 模型观察者
│ ├── Policies/ # 授权策略
│ └── Services/ # 业务逻辑服务
│ ├── DocumentConversionService.php # 文档转换
│ ├── DocumentPreviewService.php # 文档预览
│ ├── DocumentSearchService.php # 文档搜索
│ ├── PromptTemplateService.php # 提示词模板
│ ├── SopTemplateService.php # SOP 模板
│ ├── SystemSettingService.php # 系统设置
│ └── TerminalSyncService.php # 终端同步
├── config/
│ ├── activitylog.php # 活动日志配置
│ ├── documents.php # 文档转换配置
│ ├── filesystems.php # 文件存储配置
│ ├── octane.php # Octane 配置
│ ├── prompt_templates.php # 提示词模板配置
│ ├── prompt_variables.php # 提示词变量配置
│ └── scout.php # Meilisearch 配置
├── database/
│ ├── factories/ # 测试数据工厂
│ ├── migrations/ # 数据库迁移
│ └── seeders/ # 数据填充
├── docker/ # Docker 部署文件
├── docs/ # 项目文档
├── resources/
│ └── views/ # Blade 视图模板
│ ├── documents/ # 文档预览视图
│ └── filament/ # Filament 自定义视图
├── storage/
│ └── app/
│ └── private/
│ ├── documents/ # 原始文档存储
│ └── markdown/ # Markdown 文件存储
├── tests/ # 测试文件
│ ├── Feature/ # 功能测试
│ └── Unit/ # 单元测试
└── .kiro/
└── specs/ # 功能规格文档
```
## 🤝 贡献
欢迎贡献代码!请遵循以下步骤:
1. Fork 本仓库
2. 创建特性分支 (`git checkout -b feature/AmazingFeature`)
3. 提交更改 (`git commit -m 'Add some AmazingFeature'`)
4. 推送到分支 (`git push origin feature/AmazingFeature`)
5. 开启 Pull Request
## 📝 更新日志
### v1.0.0 (2026-03-09)
#### 核心功能模块
- ✅ 用户认证和授权系统
- ✅ 用户分组管理
- ✅ 文档管理系统
- 文档上传和存储
- 文档分类(全局/专用)
- 基于分组的权限控制
- 文档下载和日志记录
- Word 文档自动转换为 Markdown
- 异步队列处理转换任务
- Meilisearch 全文搜索集成
- 文档 Markdown 在线预览
- 搜索结果权限过滤
#### 新增功能模块
- ✅ SOP 标准作业流程管理
- SOP 模板创建和编辑
- 多步骤流程定义
- 交互式任务支持
- 版本历史记录
- 状态管理(草稿/已发布/已归档)
- 导入导出功能
- ✅ 终端配置管理
- 终端设备注册和管理
- 知识库关联配置
- AI 提示词模板配置
- 配置同步功能
- 在线状态监控
- 工位绑定管理
- ✅ AI 提示词模板系统
- 预定义模板库5 种场景)
- 动态变量系统
- 实时预览功能
- 变量验证机制
- ✅ 系统设置管理
- 配置分组管理
- 动态配置修改
- 配置缓存优化
- ✅ 活动日志审计
- 操作记录追踪
- 变更差异对比
- 用户操作审计
- 日志导出功能
#### 技术改进
- ✅ 升级到 Laravel 12.x
- ✅ 集成 Laravel Octane 支持
- ✅ 集成 Spatie Activity Log
- ✅ 集成 Monaco Editor
- ✅ 完整的测试套件
- ✅ Docker 容器化部署支持
- ✅ 安全日志记录
- ✅ Filament 管理面板
- ✅ 完整中文界面
#### 待完成功能
- ⏳ 性能优化(缓存、索引优化)
- ⏳ UI 增强(动画和交互优化)
- ⏳ 移动端适配优化
- ⏳ API 接口文档
## 🔒 安全
如果发现安全漏洞,请发送邮件至 security@example.com我们会及时处理。
请勿在公开的 issue 中报告安全问题。
## 📄 许可证
本项目采用 MIT 许可证。详情请参阅 [LICENSE](LICENSE) 文件。
## 🙏 致谢
感谢以下开源项目:
- [Laravel](https://laravel.com) - 优雅的 PHP 框架
- [Filament](https://filamentphp.com) - 强大的管理面板
- [Laravel Octane](https://laravel.com/docs/octane) - 高性能应用服务器
- [Meilisearch](https://www.meilisearch.com) - 快速搜索引擎
- [Pandoc](https://pandoc.org) - 通用文档转换器
- [Spatie Activity Log](https://spatie.be/docs/laravel-activitylog) - 活动日志记录
- [Monaco Editor](https://microsoft.github.io/monaco-editor/) - 强大的代码编辑器
- [Tailwind CSS](https://tailwindcss.com) - 实用优先的 CSS 框架
## 📞 联系方式
- **问题反馈**: 请在 GitHub Issues 中提交
- **功能建议**: 欢迎在 GitHub Discussions 中讨论
---
**开发状态**: 🚀 稳定版本
**最后更新**: 2026-03-09
**版本**: 1.0.0