feat: 项目服务管理面板 v1.0.0

功能:
- 项目列表展示(Web服务、Cron任务、CLI工具、插件)
- 实时状态检测(端口检测、健康检查)
- 服务控制(启动、停止、重启)
- 日志查看
- 类型筛选
- 支持动态添加新项目(API)

项目配置存储在 projects.json,便于扩展新项目
This commit is contained in:
2026-04-11 13:06:15 +08:00
commit 328fd4c16c
2 changed files with 967 additions and 0 deletions

139
projects.json Normal file
View File

@@ -0,0 +1,139 @@
{
"projects": [
{
"id": "pdf-translate-v2",
"name": "PDF翻译助手 V2",
"type": "web",
"ports": [19000],
"directory": "works/pdf-translate-web-v2",
"start_cmd": "python3 app.py",
"health_url": "http://localhost:19000/api/health",
"description": "英文PDF翻译中文网站支持用户系统、会员体系",
"admin_url": "http://localhost:19000/admin",
"git_repo": "http://192.168.2.8: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": "python3 app.py",
"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": "python3 app.py",
"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": "python3 app.py",
"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": "product-crawler",
"name": "产品参数爬取系统",
"type": "web",
"ports": [19011, 19012],
"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"}
},
"health_url": "http://localhost:19011/api/products",
"description": "自动从官网爬取产品参数信息",
"git_repo": "http://192.168.2.8:12007/coder/product-crawler",
"version": "v1.0.0"
},
{
"id": "llm-proxy",
"name": "LLM Proxy",
"type": "web",
"ports": [19007, 19008],
"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"}
},
"health_url": "http://localhost:19007/health",
"description": "大模型API中转系统多提供商调度",
"admin_url": "http://localhost:19008",
"git_repo": "http://192.168.2.8:12007/coder/llm-proxy",
"version": "v0.5.1"
},
{
"id": "web-context-extension",
"name": "网页助手插件",
"type": "extension",
"directory": "works/web-context-extension",
"description": "浏览器扩展右键菜单支持收藏网页、AI总结",
"git_repo": "http://192.168.2.8:12007/coder/web-context-extension",
"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"
}
]
}