[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-81501":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":9,"language":10,"languages":9,"totalLinesOfCode":9,"stars":11,"forks":12,"watchers":11,"openIssues":13,"contributorsCount":14,"subscribersCount":14,"size":14,"stars1d":14,"stars7d":14,"stars30d":15,"stars90d":14,"forks30d":14,"starsTrendScore":14,"compositeScore":16,"rankGlobal":9,"rankLanguage":9,"license":17,"archived":18,"fork":18,"defaultBranch":19,"hasWiki":20,"hasPages":18,"topics":21,"createdAt":9,"pushedAt":9,"updatedAt":22,"readmeContent":23,"aiSummary":24,"trendingCount":14,"starSnapshotCount":14,"syncStatus":13,"lastSyncTime":25,"discoverSource":26},81501,"emilie","veronica-builds\u002Femilie","veronica-builds","Swiss sovereign legal AI. Fork of Mike, extended with MCP client and local model support (Apertus). Named after Emilie Kempin-Spyri.",null,"TypeScript",28,10,2,0,1,3.12,"GNU Affero General Public License v3.0",false,"main",true,[],"2026-06-12 02:04:16","# Emilie\n\nA fork of [Mike](https:\u002F\u002Fgithub.com\u002Fwillchen96\u002Fmike), extended for Swiss sovereign legal AI.\n\nNamed after **Emilie Kempin-Spyri** (1853–1901) — the first woman in Europe to earn a law degree, who was then denied the right to practice it in Switzerland. She deserves to be in the stack.\n\n---\n\n## What it does\n\nEmilie is a document assistant for legal work. You upload legal documents (DOCX, PDF) and work with them through a chat interface powered by a local or managed LLM. Core capabilities:\n\n- **Document chat**: ask questions, extract clauses, summarize, compare versions\n- **Projects**: organize documents into matters or workspaces, share with colleagues by email\n- **Tabular review**: run structured clause extraction across a set of documents simultaneously\n- **Workflows**: define reusable AI workflows that run against documents automatically\n- **Version tracking**: upload revised documents and track changes across versions\n- **Swiss case law search**: query federal and cantonal court decisions mid-conversation via MCP\n\nAll processing runs on infrastructure you control. No document content leaves your environment unless you configure a cloud model as fallback.\n\n---\n\n## What is different from Mike\n\nEmilie adds three capabilities on top of Mike's core document assistant:\n\n### Sovereign auth\n\nMike relies on Supabase for user authentication. Emilie replaces this with custom JWT + bcrypt directly against Postgres — no third-party auth service, no data leaving your infrastructure. Users and sessions are stored in your own database.\n\n### MCP client\n\nEmilie connects to any [Model Context Protocol](https:\u002F\u002Fmodelcontextprotocol.io) server and exposes its tools directly to the LLM. Configure servers in `MCP_SERVERS` and they are available in every conversation without code changes.\n\nThe following Swiss legal data sources are open, free, and MCP-ready:\n\n| Source | Coverage | Auth |\n|---|---|---|\n| [Entscheidsuche](https:\u002F\u002Fentscheidsuche.ch) | Federal + 22 cantonal courts, de\u002Ffr\u002Fit | None |\n| [OpenCaseLaw.ch](https:\u002F\u002Fopencaselaw.ch) | 971K+ decisions (1875–present), all 26 cantons, citation graph, legislation | None |\n| [Online Kommentar](https:\u002F\u002Fonlinekommentar.ch) | Swiss legal commentaries, article-level, multilingual | None |\n| [Fedlex](https:\u002F\u002Ffedlex.data.admin.ch) | Complete Swiss federal legislation, all 3 national languages | None |\n\n### Local model support\n\nEmilie routes to any OpenAI-compatible inference endpoint — no OpenAI dependency. Point `VLLM_BASE_URL` at a local or managed server and select \"Local Model\" in the UI.\n\nRecommended model: **[Apertus](https:\u002F\u002Fwww.swiss-ai.org\u002Fapertus)**, the open-weights LLM developed by ETH Zurich, EPFL, and the Swiss National Supercomputing Centre. Apache 2.0 licensed. Trained across 1,000+ languages with strong coverage of Swiss national languages.\n\nTwo deployment paths:\n\n| Path | How | Data stays |\n|---|---|---|\n| Self-hosted | Run Apertus via [vLLM](https:\u002F\u002Fgithub.com\u002Fvllm-project\u002Fvllm) on your own hardware | Your infrastructure |\n| Managed Swiss | [Infomaniak AI Tools](https:\u002F\u002Fwww.infomaniak.com\u002Fen\u002Fhosting\u002Fai-services) — hosts Apertus in Swiss data centers | Switzerland |\n\n---\n\n## Sovereign stack\n\n| Layer | Option |\n|---|---|\n| Auth | Custom JWT + bcrypt — no third-party service |\n| Database | Postgres (self-hosted, Infomaniak VPS, or any provider) |\n| LLM | Apertus (self-hosted via vLLM) or Infomaniak AI Tools |\n| Case law | Entscheidsuche, OpenCaseLaw.ch, Fedlex, Online Kommentar — all free and open |\n| Object storage | [Infomaniak Object Storage](https:\u002F\u002Fwww.infomaniak.com\u002Fen\u002Fhosting\u002Fcloud-object-storage) (S3-compatible, Switzerland) |\n| App | Emilie, self-hosted |\n\nCloud providers (Anthropic, Google) remain available as fallback but are not required.\n\n---\n\n## Setup\n\nInstall dependencies:\n\n```bash\nnpm install --prefix backend\nnpm install --prefix frontend\n```\n\nCreate and fill in env files:\n\n```bash\ncp backend\u002F.env.example backend\u002F.env\ncp frontend\u002F.env.local.example frontend\u002F.env.local\n```\n\nGenerate a JWT secret and add it to `backend\u002F.env`:\n\n```bash\nopenssl rand -base64 48\n# → paste result as JWT_SECRET=\u003Coutput>\n```\n\nRun the schema migration against your Postgres database:\n\n```bash\npsql \"$DATABASE_URL\" -f backend\u002Fmigrations\u002F000_one_shot_schema.sql\n```\n\nStart backend:\n\n```bash\nnpm run dev --prefix backend\n```\n\nStart frontend:\n\n```bash\nnpm run dev --prefix frontend\n```\n\nOpen `http:\u002F\u002Flocalhost:3000`.\n\n---\n\n## Required services\n\n- **Postgres**: Any Postgres database. Auth is handled by Emilie directly using JWT + bcrypt — no third-party auth service required. For a sovereign deployment, run Postgres on your own infrastructure or an Infomaniak VPS.\n- **Object storage**: Any S3-compatible store. Infomaniak Object Storage (Switzerland) is the recommended option.\n- **Model**: A local inference endpoint via `VLLM_BASE_URL` (Apertus via vLLM, or Infomaniak AI Tools). Anthropic and Gemini API keys are supported as a fallback but route documents through US cloud servers.\n- **LibreOffice**: Required for DOC\u002FDOCX to PDF conversion. Runs entirely locally — no data leaves your machine. Maintained by The Document Foundation (German non-profit, open-source).\n\n---\n\n## Local model configuration\n\nAdd to `backend\u002F.env`:\n\n```env\n# Option A: self-hosted Apertus via vLLM\nVLLM_BASE_URL=http:\u002F\u002Flocalhost:8000\u002Fv1\nVLLM_MAIN_MODEL=\u003Capertus-model-id>\n\n# Option B: Infomaniak AI Tools (Swiss managed, includes Apertus)\nVLLM_BASE_URL=https:\u002F\u002Fapi.infomaniak.com\u002F2\u002Fai\u002F\u003Cproduct_id>\u002Fopenai\u002Fv1\nVLLM_API_KEY=\u003Cinfomaniak-api-key>\nVLLM_MAIN_MODEL=apertus\n```\n\nSelect \"Local Model\" in the chat model picker once `VLLM_BASE_URL` is set.\n\n---\n\n## MCP configuration\n\nAdd to `backend\u002F.env`:\n\n```env\nMCP_SERVERS=[\n  {\"name\":\"entscheidsuche\",\"url\":\"https:\u002F\u002Fmcp.entscheidsuche.ch\u002Fmcp\"},\n  {\"name\":\"opencaselaw\",\"url\":\"https:\u002F\u002Fmcp.opencaselaw.ch\u002Fmcp\"},\n  {\"name\":\"fedlex\",\"url\":\"https:\u002F\u002Ffedlex-connector.ch\u002Fmcp\"}\n]\n```\n\nMultiple servers are supported. Each server's tools appear automatically in every conversation. API keys are optional — omit the `apiKey` field for servers that require no authentication.\n\n---\n\n## Checks\n\n```bash\nnpm run build --prefix backend\nnpm run build --prefix frontend\nnpm run lint --prefix frontend\n```\n\n---\n\n## License\n\nAGPL-3.0-only. See `LICENSE`.\n\nThis project is a fork of [Mike](https:\u002F\u002Fgithub.com\u002Fwillchen96\u002Fmike) by Will Chen, used under AGPL-3.0.\n","Emilie是一个面向瑞士法律领域的文档助手，支持DOCX和PDF格式的法律文件处理。项目基于Mike扩展而来，增加了MCP客户端支持以及本地模型兼容性（如Apertus），允许用户通过聊天界面与文档互动，执行包括文档问答、条款提取、版本对比等功能，并能组织文档为项目或工作空间，便于团队协作。特别地，Emilie引入了自定义JWT认证机制以确保数据安全，同时提供了对接多种公开瑞士法律资源的能力，使得在对话过程中可以实时查询相关案例。适合需要高隐私保护且对本地化法律信息有需求的法律工作者使用。所有处理都在用户控制的基础架构上完成，除非明确配置云服务作为后备选项，否则文档内容不会离开用户的环境。","2026-06-11 04:05:17","CREATED_QUERY"]