Initial commit: RA-H Open Source Edition

Local-first knowledge management system with BYO API keys.

Features:
- 3-panel UI (Nodes | Focus | Helpers)
- SQLite + sqlite-vec for vector search
- Agent system (Easy/Hard mode orchestrators)
- Content extraction (YouTube, PDF, web)
- Integrate workflow for connection discovery
- Dimension system with auto-assignment

Tech stack:
- Next.js 15 + TypeScript + Tailwind CSS
- Anthropic (Claude) + OpenAI (GPT) via Vercel AI SDK

Setup:
  npm install && npm rebuild better-sqlite3
  scripts/dev/bootstrap-local.sh
  npm run dev

MIT License
This commit is contained in:
“BeeRad”
2025-12-15 16:14:28 +11:00
commit 733d1c3407
226 changed files with 46231 additions and 0 deletions
+67
View File
@@ -0,0 +1,67 @@
{
"name": "ra-h-open-source",
"version": "0.1.0",
"private": false,
"description": "RA-H Open Source local-first research workspace with BYO API keys",
"license": "MIT",
"author": "Bradley Morris",
"scripts": {
"dev": "NEXT_PUBLIC_DEPLOYMENT_MODE=local NEXT_PUBLIC_ENABLE_SUBSCRIPTION_BACKEND=false NODE_OPTIONS=\"--dns-result-order=ipv4first\" next dev",
"clean:local": "bash ./scripts/dev/clean-local-artifacts.sh",
"audit:repo": "bash ./scripts/dev/audit-repo.sh",
"build": "NEXT_PUBLIC_DEPLOYMENT_MODE=local NEXT_PUBLIC_ENABLE_SUBSCRIPTION_BACKEND=false NODE_OPTIONS=\"--dns-result-order=ipv4first\" next build",
"start": "NEXT_PUBLIC_DEPLOYMENT_MODE=local NEXT_PUBLIC_ENABLE_SUBSCRIPTION_BACKEND=false NODE_OPTIONS=\"--dns-result-order=ipv4first\" next start",
"lint": "next lint",
"type-check": "tsc --noEmit",
"setup": "npm install",
"sqlite:backup": "bash scripts/database/sqlite-backup.sh",
"sqlite:restore": "bash scripts/database/sqlite-restore.sh"
},
"dependencies": {
"@ai-sdk/anthropic": "^2.0.27",
"@ai-sdk/openai": "^2.0.22",
"@ai-sdk/react": "^2.0.26",
"@langchain/core": "^1.0.1",
"@langchain/textsplitters": "^0.1.0",
"@radix-ui/react-checkbox": "^1.1.1",
"@radix-ui/react-dropdown-menu": "^2.1.1",
"@radix-ui/react-label": "^2.1.0",
"@radix-ui/react-slot": "^1.1.0",
"ai": "^5.0.68",
"better-sqlite3": "^12.2.0",
"cheerio": "^1.1.2",
"class-variance-authority": "^0.7.0",
"clsx": "^2.1.1",
"lucide-react": "^0.468.0",
"next": "latest",
"next-themes": "^0.4.3",
"openai": "^4.103.0",
"pdf-parse": "^1.1.1",
"pdfjs-dist": "^5.4.296",
"react": "19.0.0",
"react-dom": "19.0.0",
"tailwind-merge": "^2.5.2",
"uuid": "^11.1.0",
"youtube-captions-scraper": "^2.0.3",
"youtube-transcript": "^1.2.1",
"youtube-transcript-plus": "^1.1.1",
"ytdl-core": "^4.11.5",
"zod": "^3.25.76"
},
"devDependencies": {
"@types/better-sqlite3": "^7.6.13",
"@types/node": "22.10.2",
"@types/react": "^19.0.2",
"@types/react-dom": "19.0.2",
"@types/uuid": "^10.0.0",
"autoprefixer": "^10.4.20",
"esbuild": "^0.23.1",
"eslint": "^8.57.0",
"eslint-config-next": "latest",
"postcss": "^8.4.49",
"prettier": "^3.3.3",
"tailwindcss": "^3.4.17",
"tailwindcss-animate": "^1.0.7",
"typescript": "^5.7.2"
}
}