Knowledge-to-Action System — Beyond Second Brain. AI reads knowledge, connects it, plans, and executes.
flowchart LR
MD["📝 Markdown"]
EMB["🧠 Embedding"]
VEC["🗄️ pgvector"]
GRAPH["🔗 Knowledge Graph"]
MEM["💭 Agent Memory"]
TASK["📋 Task Generation"]
EXEC["⚡ Execution"]
MD --> EMB --> VEC --> GRAPH --> MEM --> TASK --> EXEC
EXEC -.->|feedback loop| MD
knowledge-os/
├── src/ # Application code (Next.js + TypeScript)
├── knowledge/ # Markdown knowledge base (vault)
│ ├── concepts/ # Abstract ideas and domains
│ ├── projects/ # Active and archived projects
│ ├── people/ # Individuals and collaborators
│ ├── organizations/ # Companies and communities
│ └── technologies/ # Tools, frameworks, platforms
├── agents/ # AI agent definitions and tools
├── prompts/ # System prompts for agents
├── graph/ # Knowledge graph schema and pipeline
├── architecture/ # Architecture Decision Records (ADRs)
├── tasks/ # Task and milestone tracking
├── database/ # PostgreSQL migrations and schema
├── docs/ # Design documents and roadmap
└── .github/ # CI/CD workflows
| Layer | Technology |
|---|---|
| Frontend | Next.js (App Router), TypeScript, Tailwind, shadcn/ui |
| Backend | Supabase (PostgreSQL + Auth + Storage + Realtime) |
| API | tRPC (end-to-end typesafe) |
| Vector Search | pgvector (hybrid full-text + vector) |
| Knowledge Graph | Neo4j (entity-relationship store) |
| AI | OpenAI / Anthropic (LLM gateway) |
npm install
cp .env.example .env.local # Fill in your credentials
npm run devRun database/001_initial_schema.sql in your Supabase SQL Editor.
For knowledge graph features, deploy Neo4j (AuraDB or Docker) and configure the connection.
- Capture → Write in
knowledge/using Markdown - Link → Use
[[Wiki Links]]to connect concepts - Embed → Content is vectorized and stored in pgvector
- Graph → Entities and relationships extracted into Neo4j
- Reason → AI agents query the graph for context
- Plan → Agents generate tasks from knowledge gaps
- Execute → Tasks flow into project management
npm run build
vercel --prodSet all environment variables from .env.example in Vercel dashboard.