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.