Synaplan
开源 AI 软件平台,面向企业:自托管 AI 代理,符合 GDPR 的聊天机器人小部件,RAG 知识库,WhatsApp 与 Outlook AI,MCP,多模型路由。支持 Docker、Kubernetes 或在 Germ 托管。
AI 翻译
尚未检测到更新。GitHub 发布版本后会显示在这里。
Free, open-source project management for software teams: boards, tasks, issues, releases, clients, docs and team chat. Next.js + Supabase.
翻译准备中
正在加载完整 README。
查看完整 README ↗Free, open-source project management for software studios and teams. Kanban boards, tasks, issues, releases, clients, docs and team chat, across any number of organizations with one login, with private-by-default data.
Live app · Architecture · Contributing · Security · License: AGPL-3.0
mso-pm is an MCP server at
https://pm.mshinan.com/api/mcp (or /api/mcp on your own copy). Add that URL
in your AI app, sign in with your mso-pm account, and click Allow:
| App | Where |
|---|---|
| Claude (web and desktop) | Settings → Connectors → Add custom connector |
| ChatGPT | Settings → Connectors, with developer mode on |
| Claude Code | claude mcp add --transport http mso-pm https://pm.mshinan.com/api/mcp, then /mcp to sign in |
| Cursor | .cursor/mcp.json: { "mcpServers": { "mso-pm": { "url": "https://pm.mshinan.com/api/mcp" } } } |
| VS Code | .vscode/mcp.json: { "servers": { "mso-pm": { "type": "http", "url": "https://pm.mshinan.com/api/mcp" } } } |
Tools: list_organizations, list_projects, list_tasks, get_task,
create_task, update_task, add_comment. Then just ask, for example
"What's assigned to me in WEB?" or "Move WEB-41 to Review and comment that it's ready."
Every call runs as you, so the AI sees and changes only what you could in the app, and your teammates get the usual notifications.
Next.js 16 (App Router, Server Components) · Supabase (Postgres, Auth,
Realtime, Vault, pg_cron, pg_net, OAuth 2.1 server) · Tailwind CSS v4 ·
MCP (@modelcontextprotocol/server, @supabase/server) · Cloudflare R2 for
files · Resend for email · Vercel for hosting.
Every table has row-level security, so the database itself decides who can
read or change what: the UI only hides what you can't do. The model, schema
and trade-offs are in docs/ARCHITECTURE.md, and
tests/rls.test.ts checks them against a real database with real users.
Everything below fits in free tiers: Supabase (database and auth), Vercel Hobby (hosting, personal and non-commercial use), Cloudflare R2 (10 GB of files, free downloads) and Resend (3,000 emails a month).
Create a project at supabase.com.
cp .env.example .env.local and fill in the Supabase values (Project
Settings → API keys and Database → connection string, session pooler).
Apply the schema and make yourself the platform admin:
npm install
npm run db:push
node --env-file=.env.local scripts/platform-admin.mjs [email protected]
npm run dev # http://localhost:3000
Sign up with the email you made admin, confirm it with the code, and create an
organization. In Supabase → Authentication → URL Configuration, add your app's
URLs to the redirect list (http://localhost:3000/** and your production URL).
Supabase's built-in email only reaches members of your Supabase team, so add your own sender before inviting anyone:
In Resend, verify your domain and create an API key.
Supabase → Authentication → Emails → SMTP: host smtp.resend.com, port
465, user resend, the API key as password, and your sender address.
Store the same settings for notification emails (read from the environment, so the key never lands in your shell history):
RESEND_API_KEY=re_... node --env-file=.env.local scripts/email-setup.mjs "mso-pm <[email protected]>" https://your-app.example
After deploying (step 5), switch the sign-up and reset emails to codes:
node --env-file=.env.local scripts/auth-emails.mjs (needs
SUPABASE_ACCESS_TOKEN).
mso-pm-attachments) and add a CORS rule that
allows GET and PUT with header content-type from your app's origins.R2_ACCOUNT_ID, R2_ACCESS_KEY_ID, R2_SECRET_ACCESS_KEY and
R2_BUCKET in .env.local.Without R2, everything works except attachments, which say storage isn't set up.
以上为 README 的开头部分。其余内容请阅读原文。 查看完整 README ↗