fix: discover_node_state.py global variable scope, add generated node state files

This commit is contained in:
Apple
2025-12-01 06:50:48 -08:00
parent f5c58358a0
commit 8e14750f8b
3 changed files with 345 additions and 1 deletions

View File

@@ -0,0 +1,221 @@
# Node node-1-hetzner-gex44 — State
> Generated: 2025-12-01 06:49:52
## Node Info
| Field | Value |
|-------|-------|
| Node ID | `node-1-hetzner-gex44` |
| Name | Hetzner GEX44 Production |
| Status | online |
| Environment | production |
| Hostname | 144.76.224.179 |
## Swapper
- **Status:** ✅ Healthy
- **Models Loaded:** 1 / 7
### Models
| Name | Type | Loaded | VRAM (GB) |
|------|------|--------|-----------|
| qwen3-8b | llm | ✅ | 4.87 |
| qwen3-vl-8b | vision | ❌ | 5.72 |
| qwen2.5-7b-instruct | llm | ❌ | 4.36 |
| qwen2.5-3b-instruct | llm | ❌ | 1.8 |
| qwen2-math-7b | math | ❌ | 4.13 |
| mistral-nemo-2_3b | llm | ❌ | 1.6 |
| qwen2_5-math-1_5b | math | ❌ | 1.2 |
## DAGI Router Agents
- **Total Agents:** 9
- **Active:** 9
- **Phantom:** 0
- **Stale:** 0
### Agent List
| ID | Name | Kind | Status | Runtime | Has DB Record |
|----|------|------|--------|---------|---------------|
| clan | Clan Bot | orchestrator | active | node-1-hetzner-gex44-router | True |
| daarwizz | DAARWIZZ | orchestrator | active | node-1-hetzner-gex44-router | True |
| druid | Druid | orchestrator | active | node-1-hetzner-gex44-router | True |
| eonarch | Eonarch | orchestrator | active | node-1-hetzner-gex44-router | True |
| greenfood | GreenFood Bot | orchestrator | active | node-1-hetzner-gex44-router | True |
| helion | Helion | orchestrator | active | node-1-hetzner-gex44-router | True |
| nutra | Nutra Bot | orchestrator | active | node-1-hetzner-gex44-router | True |
| soul | Soul Bot | orchestrator | active | node-1-hetzner-gex44-router | True |
| yaromir | Yaromir | orchestrator | active | node-1-hetzner-gex44-router | True |
---
## Raw Data
<details>
<summary>Swapper JSON</summary>
```json
{
"node_id": "node-1-hetzner-gex44",
"healthy": true,
"models_loaded": 1,
"models_total": 7,
"models": [
{
"name": "qwen3-8b",
"loaded": true,
"type": "llm",
"vram_gb": 4.87
},
{
"name": "qwen3-vl-8b",
"loaded": false,
"type": "vision",
"vram_gb": 5.72
},
{
"name": "qwen2.5-7b-instruct",
"loaded": false,
"type": "llm",
"vram_gb": 4.36
},
{
"name": "qwen2.5-3b-instruct",
"loaded": false,
"type": "llm",
"vram_gb": 1.8
},
{
"name": "qwen2-math-7b",
"loaded": false,
"type": "math",
"vram_gb": 4.13
},
{
"name": "mistral-nemo-2_3b",
"loaded": false,
"type": "llm",
"vram_gb": 1.6
},
{
"name": "qwen2_5-math-1_5b",
"loaded": false,
"type": "math",
"vram_gb": 1.2
}
]
}
```
</details>
<details>
<summary>DAGI Router JSON</summary>
```json
{
"node_id": "node-1-hetzner-gex44",
"total": 9,
"active": 9,
"phantom": 0,
"stale": 0,
"agents": [
{
"id": "clan",
"name": "Clan Bot",
"kind": "orchestrator",
"runtime": "node-1-hetzner-gex44-router",
"node_id": "node-1-hetzner-gex44",
"last_seen_at": null,
"status": "active",
"has_db_record": true
},
{
"id": "daarwizz",
"name": "DAARWIZZ",
"kind": "orchestrator",
"runtime": "node-1-hetzner-gex44-router",
"node_id": "node-1-hetzner-gex44",
"last_seen_at": null,
"status": "active",
"has_db_record": true
},
{
"id": "druid",
"name": "Druid",
"kind": "orchestrator",
"runtime": "node-1-hetzner-gex44-router",
"node_id": "node-1-hetzner-gex44",
"last_seen_at": null,
"status": "active",
"has_db_record": true
},
{
"id": "eonarch",
"name": "Eonarch",
"kind": "orchestrator",
"runtime": "node-1-hetzner-gex44-router",
"node_id": "node-1-hetzner-gex44",
"last_seen_at": null,
"status": "active",
"has_db_record": true
},
{
"id": "greenfood",
"name": "GreenFood Bot",
"kind": "orchestrator",
"runtime": "node-1-hetzner-gex44-router",
"node_id": "node-1-hetzner-gex44",
"last_seen_at": null,
"status": "active",
"has_db_record": true
},
{
"id": "helion",
"name": "Helion",
"kind": "orchestrator",
"runtime": "node-1-hetzner-gex44-router",
"node_id": "node-1-hetzner-gex44",
"last_seen_at": null,
"status": "active",
"has_db_record": true
},
{
"id": "nutra",
"name": "Nutra Bot",
"kind": "orchestrator",
"runtime": "node-1-hetzner-gex44-router",
"node_id": "node-1-hetzner-gex44",
"last_seen_at": null,
"status": "active",
"has_db_record": true
},
{
"id": "soul",
"name": "Soul Bot",
"kind": "orchestrator",
"runtime": "node-1-hetzner-gex44-router",
"node_id": "node-1-hetzner-gex44",
"last_seen_at": null,
"status": "active",
"has_db_record": true
},
{
"id": "yaromir",
"name": "Yaromir",
"kind": "orchestrator",
"runtime": "node-1-hetzner-gex44-router",
"node_id": "node-1-hetzner-gex44",
"last_seen_at": null,
"status": "active",
"has_db_record": true
}
]
}
```
</details>

View File

@@ -0,0 +1,122 @@
# Node node-2-macbook-m4max — State
> Generated: 2025-12-01 06:49:53
## Node Info
| Field | Value |
|-------|-------|
| Node ID | `node-2-macbook-m4max` |
| Name | MacBook Pro M4 Max |
| Status | online |
| Environment | development |
| Hostname | 192.168.1.33 |
## Swapper
- **Status:** ❌ Unhealthy
- **Models Loaded:** 0 / 0
### Models
| Name | Type | Loaded | VRAM (GB) |
|------|------|--------|-----------|
| qwen3-8b | llm | ❌ | 4.87 |
| qwen3-vl-8b | vision | ❌ | 5.72 |
| qwen2.5-7b-instruct | llm | ❌ | 4.36 |
| qwen2.5-3b-instruct | llm | ❌ | 1.8 |
| qwen2-math-7b | math | ❌ | 4.13 |
| mistral-nemo-2_3b | llm | ❌ | 1.6 |
| qwen2_5-math-1_5b | math | ❌ | 1.2 |
## DAGI Router Agents
- **Total Agents:** 0
- **Active:** 0
- **Phantom:** 0
- **Stale:** 0
### Agent List
| ID | Name | Kind | Status | Runtime | Has DB Record |
|----|------|------|--------|---------|---------------|
| (no agents) | | | | | |
---
## Raw Data
<details>
<summary>Swapper JSON</summary>
```json
{
"node_id": "node-2-macbook-m4max",
"healthy": false,
"models_loaded": 0,
"models_total": 0,
"models": [
{
"name": "qwen3-8b",
"loaded": false,
"type": "llm",
"vram_gb": 4.87
},
{
"name": "qwen3-vl-8b",
"loaded": false,
"type": "vision",
"vram_gb": 5.72
},
{
"name": "qwen2.5-7b-instruct",
"loaded": false,
"type": "llm",
"vram_gb": 4.36
},
{
"name": "qwen2.5-3b-instruct",
"loaded": false,
"type": "llm",
"vram_gb": 1.8
},
{
"name": "qwen2-math-7b",
"loaded": false,
"type": "math",
"vram_gb": 4.13
},
{
"name": "mistral-nemo-2_3b",
"loaded": false,
"type": "llm",
"vram_gb": 1.6
},
{
"name": "qwen2_5-math-1_5b",
"loaded": false,
"type": "math",
"vram_gb": 1.2
}
]
}
```
</details>
<details>
<summary>DAGI Router JSON</summary>
```json
{
"node_id": "node-2-macbook-m4max",
"total": 0,
"active": 0,
"phantom": 0,
"stale": 0,
"agents": []
}
```
</details>

View File

@@ -213,6 +213,8 @@ def discover_node(node_id: str, output_dir: Path) -> None:
def main():
global CITY_API_URL
parser = argparse.ArgumentParser(description="Discover DAARION node state")
parser.add_argument("--node", type=str, help="Specific node ID to discover")
parser.add_argument("--all", action="store_true", help="Discover all known nodes")
@@ -226,7 +228,6 @@ def main():
parser.print_help()
sys.exit(1)
global CITY_API_URL
CITY_API_URL = args.api_url
output_dir = Path(args.output)