mcpField
N
noodle

noodle

github.com/potetoAgent 工作流564211 次安装32 周前更新
代码仓库

关于 noodle

Noodle 是面向希望 Agent 自动执行定时任务的团队的命令行工具和技能运行器。它收集项目状态,由调度器生成任务单,将 Agent 派发到隔离的工作树执行,并合并完成的工作。

主要功能

  1. 01通过文字描述安排技能
  2. 02运行循环以规划和派发 Agent
  3. 03在隔离工作树中执行任务
  4. 04将完成的工作合并到分支
  5. 05通过命令行管理状态、技能、模式和工作树

适用场景

  1. 01通过定时技能执行周期性 Agent 任务
  2. 02将不同任务派发到隔离工作树
  3. 03查看循环状态和队列深度
  4. 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 执行任务。

循环的工作方式

  1. 简报 — Noodle 将项目状态汇总到 .noodle/mise.json(待办事项、活跃 Agent、历史记录、容量、已注册技能)
  2. 调度 — 调度 Agent 读取 mise,并写入 .noodle/orders-next.json
  3. 派发 — Noodle 提升任务单并启动 Agent 会话
  4. 执行 — 每个 Agent 都在自己的工作树中运行,并使用分配给它的技能
  5. 合并 — 已完成的工作会合并回 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

故障排除

  1. “fatal config diagnostics prevent start” — 根据 noodle schema 检查 .noodle.toml。
  2. 缺少适配器脚本 — 创建脚本或更新配置中的路径。
  3. 过期的工作树 — 运行 noodle worktree list,然后运行 noodle worktree prune。

参考资料

评论

支持 Markdown