2521690 ce299cbb18 feat: 增加 Agent 演示入口与 app_metadata 驱动验证链路
- 新增 app_metadata 模型、仓储与服务
- 将默认 edge 验证步骤改为由 app_metadata 驱动生成
- 新增 chat_session / chat_message 会话层模型与 chat service
- 新增 demo chat API,支持会话创建、消息发送、任务确认
- 新增最小 Web Demo 页面,形成聊天式演示入口
- 增强任务报告,补充 audit_summary 与更细粒度 task_metrics
- 增强 edge-agent 执行器:tcp_probe、日志时间范围过滤、进程指标与更灵活健康检查
- 更新 README 与当前进度总结,MVP 进度推进到约 94%
2026-04-09 14:10:13 +08:00

107 lines
2.6 KiB
Markdown

# Smart Deploy Agent Demo Edge Agent
## Setup
```bash
python -m venv .venv
.venv\Scripts\python -m pip install -e edge-agent
```
## Run Once
```bash
set PYTHONPATH=edge-agent
.venv\Scripts\python -m app.main --once
```
## Run Loop
```bash
set PYTHONPATH=edge-agent
.venv\Scripts\python -m app.main
```
## Test
```bash
set PYTHONPATH=edge-agent
C:\Users\MH\AppData\Local\Programs\Python\Python311\python.exe -m pytest edge-agent/tests -q -p no:cacheprovider
```
## Default Runtime Notes
1. default backend url: `http://127.0.0.1:8000`
2. default edge id: `edge-shanghai-001`
3. current registered tools:
`http_health_check`
`tcp_probe`
`check_port`
`check_process`
`grep_log`
`windows_service_control`
`linux_service_control`
4. current bootstrap implements:
heartbeat
pull task
execute registered tools
report result
report event
## Package Scripts
Current repo includes:
1. `scripts/start-windows.ps1`
2. `scripts/start-linux.sh`
3. `scripts/package-windows.ps1`
4. `scripts/package-linux.sh`
5. `scripts/package-linux.ps1`
These scripts currently prepare a portable package skeleton and startup entrypoints.
Current Windows package script already bundles a private Python runtime into:
`runtime/python/`
Current Linux package script supports bundling a private Python runtime directory passed in by argument or `EDGE_PYTHON_HOME`.
Current repo also provides `package-linux.ps1` as a Windows-hosted equivalent for validating Linux artifact structure when bash/WSL is unavailable.
## Packaging Direction
For user-side delivery, this edge agent is intended to be bundled as:
1. Windows: `zip` portable package
2. Linux: `tar.gz` self-contained runtime directory
## Current Verification Baseline
Current edge-agent baseline: `20 passed`
## Verified Packaging
Current verified artifact:
1. Windows portable package zip has been generated and verified to include:
`start.ps1`
`app/main.py`
`runtime/python/python.exe`
2. Linux portable package tar.gz has been generated and verified to include:
`start.sh`
`app/main.py`
`runtime/python/bin/python3`
## Native Linux Verification Steps
When a real Linux/bash environment is available, validate native packaging with:
```bash
export EDGE_PYTHON_HOME=/path/to/private/python/runtime
chmod +x edge-agent/scripts/package-linux.sh
./edge-agent/scripts/package-linux.sh
tar -tf edge-agent/dist/edge-agent-linux-*.tar.gz | grep -E 'start.sh|app/main.py|runtime/python/bin/python3'
```
Recommended follow-up checks:
1. verify `runtime/python/bin/python3` can start
2. verify `start.sh --once` can run against backend
3. verify file permissions are preserved after extraction