- 实现基于 PySide6 的 GUI 界面 - 集成 FastAPI 知识库服务器 API - 支持查看、编辑、提交 Markdown 文件 - 包含完整的 pytest-qt 测试套件 - 添加功能列表文档
96 lines
2.3 KiB
Markdown
96 lines
2.3 KiB
Markdown
# 知识库管理器
|
||
|
||
基于 PySide6 的知识库管理应用程序,用于连接 FastAPI 知识库服务器,查看、编辑和提交 Markdown 格式的知识库文件。
|
||
|
||
## 功能特性
|
||
|
||
- 服务器地址配置和连接测试
|
||
- 获取服务器上的文件列表(仅显示 .md 文件)
|
||
- 查看和编辑 Markdown 文件内容
|
||
- 保存修改到服务器
|
||
- 提交新的知识库文件
|
||
- 直观的用户界面,支持分割窗口
|
||
|
||
## 安装依赖
|
||
|
||
```bash
|
||
pip install -r requirements.txt
|
||
```
|
||
|
||
## 运行应用程序
|
||
|
||
### Windows 用户
|
||
|
||
双击 `run.bat` 文件启动应用程序。
|
||
|
||
### 命令行运行
|
||
|
||
```bash
|
||
python main_window.py
|
||
```
|
||
|
||
## 运行测试
|
||
|
||
### Windows 用户
|
||
|
||
双击 `run_tests.bat` 文件运行测试。
|
||
|
||
### 命令行运行
|
||
|
||
```bash
|
||
pytest test_app.py -v
|
||
```
|
||
|
||
## API 端点
|
||
|
||
应用程序使用以下 API 端点:
|
||
|
||
- `GET /list` - 获取文件列表
|
||
- `GET /{filename}/get` - 下载文件内容
|
||
- `POST /{filename}/post` - 上传文件内容
|
||
|
||
## 使用说明
|
||
|
||
1. **配置服务器**:
|
||
- 在"服务器地址"输入框中输入服务器地址(例如:`http://43.134.1.17:8800/`)
|
||
- 点击"配置"按钮连接服务器
|
||
|
||
2. **查看文件列表**:
|
||
- 配置成功后,点击"刷新列表"按钮
|
||
- 文件列表将显示所有 .md 文件
|
||
|
||
3. **编辑文件**:
|
||
- 在左侧文件列表中点击要编辑的文件
|
||
- 文件内容将显示在右侧编辑器中
|
||
- 编辑完成后点击"保存到服务器"
|
||
|
||
4. **提交新文件**:
|
||
- 在"文件名"输入框中输入新文件名(自动添加 .md 扩展名)
|
||
- 在编辑器中输入文件内容
|
||
- 点击"提交新文件"按钮
|
||
|
||
## 文件结构
|
||
|
||
```
|
||
.
|
||
├── main_window.py # 主应用程序窗口
|
||
├── api_client.py # API 客户端模块
|
||
├── test_app.py # pytest-qt 测试用例
|
||
├── requirements.txt # Python 依赖
|
||
├── run.bat # Windows 启动脚本
|
||
├── run_tests.bat # Windows 测试脚本
|
||
└── README.md # 本文件
|
||
```
|
||
|
||
## 技术栈
|
||
|
||
- **UI 框架**: PySide6 (Qt6 的官方 Python 绑定)
|
||
- **HTTP 客户端**: requests
|
||
- **测试框架**: pytest, pytest-qt
|
||
|
||
## 注意事项
|
||
|
||
- 确保服务器地址正确且可访问
|
||
- 文件名会自动添加 .md 扩展名
|
||
- 网络操作有超时设置(10秒)
|
||
- 所有文件操作都有错误提示 |