51 lines
1.8 KiB
Markdown
51 lines
1.8 KiB
Markdown
# AI Workspace Service Manager
|
|
|
|
The service manager is the local lifecycle layer for AI Workspace services.
|
|
|
|
It reads `profiles/<profile>/services.json`, starts/stops enabled services, records logs under `.aiw/runtime/logs/`, and keeps PID/state files under `.aiw/runtime/`.
|
|
|
|
## Common commands
|
|
|
|
```bash
|
|
python3 scripts/aiw/services.py status --profile fidelity
|
|
python3 scripts/aiw/services.py status --profile fidelity --json
|
|
python3 scripts/aiw/services.py doctor --profile fidelity
|
|
python3 scripts/aiw/services.py doctor --profile fidelity --json
|
|
python3 scripts/aiw/services.py start --profile fidelity
|
|
python3 scripts/aiw/services.py stop --profile fidelity
|
|
python3 scripts/aiw/services.py logs mattermost-proxy --profile fidelity
|
|
```
|
|
|
|
Start a subset by group:
|
|
|
|
```bash
|
|
python3 scripts/aiw/services.py start --profile fidelity --group communication
|
|
python3 scripts/aiw/services.py start --profile fidelity --group inbox
|
|
```
|
|
|
|
## Current Fidelity services
|
|
|
|
- `mattermost-proxy`: runs the local Mattermost proxy mirror.
|
|
- `mattermost-desktop`: launches Mattermost Desktop through the proxy.
|
|
- `photo-inbox`: runs the local HTTP photo receiver.
|
|
- `aiw-context-mcp`: read-only context MCP server for local AI clients.
|
|
|
|
The service manager unifies startup and status. It does not move capture behavior into the MCP.
|
|
|
|
## Robustness features
|
|
|
|
- Manifest validation before lifecycle actions.
|
|
- Dependency-aware startup through `depends_on`.
|
|
- Managed PID/state files under `.aiw/runtime/`.
|
|
- Per-service logs under `.aiw/runtime/logs/`.
|
|
- Simple log rotation before service start.
|
|
- TCP/HTTP health checks.
|
|
- Doctor checks for required commands and paths declared in the profile manifest.
|
|
- Protection against starting duplicate services when a matching health check is already passing externally.
|
|
|
|
## Tests
|
|
|
|
```bash
|
|
python3 scripts/aiw/test_services.py
|
|
```
|