92 lines
2.2 KiB
Markdown
92 lines
2.2 KiB
Markdown
|
|
# 🔄 快速参考:部署更新机制 (Quick Reference)
|
|||
|
|
|
|||
|
|
## 最简短的答案
|
|||
|
|
|
|||
|
|
✅ **再次部署会自动更新。**
|
|||
|
|
|
|||
|
|
## 工作原理 (30 秒理解)
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
每次运行部署脚本:
|
|||
|
|
1. 优先尝试 UPDATE(如果插件已存在)→ 更新成功
|
|||
|
|
2. 失败时自动 CREATE(第一次部署时)→ 创建成功
|
|||
|
|
|
|||
|
|
结果:
|
|||
|
|
✅ 不管第几次部署,脚本都能正确处理
|
|||
|
|
✅ 无需手动判断创建还是更新
|
|||
|
|
✅ 立即生效,无需重启
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 三个场景
|
|||
|
|
|
|||
|
|
| 场景 | 发生什么 | 结果 |
|
|||
|
|
|------|---------|------|
|
|||
|
|
| **第1次部署** | UPDATE 失败 → CREATE 成功 | ✅ 插件被创建 |
|
|||
|
|
| **修改代码后再次部署** | UPDATE 直接成功 | ✅ 插件立即更新 |
|
|||
|
|
| **未修改,重复部署** | UPDATE 成功 (无任何变化) | ✅ 无效果 (安全) |
|
|||
|
|
|
|||
|
|
## 开发流程
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# 1. 第一次部署
|
|||
|
|
python deploy_async_context_compression.py
|
|||
|
|
# 结果: ✅ Created
|
|||
|
|
|
|||
|
|
# 2. 修改代码
|
|||
|
|
vim ../plugins/filters/async-context-compression/async_context_compression.py
|
|||
|
|
# 编辑...
|
|||
|
|
|
|||
|
|
# 3. 再次部署 (自动更新)
|
|||
|
|
python deploy_async_context_compression.py
|
|||
|
|
# 结果: ✅ Updated
|
|||
|
|
|
|||
|
|
# 4. 继续修改,重复部署
|
|||
|
|
# ... 可以无限重复 ...
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 关键点
|
|||
|
|
|
|||
|
|
✅ **自动化** — 不用管是更新还是创建
|
|||
|
|
✅ **快速** — 每次部署 5 秒
|
|||
|
|
✅ **安全** — 用户配置不会被覆盖
|
|||
|
|
✅ **即时** — 无需重启 OpenWebUI
|
|||
|
|
✅ **版本管理** — 自动从代码提取版本号
|
|||
|
|
|
|||
|
|
## 版本号怎么管理?
|
|||
|
|
|
|||
|
|
修改代码中的版本号:
|
|||
|
|
|
|||
|
|
```python
|
|||
|
|
# async_context_compression.py
|
|||
|
|
|
|||
|
|
"""
|
|||
|
|
version: 1.3.0 → 1.3.1 (修复 Bug)
|
|||
|
|
version: 1.3.0 → 1.4.0 (新功能)
|
|||
|
|
version: 1.3.0 → 2.0.0 (重大更新)
|
|||
|
|
"""
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
然后部署,脚本会自动读取新版本号并更新。
|
|||
|
|
|
|||
|
|
## 常见问题速答
|
|||
|
|
|
|||
|
|
**Q: 用户的配置会被覆盖吗?**
|
|||
|
|
A: ❌ 不会,Valves 配置保持不变
|
|||
|
|
|
|||
|
|
**Q: 需要重启 OpenWebUI 吗?**
|
|||
|
|
A: ❌ 不需要,立即生效
|
|||
|
|
|
|||
|
|
**Q: 更新失败了会怎样?**
|
|||
|
|
A: ✅ 安全,保持原有插件不变
|
|||
|
|
|
|||
|
|
**Q: 可以无限制地重复部署吗?**
|
|||
|
|
A: ✅ 可以,完全幂等
|
|||
|
|
|
|||
|
|
## 一行总结
|
|||
|
|
|
|||
|
|
> 首次部署创建插件,之后每次部署自动更新,5 秒即时反馈,无需重启。
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
📖 详细文档:`scripts/UPDATE_MECHANISM.md`
|