19 Commits

Author SHA1 Message Date
edbaa9a257 feat: 邮件通知规则多种触发机制 2026-04-23 23:33:35 +08:00
b2a0b66492 feat: 邮件通知规则添加静默时间区间 2026-04-23 23:26:36 +08:00
9202e4c202 feat: 邮件通知规则功能 2026-04-23 23:04:24 +08:00
38db7b0606 fix: JavaScript换行符转义问题 2026-04-23 18:31:07 +08:00
6e5b963b3f fix: 修复desktopNotifyEnabled变量重复声明 2026-04-23 18:27:08 +08:00
a201b0356a fix: JavaScript变量声明顺序修复 2026-04-23 18:08:57 +08:00
71dd1d3aff feat: 系统桌面通知功能 2026-04-23 17:54:02 +08:00
55cc408881 feat: 系统资源阈值监控和弹窗警告 2026-04-23 17:48:31 +08:00
ca7527918d feat: 实时监控频率可调节 2026-04-23 17:35:59 +08:00
7f7f71a286 feat: 系统资源实时监控和网速显示 2026-04-23 17:28:49 +08:00
8579d58890 fix: 筛选按钮改为顶部横向带文字显示 2026-04-23 16:56:57 +08:00
f8a32ab6be fix: 更新版本号v2.3 2026-04-23 16:52:27 +08:00
56975f9b0d feat: 筛选按钮改为右侧固定导航按钮 2026-04-23 16:50:41 +08:00
b2900febf9 fix: 更新版本号标题为v2.2 2026-04-23 12:57:07 +08:00
17e946ae56 feat: 自定义新增外部web服务功能 2026-04-23 12:55:56 +08:00
c320066b63 feat: Web服务卡片添加自定义链接入口功能
- 端口号/后台后添加绿色+按钮
- 点击弹出模态框输入自定义链接
- 支持端口+路径生成URL或完整URL
- 链接保存到localStorage,支持删除
- 使用网页统一设置的IP生成链接
2026-04-23 11:33:11 +08:00
854b6b6f82 feat: 添加语音对话网页服务(19019) 2026-04-21 21:20:26 +08:00
6d8410ac28 feat: 添加图片编辑器服务 2026-04-21 12:06:00 +08:00
f917d15278 fix: 后台链接使用 externalIp 替代 localhost
- 后台链接现在会自动将 localhost 替换为页面配置的对外IP
- 用户可通过页面顶部的对外IP输入框调整访问地址
2026-04-20 23:20:31 +08:00
11 changed files with 2814 additions and 973 deletions

Binary file not shown.

3576
app.py

File diff suppressed because it is too large Load Diff

View 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

View 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

Binary file not shown.

View File

@@ -1,8 +1,8 @@
[2026-04-20 12:09:27] ================================================== [2026-04-23 23:33:00] ==================================================
[2026-04-20 12:09:27] 项目服务管理面板启动 [2026-04-23 23:33:00] 项目服务管理面板 v2.0.0 启动
[2026-04-20 12:09:27] 访问地址: http://localhost:19013 [2026-04-23 23:33:00] 访问地址: http://localhost:19013
[2026-04-20 12:09:27] 进程PID: 3701577 [2026-04-23 23:33:00] 进程PID: 1265636
[2026-04-20 12:09:27] ================================================== [2026-04-23 23:33:00] ==================================================
* 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. WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
@@ -10,95 +10,16 @@ WARNING: This is a development server. Do not use it in a production deployment.
* Running on http://127.0.0.1:19013 * Running on http://127.0.0.1:19013
* Running on http://192.168.2.17:19013 * Running on http://192.168.2.17:19013
Press CTRL+C to quit Press CTRL+C to quit
127.0.0.1 - - [20/Apr/2026 12:09:30] "GET / HTTP/1.1" 200 - 127.0.0.1 - - [23/Apr/2026 23:33:03] "GET / HTTP/1.1" 200 -
192.168.2.10 - - [20/Apr/2026 12:09:32] "GET /api/projects HTTP/1.1" 200 - 192.168.2.8 - - [23/Apr/2026 23:33:05] "GET /api/projects HTTP/1.1" 200 -
127.0.0.1 - - [20/Apr/2026 12:09:35] "GET / HTTP/1.1" 200 - 127.0.0.1 - - [23/Apr/2026 23:33:06] "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 - - [23/Apr/2026 23:33:13] "GET / HTTP/1.1" 200 -
127.0.0.1 - - [20/Apr/2026 12:09:37] "GET / HTTP/1.1" 200 - 192.168.2.8 - - [23/Apr/2026 23:33:15] "GET /api/projects 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 - - [23/Apr/2026 23:33:23] "GET / HTTP/1.1" 200 -
127.0.0.1 - - [20/Apr/2026 12:09:46] "GET / HTTP/1.1" 200 - 192.168.2.8 - - [23/Apr/2026 23:33:25] "GET /api/projects 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 - - [23/Apr/2026 23:33:31] "GET / HTTP/1.1" 200 -
127.0.0.1 - - [20/Apr/2026 12:09:53] "GET / HTTP/1.1" 200 - 192.168.2.8 - - [23/Apr/2026 23:33:33] "GET /api/projects 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 - - [23/Apr/2026 23:33:33] "GET / HTTP/1.1" 200 -
127.0.0.1 - - [20/Apr/2026 12:09:56] "GET / HTTP/1.1" 200 - 127.0.0.1 - - [23/Apr/2026 23:33:33] "GET / HTTP/1.1" 200 -
192.168.2.8 - - [20/Apr/2026 12:09:58] "GET /api/projects HTTP/1.1" 200 - 192.168.2.14 - - [23/Apr/2026 23:33:35] "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 - - [23/Apr/2026 23:33:35] "GET /api/projects 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 -

View File

@@ -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
View 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
View 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

View File

@@ -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

View File

@@ -192,6 +192,30 @@
"admin_url": "http://localhost:19004/admin", "admin_url": "http://localhost:19004/admin",
"git_repo": "http://192.168.2.8:12007/coder/tech-forum", "git_repo": "http://192.168.2.8:12007/coder/tech-forum",
"version": "v1.2.0" "version": "v1.2.0"
},
{
"id": "image-editor",
"name": "图片编辑器",
"type": "web",
"ports": [19018],
"directory": "works/image-editor",
"start_cmd": "mkdir -p logs && nohup python3 app.py > logs/app.log 2>&1 & disown",
"health_url": "http://localhost:19018/api/health",
"description": "前端图片处理:合并、分割、挖孔、圆形切图、文字图片",
"git_repo": "http://192.168.2.8:12007/coder/image-editor",
"version": "v1.2.1"
},
{
"id": "voice-chat-web",
"name": "语音对话网页",
"type": "web",
"ports": [19019],
"directory": "works/voice-chat-web",
"start_cmd": "mkdir -p logs && MODEL_SERVICE_URL=http://192.168.2.5:12001 nohup python3 main.py > logs/server.log 2>&1 & disown",
"health_url": "http://localhost:19019/api/status",
"description": "基于Qwen2-Audio的语音交互网页支持录音和文字对话",
"git_repo": "http://192.168.2.8:12007/coder/voice-chat-web",
"version": "v1.2.0"
} }
] ]
} }