{"id":29904392,"url":"https://github.com/stefanasandei/orion","last_synced_at":"2026-05-03T12:34:27.480Z","repository":{"id":306928038,"uuid":"908738496","full_name":"stefanasandei/orion","owner":"stefanasandei","description":"Orion is an open-source AI native self-learning platform. Write your content, query it using a agents, access your knowledge base.","archived":false,"fork":false,"pushed_at":"2025-07-28T12:32:31.000Z","size":2730,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-28T14:34:34.980Z","etag":null,"topics":["agent","agent-based","ai","llm","rag","research-tool","second-brain","self-learning","svelte","sveltekit","turborepo","typescript"],"latest_commit_sha":null,"homepage":"https://orion.asandei.com","language":"Svelte","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/stefanasandei.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-12-26T20:48:43.000Z","updated_at":"2025-07-28T12:32:35.000Z","dependencies_parsed_at":"2025-07-28T14:35:00.003Z","dependency_job_id":"9b39331a-dbe4-4360-95e5-22e3beea10a4","html_url":"https://github.com/stefanasandei/orion","commit_stats":null,"previous_names":["stefanasandei/orion"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/stefanasandei/orion","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stefanasandei%2Forion","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stefanasandei%2Forion/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stefanasandei%2Forion/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stefanasandei%2Forion/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/stefanasandei","download_url":"https://codeload.github.com/stefanasandei/orion/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stefanasandei%2Forion/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32569714,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-03T06:36:36.687Z","status":"ssl_error","status_checked_at":"2026-05-03T06:36:09.306Z","response_time":103,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agent","agent-based","ai","llm","rag","research-tool","second-brain","self-learning","svelte","sveltekit","turborepo","typescript"],"created_at":"2025-08-01T17:42:23.433Z","updated_at":"2026-05-03T12:34:27.460Z","avatar_url":"https://github.com/stefanasandei.png","language":"Svelte","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://w0ruri1sa4.ufs.sh/f/dTEi6PUzin8rfiKtzXdafX2uDkEY3v8mWc6OqLis7oxw5Ker\" width=\"300\"/\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n    accelerating self-learning | \u003ca href=\"https://orion.asandei.com\"\u003e website\u003c/a\u003e\u0026nbsp\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n \u003cimg src=\"https://w0ruri1sa4.ufs.sh/f/dTEi6PUzin8r9SYHzbu3pe8qCgD1WIcoxn6thiHryuMwlGYs\" \u003e\u003c/img\u003e\n\u003c/p\u003e\n\n\u003c!-- \u003e **Warning:**\n\u003e this is a work-in-progress and not the finished product. --\u003e\n\n\u003e **(RO) InfoEducatie:**\n\u003e\n\u003e Documentatia pentru concurs este disponibila [aici](https://ishortn.ink/orion-docs\n). Pentru rulat local sunt instructiuni folosind Docker sau fara, website-ul este de asemenea deployed pe https://orion.asandei.com. Restul readme-ului prezinta si structura proiectului in mare.\n\n# Purpose\n\nOrion is a mix of multiple apps, such as Notion, ChatGPT and any todo app. It's a hub for learning where you can organize your content and query it using AI agents, meaning you can use natural language to quickly find anything. You can quickly save any thought (text, image, pdf documents or links) to your library and they will be available in your knowledge base.\n\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"https://w0ruri1sa4.ufs.sh/f/dTEi6PUzin8rUsSBNXINbkm2atXhPzKELGDHIl1TAFsqprcC\" width=\"49.5%\"\u003e\u003c/img\u003e \u003cimg src=\"https://w0ruri1sa4.ufs.sh/f/dTEi6PUzin8rkpXY1x9lkYmPgLvbOHAfMtsGhEQaiT360x4B\" width=\"49.5%\"\u003e\u003c/img\u003e\n\n\u003cimg src=\"https://w0ruri1sa4.ufs.sh/f/dTEi6PUzin8rIQBU0OhUgZm2IlTczEHMLGjdxpBPY0ovJqeQ\" width=\"49.5%\"\u003e\u003c/img\u003e \u003cimg src=\"https://w0ruri1sa4.ufs.sh/f/dTEi6PUzin8rQITFnlNEnRc4Y1s68GBmHTapSuJtAOzeZbK2\" width=\"49.5%\"\u003e\u003c/img\u003e\n\u003c/p\u003e\n\nPlease click on any image to open it in a new tab!\n\n# Usage\n\nOrion is organized in workspaces, which hold multiple projects. You can organize documents in projects using directories or tags. A user has a knowledge base - which contains \"quick thoughts\" (texts, images, code snippets, PDFs) or documents. You can query the knowledge base using the dashboard, or from any page using the universal search (Search in the sidebar or CTRL + K).\n\nTo get started, create a workspace during the onboarding. Create a project from the sidebar, you can write the documents using the rich text editor. Add short notes from the dashboard, and you can also use the chat interface from the dashboard.\n\nTo chat with a PDF, choose it from your library or from a project and click the chat. Choose suggested questions or write your own.\n\n# Local deployment\n\nBefore any of the steps, make sure you have filled in `./apps/web/.env` with the API keys. The `IS_PRODUCTION` variable determines if the app should use Ollama for LLMs (won't work in docker, only for local dev) or OpenRouter.\n\nAlso make sure you have changed the `packages/api/src/enabled-ai.ts` file to your user id (you can find it in the db studio, after the sign up). Otherwise the AI features will be down - the rest of the app does work without AI (to reduce costs, while billing is a work in progress).\n\n## Database setup\n\nFor the database, it's easiest to just use Neon, with the **pgvector** extension enabled. Because they have a special driver with websockets, it's harder to also make everything work with a normal postgresql local db. You have to add the database connection URL to `./apps/web/.env` and `./packages/db/.env`.\n\n1. Enable the pgvector extension in Neon (run `CREATE EXTENSION IF NOT EXISTS vector;` in console)\n2. Run `db:push` to setup the schema\n3. Run `db:seed` to add some initial data (default user account: email \u0026 password are `asandei.stefanel@gmail.com`)\n\n## Docker\n\n1. Build the image\n\n```\ndocker build -t orion .\n```\n\n2. Run a container\n\n```\ndocker run -p 4173:4173 orion\n```\n\nThe app should be running on http://localhost:4173\n\n## Development server\n\n1. Fill in `./apps/web/.env`, following `./apps/web/.env.example`.\n\n2. Install dependencies for the monorepo (can use `npm` instead, but `pnpm` should save save):\n\n```\npnpm install\n```\n\n3. Run the development server\n\n```\npnpm dev\n```\n\nOther useful commands are `test:unit` (run unit tests), `db:studio` (start drizzle studio, view database state), `db:push` (apply database migrations to the remote db).\n\n# Resources\n\nDirectory structure:\n\n```\n.\n├── apps\n│   └── web\n# SvelteKit app: frontend \u0026 backend\n├── LICENSE\n├── node_modules\n├── package.json\n├── packages\n│   ├── agent\n# Utility functions for LLM agents\n│   ├── api\n# tRPC procedures for the backend\n│   ├── auth\n# Utility functions for core auth\n│   ├── config\n│   ├── core\n│   └── db\n# Database schema declaration\n├── pnpm-lock.yaml\n├── pnpm-workspace.yaml\n├── README.md\n├── tests\n│   ├── e2e\n│   └── unit\n# Unit tests\n└── turbo.json\n```\n\nThird party services used:\n- Neon: hosted postgresql database\n- GitHub: oauth\n- Upstash: hosted redis database\n- Google Recaptcha\n- Resend: hosted email server\n- Uploadthing: hosted (free) storage service\n- Cohere: good embeddings model (used for vector search)\n- OpenRouter: API for LLMs\n- Exa: web search API\n\nTech stack: Turborepo, SvelteKit, tRPC, Drizzle, PostgreSQL, Redis, Tailwind.\n\nThe project can be used locally completly for ***free***. All 3rd party services have good free tiers, and for the LLMs you can use Ollama or *free* models from OpenRouter (given they support tool calls and they're not down).\n\n# License\n\nOrion is open source and available under the [GPL v3](./LICENSE) license.\n\nCopyright 2025 [Asandei Stefan-Alexandru](https://asandei.com) \u0026 Ciobanu Andrei-Mihai. All rights reserved.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstefanasandei%2Forion","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstefanasandei%2Forion","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstefanasandei%2Forion/lists"}