Compare commits
28 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 761edef6fe | |||
| 5f9439c8a9 | |||
| 0d0354ac4e | |||
| 47a38032a6 | |||
| b59931f357 | |||
| 1420b08a43 | |||
| cd5bdb5938 | |||
| 69ade8dcbb | |||
| 7926a5b51f | |||
| 26e0ed26e1 | |||
| edbaa9a257 | |||
| b2a0b66492 | |||
| 9202e4c202 | |||
| 38db7b0606 | |||
| 6e5b963b3f | |||
| a201b0356a | |||
| 71dd1d3aff | |||
| 55cc408881 | |||
| ca7527918d | |||
| 7f7f71a286 | |||
| 8579d58890 | |||
| f8a32ab6be | |||
| 56975f9b0d | |||
| b2900febf9 | |||
| 17e946ae56 | |||
| c320066b63 | |||
| 854b6b6f82 | |||
| 6d8410ac28 |
32
README.md
32
README.md
@@ -1,19 +1,43 @@
|
|||||||
# 项目服务管理面板
|
# 项目服务管理面板 v3.0.0
|
||||||
|
|
||||||
统一管理所有 Web 服务项目,提供状态检测、启动/停止控制、日志查看等功能。
|
统一管理所有 Web 服务项目,提供状态检测、启动/停止控制、日志查看、Docker 监控等功能。
|
||||||
|
|
||||||
## 端口
|
## 端口
|
||||||
|
|
||||||
- **服务端口**: 19013
|
- **服务端口**: 16022
|
||||||
- **访问地址**: http://localhost:19013
|
- **访问地址**: http://localhost:16022
|
||||||
|
|
||||||
## 功能
|
## 功能
|
||||||
|
|
||||||
|
### 项目管理
|
||||||
- 项目列表展示(状态、端口、版本)
|
- 项目列表展示(状态、端口、版本)
|
||||||
- 服务状态健康检测
|
- 服务状态健康检测
|
||||||
- 启动/停止/重启控制
|
- 启动/停止/重启控制
|
||||||
- 日志查看(实时滚动)
|
- 日志查看(实时滚动)
|
||||||
- Git 仓库链接
|
- Git 仓库链接
|
||||||
|
- 自定义链接入口
|
||||||
|
- 新增外部服务
|
||||||
|
|
||||||
|
### Docker 监控(v3.0.0 新增)
|
||||||
|
- **容器监控**:CPU、内存、网络 I/O、磁盘 I/O 使用情况
|
||||||
|
- **容器控制**:启动、停止、重启容器
|
||||||
|
- **容器日志**:实时查看容器日志
|
||||||
|
- **镜像管理**:查看镜像列表、大小、悬空镜像
|
||||||
|
- **系统信息**:Docker 版本、磁盘占用、运行状态统计
|
||||||
|
- **资源清理**:一键清理未使用的容器、镜像、卷
|
||||||
|
|
||||||
|
### 系统资源监控
|
||||||
|
- CPU、内存、磁盘使用率
|
||||||
|
- 网络流量和实时网速
|
||||||
|
- CPU 温度监控
|
||||||
|
- 进程列表
|
||||||
|
- 阈值告警(弹窗 + 桌面通知 + 邮件)
|
||||||
|
|
||||||
|
### Cron 管理
|
||||||
|
- Cron 任务增删改查
|
||||||
|
- 历史版本回退
|
||||||
|
- 分类管理
|
||||||
|
- 从系统同步
|
||||||
|
|
||||||
## 启动方式 ⭐
|
## 启动方式 ⭐
|
||||||
|
|
||||||
|
|||||||
BIN
__pycache__/app.cpython-310.pyc
Normal file
BIN
__pycache__/app.cpython-310.pyc
Normal file
Binary file not shown.
12
cron_backups/crontab_20260420_163055.txt
Normal file
12
cron_backups/crontab_20260420_163055.txt
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
*/30 * * * * openclaw agent --agent zuitoushang --message '执行下心跳任务' >> /home/xian/.openclaw/workspace-zuitoushang/works/heartbeat_logs/$(date +\%Y-\%m-\%d_\%H:\%M:\%S).log 2>&1
|
||||||
|
0 * * * * /usr/bin/python3 /home/xian/.copaw/workspaces/default/active_skills/system-monitor/scripts/monitor.py --alert >> /home/xian/.copaw/workspaces/default/works/system-monitor.log 2>&1
|
||||||
|
0 * * * * /home/xian/.openclaw/workspace-zuitoushang/scripts/cleanup-chrome-zombies.sh
|
||||||
|
0 3 * * * /home/xian/.nvm/versions/node/v24.14.0/bin/node /home/xian/.openclaw/workspace-zuitoushang/scripts/daily-summary.js >> /home/xian/.openclaw/workspace-zuitoushang/works/daily-summary.log 2>&1
|
||||||
|
0 * * * * /usr/bin/python3 /home/xian/.openclaw/workspace-zuitoushang/scripts/cpu-monitor.py >> /home/xian/.openclaw/workspace-zuitoushang/works/cpu-monitor.log 2>&1
|
||||||
|
0 8-22 * * * /usr/bin/python3 /home/xian/.openclaw/workspace-zuitoushang/scripts/disk-monitor.py >> /home/xian/.openclaw/workspace-zuitoushang/works/disk-monitor.log 2>&1
|
||||||
|
*/20 * * * * /usr/bin/python3 /home/xian/.openclaw/workspace-coder/works/service-monitor/monitor.py >> /home/xian/.openclaw/workspace-coder/works/service-monitor/monitor.log 2>&1
|
||||||
|
0 17 * * 1-5 /usr/bin/python3 /home/xian/.openclaw/workspace-coder/works/board-monitor/board_monitor.py report >> /home/xian/.openclaw/workspace-coder/works/board-monitor/report.log 2>&1
|
||||||
|
0 17 * * 1-5 /usr/bin/python3 /home/xian/.openclaw/common/stock_system/cron_daily_fetch.py >> /home/xian/.openclaw/common/stock_system/logs/daily_fetch.log 2>&1
|
||||||
|
0 4 * * * /home/xian/.openclaw/workspace-coder/works/xian-favor/scripts/auto_backup.py >> /tmp/xian-favor-backup.log 2>&1
|
||||||
|
0 12 * * * cd /home/xian/.openclaw/workspace-laoli && /home/xian/.openclaw/workspace-laoli/works/send_coder_stats.sh
|
||||||
|
10 3 * * * openclaw agent --agent zuitoushang --message '总结并记忆昨天和你的会话内容' >> /home/xian/.openclaw/workspace-zuitoushang/works/daily-memory/$(date +\%Y-\%m-\%d).log 2>&1
|
||||||
12
cron_backups/crontab_20260420_163242.txt
Normal file
12
cron_backups/crontab_20260420_163242.txt
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
*/30 * * * * openclaw agent --agent zuitoushang --message '执行下心跳任务' >> /home/xian/.openclaw/workspace-zuitoushang/works/heartbeat_logs/$(date +\%Y-\%m-\%d_\%H:\%M:\%S).log 2>&1
|
||||||
|
0 * * * * /usr/bin/python3 /home/xian/.copaw/workspaces/default/active_skills/system-monitor/scripts/monitor.py --alert >> /home/xian/.copaw/workspaces/default/works/system-monitor.log 2>&1
|
||||||
|
0 * * * * /home/xian/.openclaw/workspace-zuitoushang/scripts/cleanup-chrome-zombies.sh
|
||||||
|
0 3 * * * /home/xian/.nvm/versions/node/v24.14.0/bin/node /home/xian/.openclaw/workspace-zuitoushang/scripts/daily-summary.js >> /home/xian/.openclaw/workspace-zuitoushang/works/daily-summary.log 2>&1
|
||||||
|
0 * * * * /usr/bin/python3 /home/xian/.openclaw/workspace-zuitoushang/scripts/cpu-monitor.py >> /home/xian/.openclaw/workspace-zuitoushang/works/cpu-monitor.log 2>&1
|
||||||
|
0 8-22 * * * /usr/bin/python3 /home/xian/.openclaw/workspace-zuitoushang/scripts/disk-monitor.py >> /home/xian/.openclaw/workspace-zuitoushang/works/disk-monitor.log 2>&1
|
||||||
|
*/20 * * * * /usr/bin/python3 /home/xian/.openclaw/workspace-coder/works/service-monitor/monitor.py >> /home/xian/.openclaw/workspace-coder/works/service-monitor/monitor.log 2>&1
|
||||||
|
0 17 * * 1-5 /usr/bin/python3 /home/xian/.openclaw/workspace-coder/works/board-monitor/board_monitor.py report >> /home/xian/.openclaw/workspace-coder/works/board-monitor/report.log 2>&1
|
||||||
|
0 17 * * 1-5 /usr/bin/python3 /home/xian/.openclaw/common/stock_system/cron_daily_fetch.py >> /home/xian/.openclaw/common/stock_system/logs/daily_fetch.log 2>&1
|
||||||
|
0 4 * * * /home/xian/.openclaw/workspace-coder/works/xian-favor/scripts/auto_backup.py >> /tmp/xian-favor-backup.log 2>&1
|
||||||
|
0 12 * * * cd /home/xian/.openclaw/workspace-laoli && /home/xian/.openclaw/workspace-laoli/works/send_coder_stats.sh
|
||||||
|
10 3 * * * openclaw agent --agent zuitoushang --message '总结并记忆昨天和你的会话内容' >> /home/xian/.openclaw/workspace-zuitoushang/works/daily-memory/$(date +\%Y-\%m-\%d).log 2>&1
|
||||||
BIN
cron_manager.db
Normal file
BIN
cron_manager.db
Normal file
Binary file not shown.
114
logs/app.log
114
logs/app.log
@@ -1,104 +1,16 @@
|
|||||||
[2026-04-20 12:09:27] ==================================================
|
[2026-06-01 11:29:23] ==================================================
|
||||||
[2026-04-20 12:09:27] 项目服务管理面板启动
|
[2026-06-01 11:29:23] 项目服务管理面板 v2.0.0 启动
|
||||||
[2026-04-20 12:09:27] 访问地址: http://localhost:19013
|
[2026-06-01 11:29:23] 访问地址: http://localhost:16022
|
||||||
[2026-04-20 12:09:27] 进程PID: 3701577
|
[2026-06-01 11:29:23] 进程PID: 772725
|
||||||
[2026-04-20 12:09:27] ==================================================
|
[2026-06-01 11:29:23] ==================================================
|
||||||
* Serving Flask app 'app'
|
* Serving Flask app 'app'
|
||||||
* Debug mode: off
|
* Debug mode: off
|
||||||
WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
|
[31m[1mWARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.[0m
|
||||||
* Running on all addresses (0.0.0.0)
|
* Running on all addresses (0.0.0.0)
|
||||||
* Running on http://127.0.0.1:19013
|
* Running on http://127.0.0.1:16022
|
||||||
* Running on http://192.168.2.17:19013
|
* Running on http://192.168.0.101:16022
|
||||||
Press CTRL+C to quit
|
[33mPress CTRL+C to quit[0m
|
||||||
127.0.0.1 - - [20/Apr/2026 12:09:30] "GET / HTTP/1.1" 200 -
|
127.0.0.1 - - [01/Jun/2026 11:29:31] "GET /api/docker/containers HTTP/1.1" 200 -
|
||||||
192.168.2.10 - - [20/Apr/2026 12:09:32] "GET /api/projects HTTP/1.1" 200 -
|
127.0.0.1 - - [01/Jun/2026 11:29:38] "GET /api/docker/container/641688a330c1/stats HTTP/1.1" 200 -
|
||||||
127.0.0.1 - - [20/Apr/2026 12:09:35] "GET / HTTP/1.1" 200 -
|
127.0.0.1 - - [01/Jun/2026 11:30:08] "GET / HTTP/1.1" 200 -
|
||||||
192.168.2.10 - - [20/Apr/2026 12:09:36] "GET /api/projects HTTP/1.1" 200 -
|
127.0.0.1 - - [01/Jun/2026 11:30:08] "GET /api/projects HTTP/1.1" 200 -
|
||||||
127.0.0.1 - - [20/Apr/2026 12:09:37] "GET / HTTP/1.1" 200 -
|
|
||||||
192.168.2.8 - - [20/Apr/2026 12:09:38] "GET /api/projects HTTP/1.1" 200 -
|
|
||||||
127.0.0.1 - - [20/Apr/2026 12:09:46] "GET / HTTP/1.1" 200 -
|
|
||||||
192.168.2.8 - - [20/Apr/2026 12:09:48] "GET /api/projects HTTP/1.1" 200 -
|
|
||||||
127.0.0.1 - - [20/Apr/2026 12:09:53] "GET / HTTP/1.1" 200 -
|
|
||||||
192.168.2.8 - - [20/Apr/2026 12:09:55] "GET /api/projects HTTP/1.1" 200 -
|
|
||||||
127.0.0.1 - - [20/Apr/2026 12:09:56] "GET / HTTP/1.1" 200 -
|
|
||||||
192.168.2.8 - - [20/Apr/2026 12:09:58] "GET /api/projects HTTP/1.1" 200 -
|
|
||||||
127.0.0.1 - - [20/Apr/2026 12:10:06] "GET / HTTP/1.1" 200 -
|
|
||||||
192.168.2.8 - - [20/Apr/2026 12:10:08] "GET /api/projects HTTP/1.1" 200 -
|
|
||||||
127.0.0.1 - - [20/Apr/2026 12:10:16] "GET / HTTP/1.1" 200 -
|
|
||||||
192.168.2.8 - - [20/Apr/2026 12:10:18] "GET /api/projects HTTP/1.1" 200 -
|
|
||||||
127.0.0.1 - - [20/Apr/2026 12:10:23] "GET / HTTP/1.1" 200 -
|
|
||||||
192.168.2.8 - - [20/Apr/2026 12:10:25] "GET /api/projects HTTP/1.1" 200 -
|
|
||||||
127.0.0.1 - - [20/Apr/2026 12:10:26] "GET / HTTP/1.1" 200 -
|
|
||||||
192.168.2.8 - - [20/Apr/2026 12:10:28] "GET /api/projects HTTP/1.1" 200 -
|
|
||||||
127.0.0.1 - - [20/Apr/2026 12:10:30] "GET / HTTP/1.1" 200 -
|
|
||||||
192.168.2.10 - - [20/Apr/2026 12:10:32] "GET /api/projects HTTP/1.1" 200 -
|
|
||||||
127.0.0.1 - - [20/Apr/2026 12:10:35] "GET / HTTP/1.1" 200 -
|
|
||||||
192.168.2.10 - - [20/Apr/2026 12:10:36] "GET /api/projects HTTP/1.1" 200 -
|
|
||||||
127.0.0.1 - - [20/Apr/2026 12:10:37] "GET / HTTP/1.1" 200 -
|
|
||||||
192.168.2.8 - - [20/Apr/2026 12:10:38] "GET /api/projects HTTP/1.1" 200 -
|
|
||||||
127.0.0.1 - - [20/Apr/2026 12:10:47] "GET / HTTP/1.1" 200 -
|
|
||||||
192.168.2.8 - - [20/Apr/2026 12:10:47] "GET / HTTP/1.1" 200 -
|
|
||||||
192.168.2.8 - - [20/Apr/2026 12:10:48] "GET /api/crons HTTP/1.1" 200 -
|
|
||||||
192.168.2.8 - - [20/Apr/2026 12:10:48] "GET /api/projects HTTP/1.1" 200 -
|
|
||||||
127.0.0.1 - - [20/Apr/2026 12:10:51] "GET / HTTP/1.1" 200 -
|
|
||||||
192.168.2.8 - - [20/Apr/2026 12:10:52] "GET /api/projects HTTP/1.1" 200 -
|
|
||||||
127.0.0.1 - - [20/Apr/2026 12:10:54] "GET / HTTP/1.1" 200 -
|
|
||||||
192.168.2.8 - - [20/Apr/2026 12:10:55] "GET /api/projects HTTP/1.1" 200 -
|
|
||||||
127.0.0.1 - - [20/Apr/2026 12:10:57] "GET / HTTP/1.1" 200 -
|
|
||||||
192.168.2.8 - - [20/Apr/2026 12:10:58] "GET /api/projects HTTP/1.1" 200 -
|
|
||||||
127.0.0.1 - - [20/Apr/2026 12:11:01] "GET / HTTP/1.1" 200 -
|
|
||||||
192.168.2.8 - - [20/Apr/2026 12:11:02] "GET /api/projects HTTP/1.1" 200 -
|
|
||||||
127.0.0.1 - - [20/Apr/2026 12:11:07] "GET / HTTP/1.1" 200 -
|
|
||||||
192.168.2.8 - - [20/Apr/2026 12:11:08] "GET /api/projects HTTP/1.1" 200 -
|
|
||||||
127.0.0.1 - - [20/Apr/2026 12:11:11] "GET / HTTP/1.1" 200 -
|
|
||||||
192.168.2.8 - - [20/Apr/2026 12:11:12] "GET /api/projects HTTP/1.1" 200 -
|
|
||||||
127.0.0.1 - - [20/Apr/2026 12:11:16] "GET / HTTP/1.1" 200 -
|
|
||||||
192.168.2.8 - - [20/Apr/2026 12:11:18] "GET /api/projects HTTP/1.1" 200 -
|
|
||||||
127.0.0.1 - - [20/Apr/2026 12:11:21] "GET / HTTP/1.1" 200 -
|
|
||||||
192.168.2.8 - - [20/Apr/2026 12:11:22] "GET /api/projects HTTP/1.1" 200 -
|
|
||||||
127.0.0.1 - - [20/Apr/2026 12:11:24] "GET / HTTP/1.1" 200 -
|
|
||||||
192.168.2.8 - - [20/Apr/2026 12:11:25] "GET /api/projects HTTP/1.1" 200 -
|
|
||||||
127.0.0.1 - - [20/Apr/2026 12:11:25] "GET / HTTP/1.1" 200 -
|
|
||||||
127.0.0.1 - - [20/Apr/2026 12:11:27] "GET / HTTP/1.1" 200 -
|
|
||||||
192.168.2.8 - - [20/Apr/2026 12:11:27] "GET /api/projects HTTP/1.1" 200 -
|
|
||||||
192.168.2.8 - - [20/Apr/2026 12:11:28] "GET /api/projects HTTP/1.1" 200 -
|
|
||||||
127.0.0.1 - - [20/Apr/2026 12:11:30] "GET / HTTP/1.1" 200 -
|
|
||||||
127.0.0.1 - - [20/Apr/2026 12:11:31] "GET / HTTP/1.1" 200 -
|
|
||||||
192.168.2.10 - - [20/Apr/2026 12:11:32] "GET /api/projects HTTP/1.1" 200 -
|
|
||||||
192.168.2.8 - - [20/Apr/2026 12:11:32] "GET /api/projects HTTP/1.1" 200 -
|
|
||||||
127.0.0.1 - - [20/Apr/2026 12:11:35] "GET / HTTP/1.1" 200 -
|
|
||||||
127.0.0.1 - - [20/Apr/2026 12:11:37] "GET / HTTP/1.1" 200 -
|
|
||||||
192.168.2.10 - - [20/Apr/2026 12:11:37] "GET /api/projects HTTP/1.1" 200 -
|
|
||||||
192.168.2.8 - - [20/Apr/2026 12:11:38] "GET /api/projects HTTP/1.1" 200 -
|
|
||||||
127.0.0.1 - - [20/Apr/2026 12:11:41] "GET / HTTP/1.1" 200 -
|
|
||||||
192.168.2.8 - - [20/Apr/2026 12:11:42] "GET /api/projects HTTP/1.1" 200 -
|
|
||||||
127.0.0.1 - - [20/Apr/2026 12:11:47] "GET / HTTP/1.1" 200 -
|
|
||||||
192.168.2.8 - - [20/Apr/2026 12:11:48] "GET /api/projects HTTP/1.1" 200 -
|
|
||||||
127.0.0.1 - - [20/Apr/2026 12:11:51] "GET / HTTP/1.1" 200 -
|
|
||||||
192.168.2.8 - - [20/Apr/2026 12:11:52] "GET /api/projects HTTP/1.1" 200 -
|
|
||||||
127.0.0.1 - - [20/Apr/2026 12:11:54] "GET / HTTP/1.1" 200 -
|
|
||||||
192.168.2.8 - - [20/Apr/2026 12:11:55] "GET /api/projects HTTP/1.1" 200 -
|
|
||||||
127.0.0.1 - - [20/Apr/2026 12:11:55] "GET / HTTP/1.1" 200 -
|
|
||||||
127.0.0.1 - - [20/Apr/2026 12:11:57] "GET / HTTP/1.1" 200 -
|
|
||||||
192.168.2.8 - - [20/Apr/2026 12:11:57] "GET /api/projects HTTP/1.1" 200 -
|
|
||||||
192.168.2.8 - - [20/Apr/2026 12:11:58] "GET /api/projects HTTP/1.1" 200 -
|
|
||||||
127.0.0.1 - - [20/Apr/2026 12:12:01] "GET / HTTP/1.1" 200 -
|
|
||||||
192.168.2.8 - - [20/Apr/2026 12:12:02] "GET /api/projects HTTP/1.1" 200 -
|
|
||||||
127.0.0.1 - - [20/Apr/2026 12:12:07] "GET / HTTP/1.1" 200 -
|
|
||||||
192.168.2.8 - - [20/Apr/2026 12:12:08] "GET /api/projects HTTP/1.1" 200 -
|
|
||||||
127.0.0.1 - - [20/Apr/2026 12:12:11] "GET / HTTP/1.1" 200 -
|
|
||||||
192.168.2.8 - - [20/Apr/2026 12:12:12] "GET /api/projects HTTP/1.1" 200 -
|
|
||||||
127.0.0.1 - - [20/Apr/2026 12:12:16] "GET / HTTP/1.1" 200 -
|
|
||||||
192.168.2.8 - - [20/Apr/2026 12:12:18] "GET /api/projects HTTP/1.1" 200 -
|
|
||||||
127.0.0.1 - - [20/Apr/2026 12:12:21] "GET / HTTP/1.1" 200 -
|
|
||||||
192.168.2.8 - - [20/Apr/2026 12:12:22] "GET /api/projects HTTP/1.1" 200 -
|
|
||||||
127.0.0.1 - - [20/Apr/2026 12:12:23] "GET / HTTP/1.1" 200 -
|
|
||||||
192.168.2.8 - - [20/Apr/2026 12:12:25] "GET /api/projects HTTP/1.1" 200 -
|
|
||||||
127.0.0.1 - - [20/Apr/2026 12:12:26] "GET / HTTP/1.1" 200 -
|
|
||||||
192.168.2.8 - - [20/Apr/2026 12:12:28] "GET /api/projects HTTP/1.1" 200 -
|
|
||||||
127.0.0.1 - - [20/Apr/2026 12:12:31] "GET / HTTP/1.1" 200 -
|
|
||||||
192.168.2.10 - - [20/Apr/2026 12:12:32] "GET /api/projects HTTP/1.1" 200 -
|
|
||||||
127.0.0.1 - - [20/Apr/2026 12:12:35] "GET / HTTP/1.1" 200 -
|
|
||||||
127.0.0.1 - - [20/Apr/2026 12:12:36] "GET / HTTP/1.1" 200 -
|
|
||||||
192.168.2.10 - - [20/Apr/2026 12:12:37] "GET /api/projects HTTP/1.1" 200 -
|
|
||||||
192.168.2.8 - - [20/Apr/2026 12:12:38] "GET /api/projects HTTP/1.1" 200 -
|
|
||||||
|
|||||||
@@ -4268,3 +4268,15 @@ Directory: /home/xian/.openclaw/common/projects/llm-proxy
|
|||||||
Command: mkdir -p logs && nohup python3 app.py > logs/app.log 2>&1 & disown
|
Command: mkdir -p logs && nohup python3 app.py > logs/app.log 2>&1 & disown
|
||||||
Directory: /home/xian/.openclaw/common/projects/llm-proxy
|
Directory: /home/xian/.openclaw/common/projects/llm-proxy
|
||||||
/bin/sh: 1: disown: not found
|
/bin/sh: 1: disown: not found
|
||||||
|
|
||||||
|
==================================================
|
||||||
|
[2026-04-20T23:12:09.500932] start
|
||||||
|
Command: mkdir -p logs && nohup python3 app.py > logs/app.log 2>&1 & disown
|
||||||
|
Directory: /home/xian/.openclaw/common/projects/llm-proxy
|
||||||
|
/bin/sh: 1: disown: not found
|
||||||
|
|
||||||
|
==================================================
|
||||||
|
[2026-04-21T15:45:11.327216] start
|
||||||
|
Command: mkdir -p logs && nohup python3 app.py > logs/app.log 2>&1 & disown
|
||||||
|
Directory: /home/xian/.openclaw/common/projects/llm-proxy
|
||||||
|
/bin/sh: 1: disown: not found
|
||||||
|
|||||||
18
logs/param-hub.log
Normal file
18
logs/param-hub.log
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
|
||||||
|
==================================================
|
||||||
|
[2026-04-20T18:18:18.605305] start
|
||||||
|
Command: mkdir -p logs && nohup python3 app.py > logs/app.log 2>&1 & disown
|
||||||
|
Directory: /home/xian/.openclaw/workspace-coder/works/param-hub-python
|
||||||
|
/bin/sh: 1: disown: not found
|
||||||
|
|
||||||
|
==================================================
|
||||||
|
[2026-04-20T23:12:13.392896] start
|
||||||
|
Command: mkdir -p logs && nohup python3 app.py > logs/app.log 2>&1 & disown
|
||||||
|
Directory: /home/xian/.openclaw/workspace-coder/works/param-hub-python
|
||||||
|
/bin/sh: 1: disown: not found
|
||||||
|
|
||||||
|
==================================================
|
||||||
|
[2026-04-21T15:45:15.735387] start
|
||||||
|
Command: mkdir -p logs && nohup python3 app.py > logs/app.log 2>&1 & disown
|
||||||
|
Directory: /home/xian/.openclaw/workspace-coder/works/param-hub-python
|
||||||
|
/bin/sh: 1: disown: not found
|
||||||
6
logs/voice-chat-web.log
Normal file
6
logs/voice-chat-web.log
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
|
||||||
|
==================================================
|
||||||
|
[2026-04-22T12:29:26.685865] start
|
||||||
|
Command: mkdir -p logs && MODEL_SERVICE_URL=http://192.168.2.5:12001 nohup python3 main.py > logs/server.log 2>&1 & disown
|
||||||
|
Directory: /home/xian/.openclaw/workspace-coder/works/voice-chat-web
|
||||||
|
/bin/sh: 1: disown: not found
|
||||||
@@ -73,3 +73,15 @@ Directory: /home/xian/.openclaw/workspace-coder/works/xian-favor
|
|||||||
Command: mkdir -p logs && nohup xian_favor serve --port 19014 > logs/app.log 2>&1 & disown
|
Command: mkdir -p logs && nohup xian_favor serve --port 19014 > logs/app.log 2>&1 & disown
|
||||||
Directory: /home/xian/.openclaw/workspace-coder/works/xian-favor
|
Directory: /home/xian/.openclaw/workspace-coder/works/xian-favor
|
||||||
/bin/sh: 1: disown: not found
|
/bin/sh: 1: disown: not found
|
||||||
|
|
||||||
|
==================================================
|
||||||
|
[2026-04-20T23:12:18.766216] start
|
||||||
|
Command: mkdir -p logs && nohup python3 -c "from xian_favor.api import start_server; start_server(port=19014)" > logs/app.log 2>&1 & disown
|
||||||
|
Directory: /home/xian/.openclaw/workspace-coder/works/xian-favor
|
||||||
|
/bin/sh: 1: disown: not found
|
||||||
|
|
||||||
|
==================================================
|
||||||
|
[2026-04-23T00:57:27.686904] start
|
||||||
|
Command: mkdir -p logs && nohup python3 -c "from xian_favor.api import start_server; start_server(port=19014)" > logs/app.log 2>&1 & disown
|
||||||
|
Directory: /home/xian/.openclaw/workspace-coder/works/xian-favor
|
||||||
|
/bin/sh: 1: disown: not found
|
||||||
|
|||||||
213
projects.json
213
projects.json
@@ -1,197 +1,48 @@
|
|||||||
{
|
{
|
||||||
|
"server": {
|
||||||
|
"name": "hz1-PowerEdge-R730xd",
|
||||||
|
"description": "黄庄1号服务器 - PowerEdge R730xd",
|
||||||
|
"python_path": "/home/hz1/miniconda3/envs/openclaw/bin/python3.12",
|
||||||
|
"updated": "2026-06-01"
|
||||||
|
},
|
||||||
"projects": [
|
"projects": [
|
||||||
{
|
{
|
||||||
"id": "pdf-translate-v2",
|
"id": "pdf-translate-web",
|
||||||
"name": "PDF翻译助手 V2",
|
"name": "PDF翻译助手",
|
||||||
"type": "web",
|
"type": "web",
|
||||||
"ports": [19000],
|
"ports": [16021],
|
||||||
"directory": "works/pdf-translate-web-v2",
|
"directory": "works/pdf-translate-web",
|
||||||
"start_cmd": "mkdir -p logs && nohup python3 app.py > logs/app.log 2>&1 & disown",
|
"start_cmd": "mkdir -p logs && nohup /home/hz1/miniconda3/envs/openclaw/bin/python3.12 app.py > logs/app.log 2>&1 & disown",
|
||||||
"health_url": "http://localhost:19000/api/health",
|
"stop_cmd": "pkill -f 'python.*pdf-translate-web.*app.py' || true",
|
||||||
|
"health_url": "http://localhost:16021/",
|
||||||
"description": "英文PDF翻译中文网站,支持用户系统、会员体系",
|
"description": "英文PDF翻译中文网站,支持用户系统、会员体系",
|
||||||
"admin_url": "http://localhost:19000/admin",
|
"admin_url": "http://localhost:16021/admin",
|
||||||
"git_repo": "http://192.168.2.8:12007/coder/pdf-translate-web",
|
"git_repo": "http://121.40.164.32:12007/coder/pdf-translate-web",
|
||||||
"version": "v2.1.0"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "llm-index-rag",
|
|
||||||
"name": "LLM Index RAG",
|
|
||||||
"type": "web",
|
|
||||||
"ports": [19001],
|
|
||||||
"directory": "works/llm-index-rag",
|
|
||||||
"start_cmd": "mkdir -p logs && nohup python3 app.py > logs/app.log 2>&1 & disown",
|
|
||||||
"health_url": "http://localhost:19001/api/stats",
|
|
||||||
"description": "基于索引和搜索的知识检索系统",
|
|
||||||
"admin_url": "http://localhost:19001/settings",
|
|
||||||
"git_repo": "http://192.168.2.8:12007/coder/llm-index-rag",
|
|
||||||
"version": "v1.1.2"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "snippet-notes",
|
|
||||||
"name": "碎片信息记录",
|
|
||||||
"type": "web",
|
|
||||||
"ports": [19009],
|
|
||||||
"directory": "works/snippet-notes",
|
|
||||||
"start_cmd": "mkdir -p logs && nohup python3 app.py > logs/app.log 2>&1 & disown",
|
|
||||||
"health_url": "http://localhost:19009/api/notes",
|
|
||||||
"description": "碎片信息记录工具,AI自动生成标题",
|
|
||||||
"git_repo": null,
|
|
||||||
"version": "v1.0.0"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "param-hub",
|
|
||||||
"name": "ParamHub Python",
|
|
||||||
"type": "web",
|
|
||||||
"ports": [19010],
|
|
||||||
"directory": "works/param-hub-python",
|
|
||||||
"start_cmd": "mkdir -p logs && nohup python3 app.py > logs/app.log 2>&1 & disown",
|
|
||||||
"health_url": "http://localhost:19010/api/stats",
|
|
||||||
"description": "AI大模型与硬件参数速查平台",
|
|
||||||
"admin_url": "http://localhost:19010/admin",
|
|
||||||
"git_repo": "http://192.168.2.8:12007/coder/param-hub-python",
|
|
||||||
"version": "v1.2.0"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "ai-chat-system",
|
|
||||||
"name": "AI对话系统",
|
|
||||||
"type": "web",
|
|
||||||
"ports": [19020],
|
|
||||||
"directory": "works/ai-chat",
|
|
||||||
"start_cmd": "mkdir -p logs && nohup python3 main_v2.py > logs/app.log 2>&1 & disown",
|
|
||||||
"health_url": "http://localhost:19020/api/admin/stats",
|
|
||||||
"description": "网页端和Matrix端实时同步的AI聊天系统",
|
|
||||||
"admin_url": "http://localhost:19020/admin",
|
|
||||||
"git_repo": "http://192.168.2.8:12007/coder/ai-chat-system",
|
|
||||||
"version": "v2.5.4"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "product-crawler",
|
|
||||||
"name": "产品参数爬取系统",
|
|
||||||
"type": "web",
|
|
||||||
"ports": [19011],
|
|
||||||
"directory": "/home/xian/.openclaw/common/projects/product-crawler",
|
|
||||||
"start_cmd": "mkdir -p logs && nohup python3 app.py > logs/app.log 2>&1 & disown",
|
|
||||||
"health_url": "http://localhost:19011/api/products",
|
|
||||||
"description": "自动从官网爬取产品参数信息",
|
|
||||||
"admin_url": "http://localhost:19011/admin",
|
|
||||||
"git_repo": "http://192.168.2.8:12007/coder/product-crawler",
|
|
||||||
"version": "v2.0.0"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "llm-proxy",
|
|
||||||
"name": "LLM Proxy",
|
|
||||||
"type": "web",
|
|
||||||
"ports": [19007],
|
|
||||||
"directory": "/home/xian/.openclaw/common/projects/llm-proxy",
|
|
||||||
"start_cmd": "mkdir -p logs && nohup python3 app.py > logs/app.log 2>&1 & disown",
|
|
||||||
"health_url": "http://localhost:19007/health",
|
|
||||||
"description": "大模型API中转系统,多提供商调度",
|
|
||||||
"admin_url": "http://localhost:19007/admin",
|
|
||||||
"git_repo": "http://192.168.2.8:12007/coder/llm-proxy",
|
|
||||||
"version": "v2.0.0"
|
"version": "v2.0.0"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "project-panel",
|
"id": "project-panel",
|
||||||
"name": "项目服务管理面板",
|
"name": "项目服务管理面板",
|
||||||
"type": "web",
|
"type": "web",
|
||||||
"ports": [19013],
|
"ports": [16022],
|
||||||
"directory": "works/project-panel",
|
"directory": "works/project-panel",
|
||||||
"start_cmd": "mkdir -p logs && nohup python3 app.py > logs/app.log 2>&1 & disown",
|
"start_cmd": "mkdir -p logs && nohup /home/hz1/miniconda3/envs/openclaw/bin/python3.12 app.py > logs/app.log 2>&1 & disown",
|
||||||
"health_url": "http://localhost:19013/",
|
"stop_cmd": "pkill -f 'python.*project-panel.*app.py' || true",
|
||||||
"description": "统一管理所有Web服务项目",
|
"health_url": "http://localhost:16022/",
|
||||||
"admin_url": "http://localhost:19013",
|
"description": "统一管理所有 Web 服务项目,支持 Docker 监控、系统资源监控、Cron 管理",
|
||||||
"git_repo": "http://192.168.2.8:12007/coder/project-panel",
|
"admin_url": "http://localhost:16022",
|
||||||
"version": "v1.0.1"
|
"git_repo": "http://121.40.164.32:12007/hz4th_coder/project-panel",
|
||||||
},
|
"version": "v3.0.0"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"external_services": [
|
||||||
{
|
{
|
||||||
"id": "web-context-extension",
|
"id": "meilisearch",
|
||||||
"name": "网页助手插件",
|
"name": "Meilisearch 搜索引擎",
|
||||||
"type": "extension",
|
"type": "external",
|
||||||
"directory": "works/web-context-extension",
|
"ports": [16001],
|
||||||
"description": "浏览器扩展,右键菜单支持收藏网页、AI总结",
|
"health_url": "http://localhost:16001/health",
|
||||||
"git_repo": "http://192.168.2.8:12007/coder/web-context-extension",
|
"description": "高性能搜索引擎,只读监控"
|
||||||
"version": "v0.1.0"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "service-monitor",
|
|
||||||
"name": "Web服务监控",
|
|
||||||
"type": "cron",
|
|
||||||
"directory": "works/service-monitor",
|
|
||||||
"cron": "*/20 * * * *",
|
|
||||||
"cron_cmd": "/usr/bin/python3 /home/xian/.openclaw/workspace-coder/works/service-monitor/monitor.py",
|
|
||||||
"description": "每20分钟检查服务状态,邮件通知",
|
|
||||||
"git_repo": "http://192.168.2.8:12007/coder/service-monitor",
|
|
||||||
"version": "v1.0.0"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "board-monitor",
|
|
||||||
"name": "A股板块监控",
|
|
||||||
"type": "cron",
|
|
||||||
"directory": "works/board-monitor",
|
|
||||||
"cron": "0 17 * * 1-5",
|
|
||||||
"cron_cmd": "python3 board_monitor.py report",
|
|
||||||
"description": "每个交易日17:00发送板块分析报告",
|
|
||||||
"git_repo": "http://192.168.2.8:12007/coder/board-monitor",
|
|
||||||
"version": "v1.3.0"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "stock-system",
|
|
||||||
"name": "A股历史数据系统",
|
|
||||||
"type": "cli",
|
|
||||||
"directory": "/home/xian/.openclaw/common/stock_system",
|
|
||||||
"run_cmd": "python3 fetch_history_v2.py",
|
|
||||||
"description": "获取A股历史行情数据,支持断点续传",
|
|
||||||
"git_repo": "http://192.168.2.8:12007/coder/stock_system",
|
|
||||||
"version": "v0.2.0"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "pdf-translator",
|
|
||||||
"name": "PDF翻译脚本",
|
|
||||||
"type": "cli",
|
|
||||||
"directory": "works/pdf-translator",
|
|
||||||
"run_cmd": "python3 translate_pdf.py",
|
|
||||||
"description": "命令行PDF翻译工具",
|
|
||||||
"git_repo": null,
|
|
||||||
"version": "v1.0.0"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "xian-favor",
|
|
||||||
"name": "Xian Favor 收藏系统",
|
|
||||||
"type": "web",
|
|
||||||
"ports": [19014],
|
|
||||||
"directory": "works/xian-favor",
|
|
||||||
"start_cmd": "mkdir -p logs && nohup python3 -c \"from xian_favor.api import start_server; start_server(port=19014)\" > logs/app.log 2>&1 & disown",
|
|
||||||
"health_url": "http://localhost:19014/api/items?limit=1",
|
|
||||||
"description": "文本笔记、链接收藏、待办事项管理系统",
|
|
||||||
"admin_url": "http://localhost:19014",
|
|
||||||
"git_repo": "http://192.168.2.8:12007/coder/xian-favor",
|
|
||||||
"version": "v3.5.0"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "multi-agent-bidding",
|
|
||||||
"name": "多智能体竞标调度系统",
|
|
||||||
"type": "web",
|
|
||||||
"ports": [19015],
|
|
||||||
"directory": "works/multi-agent-bidding",
|
|
||||||
"start_cmd": "mkdir -p logs && nohup python3 -m app.app --port 19015 > logs/app.log 2>&1 & disown",
|
|
||||||
"health_url": "http://localhost:19015/api/agents",
|
|
||||||
"description": "基于竞标机制的多智能体任务调度系统",
|
|
||||||
"admin_url": "http://localhost:19015",
|
|
||||||
"git_repo": "http://192.168.2.8:12007/coder/multi-agent-bidding",
|
|
||||||
"version": "v1.0.0"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "tech-forum",
|
|
||||||
"name": "技术论坛",
|
|
||||||
"type": "web",
|
|
||||||
"ports": [19004],
|
|
||||||
"directory": "/home/xian/.openclaw/common/projects/tech-forum",
|
|
||||||
"start_cmd": "mkdir -p logs && nohup python3 backend/app.py > logs/app.log 2>&1 & disown",
|
|
||||||
"health_url": "http://localhost:19004/api/health",
|
|
||||||
"description": "技术交流、工具分享、问答讨论社区",
|
|
||||||
"admin_url": "http://localhost:19004/admin",
|
|
||||||
"git_repo": "http://192.168.2.8:12007/coder/tech-forum",
|
|
||||||
"version": "v1.2.0"
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user