NEEDLE 是 AI Skill Hub 本期精选Agent工作流之一。综合评分 8.0 分,整体质量较高。我们强烈推荐将其纳入你的 AI 工具库,帮助提升工作效率。
NEEDLE 是一套完整的 AI Agent 自动化工作流方案。通过可视化的节点编排,将复杂的多步骤任务拆解为清晰的自动化流程,实现全程无人值守的智能处理。支持与数百种外部服务和 API 无缝集成,适合构建数据处理管线、业务自动化和 AI 辅助决策系统。
NEEDLE 是一套完整的 AI Agent 自动化工作流方案。通过可视化的节点编排,将复杂的多步骤任务拆解为清晰的自动化流程,实现全程无人值守的智能处理。支持与数百种外部服务和 API 无缝集成,适合构建数据处理管线、业务自动化和 AI 辅助决策系统。
# 方式一:cargo install(推荐) cargo install needle # 方式二:从源码编译 git clone https://github.com/jedarden/NEEDLE cd NEEDLE cargo build --release # 二进制在 ./target/release/needle
# 查看帮助 needle --help # 基本运行 needle [options] <input> # 详细使用说明请查阅文档 # https://github.com/jedarden/NEEDLE
# needle 配置说明 # 查看配置选项 needle --config-example > config.yml # 常见配置项 # output_dir: ./output # log_level: info # workers: 4 # 环境变量(覆盖配置文件) export NEEDLE_CONFIG="/path/to/config.yml"
Navigates Every Enqueued Deliverable, Logs Effort
Deterministic bead processing with explicit outcome paths.
NEEDLE is a wrapper for headless coding CLI agents. It processes a shared bead queue in deterministic order, dispatching work through its supported built-in adapters (Claude Code, OpenCode, Codex, and Aider) and handling every outcome through an explicit, predefined path.
---
```
The installer drops binaries in ~/.local/bin (override with NEEDLE_INSTALL_PATH). An existing bead at or above the release version is kept.
Construct the prompt from the bead's context: title, body, workspace path, relevant files, and any dependency context. The prompt is a deterministic function of the bead state — same bead, same prompt.
Prerequisites: git, tmux, and an agent CLI on your PATH — the flow below uses Claude Code (claude). Prebuilt binaries are Linux x86_64; everything else builds from source (see below).
```bash
worker: enforce_shipped_work: false
**Built-in validation gate for unguarded workspaces:** A workspace whose own
`.needle.yaml` declares neither `gates:` nor legacy `verification:` enters the
no-explicit-gate path. An explicit `gates: []` or `verification: []` remains an
opt-out. NEEDLE first lets the language-default resolver supply a `default_*`
gate; only when it supplies none does the shipped **interim fallback gate**
select a verifier from the committed workspace, in this exact order:
1. `scripts/definition-of-done.sh` — run `scripts/definition-of-done.sh`.
2. `go.mod` — run `go build ./... && go vet ./... && go test -short ./...`.
3. `Cargo.toml` — run `cargo build --all-targets && cargo test`.
4. `package.json` with a non-empty `scripts.test` — run `npm test`.
5. `pyproject.toml` — run `pytest -q`.
6. `pytest.ini` — run `pytest -q`.
The selected command runs in a clean `git archive HEAD` extraction, so it
judges committed state rather than the shared checkout. If no verifier is
selected, NEEDLE checks the source workspace with
`git status --porcelain --untracked-files=all` (the archive has no `.git`),
ignoring `.beads/` and `.needle-predispatch-sha` bookkeeping noise. A clean
status passes on the agent's exit code alone and emits one counted `WARN`,
`gate.no_verifier`, with reason `not_detected`; uncommitted work fails the
fallback gate. Extraction, spawn, and timeout failures are gate execution
errors; a non-zero verifier result is an ordinary verification failure.
Fallback command stderr is capped by the host setting
`validation.stderr_cap_bytes` (default `4096` bytes), and each command is
bounded by `validation.outcome_timeout_seconds` (default `50` seconds). The
fallback is armed by default, so every unguarded workspace without an
override is covered without a per-workspace config change; the rollout count
is only an inventory snapshot, not a hard-coded allowlist. When fallback
resolution is reached, the dispatch log records whether it is armed or opted
out. A workspace can explicitly opt out in its own `.needle.yaml`:
yaml validation: fallback_gate: false
The host-level `validation.fallback_gate` sets the default and the workspace
value wins. This fallback is the **INTERIM** mechanism. The
`needle-d1b2ee0d` runner is its planned replacement. A workspace-local
`scripts/definition-of-done.sh` is the hand-off for repositories that already
declare their own Definition of Done; that runner is intended to replace this
fallback gate rather than add another permanent gate layer.
**Build from source** (Rust 1.95+, the toolchain pinned in `rust-toolchain.toml`) — from the canonical Forgejo remotes, or from the read-only GitHub mirror by swapping the hostname:
bash
docs/attempt-archive.md.---
The claude-interactive plugin ships as a separate release asset. It wraps the Claude Code CLI in a PTY so workers run under your Claude subscription instead of consuming programmatic API credits.
How it works: NEEDLE pipes subprocess stdio, which causes claude to detect a non-TTY and switch to API billing. claude-interactive creates an internal PTY so claude sees a real terminal, keeping it in interactive/subscription mode.
Prerequisites: - Python 3.10 or later - pyte Python library (installed automatically by the installer, or manually via pip install pyte) - The claude CLI on PATH
Install:
```bash
1. Push-to-create. Forgejo auto-creates the repo on first push — no manual repo-creation step, no POST /api/v1/user/repos:
cd <repo-dir>
git branch -m main # git init defaults to master
git remote add origin https://git.ardenone.com/jedarden/<repo>.git
git push -u origin main # auto-creates the repo
2. Visibility. Push-created repos start private (instance default). Public portfolio repos are flipped with a PATCH to /api/v1/repos/jedarden/<repo> ({"private": false}) using the stored Forgejo token. Deliberately private repos stay private and skip the GitHub mirror entirely — the mirror exists for the public portfolio. 3. Mirroring. The GitHub repo is created empty (gh repo create --public), then a Forgejo server-side push mirror (remote_name: github-mirror, sync_on_commit: true) populates it on every push. The mirror is configured once, on the server — never as a second remote in a client's .git/config. 4. No dual-push. Clients push only to Forgejo origin. Never add a second push remote and never push to GitHub by hand; the mirror lands every commit on push. Never force-push either host — if Forgejo and GitHub ever diverge, reconcile with a merge commit and let the mirror carry it over.
---
高质量的AI工作流项目,值得关注
AI Skill Hub 为第三方内容聚合平台,本页面信息基于公开数据整理,不对工具功能和质量作任何法律背书。
建议在沙箱或测试环境中充分验证后,再部署至生产环境,并做好必要的安全评估。
✅ MIT 协议 — 最宽松的开源协议之一,可自由商用、修改、分发,仅需保留版权声明。
经综合评估,NEEDLE 在Agent工作流赛道中表现稳健,质量优秀。如果你已有明确的使用需求,可以直接上手体验;如果还在评估阶段,建议对比同类工具后再做决策。
| 原始名称 | NEEDLE |
| 原始描述 | 开源AI工作流:Headless agent orchestrator with deterministic state machine — processes a bead 。⭐11 · Rust |
| Topics | ai-agentsautonomous-agentsrust |
| GitHub | https://github.com/jedarden/NEEDLE |
| License | MIT |
| 语言 | Rust |
收录时间:2026-06-25 · 更新时间:2026-06-26 · License:MIT · AI Skill Hub 不对第三方内容的准确性作法律背书。
选择 Agent 类型,复制安装指令后粘贴到对应客户端