关于 noodle
Noodle 是面向希望 Agent 自动执行定时任务的团队的命令行工具和技能运行器。它收集项目状态,由调度器生成任务单,将 Agent 派发到隔离的工作树执行,并合并完成的工作。
主要功能
- 01通过文字描述安排技能
- 02运行循环以规划和派发 Agent
- 03在隔离工作树中执行任务
- 04将完成的工作合并到分支
- 05通过命令行管理状态、技能、模式和工作树
适用场景
- 01通过定时技能执行周期性 Agent 任务
- 02将不同任务派发到隔离工作树
- 03查看循环状态和队列深度
- 04管理工作树并合并已完成工作
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ poteto/ noodle --skill noodle安装后在 Claude Code 中输入/noodle确认已加载。
附带文件references/configuration.mdreferences/skill-authoring.md
详细介绍
Noodle
自动运行的技能。编写技能时,用 schedule: 字段描述其运行时间。Noodle 的调度 Agent 会读取这些描述、编写任务单,然后由循环在隔离的工作树中启动 Agent 执行任务。
循环的工作方式
- 简报 — Noodle 将项目状态汇总到
.noodle/mise.json(待办事项、活跃 Agent、历史记录、容量、已注册技能) - 调度 — 调度 Agent 读取 mise,并写入
.noodle/orders-next.json - 派发 — Noodle 提升任务单并启动 Agent 会话
- 执行 — 每个 Agent 都在自己的工作树中运行,并使用分配给它的技能
- 合并 — 已完成的工作会合并回 main
技能
技能是包含 SKILL.md 的目录。正文是给 Agent 的指令。frontmatter 是元数据。
通用技能(不含 schedule:)由 Agent 直接调用。例如:commit、debugging。
定时技能(含 schedule:)会自动运行。调度器会将 schedule: 的值视为自然语言描述,并自行判断条件是否满足。
---
name: quality
description: Post-cook quality gate.
schedule: "Follow-up stage after execute. Cross-provider review preferred."
---
技能默认存放在 .agents/skills/ 中。系统会按顺序搜索 skills.paths 中的路径;采用第一个匹配项。
有关编写技能、任务单和 schedule 字段的完整指南,请参阅 references/skill-authoring.md。
配置
Noodle 会读取项目根目录中的 .noodle.toml。首次运行 noodle start 时会生成该文件。大多数项目只需:
mode = "supervised" # auto | supervised | manual
[routing.defaults]
provider = "claude"
model = "claude-opus-4-6"
[skills]
paths = [".agents/skills"]
完整配置参考:references/configuration.md
CLI
所有命令都接受 --project-dir(默认值:当前目录;环境变量:NOODLE_PROJECT_DIR)。
核心命令
| 命令 | 说明 |
|---|---|
noodle start | 启动 noodle 循环 |
noodle start --once | 运行一次调度周期后退出 |
noodle status | 显示运行状态(活跃 Agent、队列深度、循环状态) |
noodle reset | 清除所有运行时状态(如果循环正在运行则拒绝执行) |
技能与架构
| 命令 | 说明 |
|---|---|
noodle skills | 列出解析后的技能 |
noodle skills list | 列出所有解析后的技能 |
noodle schema <target> | 打印目标的架构文档 |
noodle schema list | 列出可用的架构目标(mise、orders、status) |
工作树
| 命令 | 说明 |
|---|---|
noodle worktree create <name> | 创建新的关联工作树 |
noodle worktree create <name> --from <ref> | 从指定分支或提交创建 |
noodle worktree exec <name> <command...> | 在工作树中运行命令(安全处理当前工作目录) |
noodle worktree merge <name> | 将工作树分支合并到集成分支 |
noodle worktree merge <name> --into <branch> | 合并到指定目标分支 |
noodle worktree list | 列出所有工作树及其合并状态 |
noodle worktree prune | 移除已合并以及补丁等效的工作树 |
noodle worktree cleanup <name> | 移除工作树,但不进行合并 |
noodle worktree cleanup <name> --force | 即使存在未合并的提交也移除 |
noodle worktree hook | 运行工作树会话钩子(内部使用) |
事件
| 命令 | 说明 |
|---|---|
noodle event emit <type> | 向循环发送外部事件 |
noodle event emit <type> --payload <json> | 发送带有 JSON 负载的事件 |
noodle event emit <type> --session <id> | 将事件发送到指定会话的事件日志 |
完整 CLI 参考:https://poteto.github.io/noodle/reference/cli
故障排除
- “fatal config diagnostics prevent start” — 根据
noodle schema检查.noodle.toml。 - 缺少适配器脚本 — 创建脚本或更新配置中的路径。
- 过期的工作树 — 运行
noodle worktree list,然后运行noodle worktree prune。
参考资料
- references/skill-authoring.md — 技能编写:流水线、orders 架构、schedule 字段、阶段组合、完整示例
- references/configuration.md — 完整的 .noodle.toml 配置参考
- https://poteto.github.io/noodle/concepts/adapters — 适配器设置、脚本契约、提供方示例
- https://poteto.github.io/noodle/concepts/scheduling — 循环如何安排和分派工作
- https://poteto.github.io/noodle/concepts/skills — 技能发现、组合、定时技能与通用技能
- https://poteto.github.io/noodle/concepts/runtimes — 进程、sprites 和运行时路由