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
68 lines
2.4 KiB
JSON
68 lines
2.4 KiB
JSON
{
|
||
"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"
|
||
}
|
||
}
|