Compare commits
50 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 1420b08a43 | |||
| cd5bdb5938 | |||
| 69ade8dcbb | |||
| 7926a5b51f | |||
| 26e0ed26e1 | |||
| edbaa9a257 | |||
| b2a0b66492 | |||
| 9202e4c202 | |||
| 38db7b0606 | |||
| 6e5b963b3f | |||
| a201b0356a | |||
| 71dd1d3aff | |||
| 55cc408881 | |||
| ca7527918d | |||
| 7f7f71a286 | |||
| 8579d58890 | |||
| f8a32ab6be | |||
| 56975f9b0d | |||
| b2900febf9 | |||
| 17e946ae56 | |||
| c320066b63 | |||
| 854b6b6f82 | |||
| 6d8410ac28 | |||
| f917d15278 | |||
| cb93b8e3e2 | |||
| 14f39c8954 | |||
| 783f358b63 | |||
| 2c9bcd4844 | |||
| 4cd3ca51cb | |||
| e5fcfbb0eb | |||
| ff2eb56095 | |||
| 4f5c9dc2c8 | |||
| d1b01ad9c7 | |||
| f245bf73c5 | |||
| a669242d39 | |||
| 945ffc257a | |||
| 4a2e8bb6ce | |||
| fc5d77075f | |||
| cb80aff261 | |||
| 70eab1f1b8 | |||
| cc18d254a8 | |||
| e7b5a1ce09 | |||
| 9a23e98dc1 | |||
| b44d0cfd00 | |||
| aa99472509 | |||
| d2823e1b32 | |||
| 0c2a21f176 | |||
| 893f6f9486 | |||
| 1996bbf48c | |||
| c73196dad3 |
131
README.md
Normal file
131
README.md
Normal file
@@ -0,0 +1,131 @@
|
||||
# 项目服务管理面板
|
||||
|
||||
统一管理所有 Web 服务项目,提供状态检测、启动/停止控制、日志查看等功能。
|
||||
|
||||
## 端口
|
||||
|
||||
- **服务端口**: 19013
|
||||
- **访问地址**: http://localhost:19013
|
||||
|
||||
## 功能
|
||||
|
||||
- 项目列表展示(状态、端口、版本)
|
||||
- 服务状态健康检测
|
||||
- 启动/停止/重启控制
|
||||
- 日志查看(实时滚动)
|
||||
- Git 仓库链接
|
||||
|
||||
## 启动方式 ⭐
|
||||
|
||||
**重要:必须使用 `nohup + disown` 方式启动,脱离进程树!**
|
||||
|
||||
```bash
|
||||
cd ~/.openclaw/workspace-coder/works/project-panel
|
||||
nohup python3 app.py > logs/app.log 2>&1 & disown
|
||||
```
|
||||
|
||||
### 为什么需要 disown?
|
||||
|
||||
如果通过 OpenClaw 的 exec 启动服务,当 OpenClaw 清理进程时(如超时、重启),会发送 SIGTERM 杀掉所有子进程。
|
||||
|
||||
使用 `nohup + disown` 可以:
|
||||
1. `nohup` - 让进程忽略 SIGHUP(终端关闭信号)
|
||||
2. `disown` - 从 shell 进程树中移除,避免被连带杀掉
|
||||
3. `> logs/app.log 2>&1` - 重定向输出到日志文件
|
||||
|
||||
### ❌ 错误方式
|
||||
|
||||
```bash
|
||||
# 不要用这种方式(会被 OpenClaw 杀掉)
|
||||
python3 app.py
|
||||
```
|
||||
|
||||
### ✅ 正确方式
|
||||
|
||||
```bash
|
||||
nohup python3 app.py > logs/app.log 2>&1 & disown
|
||||
```
|
||||
|
||||
## 项目配置
|
||||
|
||||
项目配置在 `projects.json` 中,每个项目包含:
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "project-id",
|
||||
"name": "项目名称",
|
||||
"ports": [19000],
|
||||
"directory": "works/project-dir",
|
||||
"start_cmd": "nohup python3 app.py > logs/app.log 2>&1 & disown",
|
||||
"health_url": "http://localhost:19000/api/health",
|
||||
"admin_url": "http://localhost:19000/admin",
|
||||
"git_repo": "http://192.168.2.8:12007/coder/project",
|
||||
"version": "v1.0.0"
|
||||
}
|
||||
```
|
||||
|
||||
## 端口规范
|
||||
|
||||
所有 Web 服务必须使用 **19000-19100** 端口范围:
|
||||
|
||||
| 端口 | 项目 |
|
||||
|------|------|
|
||||
| 19000 | PDF翻译助手 V2 |
|
||||
| 19001 | LLM Index RAG |
|
||||
| 19009 | 碎片信息记录 |
|
||||
| 19010 | ParamHub Python |
|
||||
| 19013 | 项目服务管理面板(本服务) |
|
||||
| 19014 | Xian Favor 收藏系统 |
|
||||
| 19020 | AI对话系统 |
|
||||
| 19007 | LLM Proxy |
|
||||
| 19011 | 产品参数爬取系统 |
|
||||
| 19004 | 技术论坛 |
|
||||
| 19015 | 多智能体竞标调度系统 |
|
||||
|
||||
## API 接口
|
||||
|
||||
- `GET /api/projects` - 获取所有项目列表
|
||||
- `GET /api/project/:id` - 获取单个项目详情
|
||||
- `POST /api/project/:id/start` - 启动项目
|
||||
- `POST /api/project/:id/stop` - 停止项目
|
||||
- `POST /api/project/:id/restart` - 重启项目
|
||||
- `GET /api/project/:id/logs` - 获取项目日志
|
||||
|
||||
## 监控
|
||||
|
||||
服务监控由 `service-monitor` 负责,每 20 分钟检查一次,发送邮件通知。
|
||||
|
||||
## 故障排查
|
||||
|
||||
### 服务频繁停止?
|
||||
|
||||
检查是否使用了正确的启动方式:
|
||||
1. 确认使用了 `nohup + disown`
|
||||
2. 确认日志目录存在:`mkdir -p logs/`
|
||||
3. 查看日志:`cat logs/app.log`
|
||||
|
||||
### OpenClaw 杀进程?
|
||||
|
||||
如果日志突然停止(约凌晨 01:10),可能是被 OpenClaw 清理进程杀掉了。
|
||||
|
||||
**证据:**
|
||||
- OpenClaw 日志:`[tools] exec failed: Command aborted by signal SIGTERM`
|
||||
- 服务日志最后记录时间:01:09 左右
|
||||
|
||||
**解决:** 使用 `disown` 脱离进程树。
|
||||
|
||||
## Git 仓库
|
||||
|
||||
http://192.168.2.8:12007/coder/project-panel
|
||||
|
||||
## 更新日志
|
||||
|
||||
### v1.0.1
|
||||
- 添加 README.md 文档
|
||||
- 记录正确的启动方式(nohup + disown)
|
||||
- 记录端口规范
|
||||
|
||||
### v1.0.0
|
||||
- 项目服务管理面板
|
||||
- 状态检测、启动/停止控制
|
||||
- 日志查看
|
||||
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.
242
logs/ai-chat-system.log
Normal file
242
logs/ai-chat-system.log
Normal file
@@ -0,0 +1,242 @@
|
||||
|
||||
==================================================
|
||||
[2026-04-11T20:39:35.611218] start
|
||||
Command: python3 main.py
|
||||
Directory: /home/xian/.openclaw/workspace-coder/works/ai-chat
|
||||
/home/xian/.openclaw/workspace-coder/works/ai-chat/main.py:481: DeprecationWarning:
|
||||
on_event is deprecated, use lifespan event handlers instead.
|
||||
|
||||
Read more about it in the
|
||||
[FastAPI docs for Lifespan Events](https://fastapi.tiangolo.com/advanced/events/).
|
||||
|
||||
@app.on_event("startup")
|
||||
/home/xian/.openclaw/workspace-coder/works/ai-chat/main.py:506: DeprecationWarning:
|
||||
on_event is deprecated, use lifespan event handlers instead.
|
||||
|
||||
Read more about it in the
|
||||
[FastAPI docs for Lifespan Events](https://fastapi.tiangolo.com/advanced/events/).
|
||||
|
||||
@app.on_event("shutdown")
|
||||
INFO: Started server process [1469228]
|
||||
INFO: Waiting for application startup.
|
||||
INFO:__main__:数据库初始化完成
|
||||
INFO:services.ai_service:AI配置已更新: api_base=http://192.168.2.17:19007/v1, model=auto, use_mock=False
|
||||
INFO:__main__:AI配置已加载: http://192.168.2.17:19007/v1, model=auto
|
||||
INFO:services.matrix_service:Matrix配置: homeserver=http://matrix.tphai.com, user=@tester:matrix.tphai.com
|
||||
INFO:httpx:HTTP Request: GET http://matrix.tphai.com/_matrix/client/v3/account/whoami "HTTP/1.1 200 OK"
|
||||
INFO:services.matrix_service:Matrix HTTP API连接成功: @tester:matrix.tphai.com
|
||||
INFO:httpx:HTTP Request: GET http://matrix.tphai.com/_matrix/client/v3/joined_rooms "HTTP/1.1 200 OK"
|
||||
INFO:services.matrix_service:Matrix房间: !CUXwXrsopvYKCAEdKe:matrix.tphai.com
|
||||
INFO:__main__:Matrix Bot已启动
|
||||
INFO:services.matrix_service:Matrix HTTP同步任务已启动
|
||||
INFO: Application startup complete.
|
||||
INFO: Uvicorn running on http://0.0.0.0:19020 (Press CTRL+C to quit)
|
||||
INFO:httpx:HTTP Request: GET http://matrix.tphai.com/_matrix/client/v3/sync?timeout=5000 "HTTP/1.1 200 OK"
|
||||
INFO: 127.0.0.1:48668 - "GET /api/admin/stats HTTP/1.1" 200 OK
|
||||
INFO:httpx:HTTP Request: GET http://matrix.tphai.com/_matrix/client/v3/sync?timeout=5000&since=s6449_126845_4290_2988_3381_3_530_126_0_1_1_1 "HTTP/1.1 200 OK"
|
||||
INFO:httpx:HTTP Request: GET http://matrix.tphai.com/_matrix/client/v3/sync?timeout=5000&since=s6449_126845_4290_2988_3381_3_530_126_0_1_1_1 "HTTP/1.1 200 OK"
|
||||
INFO: 192.168.2.10:61860 - "GET / HTTP/1.1" 200 OK
|
||||
INFO: 192.168.2.10:61860 - "GET /api/conversations HTTP/1.1" 200 OK
|
||||
INFO: 192.168.2.10:61862 - "WebSocket /ws/main_user" [accepted]
|
||||
INFO:__main__:WebSocket连接: main_user, 当前连接数: 1
|
||||
INFO: 192.168.2.10:61861 - "GET /api/admin/stats HTTP/1.1" 200 OK
|
||||
INFO: connection open
|
||||
INFO: 192.168.2.10:61861 - "GET /api/conversations/latest HTTP/1.1" 200 OK
|
||||
INFO: 127.0.0.1:37244 - "GET /api/admin/stats HTTP/1.1" 200 OK
|
||||
INFO: 192.168.2.10:61861 - "GET /api/conversations/latest HTTP/1.1" 200 OK
|
||||
INFO:httpx:HTTP Request: GET http://matrix.tphai.com/_matrix/client/v3/sync?timeout=5000&since=s6449_126845_4290_2988_3381_3_530_126_0_1_1_1 "HTTP/1.1 200 OK"
|
||||
INFO: 192.168.2.10:61861 - "GET /api/conversations/latest HTTP/1.1" 200 OK
|
||||
INFO: 192.168.2.10:61861 - "GET /api/conversations/latest HTTP/1.1" 200 OK
|
||||
INFO: 192.168.2.10:61861 - "GET /api/conversations/latest HTTP/1.1" 200 OK
|
||||
INFO:httpx:HTTP Request: PUT http://matrix.tphai.com/_matrix/client/v3/rooms/!CUXwXrsopvYKCAEdKe:matrix.tphai.com/send/m.room.message/m1248774373 "HTTP/1.1 200 OK"
|
||||
INFO:services.matrix_service:Matrix消息发送成功: !CUXwXrsopvYKCAEdKe:matrix.tphai.com
|
||||
INFO:services.ai_service:调用AI API: http://192.168.2.17:19007/v1/chat/completions, model=auto
|
||||
INFO:httpx:HTTP Request: GET http://matrix.tphai.com/_matrix/client/v3/sync?timeout=5000&since=s6449_126845_4290_2989_3381_3_530_126_0_1_1_1 "HTTP/1.1 200 OK"
|
||||
INFO:httpx:HTTP Request: POST http://192.168.2.17:19007/v1/chat/completions "HTTP/1.1 502 Bad Gateway"
|
||||
ERROR:services.ai_service:AI API调用失败: Server error '502 Bad Gateway' for url 'http://192.168.2.17:19007/v1/chat/completions'
|
||||
For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/502
|
||||
INFO:httpx:HTTP Request: PUT http://matrix.tphai.com/_matrix/client/v3/rooms/!CUXwXrsopvYKCAEdKe:matrix.tphai.com/send/m.room.message/m1248775047 "HTTP/1.1 200 OK"
|
||||
INFO:services.matrix_service:Matrix消息发送成功: !CUXwXrsopvYKCAEdKe:matrix.tphai.com
|
||||
INFO: 192.168.2.10:61861 - "GET /api/conversations/latest HTTP/1.1" 200 OK
|
||||
INFO:httpx:HTTP Request: GET http://matrix.tphai.com/_matrix/client/v3/sync?timeout=5000&since=s6450_126845_4290_2989_3381_3_530_126_0_1_1_1 "HTTP/1.1 200 OK"
|
||||
INFO: 192.168.2.10:61861 - "GET /api/conversations/latest HTTP/1.1" 200 OK
|
||||
INFO: 192.168.2.10:61861 - "GET /api/conversations/latest HTTP/1.1" 200 OK
|
||||
INFO: 192.168.2.10:61861 - "GET /api/conversations/latest HTTP/1.1" 200 OK
|
||||
INFO: 192.168.2.10:61861 - "GET /api/conversations/latest HTTP/1.1" 200 OK
|
||||
INFO:httpx:HTTP Request: GET http://matrix.tphai.com/_matrix/client/v3/sync?timeout=5000&since=s6451_126845_4290_2989_3381_3_530_126_0_1_1_1 "HTTP/1.1 200 OK"
|
||||
INFO: 192.168.2.10:61861 - "GET /api/conversations/latest HTTP/1.1" 200 OK
|
||||
INFO: 192.168.2.10:61861 - "GET /api/conversations/latest HTTP/1.1" 200 OK
|
||||
INFO: 192.168.2.10:61861 - "GET /api/conversations/latest HTTP/1.1" 200 OK
|
||||
INFO: 127.0.0.1:33214 - "GET /api/admin/stats HTTP/1.1" 200 OK
|
||||
INFO: 192.168.2.10:61861 - "GET /api/conversations/latest HTTP/1.1" 200 OK
|
||||
INFO:httpx:HTTP Request: GET http://matrix.tphai.com/_matrix/client/v3/sync?timeout=5000&since=s6451_126845_4290_2989_3381_3_530_126_0_1_1_1 "HTTP/1.1 200 OK"
|
||||
INFO: 192.168.2.10:61861 - "GET /api/conversations/latest HTTP/1.1" 200 OK
|
||||
INFO: 192.168.2.10:61890 - "GET /api/admin/stats HTTP/1.1" 200 OK
|
||||
INFO: 192.168.2.10:61890 - "GET /api/conversations/latest HTTP/1.1" 200 OK
|
||||
INFO:httpx:HTTP Request: PUT http://matrix.tphai.com/_matrix/client/v3/rooms/!CUXwXrsopvYKCAEdKe:matrix.tphai.com/send/m.room.message/m1248795620 "HTTP/1.1 200 OK"
|
||||
INFO:services.matrix_service:Matrix消息发送成功: !CUXwXrsopvYKCAEdKe:matrix.tphai.com
|
||||
INFO:services.ai_service:调用AI API: http://192.168.2.17:19007/v1/chat/completions, model=auto
|
||||
INFO:httpx:HTTP Request: GET http://matrix.tphai.com/_matrix/client/v3/sync?timeout=5000&since=s6451_126851_4290_2989_3381_3_530_126_0_1_1_1 "HTTP/1.1 200 OK"
|
||||
INFO: 127.0.0.1:36850 - "GET /api/admin/stats HTTP/1.1" 200 OK
|
||||
INFO: 192.168.2.10:61890 - "GET /api/conversations/latest HTTP/1.1" 200 OK
|
||||
INFO: 192.168.2.10:61890 - "GET /api/conversations/latest HTTP/1.1" 200 OK
|
||||
INFO: 192.168.2.10:61890 - "GET /api/conversations/latest HTTP/1.1" 200 OK
|
||||
INFO:httpx:HTTP Request: GET http://matrix.tphai.com/_matrix/client/v3/sync?timeout=5000&since=s6452_126851_4290_2989_3381_3_530_126_0_1_1_1 "HTTP/1.1 200 OK"
|
||||
INFO: 192.168.2.10:61890 - "GET /api/conversations/latest HTTP/1.1" 200 OK
|
||||
INFO:httpx:HTTP Request: POST http://192.168.2.17:19007/v1/chat/completions "HTTP/1.1 200 OK"
|
||||
INFO:httpx:HTTP Request: PUT http://matrix.tphai.com/_matrix/client/v3/rooms/!CUXwXrsopvYKCAEdKe:matrix.tphai.com/send/m.room.message/m1248804105 "HTTP/1.1 200 OK"
|
||||
INFO:services.matrix_service:Matrix消息发送成功: !CUXwXrsopvYKCAEdKe:matrix.tphai.com
|
||||
INFO:httpx:HTTP Request: GET http://matrix.tphai.com/_matrix/client/v3/sync?timeout=5000&since=s6452_126851_4290_2990_3382_3_530_126_0_1_1_1 "HTTP/1.1 200 OK"
|
||||
INFO: 192.168.2.10:61890 - "GET /api/conversations/latest HTTP/1.1" 200 OK
|
||||
INFO:httpx:HTTP Request: GET http://matrix.tphai.com/_matrix/client/v3/sync?timeout=5000&since=s6453_126851_4290_2990_3382_3_530_126_0_1_1_1 "HTTP/1.1 200 OK"
|
||||
INFO: 192.168.2.10:61890 - "GET /api/conversations/latest HTTP/1.1" 200 OK
|
||||
INFO:httpx:HTTP Request: GET http://matrix.tphai.com/_matrix/client/v3/sync?timeout=5000&since=s6453_126851_4290_2991_3383_3_530_126_0_1_1_1 "HTTP/1.1 200 OK"
|
||||
INFO: 192.168.2.10:61890 - "GET /api/conversations/latest HTTP/1.1" 200 OK
|
||||
INFO: 192.168.2.10:61890 - "GET /api/conversations/latest HTTP/1.1" 200 OK
|
||||
INFO:httpx:HTTP Request: GET http://matrix.tphai.com/_matrix/client/v3/sync?timeout=5000&since=s6453_126851_4291_2991_3383_3_530_126_0_1_1_1 "HTTP/1.1 200 OK"
|
||||
INFO: 192.168.2.10:61890 - "GET /api/conversations/latest HTTP/1.1" 200 OK
|
||||
INFO:httpx:HTTP Request: GET http://matrix.tphai.com/_matrix/client/v3/sync?timeout=5000&since=s6453_126851_4293_2991_3383_3_530_126_0_1_1_1 "HTTP/1.1 200 OK"
|
||||
INFO: 192.168.2.10:61890 - "GET /api/conversations/latest HTTP/1.1" 200 OK
|
||||
INFO:httpx:HTTP Request: GET http://matrix.tphai.com/_matrix/client/v3/sync?timeout=5000&since=s6453_126851_4294_2991_3383_3_530_126_0_1_1_1 "HTTP/1.1 200 OK"
|
||||
INFO: 192.168.2.10:61890 - "GET /api/conversations/latest HTTP/1.1" 200 OK
|
||||
INFO: 192.168.2.10:61890 - "GET /api/conversations/latest HTTP/1.1" 200 OK
|
||||
INFO: 192.168.2.10:61890 - "GET /api/conversations/latest HTTP/1.1" 200 OK
|
||||
INFO:httpx:HTTP Request: GET http://matrix.tphai.com/_matrix/client/v3/sync?timeout=5000&since=s6454_126851_4294_2991_3384_3_530_126_0_1_1_1 "HTTP/1.1 200 OK"
|
||||
INFO: 192.168.2.10:61890 - "GET /api/conversations/latest HTTP/1.1" 200 OK
|
||||
INFO: 192.168.2.10:61890 - "GET /api/conversations/latest HTTP/1.1" 200 OK
|
||||
INFO: 127.0.0.1:35322 - "GET /api/admin/stats HTTP/1.1" 200 OK
|
||||
INFO: 192.168.2.10:61890 - "GET /api/conversations/latest HTTP/1.1" 200 OK
|
||||
INFO: 192.168.2.10:61890 - "GET /api/conversations/latest HTTP/1.1" 200 OK
|
||||
INFO:httpx:HTTP Request: GET http://matrix.tphai.com/_matrix/client/v3/sync?timeout=5000&since=s6454_126851_4294_2991_3384_3_530_126_0_1_1_1 "HTTP/1.1 200 OK"
|
||||
INFO: 192.168.2.10:61890 - "GET /api/conversations/latest HTTP/1.1" 200 OK
|
||||
INFO: 192.168.2.10:61890 - "GET /api/conversations/latest HTTP/1.1" 200 OK
|
||||
INFO: 192.168.2.10:61890 - "GET /api/conversations/latest HTTP/1.1" 200 OK
|
||||
INFO:httpx:HTTP Request: GET http://matrix.tphai.com/_matrix/client/v3/sync?timeout=5000&since=s6454_126851_4294_2991_3384_3_530_126_0_1_1_1 "HTTP/1.1 200 OK"
|
||||
INFO: 192.168.2.10:61890 - "GET /api/conversations/latest HTTP/1.1" 200 OK
|
||||
INFO: 192.168.2.10:61890 - "GET /api/conversations/latest HTTP/1.1" 200 OK
|
||||
INFO: 192.168.2.10:61890 - "GET /api/conversations/latest HTTP/1.1" 200 OK
|
||||
INFO: 192.168.2.10:61890 - "GET /api/conversations/latest HTTP/1.1" 200 OK
|
||||
INFO:httpx:HTTP Request: GET http://matrix.tphai.com/_matrix/client/v3/sync?timeout=5000&since=s6454_126851_4294_2991_3384_3_530_126_0_1_1_1 "HTTP/1.1 200 OK"
|
||||
INFO: 192.168.2.10:61890 - "GET /api/conversations/latest HTTP/1.1" 200 OK
|
||||
INFO: 192.168.2.10:61890 - "GET /api/conversations/latest HTTP/1.1" 200 OK
|
||||
INFO: 192.168.2.10:61890 - "GET /api/admin/stats HTTP/1.1" 200 OK
|
||||
INFO: 192.168.2.10:61890 - "GET /api/conversations/latest HTTP/1.1" 200 OK
|
||||
INFO: 192.168.2.10:61890 - "GET /api/conversations/latest HTTP/1.1" 200 OK
|
||||
INFO:httpx:HTTP Request: GET http://matrix.tphai.com/_matrix/client/v3/sync?timeout=5000&since=s6454_126851_4294_2991_3384_3_530_126_0_1_1_1 "HTTP/1.1 200 OK"
|
||||
INFO: 192.168.2.10:61890 - "GET /api/conversations/latest HTTP/1.1" 200 OK
|
||||
INFO:httpx:HTTP Request: GET http://matrix.tphai.com/_matrix/client/v3/sync?timeout=5000&since=s6454_126851_4294_2991_3384_3_530_126_0_1_1_1 "HTTP/1.1 200 OK"
|
||||
INFO: 192.168.2.10:61890 - "GET /api/conversations/latest HTTP/1.1" 200 OK
|
||||
INFO: 127.0.0.1:44872 - "GET /api/admin/stats HTTP/1.1" 200 OK
|
||||
INFO: 192.168.2.10:61890 - "GET /api/conversations/latest HTTP/1.1" 200 OK
|
||||
INFO: 192.168.2.10:61890 - "GET /api/conversations/latest HTTP/1.1" 200 OK
|
||||
INFO:httpx:HTTP Request: GET http://matrix.tphai.com/_matrix/client/v3/sync?timeout=5000&since=s6454_126857_4294_2991_3384_3_530_126_0_1_1_1 "HTTP/1.1 200 OK"
|
||||
INFO: 192.168.2.10:61890 - "GET /api/conversations/latest HTTP/1.1" 200 OK
|
||||
INFO: 192.168.2.10:61890 - "GET /api/conversations/latest HTTP/1.1" 200 OK
|
||||
INFO: 192.168.2.10:61890 - "GET /api/conversations/latest HTTP/1.1" 200 OK
|
||||
INFO: 192.168.2.10:61890 - "GET /api/conversations/latest HTTP/1.1" 200 OK
|
||||
INFO:httpx:HTTP Request: GET http://matrix.tphai.com/_matrix/client/v3/sync?timeout=5000&since=s6454_126857_4294_2991_3384_3_530_126_0_1_1_1 "HTTP/1.1 200 OK"
|
||||
INFO: 192.168.2.10:61890 - "GET /api/conversations/latest HTTP/1.1" 200 OK
|
||||
INFO: 192.168.2.10:61890 - "GET /api/conversations/latest HTTP/1.1" 200 OK
|
||||
INFO: 192.168.2.10:61890 - "GET /api/conversations/latest HTTP/1.1" 200 OK
|
||||
INFO:httpx:HTTP Request: GET http://matrix.tphai.com/_matrix/client/v3/sync?timeout=5000&since=s6454_126857_4294_2991_3384_3_530_126_0_1_1_1 "HTTP/1.1 200 OK"
|
||||
INFO: 192.168.2.10:61890 - "GET /api/conversations/latest HTTP/1.1" 200 OK
|
||||
INFO: 192.168.2.10:61890 - "GET /api/conversations/latest HTTP/1.1" 200 OK
|
||||
INFO: 192.168.2.10:61890 - "GET /api/conversations/latest HTTP/1.1" 200 OK
|
||||
INFO: 192.168.2.10:61890 - "GET /api/conversations/latest HTTP/1.1" 200 OK
|
||||
INFO:httpx:HTTP Request: GET http://matrix.tphai.com/_matrix/client/v3/sync?timeout=5000&since=s6454_126857_4294_2991_3384_3_530_126_0_1_1_1 "HTTP/1.1 200 OK"
|
||||
INFO: 192.168.2.10:61890 - "GET /api/conversations/latest HTTP/1.1" 200 OK
|
||||
INFO: 192.168.2.10:61890 - "GET /api/conversations/latest HTTP/1.1" 200 OK
|
||||
INFO: 127.0.0.1:60958 - "GET /api/admin/stats HTTP/1.1" 200 OK
|
||||
INFO: 192.168.2.10:61890 - "GET /api/conversations/latest HTTP/1.1" 200 OK
|
||||
INFO:httpx:HTTP Request: GET http://matrix.tphai.com/_matrix/client/v3/sync?timeout=5000&since=s6454_126857_4294_2991_3384_3_530_126_0_1_1_1 "HTTP/1.1 200 OK"
|
||||
INFO: 192.168.2.10:61890 - "GET /api/conversations/latest HTTP/1.1" 200 OK
|
||||
INFO: 192.168.2.10:61890 - "GET /api/conversations/latest HTTP/1.1" 200 OK
|
||||
INFO: 192.168.2.10:61890 - "GET /api/conversations/latest HTTP/1.1" 200 OK
|
||||
INFO: 192.168.2.10:61890 - "GET /api/conversations/latest HTTP/1.1" 200 OK
|
||||
INFO:httpx:HTTP Request: GET http://matrix.tphai.com/_matrix/client/v3/sync?timeout=5000&since=s6454_126857_4294_2991_3384_3_530_126_0_1_1_1 "HTTP/1.1 200 OK"
|
||||
INFO: 192.168.2.10:61890 - "GET /api/conversations/latest HTTP/1.1" 200 OK
|
||||
INFO:httpx:HTTP Request: GET http://matrix.tphai.com/_matrix/client/v3/sync?timeout=5000&since=s6454_126857_4294_2991_3384_3_530_126_0_1_1_1 "HTTP/1.1 200 OK"
|
||||
INFO: 192.168.2.10:61890 - "GET /api/conversations/latest HTTP/1.1" 200 OK
|
||||
INFO:httpx:HTTP Request: GET http://matrix.tphai.com/_matrix/client/v3/sync?timeout=5000&since=s6454_126857_4294_2992_3385_3_530_126_0_1_1_1 "HTTP/1.1 200 OK"
|
||||
INFO: 192.168.2.10:61890 - "GET /api/conversations/latest HTTP/1.1" 200 OK
|
||||
INFO: 192.168.2.10:61890 - "GET /api/conversations/latest HTTP/1.1" 200 OK
|
||||
INFO: 192.168.2.10:61890 - "GET /api/conversations/latest HTTP/1.1" 200 OK
|
||||
INFO: 192.168.2.10:61890 - "GET /api/conversations/latest HTTP/1.1" 200 OK
|
||||
INFO: 192.168.2.10:61946 - "GET /api/admin/stats HTTP/1.1" 200 OK
|
||||
INFO:httpx:HTTP Request: GET http://matrix.tphai.com/_matrix/client/v3/sync?timeout=5000&since=s6454_126857_4294_2992_3386_3_530_126_0_1_1_1 "HTTP/1.1 200 OK"
|
||||
INFO: 192.168.2.10:61946 - "GET /api/conversations/latest HTTP/1.1" 200 OK
|
||||
INFO: 192.168.2.10:61946 - "GET /api/conversations/latest HTTP/1.1" 200 OK
|
||||
INFO: 192.168.2.10:61946 - "GET /api/conversations/latest HTTP/1.1" 200 OK
|
||||
INFO:httpx:HTTP Request: GET http://matrix.tphai.com/_matrix/client/v3/sync?timeout=5000&since=s6454_126863_4294_2992_3386_3_530_126_0_1_1_1 "HTTP/1.1 200 OK"
|
||||
INFO: 192.168.2.10:61946 - "GET /api/conversations/latest HTTP/1.1" 200 OK
|
||||
INFO: 127.0.0.1:52004 - "GET /api/admin/stats HTTP/1.1" 200 OK
|
||||
INFO: 192.168.2.10:61946 - "GET /api/conversations/latest HTTP/1.1" 200 OK
|
||||
INFO: 192.168.2.10:61946 - "GET /api/conversations/latest HTTP/1.1" 200 OK
|
||||
INFO: 192.168.2.10:61946 - "GET /api/conversations/latest HTTP/1.1" 200 OK
|
||||
INFO:httpx:HTTP Request: GET http://matrix.tphai.com/_matrix/client/v3/sync?timeout=5000&since=s6454_126863_4294_2992_3386_3_530_126_0_1_1_1 "HTTP/1.1 200 OK"
|
||||
INFO: 192.168.2.10:61946 - "GET /api/conversations/latest HTTP/1.1" 200 OK
|
||||
INFO: 192.168.2.10:61946 - "GET /api/conversations/latest HTTP/1.1" 200 OK
|
||||
INFO: 192.168.2.10:61946 - "GET /api/conversations/latest HTTP/1.1" 200 OK
|
||||
INFO: 192.168.2.10:61946 - "GET /api/conversations/latest HTTP/1.1" 200 OK
|
||||
INFO:httpx:HTTP Request: GET http://matrix.tphai.com/_matrix/client/v3/sync?timeout=5000&since=s6454_126863_4294_2992_3386_3_530_126_0_1_1_1 "HTTP/1.1 200 OK"
|
||||
INFO:httpx:HTTP Request: GET http://matrix.tphai.com/_matrix/client/v3/sync?timeout=5000&since=s6454_126863_4294_2992_3386_3_530_126_0_1_1_1 "HTTP/1.1 200 OK"
|
||||
INFO:httpx:HTTP Request: GET http://matrix.tphai.com/_matrix/client/v3/sync?timeout=5000&since=s6454_126863_4294_2992_3386_3_530_126_0_1_1_1 "HTTP/1.1 200 OK"
|
||||
INFO: 127.0.0.1:51416 - "GET /api/admin/stats HTTP/1.1" 200 OK
|
||||
INFO:httpx:HTTP Request: GET http://matrix.tphai.com/_matrix/client/v3/sync?timeout=5000&since=s6454_126863_4294_2992_3386_3_530_126_0_1_1_1 "HTTP/1.1 200 OK"
|
||||
INFO:httpx:HTTP Request: GET http://matrix.tphai.com/_matrix/client/v3/sync?timeout=5000&since=s6454_126863_4294_2992_3386_3_530_126_0_1_1_1 "HTTP/1.1 200 OK"
|
||||
INFO:httpx:HTTP Request: GET http://matrix.tphai.com/_matrix/client/v3/sync?timeout=5000&since=s6454_126863_4294_2992_3386_3_530_126_0_1_1_1 "HTTP/1.1 200 OK"
|
||||
INFO: 192.168.2.10:61981 - "GET /api/conversations/latest HTTP/1.1" 200 OK
|
||||
INFO: 192.168.2.10:61982 - "GET /api/admin/stats HTTP/1.1" 200 OK
|
||||
INFO:httpx:HTTP Request: GET http://matrix.tphai.com/_matrix/client/v3/sync?timeout=5000&since=s6454_126863_4294_2992_3386_3_530_126_0_1_1_1 "HTTP/1.1 200 OK"
|
||||
INFO:httpx:HTTP Request: GET http://matrix.tphai.com/_matrix/client/v3/sync?timeout=5000&since=s6454_126863_4294_2992_3386_3_530_126_0_1_1_1 "HTTP/1.1 200 OK"
|
||||
INFO:httpx:HTTP Request: GET http://matrix.tphai.com/_matrix/client/v3/sync?timeout=5000&since=s6454_126869_4294_2992_3386_3_530_126_0_1_1_1 "HTTP/1.1 200 OK"
|
||||
INFO:httpx:HTTP Request: GET http://matrix.tphai.com/_matrix/client/v3/sync?timeout=5000&since=s6454_126869_4294_2992_3386_3_530_126_0_1_1_1 "HTTP/1.1 200 OK"
|
||||
INFO:httpx:HTTP Request: GET http://matrix.tphai.com/_matrix/client/v3/sync?timeout=5000&since=s6454_126869_4294_2992_3386_3_530_126_0_1_1_1 "HTTP/1.1 200 OK"
|
||||
INFO:httpx:HTTP Request: GET http://matrix.tphai.com/_matrix/client/v3/sync?timeout=5000&since=s6454_126869_4294_2992_3387_3_530_126_0_1_1_1 "HTTP/1.1 200 OK"
|
||||
INFO: 127.0.0.1:41872 - "GET /api/admin/stats HTTP/1.1" 200 OK
|
||||
INFO:httpx:HTTP Request: GET http://matrix.tphai.com/_matrix/client/v3/sync?timeout=5000&since=s6454_126869_4294_2992_3387_3_530_126_0_1_1_1 "HTTP/1.1 200 OK"
|
||||
INFO:httpx:HTTP Request: GET http://matrix.tphai.com/_matrix/client/v3/sync?timeout=5000&since=s6454_126869_4294_2992_3387_3_530_126_0_1_1_1 "HTTP/1.1 200 OK"
|
||||
INFO:httpx:HTTP Request: GET http://matrix.tphai.com/_matrix/client/v3/sync?timeout=5000&since=s6454_126869_4294_2992_3387_3_530_126_0_1_1_1 "HTTP/1.1 200 OK"
|
||||
INFO: 192.168.2.10:62002 - "GET /api/conversations/latest HTTP/1.1" 200 OK
|
||||
INFO: 192.168.2.10:62001 - "GET /api/admin/stats HTTP/1.1" 200 OK
|
||||
INFO:httpx:HTTP Request: GET http://matrix.tphai.com/_matrix/client/v3/sync?timeout=5000&since=s6454_126869_4294_2992_3387_3_530_126_0_1_1_1 "HTTP/1.1 200 OK"
|
||||
INFO:httpx:HTTP Request: GET http://matrix.tphai.com/_matrix/client/v3/sync?timeout=5000&since=s6454_126869_4294_2992_3387_3_530_126_0_1_1_1 "HTTP/1.1 200 OK"
|
||||
INFO:httpx:HTTP Request: GET http://matrix.tphai.com/_matrix/client/v3/sync?timeout=5000&since=s6454_126875_4294_2992_3387_3_530_126_0_1_1_1 "HTTP/1.1 200 OK"
|
||||
INFO:httpx:HTTP Request: GET http://matrix.tphai.com/_matrix/client/v3/sync?timeout=5000&since=s6454_126875_4294_2992_3387_3_530_126_0_1_1_1 "HTTP/1.1 200 OK"
|
||||
INFO:httpx:HTTP Request: GET http://matrix.tphai.com/_matrix/client/v3/sync?timeout=5000&since=s6454_126875_4294_2992_3387_3_530_126_0_1_1_1 "HTTP/1.1 200 OK"
|
||||
INFO:httpx:HTTP Request: GET http://matrix.tphai.com/_matrix/client/v3/sync?timeout=5000&since=s6455_126875_4295_2993_3388_3_530_126_0_1_1_1 "HTTP/1.1 200 OK"
|
||||
INFO: 127.0.0.1:38462 - "GET /api/admin/stats HTTP/1.1" 200 OK
|
||||
INFO:httpx:HTTP Request: GET http://matrix.tphai.com/_matrix/client/v3/sync?timeout=5000&since=s6455_126875_4295_2993_3389_3_530_126_0_1_1_1 "HTTP/1.1 200 OK"
|
||||
INFO: 127.0.0.1:38470 - "GET /api/admin/stats HTTP/1.1" 200 OK
|
||||
INFO:httpx:HTTP Request: GET http://matrix.tphai.com/_matrix/client/v3/sync?timeout=5000&since=s6459_126875_4295_2993_3389_3_530_126_0_1_1_1 "HTTP/1.1 200 OK"
|
||||
INFO:httpx:HTTP Request: GET http://matrix.tphai.com/_matrix/client/v3/sync?timeout=5000&since=s6459_126875_4295_2993_3389_3_530_126_0_1_1_1 "HTTP/1.1 200 OK"
|
||||
INFO: 192.168.2.10:62044 - "GET /api/admin/stats HTTP/1.1" 200 OK
|
||||
INFO: 192.168.2.10:62045 - "GET /api/conversations/latest HTTP/1.1" 200 OK
|
||||
INFO:httpx:HTTP Request: GET http://matrix.tphai.com/_matrix/client/v3/sync?timeout=5000&since=s6463_126875_4295_2993_3389_3_530_126_0_1_1_1 "HTTP/1.1 200 OK"
|
||||
INFO:httpx:HTTP Request: GET http://matrix.tphai.com/_matrix/client/v3/sync?timeout=5000&since=s6464_126875_4295_2994_3390_3_530_126_0_1_1_1 "HTTP/1.1 200 OK"
|
||||
INFO:httpx:HTTP Request: GET http://matrix.tphai.com/_matrix/client/v3/sync?timeout=5000&since=s6467_126881_4295_2994_3390_3_530_126_0_1_1_1 "HTTP/1.1 200 OK"
|
||||
INFO:httpx:HTTP Request: GET http://matrix.tphai.com/_matrix/client/v3/sync?timeout=5000&since=s6468_126881_4295_2994_3390_3_530_126_0_1_1_1 "HTTP/1.1 200 OK"
|
||||
INFO:httpx:HTTP Request: GET http://matrix.tphai.com/_matrix/client/v3/sync?timeout=5000&since=s6472_126881_4295_2994_3390_3_530_126_0_1_1_1 "HTTP/1.1 200 OK"
|
||||
INFO:httpx:HTTP Request: GET http://matrix.tphai.com/_matrix/client/v3/sync?timeout=5000&since=s6474_126881_4295_2996_3391_3_530_126_0_1_1_1 "HTTP/1.1 200 OK"
|
||||
INFO:httpx:HTTP Request: GET http://matrix.tphai.com/_matrix/client/v3/sync?timeout=5000&since=s6474_126881_4295_2997_3391_3_530_126_0_1_1_1 "HTTP/1.1 200 OK"
|
||||
INFO: 127.0.0.1:53056 - "GET /api/admin/stats HTTP/1.1" 200 OK
|
||||
INFO:httpx:HTTP Request: GET http://matrix.tphai.com/_matrix/client/v3/sync?timeout=5000&since=s6476_126881_4295_2999_3391_3_530_126_0_1_1_1 "HTTP/1.1 200 OK"
|
||||
INFO:httpx:HTTP Request: GET http://matrix.tphai.com/_matrix/client/v3/sync?timeout=5000&since=s6476_126881_4295_2999_3391_3_530_126_0_1_1_1 "HTTP/1.1 200 OK"
|
||||
INFO: 192.168.2.10:62071 - "GET /api/admin/stats HTTP/1.1" 200 OK
|
||||
INFO: 192.168.2.10:62072 - "GET /api/conversations/latest HTTP/1.1" 200 OK
|
||||
INFO:httpx:HTTP Request: GET http://matrix.tphai.com/_matrix/client/v3/sync?timeout=5000&since=s6478_126881_4295_3000_3392_3_530_126_0_1_1_1 "HTTP/1.1 200 OK"
|
||||
INFO:httpx:HTTP Request: GET http://matrix.tphai.com/_matrix/client/v3/sync?timeout=5000&since=s6478_126881_4295_3001_3393_3_530_126_0_1_1_1 "HTTP/1.1 200 OK"
|
||||
INFO:httpx:HTTP Request: GET http://matrix.tphai.com/_matrix/client/v3/sync?timeout=5000&since=s6481_126887_4295_3002_3395_3_530_126_0_1_1_1 "HTTP/1.1 200 OK"
|
||||
INFO:httpx:HTTP Request: GET http://matrix.tphai.com/_matrix/client/v3/sync?timeout=5000&since=s6482_126887_4295_3002_3396_3_530_126_0_1_1_1 "HTTP/1.1 200 OK"
|
||||
INFO:httpx:HTTP Request: GET http://matrix.tphai.com/_matrix/client/v3/sync?timeout=5000&since=s6484_126887_4295_3003_3396_3_530_126_0_1_1_1 "HTTP/1.1 200 OK"
|
||||
INFO:httpx:HTTP Request: GET http://matrix.tphai.com/_matrix/client/v3/sync?timeout=5000&since=s6487_126887_4295_3006_3396_3_530_126_0_1_1_1 "HTTP/1.1 200 OK"
|
||||
INFO:httpx:HTTP Request: GET http://matrix.tphai.com/_matrix/client/v3/sync?timeout=5000&since=s6488_126887_4295_3006_3396_3_530_126_0_1_1_1 "HTTP/1.1 200 OK"
|
||||
INFO: 127.0.0.1:60854 - "GET /api/admin/stats HTTP/1.1" 200 OK
|
||||
INFO: Shutting down
|
||||
INFO:__main__:WebSocket断开: main_user
|
||||
INFO: connection closed
|
||||
INFO: Waiting for application shutdown.
|
||||
INFO:__main__:应用已关闭
|
||||
INFO: Application shutdown complete.
|
||||
INFO: Finished server process [1469228]
|
||||
Terminated
|
||||
30273
logs/app.log
Normal file
30273
logs/app.log
Normal file
File diff suppressed because it is too large
Load Diff
16
logs/cron-start.log
Normal file
16
logs/cron-start.log
Normal file
@@ -0,0 +1,16 @@
|
||||
[2026-04-19 16:28:03] ==================================================
|
||||
[2026-04-19 16:28:03] 项目服务管理面板启动
|
||||
[2026-04-19 16:28:03] 访问地址: http://localhost:19013
|
||||
[2026-04-19 16:28:03] 进程PID: 3262258
|
||||
[2026-04-19 16:28:03] ==================================================
|
||||
* Serving Flask app 'app'
|
||||
* Debug mode: off
|
||||
WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
|
||||
* Running on all addresses (0.0.0.0)
|
||||
* Running on http://127.0.0.1:19013
|
||||
* Running on http://192.168.2.17:19013
|
||||
Press CTRL+C to quit
|
||||
127.0.0.1 - - [19/Apr/2026 16:28:10] "GET / HTTP/1.1" 200 -
|
||||
192.168.2.8 - - [19/Apr/2026 16:28:10] "GET /api/projects HTTP/1.1" 200 -
|
||||
[2026-04-19 16:28:12] ⚠️ 进程收到 SIGTERM 信号,即将退出! 父进程: 849 (systemd)
|
||||
[2026-04-19 16:28:12] 信号来源可能是: 手动kill命令、systemd、OOM killer、或其他进程
|
||||
2153
logs/heartbeat-start.log
Normal file
2153
logs/heartbeat-start.log
Normal file
File diff suppressed because it is too large
Load Diff
4282
logs/llm-proxy.log
Normal file
4282
logs/llm-proxy.log
Normal file
File diff suppressed because it is too large
Load Diff
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
|
||||
143
logs/pdf-translate-v2.log
Normal file
143
logs/pdf-translate-v2.log
Normal file
@@ -0,0 +1,143 @@
|
||||
|
||||
==================================================
|
||||
[2026-04-14T17:45:05.542574] start
|
||||
Command: python3 app.py
|
||||
Directory: /home/xian/.openclaw/workspace-coder/works/pdf-translate-web-v2
|
||||
* Serving Flask app 'app'
|
||||
* Debug mode: on
|
||||
WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
|
||||
* Running on all addresses (0.0.0.0)
|
||||
* Running on http://127.0.0.1:19000
|
||||
* Running on http://192.168.2.17:19000
|
||||
Press CTRL+C to quit
|
||||
* Restarting with stat
|
||||
* Debugger is active!
|
||||
* Debugger PIN: 154-698-244
|
||||
127.0.0.1 - - [14/Apr/2026 17:45:10] "GET /api/health HTTP/1.1" 404 -
|
||||
127.0.0.1 - - [14/Apr/2026 17:45:19] "GET /api/health HTTP/1.1" 404 -
|
||||
192.168.2.10 - - [14/Apr/2026 17:45:26] "GET / HTTP/1.1" 200 -
|
||||
192.168.2.10 - - [14/Apr/2026 17:45:26] "GET /static/css/style.css HTTP/1.1" 200 -
|
||||
192.168.2.10 - - [14/Apr/2026 17:45:26] "GET /static/js/main.js HTTP/1.1" 200 -
|
||||
192.168.2.10 - - [14/Apr/2026 17:45:26] "GET /api/user/info HTTP/1.1" 200 -
|
||||
192.168.2.10 - - [14/Apr/2026 17:45:26] "GET /static/img/favicon.svg HTTP/1.1" 200 -
|
||||
192.168.2.10 - - [14/Apr/2026 17:45:37] "GET / HTTP/1.1" 200 -
|
||||
192.168.2.10 - - [14/Apr/2026 17:45:37] "GET /static/css/style.css HTTP/1.1" 304 -
|
||||
192.168.2.10 - - [14/Apr/2026 17:45:37] "GET /static/js/main.js HTTP/1.1" 304 -
|
||||
192.168.2.10 - - [14/Apr/2026 17:45:37] "GET /api/user/info HTTP/1.1" 200 -
|
||||
127.0.0.1 - - [14/Apr/2026 17:45:44] "GET /api/health HTTP/1.1" 404 -
|
||||
127.0.0.1 - - [14/Apr/2026 17:46:14] "GET /api/health HTTP/1.1" 404 -
|
||||
127.0.0.1 - - [14/Apr/2026 17:46:44] "GET /api/health HTTP/1.1" 404 -
|
||||
127.0.0.1 - - [14/Apr/2026 17:46:58] "GET /api/health HTTP/1.1" 404 -
|
||||
127.0.0.1 - - [14/Apr/2026 17:47:14] "GET /api/health HTTP/1.1" 404 -
|
||||
127.0.0.1 - - [14/Apr/2026 17:47:16] "GET / HTTP/1.1" 200 -
|
||||
127.0.0.1 - - [14/Apr/2026 17:47:26] "POST /register HTTP/1.1" 200 -
|
||||
127.0.0.1 - - [14/Apr/2026 17:47:27] "POST /register HTTP/1.1" 200 -
|
||||
127.0.0.1 - - [14/Apr/2026 17:47:27] "POST /register HTTP/1.1" 200 -
|
||||
127.0.0.1 - - [14/Apr/2026 17:47:27] "POST /register HTTP/1.1" 200 -
|
||||
127.0.0.1 - - [14/Apr/2026 17:48:15] "GET /api/health HTTP/1.1" 404 -
|
||||
127.0.0.1 - - [14/Apr/2026 17:49:16] "GET /api/health HTTP/1.1" 404 -
|
||||
127.0.0.1 - - [14/Apr/2026 17:50:17] "GET /api/health HTTP/1.1" 404 -
|
||||
127.0.0.1 - - [14/Apr/2026 17:51:06] "POST /register HTTP/1.1" 200 -
|
||||
127.0.0.1 - - [14/Apr/2026 17:51:18] "GET /api/health HTTP/1.1" 404 -
|
||||
127.0.0.1 - - [14/Apr/2026 17:52:19] "GET /api/health HTTP/1.1" 404 -
|
||||
192.168.2.10 - - [14/Apr/2026 17:52:51] "GET / HTTP/1.1" 200 -
|
||||
192.168.2.10 - - [14/Apr/2026 17:52:51] "GET /static/css/style.css HTTP/1.1" 304 -
|
||||
192.168.2.10 - - [14/Apr/2026 17:52:51] "GET /static/js/main.js HTTP/1.1" 304 -
|
||||
192.168.2.10 - - [14/Apr/2026 17:52:51] "GET /api/user/info HTTP/1.1" 200 -
|
||||
192.168.2.10 - - [14/Apr/2026 17:52:51] "GET /static/img/favicon.svg HTTP/1.1" 304 -
|
||||
192.168.2.10 - - [14/Apr/2026 17:52:55] "GET /admin HTTP/1.1" 308 -
|
||||
192.168.2.10 - - [14/Apr/2026 17:52:55] "GET /admin/ HTTP/1.1" 302 -
|
||||
192.168.2.10 - - [14/Apr/2026 17:52:55] "GET /login?next=http://192.168.2.17:19000/admin/ HTTP/1.1" 200 -
|
||||
192.168.2.10 - - [14/Apr/2026 17:52:55] "GET /static/css/style.css HTTP/1.1" 304 -
|
||||
192.168.2.10 - - [14/Apr/2026 17:52:58] "POST /login HTTP/1.1" 200 -
|
||||
/home/xian/.openclaw/workspace-coder/works/pdf-translate-web-v2/app.py:42: LegacyAPIWarning: The Query.get() method is considered legacy as of the 1.x series of SQLAlchemy and becomes a legacy construct in 2.0. The method is now available as Session.get() (deprecated since: 2.0) (Background on SQLAlchemy 2.0 at: https://sqlalche.me/e/b8d9)
|
||||
return User.query.get(user_id)
|
||||
192.168.2.10 - - [14/Apr/2026 17:52:58] "GET / HTTP/1.1" 200 -
|
||||
192.168.2.10 - - [14/Apr/2026 17:52:59] "GET /static/css/style.css HTTP/1.1" 304 -
|
||||
192.168.2.10 - - [14/Apr/2026 17:52:59] "GET /static/js/main.js HTTP/1.1" 304 -
|
||||
192.168.2.10 - - [14/Apr/2026 17:52:59] "GET /api/user/info HTTP/1.1" 200 -
|
||||
192.168.2.10 - - [14/Apr/2026 17:53:18] "GET /history HTTP/1.1" 200 -
|
||||
192.168.2.10 - - [14/Apr/2026 17:53:18] "GET /static/css/style.css HTTP/1.1" 304 -
|
||||
127.0.0.1 - - [14/Apr/2026 17:53:20] "GET /api/health HTTP/1.1" 404 -
|
||||
192.168.2.10 - - [14/Apr/2026 17:53:21] "GET / HTTP/1.1" 200 -
|
||||
192.168.2.10 - - [14/Apr/2026 17:53:21] "GET /static/css/style.css HTTP/1.1" 304 -
|
||||
192.168.2.10 - - [14/Apr/2026 17:53:21] "GET /static/js/main.js HTTP/1.1" 304 -
|
||||
192.168.2.10 - - [14/Apr/2026 17:53:21] "GET /api/user/info HTTP/1.1" 200 -
|
||||
192.168.2.10 - - [14/Apr/2026 17:53:39] "GET / HTTP/1.1" 200 -
|
||||
192.168.2.10 - - [14/Apr/2026 17:53:40] "GET /static/css/style.css HTTP/1.1" 304 -
|
||||
192.168.2.10 - - [14/Apr/2026 17:53:40] "GET /static/js/main.js HTTP/1.1" 304 -
|
||||
192.168.2.10 - - [14/Apr/2026 17:53:40] "GET /api/user/info HTTP/1.1" 200 -
|
||||
192.168.2.10 - - [14/Apr/2026 17:54:20] "GET /admin/ HTTP/1.1" 200 -
|
||||
127.0.0.1 - - [14/Apr/2026 17:54:20] "GET /api/health HTTP/1.1" 404 -
|
||||
192.168.2.10 - - [14/Apr/2026 17:54:25] "GET /admin/ HTTP/1.1" 302 -
|
||||
192.168.2.10 - - [14/Apr/2026 17:54:25] "GET /login?next=http://192.168.2.17:19000/admin/ HTTP/1.1" 200 -
|
||||
192.168.2.10 - - [14/Apr/2026 17:54:25] "GET /static/css/style.css HTTP/1.1" 304 -
|
||||
192.168.2.10 - - [14/Apr/2026 17:54:26] "GET /static/img/favicon.svg HTTP/1.1" 200 -
|
||||
192.168.2.10 - - [14/Apr/2026 17:54:32] "POST /login HTTP/1.1" 401 -
|
||||
192.168.2.10 - - [14/Apr/2026 17:54:41] "POST /login HTTP/1.1" 200 -
|
||||
192.168.2.10 - - [14/Apr/2026 17:54:41] "GET / HTTP/1.1" 200 -
|
||||
192.168.2.10 - - [14/Apr/2026 17:54:41] "GET /static/css/style.css HTTP/1.1" 304 -
|
||||
192.168.2.10 - - [14/Apr/2026 17:54:41] "GET /static/js/main.js HTTP/1.1" 304 -
|
||||
192.168.2.10 - - [14/Apr/2026 17:54:41] "GET /api/user/info HTTP/1.1" 200 -
|
||||
192.168.2.10 - - [14/Apr/2026 17:54:49] "GET /admin/ HTTP/1.1" 200 -
|
||||
192.168.2.10 - - [14/Apr/2026 17:54:55] "GET / HTTP/1.1" 200 -
|
||||
192.168.2.10 - - [14/Apr/2026 17:54:55] "GET /static/css/style.css HTTP/1.1" 304 -
|
||||
192.168.2.10 - - [14/Apr/2026 17:54:55] "GET /static/js/main.js HTTP/1.1" 304 -
|
||||
192.168.2.10 - - [14/Apr/2026 17:54:55] "GET /api/user/info HTTP/1.1" 200 -
|
||||
192.168.2.10 - - [14/Apr/2026 17:54:55] "GET /static/img/favicon.svg HTTP/1.1" 304 -
|
||||
192.168.2.10 - - [14/Apr/2026 17:54:58] "GET /logout HTTP/1.1" 302 -
|
||||
192.168.2.10 - - [14/Apr/2026 17:54:58] "GET / HTTP/1.1" 200 -
|
||||
192.168.2.10 - - [14/Apr/2026 17:54:58] "GET /static/js/main.js HTTP/1.1" 304 -
|
||||
192.168.2.10 - - [14/Apr/2026 17:54:58] "GET /static/css/style.css HTTP/1.1" 304 -
|
||||
192.168.2.10 - - [14/Apr/2026 17:54:58] "GET /api/user/info HTTP/1.1" 200 -
|
||||
192.168.2.10 - - [14/Apr/2026 17:54:59] "GET /login HTTP/1.1" 200 -
|
||||
192.168.2.10 - - [14/Apr/2026 17:54:59] "GET /static/css/style.css HTTP/1.1" 304 -
|
||||
127.0.0.1 - - [14/Apr/2026 17:55:20] "GET /api/health HTTP/1.1" 404 -
|
||||
192.168.2.10 - - [14/Apr/2026 17:55:25] "POST /login HTTP/1.1" 200 -
|
||||
192.168.2.10 - - [14/Apr/2026 17:55:26] "GET / HTTP/1.1" 200 -
|
||||
192.168.2.10 - - [14/Apr/2026 17:55:26] "GET /static/css/style.css HTTP/1.1" 304 -
|
||||
192.168.2.10 - - [14/Apr/2026 17:55:26] "GET /static/js/main.js HTTP/1.1" 304 -
|
||||
192.168.2.10 - - [14/Apr/2026 17:55:26] "GET /api/user/info HTTP/1.1" 200 -
|
||||
192.168.2.10 - - [14/Apr/2026 17:55:34] "GET /history HTTP/1.1" 200 -
|
||||
192.168.2.10 - - [14/Apr/2026 17:55:34] "GET /static/css/style.css HTTP/1.1" 304 -
|
||||
192.168.2.10 - - [14/Apr/2026 17:55:36] "GET / HTTP/1.1" 200 -
|
||||
192.168.2.10 - - [14/Apr/2026 17:55:36] "GET /static/css/style.css HTTP/1.1" 304 -
|
||||
192.168.2.10 - - [14/Apr/2026 17:55:36] "GET /static/js/main.js HTTP/1.1" 304 -
|
||||
192.168.2.10 - - [14/Apr/2026 17:55:36] "GET /api/user/info HTTP/1.1" 200 -
|
||||
192.168.2.10 - - [14/Apr/2026 17:55:37] "GET /pricing HTTP/1.1" 200 -
|
||||
192.168.2.10 - - [14/Apr/2026 17:55:37] "GET /static/css/style.css HTTP/1.1" 304 -
|
||||
192.168.2.10 - - [14/Apr/2026 17:55:39] "GET / HTTP/1.1" 200 -
|
||||
192.168.2.10 - - [14/Apr/2026 17:55:39] "GET /static/css/style.css HTTP/1.1" 304 -
|
||||
192.168.2.10 - - [14/Apr/2026 17:55:39] "GET /static/js/main.js HTTP/1.1" 304 -
|
||||
192.168.2.10 - - [14/Apr/2026 17:55:39] "GET /api/user/info HTTP/1.1" 200 -
|
||||
192.168.2.10 - - [14/Apr/2026 17:55:40] "GET /history HTTP/1.1" 200 -
|
||||
192.168.2.10 - - [14/Apr/2026 17:55:40] "GET /static/css/style.css HTTP/1.1" 304 -
|
||||
192.168.2.10 - - [14/Apr/2026 17:55:42] "GET / HTTP/1.1" 200 -
|
||||
192.168.2.10 - - [14/Apr/2026 17:55:42] "GET /static/css/style.css HTTP/1.1" 304 -
|
||||
192.168.2.10 - - [14/Apr/2026 17:55:42] "GET /static/js/main.js HTTP/1.1" 304 -
|
||||
192.168.2.10 - - [14/Apr/2026 17:55:43] "GET /api/user/info HTTP/1.1" 200 -
|
||||
127.0.0.1 - - [14/Apr/2026 17:56:20] "GET /api/health HTTP/1.1" 404 -
|
||||
127.0.0.1 - - [14/Apr/2026 17:57:20] "GET /api/health HTTP/1.1" 404 -
|
||||
192.168.2.10 - - [14/Apr/2026 17:57:55] "GET /pricing HTTP/1.1" 200 -
|
||||
192.168.2.10 - - [14/Apr/2026 17:57:55] "GET /static/css/style.css HTTP/1.1" 304 -
|
||||
192.168.2.10 - - [14/Apr/2026 17:58:15] "GET / HTTP/1.1" 200 -
|
||||
192.168.2.10 - - [14/Apr/2026 17:58:15] "GET /static/css/style.css HTTP/1.1" 304 -
|
||||
192.168.2.10 - - [14/Apr/2026 17:58:15] "GET /static/js/main.js HTTP/1.1" 304 -
|
||||
192.168.2.10 - - [14/Apr/2026 17:58:15] "GET /api/user/info HTTP/1.1" 200 -
|
||||
* Detected change in '/home/xian/.openclaw/workspace-coder/works/pdf-translate-web-v2/app.py', reloading
|
||||
* Restarting with stat
|
||||
* Debugger is active!
|
||||
* Debugger PIN: 154-698-244
|
||||
127.0.0.1 - - [14/Apr/2026 17:58:23] "GET /api/health HTTP/1.1" 404 -
|
||||
192.168.2.10 - - [14/Apr/2026 17:58:31] "GET /pricing HTTP/1.1" 200 -
|
||||
192.168.2.10 - - [14/Apr/2026 17:58:31] "GET /static/css/style.css HTTP/1.1" 304 -
|
||||
/home/xian/.openclaw/workspace-coder/works/pdf-translate-web-v2/app.py:42: LegacyAPIWarning: The Query.get() method is considered legacy as of the 1.x series of SQLAlchemy and becomes a legacy construct in 2.0. The method is now available as Session.get() (deprecated since: 2.0) (Background on SQLAlchemy 2.0 at: https://sqlalche.me/e/b8d9)
|
||||
return User.query.get(user_id)
|
||||
192.168.2.10 - - [14/Apr/2026 17:58:33] "GET / HTTP/1.1" 200 -
|
||||
192.168.2.10 - - [14/Apr/2026 17:58:33] "GET /static/css/style.css HTTP/1.1" 304 -
|
||||
192.168.2.10 - - [14/Apr/2026 17:58:33] "GET /static/js/main.js HTTP/1.1" 304 -
|
||||
192.168.2.10 - - [14/Apr/2026 17:58:33] "GET /api/user/info HTTP/1.1" 200 -
|
||||
192.168.2.10 - - [14/Apr/2026 17:58:35] "GET / HTTP/1.1" 200 -
|
||||
192.168.2.10 - - [14/Apr/2026 17:58:35] "GET /static/css/style.css HTTP/1.1" 304 -
|
||||
192.168.2.10 - - [14/Apr/2026 17:58:35] "GET /static/js/main.js HTTP/1.1" 304 -
|
||||
192.168.2.10 - - [14/Apr/2026 17:58:35] "GET /api/user/info HTTP/1.1" 200 -
|
||||
2011
logs/project-panel.log
Normal file
2011
logs/project-panel.log
Normal file
File diff suppressed because it is too large
Load Diff
112809
logs/snippet-notes.log
Normal file
112809
logs/snippet-notes.log
Normal file
File diff suppressed because it is too large
Load Diff
2067
logs/tech-forum.log
Normal file
2067
logs/tech-forum.log
Normal file
File diff suppressed because it is too large
Load Diff
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
|
||||
87
logs/xian-favor.log
Normal file
87
logs/xian-favor.log
Normal file
@@ -0,0 +1,87 @@
|
||||
|
||||
==================================================
|
||||
[2026-04-13T10:32:16.459402] start
|
||||
Command: xian_favor serve --port 19014
|
||||
Directory: /home/xian/.openclaw/workspace-coder/works/xian-favor
|
||||
🚀 启动API服务: http://0.0.0.0:19014
|
||||
* Serving Flask app 'xian_favor.api'
|
||||
* Debug mode: off
|
||||
WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
|
||||
* Running on all addresses (0.0.0.0)
|
||||
* Running on http://127.0.0.1:19014
|
||||
* Running on http://192.168.2.17:19014
|
||||
Press CTRL+C to quit
|
||||
192.168.2.10 - - [13/Apr/2026 10:32:21] "GET / HTTP/1.1" 200 -
|
||||
192.168.2.10 - - [13/Apr/2026 10:32:21] "GET /api/items?limit=100 HTTP/1.1" 200 -
|
||||
192.168.2.10 - - [13/Apr/2026 10:32:21] "GET /api/stats HTTP/1.1" 200 -
|
||||
127.0.0.1 - - [13/Apr/2026 10:32:26] "GET /api/health HTTP/1.1" 404 -
|
||||
127.0.0.1 - - [13/Apr/2026 10:32:41] "GET /api/health HTTP/1.1" 404 -
|
||||
127.0.0.1 - - [13/Apr/2026 10:33:11] "GET /api/health HTTP/1.1" 404 -
|
||||
127.0.0.1 - - [13/Apr/2026 10:33:12] "GET /api/health HTTP/1.1" 404 -
|
||||
127.0.0.1 - - [13/Apr/2026 10:33:43] "GET /api/health HTTP/1.1" 404 -
|
||||
127.0.0.1 - - [13/Apr/2026 10:34:13] "GET /api/health HTTP/1.1" 404 -
|
||||
127.0.0.1 - - [13/Apr/2026 10:34:43] "GET /api/health HTTP/1.1" 404 -
|
||||
127.0.0.1 - - [13/Apr/2026 10:35:13] "GET /api/health HTTP/1.1" 404 -
|
||||
127.0.0.1 - - [13/Apr/2026 10:35:43] "GET /api/health HTTP/1.1" 404 -
|
||||
127.0.0.1 - - [13/Apr/2026 10:36:13] "GET /api/health HTTP/1.1" 404 -
|
||||
127.0.0.1 - - [13/Apr/2026 10:36:43] "GET /api/health HTTP/1.1" 404 -
|
||||
192.168.2.10 - - [13/Apr/2026 10:36:45] "GET / HTTP/1.1" 200 -
|
||||
192.168.2.10 - - [13/Apr/2026 10:36:45] "GET /api/items?limit=100 HTTP/1.1" 200 -
|
||||
192.168.2.10 - - [13/Apr/2026 10:36:45] "GET /api/stats HTTP/1.1" 200 -
|
||||
192.168.2.10 - - [13/Apr/2026 10:36:49] "GET / HTTP/1.1" 200 -
|
||||
192.168.2.10 - - [13/Apr/2026 10:36:49] "GET /api/items?limit=100 HTTP/1.1" 200 -
|
||||
192.168.2.10 - - [13/Apr/2026 10:36:49] "GET /api/stats HTTP/1.1" 200 -
|
||||
127.0.0.1 - - [13/Apr/2026 10:36:49] "GET /api/health HTTP/1.1" 404 -
|
||||
192.168.2.10 - - [13/Apr/2026 10:37:02] "GET / HTTP/1.1" 200 -
|
||||
192.168.2.10 - - [13/Apr/2026 10:37:02] "GET /api/items?limit=100 HTTP/1.1" 200 -
|
||||
192.168.2.10 - - [13/Apr/2026 10:37:02] "GET /api/stats HTTP/1.1" 200 -
|
||||
127.0.0.1 - - [13/Apr/2026 10:37:19] "GET /api/health HTTP/1.1" 404 -
|
||||
127.0.0.1 - - [13/Apr/2026 10:37:30] "GET / HTTP/1.1" 200 -
|
||||
|
||||
==================================================
|
||||
[2026-04-17T17:36:41.817946] start
|
||||
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
|
||||
/bin/sh: 1: disown: not found
|
||||
|
||||
==================================================
|
||||
[2026-04-17T17:37:12.329958] start
|
||||
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
|
||||
/bin/sh: 1: disown: not found
|
||||
|
||||
==================================================
|
||||
[2026-04-17T17:38:36.504634] start
|
||||
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
|
||||
/bin/sh: 1: disown: not found
|
||||
|
||||
==================================================
|
||||
[2026-04-17T21:59:11.286406] start
|
||||
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
|
||||
/bin/sh: 1: disown: not found
|
||||
|
||||
==================================================
|
||||
[2026-04-18T23:54:36.035065] start
|
||||
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
|
||||
/bin/sh: 1: disown: not found
|
||||
|
||||
==================================================
|
||||
[2026-04-19T16:35:46.708608] start
|
||||
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
|
||||
/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
|
||||
120
projects.json
120
projects.json
@@ -6,7 +6,7 @@
|
||||
"type": "web",
|
||||
"ports": [19000],
|
||||
"directory": "works/pdf-translate-web-v2",
|
||||
"start_cmd": "python3 app.py",
|
||||
"start_cmd": "mkdir -p logs && nohup python3 app.py > logs/app.log 2>&1 & disown",
|
||||
"health_url": "http://localhost:19000/api/health",
|
||||
"description": "英文PDF翻译中文网站,支持用户系统、会员体系",
|
||||
"admin_url": "http://localhost:19000/admin",
|
||||
@@ -19,7 +19,7 @@
|
||||
"type": "web",
|
||||
"ports": [19001],
|
||||
"directory": "works/llm-index-rag",
|
||||
"start_cmd": "python3 app.py",
|
||||
"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",
|
||||
@@ -32,7 +32,7 @@
|
||||
"type": "web",
|
||||
"ports": [19009],
|
||||
"directory": "works/snippet-notes",
|
||||
"start_cmd": "python3 app.py",
|
||||
"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,
|
||||
@@ -44,45 +44,64 @@
|
||||
"type": "web",
|
||||
"ports": [19010],
|
||||
"directory": "works/param-hub-python",
|
||||
"start_cmd": "python3 app.py",
|
||||
"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, 19012],
|
||||
"ports": [19011],
|
||||
"directory": "/home/xian/.openclaw/common/projects/product-crawler",
|
||||
"start_cmd": "python3 app.py",
|
||||
"start_cmds": {
|
||||
"api": {"port": 19011, "cmd": "python3 app.py"},
|
||||
"admin": {"port": 19012, "cmd": "cd admin && python3 app.py"}
|
||||
},
|
||||
"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": "v1.0.0"
|
||||
"version": "v2.0.0"
|
||||
},
|
||||
{
|
||||
"id": "llm-proxy",
|
||||
"name": "LLM Proxy",
|
||||
"type": "web",
|
||||
"ports": [19007, 19008],
|
||||
"ports": [19007],
|
||||
"directory": "/home/xian/.openclaw/common/projects/llm-proxy",
|
||||
"start_cmd": "python3 app.py",
|
||||
"start_cmds": {
|
||||
"api": {"port": 19007, "cmd": "python3 app.py"},
|
||||
"admin": {"port": 19008, "cmd": "cd admin && python3 app.py"}
|
||||
},
|
||||
"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:19008",
|
||||
"admin_url": "http://localhost:19007/admin",
|
||||
"git_repo": "http://192.168.2.8:12007/coder/llm-proxy",
|
||||
"version": "v0.5.1"
|
||||
"version": "v2.0.0"
|
||||
},
|
||||
{
|
||||
"id": "project-panel",
|
||||
"name": "项目服务管理面板",
|
||||
"type": "web",
|
||||
"ports": [19013],
|
||||
"directory": "works/project-panel",
|
||||
"start_cmd": "mkdir -p logs && nohup python3 app.py > logs/app.log 2>&1 & disown",
|
||||
"health_url": "http://localhost:19013/",
|
||||
"description": "统一管理所有Web服务项目",
|
||||
"admin_url": "http://localhost:19013",
|
||||
"git_repo": "http://192.168.2.8:12007/coder/project-panel",
|
||||
"version": "v1.0.1"
|
||||
},
|
||||
{
|
||||
"id": "web-context-extension",
|
||||
@@ -134,6 +153,69 @@
|
||||
"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"
|
||||
},
|
||||
{
|
||||
"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"
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user