Wagmios 代码验证
- 作者仓库星标 55
- 许可证 Apache-2.0
- 作者仓库 wagmios
WAGMIOS
Scope = Permission. API Only. No Workarounds.
Core Principle
The WAGMIOS API is the primary interface for container management. On Linux, Docker requires sudo — without root access, WAGMIOS is the only interface agents can use for homelab control. Do not:
- Execute
dockerCLI commands directly - Access the Docker socket or daemon
- Manipulate API keys or scopes
- Bypass scope restrictions through any means
If a scope is missing, the agent cannot do the task — ask the user to enable it.
Startup Check (First Interaction)
Before attempting any WAGMIOS operation:
- Confirm Docker is available — WAGMIOS manages Docker containers, so Docker must be running on the host
- Confirm backend is reachable — the backend port (default 5179) must be accessible
- Check key scopes — call
GET /api/auth/statusto know what the key can do
If Docker is not installed or running:
→ See references/docker-install.md for installation instructions by OS.
If WAGMIOS backend is not reachable: → Ask the user to confirm the backend is running at the provided URL.
Authentication
Every request requires the X-API-Key header. The user provides the key and base URL at runtime — do not store it.
Base URL: http://localhost:5179 (user provides, may differ for remote hosts)
Header: X-API-Key: <key>
Check key scopes first via GET /api/auth/status — this tells you what the key can do.
Credential handling:
- Keys are provided by the user at runtime, not stored by the agent
- The API key is scoped — it only allows what the user explicitly granted
- Do not log or expose the full key value
Scope Map
| Scope | Permitted Actions |
|---|---|
containers:read |
List containers, inspect, view logs |
containers:write |
Create, start, stop, restart containers |
containers:delete |
Remove containers (with user confirmation) |
images:read |
List Docker images |
images:write |
Pull and delete images |
templates:read |
Use saved container templates |
templates:write |
Create and edit templates |
marketplace:read |
Browse the app marketplace |
marketplace:write |
Install, start, stop marketplace apps |
Standard Workflow
- Verify scope — check
GET /api/auth/statusbefore attempting any action - Confirm — for destructive actions (delete), always confirm with user before executing
- Execute — call the appropriate API endpoint
- Report — return the result clearly
Decision Tree
User asks to do X
│
├── Missing scope for X?
│ YES → Tell user, ask them to enable it in Settings
│ NO → Continue
│
├── X is destructive (delete, stop)?
│ YES → Confirm with user before executing
│ NO → Execute immediately
│
└── Execute via API, report result
Multi-Machine Management
WAGMIOS supports managing multiple hosts from a single agent. Each machine runs its own WAGMIOS instance with its own URL and its own scoped API key.
How it works:
- User installs WAGMIOS on each machine they want to manage
- User creates a separate API key per machine, with only the scopes that machine needs
- User provides the agent with the URL and key for each machine
- Agent routes requests to the correct machine based on the user's request
Example:
User: "Install Jellyfin on the media server and make sure Nginx is running on the NAS."
Agent → POST media-server:5179/api/marketplace/create { "app_id": "jellyfin" }
Agent → GET nas:5179/api/containers
Agent → POST nas:5179/api/containers/nginx/start
"Jellyfin is installing on the media server (port 8096). Nginx is running on the NAS."
Key principle: Each instance is independent. The agent cannot move containers between machines, cannot escalate permissions beyond what a key allows, and each action is logged in the instance's own activity feed.
Safeguards
→ See references/safeguards.md
Docker Installation
→ See references/docker-install.md
API Reference
→ See references/api.md
Marketplace
→ See references/marketplace.md
Workflows
→ See references/workflows.md
Scope Reference
→ See references/scopes.md
- 流狐分类
- 运维部署
- 作者声明 Agent
- 未找到明确声明;不据此推断已兼容或已测试
- 静态检查
- 94 / 100 · 启发式扫描,不代表运行安全
- 作者 / 版本 / 许可
- @mentholmike · Apache-2.0
- 流狐 Token 估算
- 低消耗
- 流狐接入估算
- 需手动接入
- 是否需要外部 API Key
- 需要 · Vendor-specific
- 检测到的系统要求
- Linux · Docker
- 底层运行要求
- Docker
- 检测到的文件与系统行为
-
- 只读
- 允许写入 / 修改
- Shell 执行
- 检测到的网络行为
- 允许外网请求
- 安装命令数
- 无(仅作为资料)
档案由构建时根据 SKILL.md 与安装命令自动衍生,可能与作者实际意图存在差异。
需要注意: 未限定 allowed-tools,默认拥有全部工具权限。
作者没有在当前 SKILL.md 中定义固定输出样例。 The WAGMIOS API is the primary interface for container management. On Linux, Docker requires sudo — without root access, WAGMIOS is the only interface agents can use for homelab control. Do not: Execute docker CLI commands directly
Before attempting any WAGMIOS operation: Confirm Docker is available — WAGMIOS manages Docker containers, so Docker must be running on the host Confirm backend is reachable — the backend port (default 5179) must be accessible
Every request requires the X-API-Key header. The user provides the key and base URL at runtime — do not store it. Check key scopes first via GET /api/auth/status — this tells you what the key can do. Credential handling:
Scope · Permitted Actions containers:read · List containers, inspect, view logs containers:write · Create, start, stop, restart containers
Verify scope — check GET /api/auth/status before attempting any action Confirm — for destructive actions (delete), always confirm with user before executing Execute — call the appropriate API endpoint
Decision Tree
# WAGMIOS
**Scope = Permission. API Only. No Workarounds.**
## Core Principle
The WAGMIOS API is the **primary interface** for container management. On Linux, Docker requires sudo — without root access, WAGMIOS is the only interface agents can use for homelab control. Do not:
- Execute `docker` CLI commands directly
- Access the Docker socket or daemon
- Manipulate API keys or scopes
- Bypass scope restrictions through any means
**If a scope is missing, the agent cannot do the task — ask the user to enable it.**
---
## Startup Check (First Interaction)
Before attempting any WAGMIOS operation:
1. **Confirm Docker is available** — WAGMIOS manages Docker containers, so Docker must be running on the host
2. **Confirm backend is reachable** — the backend port (default 5179) must be accessible
3. **Check key scopes** — call `GET /api/auth/status` to know what the key can do
**If Docker is not installed or running:**
→ See `references/docker-install.md` for installation instructions by OS.
**If WAGMIOS backend is not reachable:**
→ Ask the user to confirm the backend is running at the provided URL.
---
## Authentication
Every request requires the `X-API-Key` header. The user provides the key and base URL at runtime — do not store it.
```
Base URL: http://localhost:5179 (user provides, may differ for remote hosts)
Header: X-API-Key: <key>
```
Check key scopes first via `GET /api/auth/status` — this tells you what the key can do.
**Credential handling:**
- Keys are provided by the user at runtime, not stored by the agent
- The API key is scoped — it only allows what the user explicitly granted
- Do not log or expose the full key value
---
## Scope Map
| Scope | Permitted Actions |
|-------|------------------|
… 作者原文负责流程事实;流狐只索引当前章节、要点、文件与命令。
章节 -> Core Principle → Startup Check (First Interaction) → Authentication → Scope Map → Standard Workflow → Decision Tree
要点 -> Scope = Permission. API Only. No Workarounds. · primary interface · If a scope is missing, the agent cannot do the task — ask the user to enable it. · Confirm Docker is available · Confirm backend is reachable · Check key scopes · If Docker is not installed or running · If WAGMIOS backend is not reachable
文件/命令 -> docker · GET /api/auth/status · references/docker-install.md · X-API-Key · containers:read · containers:write · containers:delete · images:read
内容 SHA-256 -> 9a20332adef0
方法与流程
适用与边界
原文中的明确线索
docker、GET /api/auth/status、references/docker-install.md、X-API-Key、containers:read、containers:write、containers:delete、images:read