TreeMap
A free, open-source disk-space visualizer. Squarified treemap, duplicate hunting, disk-full forecasting, and cleanup that only ever moves files to the Trash.
翻译准备中
An online workspace for small dev teams: Markdown notes, tasks, projects and meetings with live sync. The AI runs on your own computer with Ollama, so prompts never reach our servers. Data hosted in C
翻译准备中
效率工具TypeScript · PLpgSQLGitHub @SamuelRosengarten在线运营者未确认
试用过了吗? 点一下就好,无需登录。
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证A private, single-user second brain for notes, tasks, projects, and meetings. A local AI (Ollama) suggests completed tasks from your own GitHub commits and pull requests, and you approve each one.
翻译准备中
取自仓库 README
正在加载完整 README。
查看完整 README ↗Modern productivity tools have backed knowledge workers into a corner: your thoughts, journals, plans, and confidential projects are stored in remote cloud databases, monetized through subscriptions, held hostage behind proprietary sync protocols, and ingested to train third-party AI models. When the server goes down, your network drops, or a SaaS vendor pivots, your second brain vanishes.
Synapse OS is the antidote.
Synapse OS is an open, private, local-first personal knowledge operating system designed to manage your notes, tasks, projects, meetings, and ideas with uncompromising performance and complete autonomy.
.md) files that remain readable in any text editor for the next 50 years. Metadata and relationships are indexed in an open SQLite database you can inspect with standard SQL tools.127.0.0.1, keeping your thoughts, questions, and embeddings strictly confined to your hardware.Engage in deep, contextual conversations with your knowledge base without transmitting a single byte over the Internet.
Your ideas should outlive any application.
[[Note Title]] syntax and explore your interconnected web of ideas through an interactive force-directed graph.Instantaneous recall across your entire repository.
better-sqlite3) with WAL (Write-Ahead Logging) enabled.Synapse OS is architected for extreme responsiveness, simplicity, and rock-solid reliability. We deliberately favor plain SQL, explicit data flows, and minimal abstractions over heavy ORMs.
┌────────────────────────────────────────────────────────┐
│ Next.js UI │
│ (React 19, Server Components, Tailwind CSS) │
└───────────────┬────────────────────────┬───────────────┘
│ │
Server Actions / APIs Local REST / Chat
│ │
▼ ▼
┌──────────────────────────────┐ ┌──────────────┐
│ Core Lib Engine │ │ Ollama LLM │
│ (TypeScript + Zod) │ │ (127.0.0.1) │
└───────┬──────────────┬───────┘ └──────────────┘
│ │
▼ ▼
┌───────────────┐ ┌───────────────┐
│ SQLite (WAL) │ │ Markdown │
│ better-sqlite3│ │ Vault Folder │
└───────────────┘ └───────────────┘
| Layer | Technology | Rationale |
|---|---|---|
| Framework | Next.js (App Router, React 19) | Modern server components, instantaneous Server Actions, and strict zero-bundle-overhead rendering. |
| Language | TypeScript | End-to-end type safety across domain logic, database records, and UI components. |
| Styling | Tailwind CSS | Cohesive dark-neutral design system crafted for deep focus and long reading sessions. |
| Database | SQLite via better-sqlite3 | Synchronous, ultra-low-latency embedded database in WAL mode with plain SQL queries—no ORM overhead. |
| Schema Migrations | Plain SQL Migrations (migrations/*.sql) | Numbered, transactional, append-only migration pipeline executed safely on boot. |
| Local AI | Ollama | Standardized REST API for on-device, GPU-accelerated open-weights model inference. |
| Validation | Zod | Strict runtime validation for forms, API endpoints, and configuration schemas. |
| Testing |
Synapse is one Next.js app for synapse-os.ca: the public website (src/app/(public)), login (src/app/(auth)) and the app (src/app/(app)). In production the app and login run on app.synapse-os.ca (set by NEXT_PUBLIC_APP_URL); src/proxy.ts maps app.synapse-os.ca/notes to the /app/notes route. Without that variable (local development, previews) the app stays under /app. To try the subdomain locally, set NEXT_PUBLIC_APP_URL=http://app.localhost:3000 and NEXT_PUBLIC_SITE_URL=http://localhost:3000, then open http://app.localhost:3000. Data lives in Supabase; the AI runs in each user's own Ollama, called from the browser.
ollama pull qwen3:8bgit clone https://github.com/SamuelRosengarten/Synapse-OS.git
cd Synapse-OS
npm install
npm run db:start # local Supabase in Docker (first run downloads a few GB)
npx supabase status -o env
Copy .env.example to .env.local and fill in NEXT_PUBLIC_SUPABASE_URL, NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY and SUPABASE_SECRET_KEY from the API_URL, PUBLISHABLE_KEY and SECRET_KEY lines of supabase status.
Public sign-up is off. npm run db:reset loads two local test users from supabase/seed.sql: [email protected] and [email protected], both with the password dev-password. They exist only in the local database. Emails sent by the local stack (password resets) appear at http://127.0.0.1:54324.
SYNAPSE_LEGACY=1 keeps the not-yet-ported SQLite pages (meetings, ...) under /app on your machine. Leave it out to see exactly what Vercel serves.
Docker Desktop must be running, and .env.local must point at the local stack (http://127.0.0.1:54321; the script refuses anything else).
git switch S2-8-notes-ui # the branch to try
npm run db:start # once per boot
npm run dev:fresh # resets the LOCAL database (applies the branch's migrations), then starts the app
Open http://127.0.0.1:3000/login and sign in as [email protected] / dev-password. Use a private window with [email protected] to check that two users do not see each other's data.
npm run dev:app starts the app without resetting the database. Both show the Supabase pages only, like the live site. Add -- --legacy to also see the old SQLite pages. npm run dev:fresh erases the local data each time, never the cloud project's.
npm run dev # http://127.0.0.1:3000
npm test # unit tests (no database needed)
npm run test:int # integration tests against the local Supabase (db:start first)
npm run db:test # pgTAP tests: row-level security, triggers, beta requests
npm run typecheck
npm run build
| Variable | Production | Preview | Notes |
|---|---|---|---|
NEXT_PUBLIC_SUPABASE_URL | https://<project-ref>.supabase.co | same | Supabase > Project Settings > API Keys |
NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY | sb_publishable_... | same | Safe in the browser; RLS applies |
SUPABASE_SECRET_KEY | sb_secret_... | same | Server only. Never add a NEXT_PUBLIC_ prefix. Mark it "Sensitive" |
NEXT_PUBLIC_SITE_URL | https://synapse-os.ca | (leave unset) | Previews use their own VERCEL_URL |
NEXT_PUBLIC_APP_URL | https://app.synapse-os.ca | (leave unset) | The app's own host; previews keep the app under /app. Add the domain in Vercel > Project Settings > Domains |
BETA_IP_SALT | a long random string | same | Hashes visitor IPs for the beta form rate limit |
Do not set SYNAPSE_LEGACY on Vercel: SQLite cannot run there, and without it the unported pages answer 404.
https://synapse-os.cahttps://app.synapse-os.ca/** (production: login and email links run on the app's host)https://synapse-os.ca/**https://*-<your-vercel-team>.vercel.app/** (preview deployments)supabase/templates/invite.html ("Invite user") and supabase/templates/recovery.html ("Reset password"). Their links go to /auth/confirm, which the app needs to start the session on the server.npx supabase login, npx supabase link --project-ref <project-ref>, then npx supabase db push.beta_requests.Each user's Ollama must allow the site. Set the environment variable OLLAMA_ORIGINS=https://app.synapse-os.ca and restart Ollama. Chrome and Edge then ask once to let the site reach apps on this device. Safari does not allow it. The Local AI page (app.synapse-os.ca/ai) checks all of this and explains what to fix.
Synapse OS is designed to fit naturally into your daily thinking and working routine. Here is the recommended workflow to get the most out of it:
{SYNAPSE_DATA_DIR}/notes as plain .md files.Synapse-OS/
├── migrations/ # Append-only, numbered SQL migrations
├── public/ # Static branding and assets
├── src/
│ ├── app/ # Next.js App Router (pages, layouts, and server actions)
│ │ ├── ask/ # Local AI Chat interface
│ │ ├── notes/ # Markdown notes & vault view
│ │ ├── tasks/ # Task manager & dependency graph
│ │ ├── projects/ # Project dashboards
│ │ ├── search/ # Full-text SQLite search
│ │ └── settings/ # Local AI & user preferences
│ └── lib/ # Core business logic (plain SQL, pure functions)
│ ├── ai/ # Ollama client and prompt routines
│ ├── db.ts # SQLite database connection & WAL management
│ ├── migrate.ts # Transactional migration runner
│ ├── notes.ts # Note CRUD & frontmatter extraction
│ ├── reindex.ts # File-system vault scanner & reconciler
│ └── search.ts # Keyword & full-text search matching
└── tasks/ # Structured project milestones and roadmap
127.0.0.1. It does not listen on public interfaces unless explicitly configured behind a trusted reverse proxy (such as Tailscale).Synapse OS is open-source software built for those who value privacy, control, and craft.
| 400+ lightning-fast in-memory database and domain unit tests. |