能力标签
⚙️
Agent工作流

Fork AI 工作流

基于 Rust · 无代码搭建完整 AI 自动化流程
英文名:forkd
⭐ 1.1k Stars 🍴 79 Forks 💻 Rust 📄 Apache-2.0 🏷 AI 8.0分
8.0AI 综合评分
ai-agentsmicrovmrust
✦ AI Skill Hub 推荐

经 AI Skill Hub 精选评估,Fork AI 工作流 获评「强烈推荐」。已获得 1.1k 颗 GitHub Star,这款Agent工作流在功能完整性、社区活跃度和易用性方面表现出色,AI 评分 8.0 分,适合有一定技术背景的用户使用。

📚 深度解析

Fork AI 工作流 是一套完整的 AI Agent 自动化工作流方案。随着 AI 能力的不断提升,基于 Agent 的自动化工作流正在成为提升个人和团队效率的核心方式。区别于传统的 RPA 自动化(模拟鼠标键盘操作),AI Agent 工作流通过理解任务意图、动态规划执行路径,能够处理更复杂的非结构化任务。

Fork AI 工作流 工作流的设计遵循"最小配置,最大复用"原则:核心逻辑已经封装好,用户只需配置自己的 API Key 和业务参数即可快速上手。工作流内置错误处理和重试机制,在网络波动或 API 限速等情况下仍能稳定运行,适合作为生产环境的自动化基础设施。

在实际部署时,建议先在测试环境中运行 3-5 次,验证各个环节的输出结果符合预期,再部署到生产环境。AI Skill Hub 评分 8.0 分,是同类 Agent 工作流中的精选推荐。

📋 工具概览

Fork AI 工作流 是一套完整的 AI Agent 自动化工作流方案。通过可视化的节点编排,将复杂的多步骤任务拆解为清晰的自动化流程,实现全程无人值守的智能处理。支持与数百种外部服务和 API 无缝集成,适合构建数据处理管线、业务自动化和 AI 辅助决策系统。

GitHub Stars
⭐ 1.1k
开发语言
Rust
支持平台
Windows / macOS / Linux
维护状态
正常维护,社区驱动
开源协议
Apache-2.0
AI 综合评分
8.0 分
工具类型
Agent工作流
Forks
79

📖 中文文档

以下内容由 AI Skill Hub 根据项目信息自动整理,如需查看完整原始文档请访问底部「原始来源」。

Fork AI 工作流 是一套完整的 AI Agent 自动化工作流方案。通过可视化的节点编排,将复杂的多步骤任务拆解为清晰的自动化流程,实现全程无人值守的智能处理。支持与数百种外部服务和 API 无缝集成,适合构建数据处理管线、业务自动化和 AI 辅助决策系统。

📌 核心特色
  • 可视化 Agent 工作流编排,无需编写复杂代码
  • 支持多步骤自动化任务链,实现全流程无人值守
  • 与外部 API、数据库和第三方服务无缝集成
  • 内置错误处理与自动重试机制,保障稳定运行
  • 提供可复用的自动化模板,快速在同类场景部署
🎯 主要使用场景
  • 自动化日常重复性工作,将精力集中于创造性任务
  • 构建数据采集 → 处理 → 输出的完整自动化管线
  • 实现跨平台、跨系统的数据流转和业务协同
以下安装命令基于项目开发语言和类型自动生成,实际以官方 README 为准。
安装命令
# 方式一:cargo install(推荐)
cargo install forkd

# 方式二:从源码编译
git clone https://github.com/deeplethe/forkd
cd forkd
cargo build --release
# 二进制在 ./target/release/forkd
📋 安装步骤说明
  1. 访问 GitHub 仓库获取工作流文件
  2. 在对应平台(Dify / Flowise / Make 等)中找到「导入工作流」功能
  3. 上传工作流文件
  4. 按照提示配置必要的环境变量和 API Key
  5. 运行测试确认流程正常后投入使用
以下用法示例由 AI Skill Hub 整理,涵盖最常见的使用场景。
常用命令 / 代码示例
# 查看帮助
forkd --help

# 基本运行
forkd [options] <input>

# 详细使用说明请查阅文档
# https://github.com/deeplethe/forkd
以下配置示例基于典型使用场景生成,具体参数请参照官方文档调整。
配置示例
# forkd 配置说明
# 查看配置选项
forkd --config-example > config.yml

# 常见配置项
# output_dir: ./output
# log_level: info
# workers: 4

# 环境变量(覆盖配置文件)
export FORKD_CONFIG="/path/to/config.yml"
📑 README 深度解析 真实文档 完整度 80/100 含工作流图 查看 GitHub 原文 →
以下内容由系统直接从 GitHub README 解析整理,保留代码块、表格与列表结构。

简介

<br/>

forkd

<br/> <br/>

<p align="center"> <a href="https://github.com/deeplethe/forkd/actions"><img alt="CI" src="https://img.shields.io/github/actions/workflow/status/deeplethe/forkd/ci.yml?branch=main&style=flat-square&label=ci"></a> <a href="https://github.com/deeplethe/forkd/releases"><img alt="Release" src="https://img.shields.io/github/v/release/deeplethe/forkd?style=flat-square&color=4c956c"></a> <a href="https://pypi.org/project/forkd/"><img alt="PyPI" src="https://img.shields.io/pypi/v/forkd?style=flat-square&color=3776ab&logo=pypi&logoColor=white"></a> <a href="./LICENSE"><img alt="License" src="https://img.shields.io/badge/license-Apache--2.0-blue?style=flat-square"></a> <a href="./README-zh.md"><img alt="中文 README" src="https://img.shields.io/badge/README-%E4%B8%AD%E6%96%87-red?style=flat-square"></a> <a href="https://github.com/deeplethe/forkd/stargazers"><img alt="Stars" src="https://img.shields.io/github/stars/deeplethe/forkd?style=flat-square&color=eab308&logo=github"></a> </p>

<br/>

Source must boot with live_fork=True (memfd-backed RAM, the prereq

2-3 min the first time (Docker pull + ext4 + warmup); cached after that.

sudo -E forkd fork --tag py-numpy -n 5 --per-child-netns ```

Probe your install's latency

```bash forkd bench --tag py-numpy --n 5

1. Host setup: KVM, Firecracker, Rust, KSM, hugepages, tap device.

sudo bash scripts/setup-host.sh sudo bash scripts/host-tap.sh cargo build --release sudo install -m 0755 target/release/{forkd,forkd-controller} /usr/local/bin/

2. Build a warmed rootfs from a Docker image.

sudo bash scripts/build-rootfs.sh python:3.12-slim python-rootfs.ext4 1536 python3-numpy

Framework integration recipes (host-side, no rootfs build)

Drop-in patterns for the four agent frameworks most often used with forkd. Each is ~150-250 lines of Python with a --dry-run mode that exercises the forkd plumbing without an LLM key:

RecipeDriverForkd-specific move
[mcp-agent/](./recipes/mcp-agent/)Claude Desktop / Cursor / Cline (MCP)End-to-end MCP protocol verification
[crewai-fanout/](./recipes/crewai-fanout/)CrewAIN agents on N microVMs from one parent — per-agent isolation, ~24ms per child
[autogen-branch/](./recipes/autogen-branch/)AutoGenForkd-backed CodeExecutor + mid-conversation BRANCH that fans out N alternatives
[openai-swarm/](./recipes/openai-swarm/)OpenAI Swarm / Agents SDKHandoff = BRANCH: agent B inherits agent A's full VM state

Snapshot Hub (skip the rootfs build entirely)

Once a parent snapshot is built (yours or someone else's), forkd pack ships it as a single .tar.zst file with a manifest + per-file sha256. Other hosts pull and resume forking in seconds, no Docker round-trip:

```bash

Quick start

Requires: x86_64 Linux with KVM, Ubuntu 22.04 or newer. Two steps to a real fork: set up the host (one-time), then forkd pull + fork (~30 s). The sections after that show alternative entry points for custom recipes.

Demo: branch a thinking agent

A 24-second walkthrough of the LangGraph branch-and-fan-out demo — source agent runs a ReAct loop, gets BRANCHed mid-thought, three grandchildren each receive a different steering hint, all three produce divergent itineraries while inheriting the same prior reasoning state.

forkd branch-and-fan-out demo

Headline divergence: the source (no hint) picks Nishiki Market for Day 1; all three hinted children independently substitute Arashiyama Bamboo Grove. The cost-focused child also adds "may be pricey" annotations the others don't. The model wasn't told to swap places — each hint perturbed the next LLM call, the rest of the prior reasoning came along unchanged.

Full mechanism + numbers + raw transcripts in recipes/langgraph-react/ and recipes/langgraph-react/DEMO.md.

4. (Optional) language clients for programmatic use:

pip install forkd # Python SDK — calls the daemon over HTTP npm install @deeplethe/forkd # TypeScript SDK ```

forkd doctor runs 16 checks (KVM, hardware virt, cgroup v2, IP forward, tap, netns, Firecracker binary + version, Docker daemon, snapshot dir + disk space, kernel image, controller reachability, platform, plus uffd_wp + memfd_create for the v0.4 live-fork path) and emits specific fix hints for each non-pass. Run this first whenever something feels off.

forkd doctor — 14 checks pass on a configured host

then add to claude_desktop_config.json:

spawn from the CLI is the next gap (see issue #209 for status).

sudo -E forkd fork --tag pyagent -n 1 --per-child-netns --live-fork sudo -E forkd snapshot --from-sandbox <sb-id> --live --no-wait ```

Requires Linux ≥ 5.7, vm.unprivileged_userfaultfd=1 (or CAP_SYS_PTRACE), and the vendored Firecracker fork from deeplethe/firecracker:forkd-v0.4-mem-backend-shared-v1.12forkd doctor probes both. Full design: DESIGN-v0.4.md. Empirical PoC data: experiments/v0.4-*-poc/. Tracking issue #101.

<br/>

1. CLI + daemon binaries (pre-built tarball, no Rust toolchain needed):

curl -sSL https://github.com/deeplethe/forkd/releases/download/v0.3.4/forkd-v0.3.4-x86_64-linux.tar.gz \ | sudo tar -xz -C /usr/local/bin/

Python SDK

In-guest agent (E2B-compatible):

from forkd import Sandbox   # drop-in for `from e2b import Sandbox`

with Sandbox() as sb:
    print(sb.commands.run("uname -a").stdout)
    print(sb.eval("numpy.zeros(5).tolist()"))    # reuses warmed PID 1

Controller daemon (lifecycle + branching):

```python from forkd import Controller

c = Controller() # http://127.0.0.1:8889 children = c.spawn_sandboxes("pyagent", n=1, per_child_netns=True, live_fork=True) # v0.4: enables mode="live" later sb_id = children[0]["id"]

TypeScript SDK

For Node.js 18+ agents (LangChain.js, agent-twins, anything JS-side):

npm install @deeplethe/forkd
import { Controller } from '@deeplethe/forkd';

const ctrl = new Controller();   // reads FORKD_URL, FORKD_TOKEN from env
const [parent] = await ctrl.spawnSandboxes({
  snapshotTag: 'pyagent', n: 1, perChildNetns: true,
  liveFork: true,             // v0.4: enables { mode: 'live' } later
});

// ... drive parent via REST/HTTP ...
// `mode: 'live'` + `wait: false` = source pauses sub-50 ms and the
// caller returns after ~10 ms; the background memory copy completes
// asynchronously, snapshot reaches `status: 'ready'` afterward.
const branch = await ctrl.branchSandbox(parent.id, { mode: 'live', wait: false });
const kids = await ctrl.spawnSandboxes({ snapshotTag: branch.tag, n: 5, perChildNetns: true });

Surface parity with the Python SDK: spawnSandboxes / branchSandbox take the same prewarm / liveFork / mode / wait / measure_diff options. See sdk/typescript/.

How forkd compares

The sandbox-runtime space has a wide spread of designs. The table below summarises positioning of forkd against the most-cited open-source projects. Numbers in quotes are as advertised by the upstream project unless they match a row in our benchmark chart above. forkd does not measure other projects on workloads they were not designed for.

ProjectPrimitiveCold-start (N=100)Fork-from-warmQuotasAuth / TLSLicense
**forkd**Firecracker + snapshot CoW**101 ms**cgroup memory.maxbearer + rustlsApache 2.0
[CubeSandbox][cs]RustVMM + KVM microVM1.06 s¹"coming soon"<5 MiB / instancenot in OSSApache 2.0
[Daytona][dy]OCI workspace<90 ms²per workspaceAPI keys (platform)**AGPL-3.0**
[OpenSandbox][os]Docker / K8s + gVisor / Kata / FC122 svia runtimegateway (k8s)Apache 2.0
[E2B][e2b]Firecracker (in [infra][e2b-infra])not in OSSplatformAPI keys (cloud)Apache 2.0
[BoxLite][bl]KVM / Hypervisor.framework + OCI113 s✗ stateful BoxKVM + seccompegress policy onlyApache 2.0
Modalproprietary snapshot forknot publicproprietary
Firecracker rawmicroVM only759 msmanualn/an/aApache 2.0
Docker (runc)OCI container335 scgroupsn/aApache 2.0
gVisor (runsc)userspace kernel289 scgroupsn/aApache 2.0

¹ Wall-clock at N=100 concurrent on this bare-metal host (systemd-detect-virt: none, i7-12700, 20 vCPU, no nested virt). This is the fast-path number — pool_default_format_size_list was extended to include the template's writable-layer size, so each sandbox reuses a pre-formatted pool entry rather than going through a live mkfs.ext4 + reflink-copy. 1056 ± 14 ms over five runs, 100 % success every run, measured with a bench script that pre-warms Python's ThreadPoolExecutor to keep client-side lazy-init out of the timing. Host runs cube v0.2.0, which carries a ~50 ms latency regression that PR #234 fixes in v0.2.1 — the figure above is the v0.2.0 baseline. An earlier slow-path measurement on the same host (writable-layer size that didn't match the default pool) returned 20.3 s with 77/100 success — that mismatch was on our side and the maintainer corrected it at #235. Cube advertises <60 ms single-instance cold-start (P99 200 ms at N=100 concurrent) under the fast-path configuration on a 96 vCPU host — that figure isn't disputed and we did not retest it here. Note also that this row compares fork-from-warm (forkd) with cold-start (every other project); they're different operating points by design, not equivalent primitives. See bench/CUBESANDBOX.md for the full methodology, both rows, and the upstream cmdTimeout race we filed PRs #236 / #237 against. ² Daytona's advertised number; we did not measure it (workspace runtime, not a fan-out-comparable shape).

[cs]: https://github.com/TencentCloud/CubeSandbox [dy]: https://github.com/daytonaio/daytona [os]: https://github.com/alibaba/OpenSandbox [e2b]: https://github.com/e2b-dev/E2B [e2b-infra]: https://github.com/e2b-dev/infra [bl]: https://github.com/boxlite-ai/boxlite

Where forkd fits.

- Code interpreters and Jupyter-kernel sandboxes. Each conversation turn or tool call spawns a fresh kernel; the warmed parent carries the SciPy / ML runtime, so per-request import numpy / import torch collapses to zero. This is the design point — the workload shape Anthropic / OpenAI / Modal code-interpreter products are all on. - Evaluation harnesses. Hundreds of repository checkouts or test rollouts in parallel — SWE-bench-style — without paying Docker cold-start per task. - Per-user code execution at fan-out scale. Many short-lived sandboxes sharing one warmed parent, each child KVM-isolated by construction. - Untrusted-code execution in CI. git clone, pip install, pytest inside a real Linux VM, not a container namespace. - Self-hosted alternative to managed sandbox SaaS. One Linux box with KVM, single-binary daemon, Apache 2.0 — no per-second cloud fees, no vendor lock-in.

Where the others fit better. CubeSandbox: faster pure cold-start (<60 ms advertised). Daytona: workspace runtimes where each user owns one long-lived sandbox. OpenSandbox: one orchestration API across multiple isolation backends. BoxLite: embeddable, daemon-less, cross-platform (macOS via Hypervisor.framework). Modal: the closed- source managed system with the same primitive.

Where forkd is wrong. Function-level snapshot runtimes that give up real Linux (single-vCPU, serial I/O only) beat forkd's ~100 ms by an order of magnitude — at the cost of not running real Python servers, apt install, or outbound HTTPS.

<br/>

Alternative: build from a Docker image

forkd from-image wraps Docker pull → ext4 → boot + warmup → pause → register tag into a single verb. Use this when you need a recipe that isn't on the Hub yet:

```bash sudo -E forkd from-image python:3.12-slim \ --tag py-numpy \ --extra python3-numpy

Alternative: build from source (advanced)

```bash

`mode="live"` collapses source pause to sub-50 ms (vs ~200 ms for diff);

Enterprise deployment FAQ

Skim answers for platform / procurement teams scoping forkd:

Can we deploy on Kubernetes? Yes — one forkd-controller Pod hosts N sandbox children; the K8s scheduler runs once at Pod creation regardless of fan-out (vs one Pod-per-sandbox in Kata / Firecracker-on-K8s designs). A starter manifest ships at packaging/k8s/. Requires nodes with /dev/kvm + cgroup v2; managed K8s (GKE / EKS / AKS) typically needs a metal SKU or explicit nested-virt to qualify.

How many sandboxes fit in one Pod? With a 512 MiB warmed Python+numpy parent, rough sizing:

  • ~1 actively-running agent per vCPU (compute-bound bottleneck)
  • ~50 idle-pooled agents per 8 GiB Pod RAM (process-state bottleneck, not memory)

Measured CoW overhead at N=100 is 0.12 MiB / child on top of the parent (bench/), so memory rarely caps fan-out — vCPU + process count dominate. Heavier parents (browser, ML inference) hit the ceiling sooner; measure with yours.

How do existing agents connect?

  • RESTPOST /v1/sandboxes n=100, language-agnostic, bearer-token auth
  • Python SDKfrom forkd import Sandbox (drop-in for from e2b import Sandbox)
  • LangGraph / AutoGen / CrewAI — through the Python SDK, no special glue
  • MCPpip install forkd-mcp ships an MCP server for Claude Desktop / Claude Code / Cursor / Cline. See sdk/mcp/

Production case shapes (from production users + this repo's recipes):

  • AI code interpreter — one warmed parent (SciPy / torch pre-imported), fork-per-conversation-turn. Recipe: e2b-codeinterpreter/
  • SWE-bench-style parallel evals — N parallel repo checkouts, each child runs pytest isolated. Recipe: coding-agent/
  • Per-user code exec at scale — shared warmed parent, child KVM-isolated per user
  • Untrusted CIgit clone + pip install + pytest inside a real Linux VM, not a container namespace
  • Fork-per-test isolated databases — recipe: postgres-fixture/ — ready-to-query postgres at ~10 ms per child instead of ~2 s of fresh initdb

<br/>

🎯 aiskill88 AI 点评 A 级 2026-05-31

高效的AI工作流解决方案

⚡ 核心功能

👥 适合人群

自动化工程师和运维人员项目经理和业务分析师希望减少重复性工作的专业人士数字化转型团队

🎯 使用场景

  • 自动化日常重复性工作,将精力集中于创造性任务
  • 构建数据采集 → 处理 → 输出的完整自动化管线
  • 实现跨平台、跨系统的数据流转和业务协同

⚖️ 优点与不足

✅ 优点
  • +Apache-2.0 协议,可免费商用
  • +大幅减少重复性人工操作
  • +可视化流程,清晰直观
  • +可扩展性强,支持复杂场景
⚠️ 不足
  • 初始配置和调试需投入一定时间
  • 强依赖外部服务的稳定性
  • 复杂场景需具备一定技术基础
⚠️ 使用须知

AI Skill Hub 为第三方内容聚合平台,本页面信息基于公开数据整理,不对工具功能和质量作任何法律背书。

建议在沙箱或测试环境中充分验证后,再部署至生产环境,并做好必要的安全评估。

📄 License 说明

✅ Apache 2.0 — 宽松开源协议,可商用,需保留版权声明和 NOTICE 文件,含专利授权条款。

🔗 相关工具推荐

🧩 你可能还需要
基于当前 Skill 的能力图谱,自动补全的工具组合

❓ 常见问题 FAQ

参考项目文档和示例代码
💡 AI Skill Hub 点评

AI Skill Hub 点评:Fork AI 工作流 的核心功能完整,质量优秀。对于自动化工程师和运维人员来说,这是一个值得纳入个人工具库的选择。建议先在非生产环境试用,再逐步推广。

⬇️ 获取与下载
⬇ 下载源码 ZIP

✅ Apache-2.0 协议 · 可免费商用 · 直接从 aiskill88 服务器下载,无需跳转 GitHub

📚 深入学习 Fork AI 工作流
查看分步骤安装教程和完整使用指南,快速上手这款工具
🌐 原始信息
原始名称 forkd
Topics ai-agentsmicrovmrust
GitHub https://github.com/deeplethe/forkd
License Apache-2.0
语言 Rust
🔗 原始来源
🐙 GitHub 仓库  https://github.com/deeplethe/forkd

收录时间:2026-05-31 · 更新时间:2026-05-31 · License:Apache-2.0 · AI Skill Hub 不对第三方内容的准确性作法律背书。