Skip to main content
Glama

TaskToAgent · 本地任务看板

简体中文 | English

零依赖 零构建 数据不出本机 Node License: MIT

人和 agent 写在同一块本地看板上:任务分七列流转,谁认领、做到哪一步、卡在哪里,一眼看清。

界面截图


它是什么

一个本地优先的任务看板,用 t2a 命令行快速增删改查,配合网页看板可视化操作,两端读写同一份 SQLite 数据库。零外部依赖,不联网、不登录,数据全在你自己机器上。设计目标是让 AI agent 也能用同一套机制接任务:认领、续租、写日志、交付产出,全部有结构化的接口。

Related MCP server: AgentTasker

特性

  • 零外部依赖 —— 只用 Node 内置模块,无需 npm install 即可启动,构建产物已随仓库提交。

  • 本地存储 —— 数据落在本地 SQLite 文件(默认 ~/.t2a/t2a.db),不联网、不依赖任何云服务。

  • 中英双语界面 —— 设置菜单里一键切换,偏好记在浏览器本地;首次打开按浏览器语言自动选择。

  • 双端互通 —— 命令行与网页看板读写同一份数据库,任一边改动,另一边立即可见。

  • 七列看板 —— 灵感区 → 待办 → 进行中 → 阻塞 → 待验收 → 已完成 → 存档,面板内可直接添加、拖动。

  • 原子认领 —— task next 用单条 UPDATE ... WHERE 完成认领,多个 agent 同时抢也不会拿到同一条任务。

  • 租约心跳 —— 认领默认带 30 分钟租约,长任务定期 heartbeat 续租;到期自动回收回待办并留下系统日志。

  • 依赖编排 —— 支持任务依赖 DAG(等 A 完成才能做 B),加边时自动检测环,ready 只列出可开工任务。

  • 结构化输出 —— 所有命令支持 --json,统一返回 {"ok":true,"data":...};语义化退出码让 agent 不解析文本即可分支。

  • MCP server —— t2a mcp 以 stdio JSON-RPC 暴露 22 个工具,支持 MCP 的 agent 可直接调用,不用拼命令。

  • 审计与备份 —— 所有写操作记入 events 审计流水,t2a db backup 做自包含快照。

快速开始

环境要求

存储用 Node 内置的 node:sqlite,要求 Node.js >= 22.13(22.12 实测报 ERR_UNKNOWN_BUILTIN_MODULE)。跑不起来先自检:

node bin/t2a doctor

本地使用

# 网页看板(默认 http://127.0.0.1:3979)
npm run web

# 命令行
node bin/t2a help

界面说明

顶栏右侧一排图标,从左到右依次是搜索、新建任务、设置。设置菜单把偏好收在一处:

位置

选项

作用

设置菜单

主题

浅色 / 深色,跟随系统偏好

设置菜单

界面语言

简体中文 / English,切换后整页立即重绘

设置菜单

任务列表展现形式

竖版看板(状态列并排,适合宽屏)/ 横版分组(整行可点,手机更顺手)

设置菜单

数据同步

显示最近一次同步时间,说明刷新策略

侧栏

看板列表

点名称切换看板,箭头就地展开该看板的任务

任务卡片

整卡

展开任务详情:产出、执行日志、认领人与租约

界面语言的选择存在浏览器本地(t2a-lang),只影响这一台设备;命令行输出仍是中文。

命令行速查

看板与任务

命令

说明

t2a project list

列出所有看板(含任务数)

t2a project add <名称> [--desc <描述>]

新建看板

t2a task add <标题> --project <名称> [--content] [--status] [--priority]

加一条任务

t2a task add --project <名称> --batch

从 stdin 批量加多条(agent 最常用)

t2a task list [--project] [--status]

列出任务

t2a task search <关键词>

模糊搜索(编号 / 标题 / 内容 / 项目名,多关键词按 AND)

t2a task update <id> [--title] [--content] [--status]

修改

t2a task remove <id> --yes

删除(--yes 必填,无 TTY 时不阻塞)

t2a report [--project P] [--out <文件>]

把任务 + 日志 + 产出导成 Markdown

agent 联动

命令

说明

t2a task next [--project P] [--lease 30m]

取下一个可开工任务并原子认领

t2a task start <id>

「开始做这条」= 认领 + 置为进行中

t2a task claim <id> [--agent A]

认领指定任务;被他人持有返回 CONFLICT(退出码 3)

t2a task heartbeat <id> [--lease 30m]

续租;未认领时等价于 claim

t2a task release <id>

放弃任务,回到待办

t2a task done <id> --result "产出"

标记完成并留存产出

t2a task fail <id> --error "原因" [--max 3]

失败计数;未达上限回待办重试,超限转 blocked

t2a task dep add <id> --on <依赖id>

设置依赖(自动防环)

t2a task ready [--project P]

列出可开工任务(只观察,不认领)

审计与维护

命令

说明

t2a doctor

环境自检:Node 版本 / 数据库 / 网页服务 / 前端产物

t2a events [--kind] [--task] [--actor] [--limit 50]

审计流水(新的在前)

t2a db backup [--out <目录>]

数据库快照

t2a agent [--json]

打印内置上手指南(--json 出机读版)

t2a mcp

以 MCP server 模式运行(stdio JSON-RPC)

状态与退出码

看板七个列对应一个 status 值:

status

看板列

含义

idea

灵感区

还没想清楚,先记下来

todo

待办

排上了,未开始

doing

进行中

有人认领正在做

blocked

阻塞

卡住,等人工或外部条件

review

待验收

做完了,等人确认

done

已完成

验收通过

archive

存档

收起来,不在视野里

退出码是给 agent 用的,不必解析文本即可分支:

退出码

含义

建议动作

0

成功

继续

1

业务错误

读 error.code 决定

2

暂无任务

正常结束本轮

3

认领冲突

换一条任务

4

用法错误

修正命令

5

缺少 --yes

补上确认标志

常见 code:NO_TASK CONFLICT DEP_NOT_READY NOT_FOUND USAGE CONFIRM_REQUIRED INVALID_DEP EXISTS。

环境变量

变量

作用

默认

T2A_DB

指定数据库文件路径

~/.t2a/t2a.db

T2A_PROJECT

默认看板(省去 --project)

无 / 首个项目

T2A_AGENT

默认 agent 身份

agent

T2A_PORT

网页服务端口

3979

T2A_HOST

网页服务监听地址

127.0.0.1(仅本机)

TASKCLI_* 是历史名称(项目原名 taskcli),仍被识别但优先级低于 T2A_*,老脚本无需修改。

agent 接入

支持 MCP 的客户端直接配 server,不用拼 shell:

node bin/t2a mcp --print-config

协议 2024-11-05,stdio JSON-RPC,暴露 22 个工具:project_list/add、task_list/show/search/add/update、task_next/claim/heartbeat/release/done/fail、task_log/logs、task_deps/dep_add/dep_rm、task_ready、task_assign、task_report、events。完整约定见 AGENT.md。

不支持 MCP 也可以用 CLI,一次标准循环:

export T2A_AGENT=codebuddy
t2a task next --json            # 取任务(自动认领 + 置为进行中)
t2a task log 12 "定位到问题在 src/db.js:88"
t2a task heartbeat 12 --lease 30m
t2a task done 12 --result "已修复并补测试"

agent 身份由服务端配置决定,不采信 agent 自报的名字;填错了会自动纠正:

t2a config set agent workbuddy
t2a config alias codebuddy workbuddy

数据与隐私

数据只存在本机,不上传任何地方,页面也没有第三方统计。存储位置与作用:

位置

内容

说明

~/.t2a/t2a.db

看板、任务、日志、审计事件

默认位置,可用 T2A_DB 改

~/.t2a/config.json

默认 agent 身份与别名

权限 600

.db 文件已列入 .gitignore,不会被误提交。给每个 agent 单独开一个库即可隔离:T2A_DB=/path/to/agent.db t2a task list。

网页服务默认只监听 127.0.0.1。确需局域网访问时用 T2A_HOST=0.0.0.0 npm run web,注意没有任何鉴权,仅在可信网络里这么做。

目录结构

TaskToAgent/
├── bin/t2a            # CLI 入口(可执行)
├── src/
│   ├── brand.js       # 品牌与路径解析(T2A_* 优先、TASKCLI_* 兼容)
│   ├── config.js      # 默认 agent 身份 + 错误名自动纠正
│   ├── db.js          # 建表 + 认领/租约/依赖等协作原语(node:sqlite)
│   ├── report.js      # 任务与项目报告、产物汇总
│   ├── agent-guide.js # 内置 agent 上手指南
│   ├── sqlite-guard.js# Node 版本前置检查(给友好报错而非模块堆栈)
│   ├── cli.js         # CLI 全部命令逻辑
│   └── mcp.js         # MCP server(stdio JSON-RPC,零依赖)
├── AGENT.md           # agent 接入约定(MCP 配置 / 标准循环 / 规矩)
├── web/
│   ├── server.js      # 零依赖 http 服务:REST API + 托管前端
│   ├── dist/          # 前端构建产物(已提交,开箱即用)
│   └── ui/            # 前端源码(Vite + React + Arco Design)
│       └── src/i18n.jsx  # 中英双语文案字典与语言切换
├── docs/              # README 配图
└── package.json

开发说明

改后端直接改 src/ 下对应文件,无需构建。改前端需要重新构建并提交产物:

cd web/ui && npm install && npm run build

前端产物落在 web/dist,已提交到仓库,所以别人 clone 下来直接 npm run web 就能用,不必装前端依赖。

浏览器支持

网页看板是构建后的现代浏览器应用,需要支持 fetch 与 CSS Grid 的版本(Chrome / Edge / Firefox / Safari 近两年版本均可)。命令行与 MCP 不依赖浏览器。界面是响应式布局,窄屏下七列可横向滚动。

许可

MIT © 2026 isnotry

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    A task-level STDIO MCP server that lets Codex or any other MCP client hand off scoped coding jobs to an asynchronous worker agent which reads the code, edits files, and runs tests, while the client keeps ownership of planning and acceptance. Exposes submit, wait, query, follow-up, and cancel tools so multiple clients can queue and monitor tasks against a chosen project root.
    5
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to create, query, update, claim, hand off, and complete tasks on a local SQLite-backed, project-namespaced kanban board through stdio MCP tools, including filtering for ready/blocked/stale work and exchanging task attachments. It also lets agents list projects and manage statuses, ownership, and evidence without any server or accounts.
    MIT
  • A
    license
    B
    quality
    B
    maintenance
    Provides a local-first MCP interface for managing SQLite-backed projects, boards, and tickets, including metrics, epics, documentation links, run-history, and staging-lease coordination with completion summaries for done items.
    32
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables agents to manage a local SQLite task backlog over stdio, with tools to create, search, list, get, update, and stat tasks while preserving audit history and idempotency.
    MIT