mirror of
https://github.com/garrytan/gbrain.git
synced 2026-07-27 22:15:33 +00:00
Adds a context engine plugin that runs on every assemble() call to inject structured live context into the system prompt: - Garry's current local time (computed from heartbeat-state.json timezone) - Current location (city + timezone from heartbeat or flight data) - Home time when traveling (e.g. 'Mon 7:58 AM PT') - Active travel status - Quiet hours detection - Airport→timezone mapping for 30+ airports This kills the 'time warp' bug class where compacted sessions lose track of time/location. The engine delegates compaction to the legacy runtime and only owns systemPromptAddition injection. Zero LLM calls, <5ms. Files: - src/core/context-engine.ts — engine implementation (SDK-free, testable) - src/openclaw-context-engine.ts — plugin entry point (requires SDK) - test/context-engine.test.ts — 9 tests, all passing Enable: plugins.slots.contextEngine = 'gbrain-context'
90 lines
2.1 KiB
JSON
90 lines
2.1 KiB
JSON
{
|
|
"name": "gbrain",
|
|
"version": "0.25.1",
|
|
"description": "Personal knowledge brain with Postgres + pgvector hybrid search",
|
|
"family": "bundle-plugin",
|
|
"configSchema": {
|
|
"database_url": {
|
|
"type": "string",
|
|
"required": true,
|
|
"description": "PostgreSQL connection URL (Supabase recommended)",
|
|
"uiHints": {
|
|
"sensitive": true
|
|
}
|
|
},
|
|
"openai_api_key": {
|
|
"type": "string",
|
|
"required": false,
|
|
"description": "OpenAI API key for embeddings (uses OPENAI_API_KEY env var if not set)",
|
|
"uiHints": {
|
|
"sensitive": true
|
|
}
|
|
}
|
|
},
|
|
"mcpServers": {
|
|
"gbrain": {
|
|
"command": "./bin/gbrain",
|
|
"args": [
|
|
"serve"
|
|
]
|
|
}
|
|
},
|
|
"skills": [
|
|
"skills/academic-verify",
|
|
"skills/archive-crawler",
|
|
"skills/article-enrichment",
|
|
"skills/book-mirror",
|
|
"skills/brain-ops",
|
|
"skills/brain-pdf",
|
|
"skills/briefing",
|
|
"skills/citation-fixer",
|
|
"skills/concept-synthesis",
|
|
"skills/cross-modal-review",
|
|
"skills/cron-scheduler",
|
|
"skills/daily-task-manager",
|
|
"skills/daily-task-prep",
|
|
"skills/data-research",
|
|
"skills/enrich",
|
|
"skills/idea-ingest",
|
|
"skills/ingest",
|
|
"skills/maintain",
|
|
"skills/media-ingest",
|
|
"skills/meeting-ingestion",
|
|
"skills/minion-orchestrator",
|
|
"skills/perplexity-research",
|
|
"skills/query",
|
|
"skills/reports",
|
|
"skills/repo-architecture",
|
|
"skills/signal-detector",
|
|
"skills/skill-creator",
|
|
"skills/skillify",
|
|
"skills/skillpack-check",
|
|
"skills/soul-audit",
|
|
"skills/strategic-reading",
|
|
"skills/testing",
|
|
"skills/voice-note-ingest",
|
|
"skills/webhook-transforms"
|
|
],
|
|
"shared_deps": [
|
|
"skills/conventions",
|
|
"skills/_brain-filing-rules.md",
|
|
"skills/_brain-filing-rules.json",
|
|
"skills/_output-rules.md"
|
|
],
|
|
"excluded_from_install": [
|
|
"skills/setup",
|
|
"skills/migrate",
|
|
"skills/publish"
|
|
],
|
|
"openclaw": {
|
|
"compat": {
|
|
"pluginApi": ">=2026.4.0"
|
|
}
|
|
},
|
|
"contracts": {
|
|
"contextEngines": [
|
|
"gbrain-context"
|
|
]
|
|
}
|
|
}
|