任务板
一个本地的、自托管的项目管理工具,具有看板UI、完整的CLI和内置的 主控程序 服务器,让AI助手直接管理您的项目、工单和团队。
单二进制。SQLite支持。没有Docker,没有外部数据库,没有运行时依赖关系。
截图
特性
- 看板 --在待办、进行中和完成列之间拖放工单管理
- 项目 --使用可定制的项目(图标、颜色、前缀)组织工作
- 团队 --为团队分配门票
- 门票 --优先级、截止日期、标签、子任务、依赖关系(被阻止)
- 嵌入式终端 --直接从web UI运行AI编码代理(opencode、Claude Code)
- 命令行界面 --从终端管理所有内容
- MCP服务器 --通过模型上下文协议进行人工智能原生项目管理的22个工具
- 自托管 --您的数据保存在SQLite数据库中的计算机上
- 单一二进制 --一个
brew install而你正在奔跑
安装
家酿
brew tap tcarac/taskboard
brew install taskboard来源
git clone https://github.com/tcarac/taskboard.git
cd taskboard
make build需要Go 1.24+和Node.js 22+。
用法
Web 界面
taskboard start
# => http://localhost:3010
taskboard start --port 8080命令行界面
taskboard project create "Auth System" --prefix AUTH --icon "🔐"
taskboard project list
taskboard ticket create --project --title "Implement login" --priority high
taskboard ticket list --project --status todo
taskboard ticket move --status done
taskboard team create "Backend"
taskboard team listMCP服务器(用于AI助手)
taskboard mcp克劳德代码
claude mcp add taskboard -- /path/to/taskboard mcp克劳德桌面
增添 ~/.claude/claude_desktop_config.json:
{
"mcpServers": {
"taskboard": {
"command": "/path/to/taskboard",
"args": ["mcp"]
}
}
}数据层次结构
Project → Ticket → Subtask
(initiative) (task) (step)- 项目 是顶级分组(如史诗/倡议)。为每个作品创建一个。
- 门票 是项目中具体、可操作的任务。不要创建“史诗”票——使用项目。
- 子任务 是工单中的检查表步骤,用于将工作分解为可验证的部分。
可用的MCP工具(22)
| 工具 | 说明 |
|---|---|
| 项目 | |
list_projects | 列出所有具有可选状态筛选器的项目 |
get_project | 按ID获取项目详细信息 |
create_project | 创建一个新项目(用于史诗/倡议) |
update_project | 更新项目属性 |
delete_project | 删除项目及其所有票证 |
| 团队 | |
list_teams | 列出所有团队 |
get_team | 按ID获取团队详细信息 |
create_team | 创建新团队 |
update_team | 更新团队属性 |
delete_team | 删除团队 |
| 门票 | |
list_tickets | 列出带过滤器的门票 |
get_ticket | 获取包含子任务和标签的工单详细信息 |
create_ticket | 在项目中创建工单(任务) |
update_ticket | 更新票证属性 |
move_ticket | 将票证移动到不同的状态列 |
delete_ticket | 删除工单 |
| 板 | |
get_board | 获取按状态分组的完整看板 |
| 子任务 | |
create_subtask | 向工单添加子任务 |
batch_create_subtasks | 一次向工单添加多个子任务 |
toggle_subtask | 切换子任务完成 |
delete_subtask | 从工单中删除子任务 |
示例提示
一旦连接了MCP,你就可以用高级术语与你的AI助手交谈,让它找出故障:
I'm building a SaaS billing system. Set up the project and break the work
into tickets covering Stripe integration, usage metering, invoice generation,
and a customer billing portal. Prioritize accordingly.I need to ship a password reset flow. Think through what's involved — API
endpoints, email templates, token handling, UI screens, tests — and create
tickets with subtasks for each piece.Look at my board and figure out what's blocking progress. If anything in
"in progress" has been sitting there without subtasks, break it down into
concrete next steps.这是一个完全由人工智能助手通过MCP创建的项目和票:
嵌入式终端
web UI包括一个内置终端。点击 终端 在侧边栏中打开一个具有颜色支持和可调整大小的面板的完整PTY外壳。跑 opencode, claude,或直接来自浏览器的任何命令。
代理通过MCP共享相同的SQLite数据库,因此它创建的票会立即显示在您的板上。
数据存储
所有数据都存储在SQLite数据库中:
- macOS:
~/Library/Application Support/taskboard/taskboard.db - Linux:
~/.config/taskboard/taskboard.db
迁移在首次启动时自动运行。
自定义数据库路径
使用 --db 将任何命令指向其他数据库文件:
taskboard --db /path/to/other.db start
taskboard --db /path/to/other.db mcp
taskboard --db /path/to/other.db ticket list清除数据
要擦除所有项目、工单、团队和标签,同时保持架构完整,请执行以下操作:
taskboard clear # prompts for confirmation
taskboard clear -f # skip confirmation这也尊重 --db,因此您可以清除特定的数据库文件:
taskboard --db /tmp/test.db clear -f技术栈
| 层 | 技术 |
|---|---|
| 语言 | Go |
| 数据库 | SQLite(通过modernc.org/SQLite,纯Go) |
| CLI | 眼镜蛇 |
| HTTP | chi |
| 前端 | React、TypeScript、顺风CSS v4、dnd工具包 |
| 终端 | xterm.js、大猩猩/websocket、creack/pty |
| MCP | JSON-RPC通过标准输入 |
| 分发 | 通过嵌入式前端的单个二进制文件 embed.FS |
发展
# Run backend (serves API on :3010)
go run ./cmd/taskboard start
# Run frontend dev server (proxies API to :3010)
cd web && npm run dev
# Build everything
make build
# Clean
make clean贡献
看 贡献.md 作为指导方针。
