feat: Add presence heartbeat for Matrix online status

- matrix-gateway: POST /internal/matrix/presence/online endpoint
- usePresenceHeartbeat hook with activity tracking
- Auto away after 5 min inactivity
- Offline on page close/visibility change
- Integrated in MatrixChatRoom component
This commit is contained in:
Apple
2025-11-27 00:19:40 -08:00
parent 5bed515852
commit 3de3c8cb36
6371 changed files with 1317450 additions and 932 deletions

276
PHASE-5-COMPLETE.md Normal file
View File

@@ -0,0 +1,276 @@
# PHASE 5 — Memory Layer Agents - Complete ✅
## Summary
Успішно створено 5 агентів Memory Layer для microDAO Node-2. Всі агенти налаштовані, інтегровані з NodeAgent та додані до монітора.
---
## ✅ Created Agents
### 1. Omnimind (Collective Memory Core)
**Directory:** `~/node2/agents/omnimind/`
**Configuration:**
- Model: `deepseek-r1:70b` (local, Ollama)
- Priority: `highest`
- Role: Collective Memory Core
- Workspace: `memory_core`
- Orchestrator: Yes
**Responsibilities:**
- Unify all memory systems (Qdrant, Milvus, Neo4j)
- Decide storage location for information
- Support high-context queries for Solarius and Sofia
- Maintain long-term memory integrity
**Files Created:**
- `agent.json`
- `system_prompt.md`
- `README.md`
---
### 2. Qdrant Keeper (Vector Storage Manager)
**Directory:** `~/node2/agents/qdrantkeeper/`
**Configuration:**
- Model: `mistral-nemo:12b` (local, Ollama)
- Priority: `medium`
- Role: Vector Storage Manager
- Workspace: `memory_core`
- Database: Qdrant
**Responsibilities:**
- Manage vector collections in Qdrant
- Store and retrieve embeddings efficiently
- Maintain indexes for fast search
- Support fast vector queries
**Files Created:**
- `agent.json`
- `system_prompt.md`
- `README.md`
---
### 3. Milvus Curator (Long-Range Embedding Curator)
**Directory:** `~/node2/agents/milvuscurator/`
**Configuration:**
- Model: `gemma2:27b` (local, Ollama)
- Priority: `medium`
- Role: Long-Range Embedding Curator
- Workspace: `memory_core`
- Database: Milvus
**Responsibilities:**
- Manage large embedding collections in Milvus
- Handle long-range vector storage
- Support complex filtering and search
- Maintain indexes for heavy workloads
**Files Created:**
- `agent.json`
- `system_prompt.md`
- `README.md`
---
### 4. GraphMind (Semantic Graph Agent)
**Directory:** `~/node2/agents/graphmind/`
**Configuration:**
- Model: `qwen2.5-coder:32b` (local, Ollama)
- Priority: `high`
- Role: Semantic Graph Agent
- Workspace: `memory_core`
- Database: Neo4j
**Responsibilities:**
- Build and maintain knowledge graphs in Neo4j
- Create relationships between entities
- Query semantic structures
- Support graph-based reasoning
**Files Created:**
- `agent.json`
- `system_prompt.md`
- `README.md`
---
### 5. RAG Router (RAG Query Orchestrator)
**Directory:** `~/node2/agents/ragrouter/`
**Configuration:**
- Model: `phi3:latest` (local, Ollama)
- Priority: `medium`
- Role: RAG Query Orchestrator
- Workspace: `memory_core`
- Memory Binding: Qdrant, Milvus, Neo4j
**Responsibilities:**
- Analyze query requirements
- Route to appropriate memory system
- Coordinate multi-system queries
- Optimize query performance
**Files Created:**
- `agent.json`
- `system_prompt.md`
- `README.md`
---
## ✅ Integration
### Workspace Configuration
**File:** `~/node2/config/workspaces.json`
**Added:** `memory_core` workspace
```json
{
"memory_core": {
"participants": [
"Omnimind",
"Qdrant Keeper",
"Milvus Curator",
"GraphMind",
"RAG Router"
],
"description": "Memory Layer workspace for unified memory management across Qdrant, Milvus, and Neo4j. Led by Omnimind (Collective Memory Core)."
}
}
```
### Monitor Integration
**File:** `fixed_monitor.py`
**Added:** All 5 agents to `AGENTS` list with:
- Full configuration
- System prompts
- Node assignment (node2)
- Workspace assignment (memory_core)
- Category: "Memory"
---
## Memory Stack Architecture
```
Omnimind (Orchestrator)
├── Qdrant Keeper → Qdrant (fast vectors)
├── Milvus Curator → Milvus (long-range embeddings)
├── GraphMind → Neo4j (semantic graphs)
└── RAG Router → Routes queries to appropriate system
```
**All agents:**
- Run locally via Ollama
- Bound to NodeAgent (`node2-nodeagent`)
- Use NodeAgent for all memory operations
- Part of `memory_core` workspace
---
## Agent Relationships
**Omnimind** (Orchestrator):
- Coordinates all memory operations
- Delegates to specialized agents
- Maintains memory integrity
**Qdrant Keeper:**
- Fast vector storage
- Small to medium collections
- Real-time RAG
**Milvus Curator:**
- Large embedding collections
- Complex filtering
- Heavy workloads
**GraphMind:**
- Knowledge graphs
- Relationship queries
- Semantic reasoning
**RAG Router:**
- Query routing
- Multi-system coordination
- Performance optimization
---
## File Structure
```
~/node2/agents/
├── omnimind/
│ ├── agent.json
│ ├── system_prompt.md
│ └── README.md
├── qdrantkeeper/
│ ├── agent.json
│ ├── system_prompt.md
│ └── README.md
├── milvuscurator/
│ ├── agent.json
│ ├── system_prompt.md
│ └── README.md
├── graphmind/
│ ├── agent.json
│ ├── system_prompt.md
│ └── README.md
└── ragrouter/
├── agent.json
├── system_prompt.md
└── README.md
```
---
## Next Steps
1. **Verify agents in monitor:**
- Open `http://localhost:8899/agents`
- Check that all 5 Memory Layer agents are listed
- Verify they appear in `memory_core` workspace
2. **Test agent cabinets:**
- Open each agent's cabinet
- Verify metrics, configuration, and chat functionality
3. **Memory Stack Integration:**
- Ensure Memory Stack services are running (from PHASE 5A)
- Test agent connections to Qdrant, Milvus, Neo4j
4. **CrewAI Integration:**
- Create CrewAI crew from `memory_core` workspace
- Test multi-agent memory operations
---
## Status
**All Agents:** ✅ Created
**Workspace:** ✅ Configured
**Monitor:** ✅ Integrated
**Documentation:** ✅ Complete
**Ready for:** Memory operations and testing
---
**Date:** 2025-11-22
**Version:** 1.0