Loading...
Loading...
Compare original and translation side by side
task_01JQAZ...task_01JQAZ...| Overseer | TodoWrite | |
|---|---|---|
| Persistence | SQLite database | Session-only |
| Context | Rich (description + context + result) | Basic |
| Hierarchy | 3-level (milestone -> task -> subtask) | Flat |
| 特性 | Overseer | TodoWrite |
|---|---|---|
| 持久性 | 基于SQLite数据库 | 仅会话内有效 |
| 上下文 | 丰富(描述+上下文+成果) | 基础版 |
| 层级结构 | 三级(里程碑 -> 任务 -> 子任务) | 扁平化 |
// Get next ready task with full context (recommended for work sessions)
const task = await tasks.nextReady(milestoneId); // TaskWithContext | null
if (!task) {
console.log("No ready tasks");
return;
}
// Get all ready tasks (for progress overview)
const readyTasks = await tasks.list({ ready: true }); // Task[]nextReady()TaskWithContext | nulllist({ ready: true })Task[]// Get next ready task with full context (recommended for work sessions)
const task = await tasks.nextReady(milestoneId); // TaskWithContext | null
if (!task) {
console.log("No ready tasks");
return;
}
// Get all ready tasks (for progress overview)
const readyTasks = await tasks.list({ ready: true }); // Task[]nextReady()TaskWithContext | nulllist({ ready: true })Task[]// 1. Get next ready task (returns TaskWithContext | null)
const task = await tasks.nextReady();
if (!task) return "No ready tasks";
// 2. Review context (available on TaskWithContext)
console.log(task.context.own); // This task's context
console.log(task.context.parent); // Parent's context (if depth > 0)
console.log(task.context.milestone); // Root milestone context (if depth > 1)
console.log(task.learnings.own); // Learnings attached to this task (bubbled from children)
// 3. Start work (VCS required - creates bookmark, records start commit)
await tasks.start(task.id);
// 4. Implement...
// 5. Complete with learnings (VCS required - commits changes, bubbles learnings to parent)
await tasks.complete(task.id, {
result: "Implemented login endpoint with JWT tokens",
learnings: ["bcrypt rounds should be 12 for production"]
});
// Alternative: Cancel if abandoning (does NOT satisfy blockers)
await tasks.cancel(task.id);
// 6. Archive finished tasks to hide from default list
await tasks.archive(task.id);// 1. Get next ready task (returns TaskWithContext | null)
const task = await tasks.nextReady();
if (!task) return "No ready tasks";
// 2. Review context (available on TaskWithContext)
console.log(task.context.own); // This task's context
console.log(task.context.parent); // Parent's context (if depth > 0)
console.log(task.context.milestone); // Root milestone context (if depth > 1)
console.log(task.learnings.own); // Learnings attached to this task (bubbled from children)
// 3. Start work (VCS required - creates bookmark, records start commit)
await tasks.start(task.id);
// 4. Implement...
// 5. Complete with learnings (VCS required - commits changes, bubbles learnings to parent)
await tasks.complete(task.id, {
result: "Implemented login endpoint with JWT tokens",
learnings: ["bcrypt rounds should be 12 for production"]
});
// Alternative: Cancel if abandoning (does NOT satisfy blockers)
await tasks.cancel(task.id);
// 6. Archive finished tasks to hide from default list
await tasks.archive(task.id);const task = await tasks.get(taskId); // Returns TaskWithContext
// task.context.own - this task's context (always present)
// task.context.parent - parent task's context (if depth > 0)
// task.context.milestone - root milestone's context (if depth > 1)
// Task's own learnings (bubbled from completed children)
// task.learnings.own - learnings attached to this taskconst task = await tasks.get(taskId); // Returns TaskWithContext
// task.context.own - this task's context (always present)
// task.context.parent - parent task's context (if depth > 0)
// task.context.milestone - root milestone's context (if depth > 1)
// Task's own learnings (bubbled from completed children)
// task.learnings.own - learnings attached to this task| Method | Returns | Notes |
|---|---|---|
| | Full context chain + inherited learnings |
| | Deepest ready leaf with full context |
| | Basic task fields only |
| | No context chain |
| | No context chain |
| 方法 | 返回值 | 说明 |
|---|---|---|
| | 完整上下文链 + 继承的经验 |
| | 具备完整上下文的最深层就绪子任务 |
| | 仅包含基础任务字段 |
| | 无上下文链 |
| | 无上下文链 |
// Add blocker - taskA waits for taskB
await tasks.block(taskA.id, taskB.id);
// Remove blocker
await tasks.unblock(taskA.id, taskB.id);// Add blocker - taskA waits for taskB
await tasks.block(taskA.id, taskB.id);
// Remove blocker
await tasks.unblock(taskA.id, taskB.id);| Level | Name | Purpose | Example |
|---|---|---|---|
| 0 | Milestone | Large initiative | "Add user authentication system" |
| 1 | Task | Significant work item | "Implement JWT middleware" |
| 2 | Subtask | Atomic step | "Add token verification function" |
| 层级 | 名称 | 用途 | 示例 |
|---|---|---|---|
| 0 | 里程碑 | 大型倡议 | "添加用户认证系统" |
| 1 | 任务 | 重要工作项 | "实现JWT中间件" |
| 2 | 子任务 | 原子步骤 | "添加令牌验证函数" |
| Task | File |
|---|---|
| Understanding API | @file references/api.md |
| Implementation workflow | @file references/workflow.md |
| Task decomposition | @file references/hierarchies.md |
| Good/bad examples | @file references/examples.md |
| Verification checklist | @file references/verification.md |
| 任务 | 文件路径 |
|---|---|
| 理解API | @file references/api.md |
| 实现工作流 | @file references/workflow.md |
| 任务拆分 | @file references/hierarchies.md |
| 正反示例 | @file references/examples.md |
| 验证检查清单 | @file references/verification.md |
| File | Purpose |
|---|---|
| Overseer MCP codemode API types/methods |
| Start->implement->complete workflow |
| Milestone/task/subtask organization |
| Good/bad context and result examples |
| Verification checklist and process |
| 文件路径 | 用途 |
|---|---|
| Overseer MCP代码模式API类型与方法 |
| 从启动到实现再到完成的工作流 |
| 里程碑/任务/子任务的组织方式 |
| 上下文与成果的正反示例 |
| 验证检查清单与流程 |