Files

137 lines
3.4 KiB
Markdown

# Multi-Repository Role-Based Knowledge Graphs
## Overview
Terraphim supports **role-specific knowledge graphs** for different repositories/projects.
## Role Configuration
Each role can have:
- **Unique thesaurus** - Domain-specific synonyms
- **Custom haystacks** - Repository-specific search paths
- **Different embeddings** - Controlled embedding strategies
- **Access control** - Public/private settings
## Example Roles
### 1. Terraphim AI Developer
```json
{
"name": "Terraphim AI Developer",
"kg": {
"knowledge_graph_local": {
"path": "terraphim-ai/kg"
}
},
"haystacks": [
{ "location": "terraphim-ai/crates", "service": "Ripgrep" },
{ "location": "terraphim-ai/docs", "service": "Ripgrep" }
],
"extra": {
"embeddings_model": "local",
"synonym_depth": "deep"
}
}
```
**Thesaurus Concepts:**
- Rust (rust, cargo, tokio, async)
- Knowledge Graph (kg, thesaurus, ontology)
- Agent (ai, assistant, claude, llm)
- Search (retrieval, query, find)
- Role (persona, expert, engineer)
### 2. OpenClaw Developer
```json
{
"name": "OpenClaw Developer",
"kg": {
"knowledge_graph_local": {
"path": "openclaw/kg"
}
},
"haystacks": [
{ "location": "openclaw/src", "service": "Ripgrep" },
{ "location": "openclaw/docs", "service": "Ripgrep" }
],
"extra": {
"embeddings_model": "local",
"synonym_depth": "standard"
}
}
```
**Thesaurus Concepts:**
- TypeScript (ts, js, node, npm)
- Gateway (server, api, websocket)
- Channel (telegram, discord, slack)
- Skill (tool, capability, extension)
- Config (configuration, settings, json)
### 3. Learning Capture
```json
{
"name": "Learning Capture System",
"kg": {
"knowledge_graph_local": {
"path": "~/.config/terraphim/docs/src/kg"
}
},
"haystacks": [
{ "location": "~/.local/share/terraphim/learnings", "service": "Ripgrep" },
{ "location": "~/.openclaw/workspace/memory", "service": "Ripgrep" }
],
"extra": {
"embeddings_model": "local",
"synonym_depth": "deep",
"synonym_expansion": true
}
}
```
**Thesaurus Concepts:** (20 groups)
- Knowledge, Configuration, Git, AI Assistant
- Tool, Storage, Context Management, Retrieval
- Failure, Documentation, Programming Languages
- Testing, Security, Performance, Build
- Execution, Debugging, Repair
## Embeddings Control
| Role | Model | Depth | Use Case |
|------|-------|-------|----------|
| Terraphim AI | local | deep | Complex reasoning |
| OpenClaw | local | standard | Balanced |
| Last30Days | none | basic | Simple lookup |
| System Operator | none | minimal | Log analysis |
| Learning Capture | local | deep | Semantic memory |
## Switching Roles
```bash
# List available roles
terraphim-agent roles list
# Switch to specific role
terraphim-agent roles select "LearningCapture"
# Search within current role
terraphim-agent learn query "setup"
```
## Benefits
1. **Isolation** - Each repo has its own KG
2. **Specialization** - Domain-specific synonyms
3. **Performance** - Controlled embedding scope
4. **Privacy** - Public/private KG settings
5. **Flexibility** - Different search strategies per role
## Files Created
- `~/.config/terraphim/multi_repo_roles.json` - Role definitions
- `~/.config/terraphim/kg/terraphim-ai/` - Terraphim AI KG
- `~/.config/terraphim/kg/openclaw/` - OpenClaw KG
- `~/.config/terraphim/kg/last30days/` - Last30Days KG
- `~/.config/terraphim/kg/system/` - System Operator KG