内容
简单而有效的看板工具。不臃肿,无需登录,无需SaaS。
以JSON为支持的看板,配备REST API、MCP服务器和深色UI。适用于希望在不增加负担的情况下跟踪任务的开发者。
## 截图


## 快速开始
```bash
uv sync
uv tool install .
sanban # http://localhost:8900
```
网络服务器独立运行。代理通过MCP单独连接。
## 功能
- 多个看板,自定义列
- 列之间拖拽
- 优先级、努力程度、标签、指派人、截止日期
- 全文搜索和筛选
- 标题和描述支持Markdown(代码块支持语法高亮)
- 每个卡片都有编辑和删除按钮
- 快捷键( `/` 搜索,`n` 新建,`e` 展开)
- 通过MCP服务器支持代理
## 为什么选择三板
- **无数据库** — 每个看板一个JSON文件,存放在 `~/.sanban/,易于比较、提交和备份
- **无需认证** — 本地优先,运行在localhost
- **无框架** — 纯原生JavaScript前端,Geist字体,暗黑模式
- **多看板** — 一个服务器,无限看板
## REST API
| 方法 | 端点 | 描述 |
|--------|----------|-------------|
| `GET` | `/api/boards` | 列出所有看板 |
| `POST` | `/api/boards` | 创建看板 `{ name, columns? }` |
| `GET` | `/api/boards/:id` | 获取看板及事项 |
| `DELETE` | `/api/boards/:id` | 删除看板 |
| `GET` | `/api/boards/:id/items` | 列出事项 (`?q=`, `?status=`, `?tag=`, `?assignee=`) |
| `POST` | `/api/boards/:id/items` | 创建事项 |
| `PATCH` | `/api/boards/:id/items/:iid` | 更新事项 |
| `DELETE` | `/api/boards/:id/items/:iid` | 删除事项 |
| `GET` | `/api/search?q=` | 跨看板搜索 |
## MCP服务器
代理通过MCP标准输入输出与看板交互。这是与网络服务器独立的过程 — 两者都读写相同的JSON文件。
### 代理配置 (opencode.json)
```json
{
"mcp": {
"sanban": {
"type": "local",
"command": ["sanban", "--mcp-only"],
"enabled": true
}
}
}
```
或运行:
```json
{
"mcp": {
ban": {
"type": "local",
"command":", "run", "--directory/to/sanban", "python", "-m", "sanban.server", "--mcp-only"],
"enabled": true
}
}
}
```
> **其他代理:** 适配您的CLI代理(Claude Desktop, Cursor等)的配置格式。命令始终为 `sanban --mcp — 只有器会发生变化。
### 工具
| 工具 | 描述 |
-------------|
| `list_boards` | 列出所有 |
| `create_board(name, columns?)` | 创建新看板 `get_board(board_id)` | 获取看板详情 + |
| `create_item(board_id, title, ...)` | 添加事项 `update_item(board_id, item_id, ...)` | 更新字段 `move_item(board_id, item_id, new_status)`移动到列 |
| `delete_item(board_id, item_id)`事项 |
| `search(query, board_id?)` | 板搜索 |
## 运行模式
```bash
sanban REST API + UI)— 保持运行
sanban --mcp-only # MCP标准输入输出 — 用于代理配置
sanban --rest-only # 仅REST,无UI
sanban --0 # 自定义端口
```
**典型设置:** 在运行 `sanban` (或后台运行),然后在代理添加 `sanban --mcp-only`。两者都使用相同的/.sanban/boards/` 数据。
## 数据
看板~/.sanban/boards/<id>.json`。可通过 `SANBAN_DATA_DIR` 重置。
## 适用于代理
SKILL.md](./SKILL.md) 获取完整的代理参考 —MCP工具、事项字段