看板项目管理工具

一个本地的、自托管的项目管理工具,具有看板界面、完整CLI和内置MCP服务器,允许AI助手直接管理项目、工单和团队。

  • by tcarac
  • TypeScript
  • 本地部署
  • 39 星标
  • 更新于
在 GitHub 查看 tcarac/taskboard

使用说明

任务板

一个本地的、自托管的项目管理工具,具有看板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 <ID> --title "Implement login" --priority high
taskboard ticket list --project <ID> --status todo
taskboard ticket move <ID> --status done

taskboard team create "Backend"
taskboard team list

MCP服务器(用于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 作为指导方针。

许可证

麻省理工学院