family-ai-agent
v1.0.12
Published
Multi-agent AI system with memory and autonomous capabilities
Maintainers
Readme
Family AI Agent
Multi-agent AI system with memory and autonomous capabilities. Built with TypeScript, LangGraph.js, and OpenRouter.
Features
Multi-Agent Architecture: Supervisor agent routes tasks to specialized agents
- 🗣️ Kakak (Chat): General conversation and Q&A
- 🔍 Researcher: Web search and information gathering
- 💻 Coder (Adik): Code generation, debugging, and review
- ⚙️ Automator: Task scheduling and workflow automation
Memory System:
- Conversation memory (session context)
- Long-term memory (vector search with pgvector)
- Knowledge base (RAG for documents)
Safety Features:
- Input validation and content filtering
- Output sanitization and PII detection
- Audit logging
- Sandboxed code execution (Docker)
Quick Start
Prerequisites
- Node.js 20+
- Docker & Docker Compose
- OpenRouter API key
Installation
# Clone and install dependencies
npm install
# Copy environment file and configure
cp .env.example .env
# Edit .env with your OPENROUTER_API_KEY
# Start database
docker-compose up -d
# Run the CLI
npm run cli chatCLI Commands
# Interactive chat mode
npm run cli chat
# Single question
npm run cli ask "How do I create a REST API in Node.js?"
# Upload document to knowledge base
npm run cli upload ./document.pdf
# Search knowledge base
npm run cli search "authentication patterns"
# Check system status
npm run cli statusProgrammatic Usage
import { quickStart } from 'family-ai-agent';
const ai = await quickStart();
// Ask questions
const response = await ai.ask("Write a function to calculate fibonacci");
console.log(response);
// Store memories
await ai.remember("User prefers TypeScript over JavaScript");
// Search memories
const memories = await ai.search("programming preferences");
// Cleanup
await ai.shutdown();Architecture
┌─────────────────────────────────────────────────────┐
│ CLI / API Interface │
└─────────────────────────────────────────────────────┘
│
┌─────────────────────────────────────────────────────┐
│ Supervisor Agent (Coordinator) │
│ ┌──────────┬──────────┬──────────┬──────────┐ │
│ │ Research │ Coding │Automation│ Chat │ │
│ │ Agent │ Agent │ Agent │ Agent │ │
│ └──────────┴──────────┴──────────┴──────────┘ │
└─────────────────────────────────────────────────────┘
│
┌─────────────────────────────────────────────────────┐
│ Memory Layer │
│ ┌────────────┬─────────────┬──────────────────┐ │
│ │Conversation│ Long-term │ Knowledge Base │ │
│ │ Memory │ Memory │ (RAG) │ │
│ └────────────┴─────────────┴──────────────────┘ │
└─────────────────────────────────────────────────────┘Configuration
Key environment variables:
| Variable | Description | Default |
|----------|-------------|---------|
| OPENROUTER_API_KEY | OpenRouter API key | Required |
| DEFAULT_MODEL | Default LLM model | anthropic/claude-3.5-sonnet |
| DB_HOST | PostgreSQL host | localhost |
| ENABLE_CONTENT_FILTER | Enable safety filters | true |
| ENABLE_AUDIT_LOGGING | Enable audit logs | true |
Development
# Development mode with hot reload
npm run dev
# Build
npm run build
# Run tests
npm test
# Lint
npm run lintProject Structure
src/
├── core/
│ ├── agents/ # Agent implementations
│ └── orchestrator/ # LangGraph workflow
├── memory/
│ ├── conversation/ # Session memory
│ ├── longterm/ # Vector memory
│ └── knowledge-base/ # RAG system
├── safety/
│ └── guardrails/ # Input/output filtering
├── llm/ # OpenRouter client
├── api/ # REST API (future)
└── cli/ # CLI interfaceLicense
MIT
