Synaplan
開源 AI 平台,供企業使用:自行託管的 AI 代理、符合 GDPR 的聊天機器人小工具、RAG 知識庫、WhatsApp 與 Outlook AI、MCP、多模型路由。Docker、Kubernetes 或託管於 Germ
AI 翻譯
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證Lightweight project management with kanban boards and agent-friendly CLI
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗A kanban board that people and AI agents share. You use the web board; your agents use a CLI or the REST API on the same cards. It is a small Next.js app on Postgres that you run yourself.
agentboard CLI (npm install -g agentboard) or plain HTTP. An agent registers itself the first time it touches a card, so its work is attributed to it.You need Node.js 20.9 or newer and a Postgres database. The repo includes a Docker Compose file for a local one.
git clone https://github.com/stratuslabs/agentboard.git
cd agentboard
npm install
docker compose up -d # local Postgres on port 5432
cp .env.example .env.local # then set POSTGRES_URL, below
In .env.local, point POSTGRES_URL at the database. For the Docker one:
POSTGRES_URL=postgresql://agentboard:agentboard@localhost:5432/agentboard
Then create the tables, optionally add sample data, and start it:
npm run db:setup
npm run db:seed # optional: two sample orgs with a few products
npm run dev
Open http://localhost:3000. With APP_PASSWORD unset there is no login, which is fine on your own machine and nowhere else (see Security).
To look around, or to test a change against a board that already has work on it, one command does the lot (after npm install):
npm run demo
It starts the Docker Compose Postgres, creates a separate agentboard_demo database (so it never touches the one in your .env.local), sets it up, fills it with sample data and starts the app at http://localhost:3000. The sample data is two people, two agents, and a Development board on Acme Corp / Web App with cards in every column, some with sub-tasks, due dates and links.
Running it again keeps whatever you changed and adds nothing. Options:
npm run demo -- --reset drops agentboard_demo and starts over.npm run demo -- --no-start sets up and seeds, then exits.npm run demo -- --port 3001 uses another port.AGENTBOARD_DEMO_DATABASE_URL=postgresql://user:pass@host:5432/agentboard_demo npm run demo. The database has to exist already, and --reset doesn't apply.node scripts/seed.js --demo adds the same sample data to whatever database POSTGRES_URL points at, once per install.
In the app, open Settings → Connect an agent and copy the prompt into your agent (Claude Code, Codex, Cursor, or anything with a shell). It tells the agent how to install the CLI and which variables to set. To do it by hand:
npm install -g agentboard
export AGENTBOARD_URL=http://localhost:3000
export AGENTBOARD_TOKEN=your-app-password # only if APP_PASSWORD is set
export AGENTBOARD_AGENT_NAME=Claude # cards it creates are filed under this name
export AGENTBOARD_PRODUCT=web-app # the product slug, as in /acme-corp/web-app
agentboard list # what's on the board
agentboard new "Fix the login bug" --priority high
agentboard status <id> doing
agentboard notes <id> --append "Found it: the session cookie expired early"
agentboard status <id> done
The CLI has no dependencies. Every command takes --json for scripts and --quiet for ids only. The full command list is in cli/README.md.
Prefer HTTP? Every action is an API route, authenticated with Authorization: Bearer <APP_PASSWORD>. See the API reference.
The button clones the repo, provisions a Neon Postgres database through the Vercel Marketplace, and asks for APP_PASSWORD. Set one. Without it, the board and its whole API are open to anyone with the URL.
There is no database step: the integration supplies the connection string (as POSTGRES_URL or DATABASE_URL, depending on its version, and the app reads either) and the schema is created on the first request. If the flow doesn't offer a database, add one from the project's Storage tab and redeploy. Any Postgres works.
APP_PASSWORDThe schema is created on the first request. To create it up front instead:
vercel env pull .env.local
npm run db:setup
Any machine with Node.js 20.9+ and a Postgres it can reach:
npm ci
npm run build
POSTGRES_URL=postgresql://... APP_PASSWORD=... npm start # port 3000; set PORT to change it
npm start also reads .env.local if you would rather keep the variables there. Keep dev dependencies installed: next is one, and the server needs it at runtime. Behind a reverse proxy, read the proxy notes in Security.
| Variable | Required | Description |
|---|---|---|
POSTGRES_URL | Yes | Postgres connection string. Any Postgres works: local, Neon, Supabase, RDS. DATABASE_URL is accepted as a fallback |
APP_PASSWORD | No | One password for the web app and the API. Unset means no auth at all |
POSTGRES_POOL_MAX | No | Max pooled connections per process (default 5) |
DIRECT_POSTGRES_URL | No | A direct (unpooled) connection, used only for LISTEN, which a transaction-mode pooler can't do. Needed only when POSTGRES_URL is a pooled endpoint; without it live updates poll instead |
SSE_MAX_SECONDS | No | How long a live-update stream stays open before the client reconnects (default 240). Exists because serverless platforms cap streaming responses |
SSE_POLL_MS | No | Poll interval for live updates when there's no LISTEN connection (default 2000) |
TZ | No | Default timezone for date calculations, e.g. America/New_York |
.env.example explains each one in more detail.
AgentBoard uses one shared password rather than user accounts. That's a deliberate trade-off for a small self-hosted tool, and it shapes how you should run it:
APP_PASSWORD on anything reachable from the internet. Unset, every board and every API route is open with no login. That mode is for localhost only.Origin are rejected, and the session cookie is httpOnly and SameSite=Lax.X-Forwarded-Host (or preserve Host) and set X-Real-IP. The first is needed for the origin check to pass, the second for throttling to tell clients apart.Found a vulnerability? See SECURITY.md.
@stratuslabs/agentboard-core, that a larger app can mount. Early, and not published to npmBuilt with Next.js 16, React 19, Tailwind CSS 4, pg and dnd-kit.
Source available: free to use for yourself and your team, but you can't resell it or offer it as a hosted service. See LICENSE.