Tick 多智能体协调 是做什么的?
通过结构化 Markdown 文件协调人类与 AI 智能体之间的工作。用户与你自然交互,你则透明地在 TICK.md 中维护任务。
安装
前置条件:你的环境中应已安装并配置好 Tick CLI 和 MCP 服务器。
首次安装? 请参阅 INSTALL.md 获取编辑器特定的安装说明。
快速检查:
# 验证 CLI 是否可用
tick --version
# 检查项目中是否存在 TICK.md
ls TICK.md
# 如果不存在,则初始化
tick init
核心概念
Tick 协议 = 通过 TICK.md 文件实现的基于 Git 的任务协调
- 人类可读:标准 Markdown 搭配 YAML
- 机器可解析:结构化为工具使用
- Git 支撑:完整的版本控制和审计追踪
- 本地优先:无需云端
快速开始
检查 Tick 是否已初始化
ls TICK.md
如果未初始化
tick init
获取当前状态
tick status
常见工作流
1. 用户要求你做某事
用户:“你能重构一下认证系统吗?”
你的操作:
# 1. 创建任务
tick add "重构认证系统" --priority high --tags backend,security
# 2. 注册自己(仅首次)
tick agent register @your-name --type bot --roles "engineer,refactoring"
# 3. 认领任务
tick claim TASK-XXX @your-name
# 4. 开始工作(执行实际工作)
# 5. 添加进展注释
tick comment TASK-XXX @your-name --note "正在分析当前认证流程"
tick comment TASK-XXX @your-name --note "已重构为使用 JWT 令牌"
# 6. 标记完成
tick done TASK-XXX @your-name
2. 用户询问项目状态
用户:“我们当前在做什么任务?”
# 获取全面状态
tick status
# 或者筛选并列出任务
tick list --status in_progress
tick list --claimed-by @bot-name
用自然语言向用户总结输出。
3. 与其他智能体协调
用户:“其他智能体完成他们的任务了吗?”
# 检查总体状态
tick status
# 列出智能体及其工作
tick agent list --verbose
# 验证项目
tick validate
4. 分解复杂工作
用户:“构建一个带图表和数据导出功能的用户仪表盘”
你的操作:
# 创建父任务
tick add "构建用户仪表盘" --priority high --tags frontend
# 创建带依赖的子任务
tick add "设计仪表盘布局" --priority high --tags frontend,design
tick add "实现数据图表" --priority medium --tags frontend,charts --depends-on TASK-XXX
tick add "添加 CSV 导出" --priority low --tags frontend,export --depends-on TASK-XXX
# 可视化依赖关系
tick graph
命令参考
项目管理
tick init # 初始化新项目
tick status # 查看项目概览
tick list # 使用筛选条件列出任务
tick graph # 可视化依赖关系
tick watch # 实时监控变更
tick validate # 检查错误
tick sync --push # 提交并推送到 git
任务操作
tick add "任务标题" \
--priority high \ # urgent|high|medium|low
--tags backend,api \ # 逗号分隔的标签
--assigned-to @agent \ # 分配给智能体
--depends-on TASK-001 \ # 依赖关系
--estimated-hours 4 # 预估时间
tick claim TASK-001 @agent # 认领任务(设置为 in_progress)
tick release TASK-001 @agent # 释放任务(回到 todo)
tick done TASK-001 @agent # 完成任务
tick reopen TASK-001 @agent # 重新打开已完成的任务
tick delete TASK-001 # 删除任务
tick comment TASK-001 @agent \ # 添加注释
--note "进度更新"
tick edit TASK-001 \ # 直接编辑字段
--title "新标题" \
--priority high \
--status in_progress
修正与恢复
tick reopen TASK-001 @agent # 重新打开已完成的任务
tick reopen TASK-001 @agent \ # 重新打开并重新阻塞其依赖者
--re-block
tick delete TASK-001 # 删除任务,清理依赖
tick delete TASK-001 --force # 强制删除,即使有依赖
tick edit TASK-001 --title "X" # 修改标题
tick edit TASK-001 --priority high # 修改优先级
tick edit TASK-001 --status todo # 直接修改状态
tick edit TASK-001 --tags a,b,c # 替换标签
tick edit TASK-001 --add-tag new # 添加标签
tick edit TASK-001 --remove-tag old # 移除标签
tick edit TASK-001 \ # 编辑依赖
--depends-on TASK-002,TASK-003
tick undo # 撤销上次 tick 操作
tick undo --dry-run # 预览将要撤销的内容
批量操作
tick import tasks.yaml # 从 YAML 文件导入任务
tick import - < tasks.yaml # 从标准输入导入
tick import tasks.yaml --dry-run # 预览导入结果
tick batch start # 开始批量模式(无自动提交)
tick batch status # 检查批量状态
tick batch commit # 提交所有批量更改
tick batch abort # 丢弃所有批量更改
高级任务列表
tick list # 所有任务,按状态分组
tick list --status blocked # 仅阻塞的任务
tick list --priority urgent # 高优先级任务
tick list --assigned-to @alice # 特定智能体的任务
tick list --tag backend # 带有特定标签的任务
tick list --json # 输出 JSON 格式供脚本使用
依赖可视化
tick graph # ASCII 依赖树
tick graph --format mermaid # Mermaid 流程图
tick graph --show-done # 包含已完成的任务
实时监控
tick watch # 监控变更
tick watch --interval 10 # 自定义轮询间隔
tick watch --filter in_progress # 仅显示特定状态
智能体管理
tick agent register @name \ # 注册新智能体
--type bot \ # human|bot
--roles "dev,qa" \ # 逗号分隔的角色
--status idle # working|idle|offline
tick agent list # 列出所有智能体
tick agent list --verbose # 详细信息
tick agent list --type bot # 按类型筛选
tick agent list --status working # 按状态筛选
MCP 工具(CLI 替代方案)
如果使用模型上下文协议,可以使用以下工具代替 CLI 命令:
状态与检查
tick_status- 获取项目状态(智能体、任务、进度)tick_validate- 验证 TICK.md 结构tick_agent_list- 列出智能体(可选筛选条件)
任务管理
tick_add- 创建新任务tick_claim- 为智能体认领任务tick_release- 释放已认领的任务tick_done- 完成任务(自动解除依赖者的阻塞)tick_comment- 为任务添加注释
修正与恢复
tick_reopen- 重新打开已完成的任务tick_delete- 删除任务tick_edit- 直接编辑字段(绕过状态机)tick_undo- 撤销上次 tick 操作
智能体操作
tick_agent_register- 注册新智能体
MCP 示例:
// 通过 MCP 创建任务
await tick_add({
title: "重构身份认证",
priority: "high",
tags: ["backend", "security"],
assignedTo: "@bot-name"
})
// 认领任务
await tick_claim({
taskId: "TASK-023",
agent: "@bot-name"
})
最佳实践
1. 先进行自然对话
✅ 好:用户说“重构认证”,你自动创建任务 ❌ 不好:让用户明确创建任务
2. 始终使用你的智能体名称
注册一次:
tick agent register @your-bot-name --type bot --roles "engineer"
然后持续使用:
tick claim TASK-001 @your-bot-name
tick done TASK-001 @your-bot-name
3. 在注释中提供上下文
# ✅ 好 - 解释做了什么以及为什么
tick comment TASK-005 @bot --note "从 REST 切换为 GraphQL,以获得更好的类型安全并减少过度获取"
# ❌ 不好 - 过于模糊
tick comment TASK-005 @bot --note "更新了 API"
4. 分解大型任务
创建带依赖的子任务:
tick add "搭建 CI/CD 流水线" --priority high
tick add "配置 GitHub Actions" --depends-on TASK-010
tick add "添加部署脚本" --depends-on TASK-011
tick add "设置预发布环境" --depends-on TASK-011
5. 认领前检查状态
# 确保任务存在且未被认领
tick status
# 然后认领
tick claim TASK-XXX @your-name
理解 TICK.md 结构
文件包含三个部分:
- 前置元数据(YAML):项目元信息
- 智能体表格(Markdown):谁在做什么
- 任务块(YAML + Markdown):单个任务及其历史
示例:
---
project: my-app
schema_version: "1.0"
next_id: 5
---
# 智能体
| 名称 | 类型 | 角色 | 状态 | 当前任务 |
|------|------|-------|--------|------------|
| @alice | human | owner | working | TASK-003 |
| @bot | bot | engineer | idle | - |
# 任务
yaml
id: TASK-001
title: 构建身份认证
status: done
priority: high
claimed_by: null
# ... 更多字段
history:
- ts: 2026-02-07T10:00:00Z
who: @bot
action: created
- ts: 2026-02-07T14:00:00Z
who: @bot
action: done
实现了基于 JWT 的身份认证,包含令牌刷新...
高级功能
自动解除依赖阻塞
当你完成任务时,依赖该任务的任务会自动解除阻塞:
# TASK-002 依赖于 TASK-001
# TASK-002 状态:blocked
tick done TASK-001 @bot
# TASK-002 自动更改为:todo
循环依赖检测
验证过程会捕获循环依赖:
tick validate
# 错误:检测到循环依赖:TASK-001 → TASK-002 → TASK-003 → TASK-001
智能提交信息
tick sync --push
# 自动生成:"feat: 完成 TASK-001, TASK-002;更新 TASK-003"
重新打开已完成的任务
如果某个任务被错误地标记为完成:
tick reopen TASK-001 @bot
# 将状态设置回 in_progress,并在历史中记录
tick reopen TASK-001 @bot --re-block
# 同时重新阻塞依赖此任务的其他任务
修复错误
# 撤销上次 tick 操作
tick undo
# 先预览将要撤销的内容
tick undo --dry-run
# 直接字段编辑(绕过状态机)
tick edit TASK-001 --status todo --priority urgent
批量操作
适用于无需单独提交的多次更改:
tick batch start
# 现在进行多次更改...
tick add "任务 1" --priority high
tick add "任务 2" --priority medium
tick claim TASK-001 @bot
# ...
tick batch commit # 所有更改一次性提交
# 或者:tick batch abort # 丢弃所有更改
实时监控
tick watch
# [10:23:45] ✓ 已添加:TASK-015 - 实现用户搜索
# [10:24:12] 🔒 TASK-015 由 @bot 认领
# [10:26:33] ⟳ TASK-015: in_progress → done
快速参考卡片
工作流: init → add → claim → work → comment → done → sync
核心命令: status | add | claim | done | list | graph
修正: reopen | delete | edit | undo
批量: import | batch start/commit/abort
协调: agent register | agent list | validate | watch
Git: sync --pull | sync --push
关键提醒
- 用户与你交互,而不是直接操作 Tick
- 你透明地维护 TICK.md
- 仪表盘仅用于查看,而非主要交互方式
- 始终一致地使用你的智能体名称
- 经常添加注释以展示进展
- 同步之前进行验证
- 认领之前检查状态
- 将复杂工作分解为子任务
资源
- GitHub:https://github.com/your-org/tick-md
- 文档:https://tick-md.dev/docs
- CLI npm:https://npmjs.com/package/tick-md
- MCP 服务器 npm:https://npmjs.com/package/tick-mcp-server
许可证
MIT