ต้นแบบ · รุ่นทดลอง: มีทุก server ในทะเบียนทางการ อัปเดตทุก 30 นาที เข้าสู่ระบบด้วย Google เพื่อเขียนรีวิวได้แล้วต้นแบบ · อัปเดตทุก 30 นาที
PopNx MCPที่รวม MCP สำหรับคนใช้ AI · วิธีติดตั้งภาษาไทยทุกตัว

ChainWeaver

โดย dgenioรุ่น 0.12.1i★ 6iรันบนเครื่อง
ชื่อใน registryio.github.dgenio/chainweaver

วิธีติดตั้ง

ใช้ทำอะไรได้

ยังไม่มีคำอธิบายภาษาไทย ดูข้อเท็จจริงด้านล่าง หรือเปิดคำอธิบายต้นฉบับจากผู้ทำ

  • ต่อแบบ ติดตั้งในเครื่อง
  • บัญชีหรือคีย์ ไม่ต้องใส่คีย์
  • หมวด ค้นข้อมูลและความจำของ AI
คำอธิบายต้นฉบับจากผู้ทำ (อังกฤษ)
Expose deterministic ChainWeaver flows as MCP tools without LLM calls between steps.

ติดตั้ง

เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง

ผลตรวจผ่าน 3/3 · ทำงานบนเครื่องคุณ · ✓ ตรวจคำสั่งแล้ว 13 พ.ย. 2569

ขั้นแรก: คุณใช้ AI ตัวไหน

เลือกแอปที่คุณใช้ ขั้นตอนจะขึ้นด้านล่าง

ต่อกับ Claude ได้ แต่ต้องเตรียมก่อน

ต้องลง Python (uv) ในเครื่องก่อน (ทำครั้งเดียว) · ใช้ได้เฉพาะแอป Claude บนคอม (Windows หรือ Mac) ไม่ใช่บนเว็บหรือมือถือ

  1. ลง Python (uv) ในเครื่อง

    ทำครั้งเดียว ใช้ได้กับทุกตัวที่ต้องใช้ Python (uv)

    เปิดหน้าดาวน์โหลด Python (uv) ↗

  2. เปิดไฟล์ตั้งค่าของแอป Claude บนคอม

    SettingsDeveloperEdit Config

  3. วางค่าตั้งนี้แล้วบันทึกไฟล์

    {
      "mcpServers": {
        "chainweaver": {
          "command": "uvx",
          "args": [
            "chainweaver",
            "serve"
          ]
        }
      }
    }
  4. ปิดแอป Claude แล้วเปิดใหม่

  5. ลองเลย

    ใช้ ChainWeaver บอกหน่อยว่าทำอะไรให้ฉันได้บ้าง แล้วลองทำให้ดูหนึ่งอย่าง

    ✓ ถ้า Claude บอกว่ากำลังใช้ ChainWeaver หรือมีชื่อเครื่องมือของ ChainWeaver ขึ้นในคำตอบ แปลว่าต่อสำเร็จ

ชื่อเมนูตรวจกับหน้าช่วยเหลือของ Anthropic เมื่อ 11 พ.ย. 2569 · หน้าจอของคุณอาจต่างเล็กน้อยตามรุ่นของแอป

ChatGPT ยังต่อ ChainWeaver ไม่ได้

ChainWeaver ต้องติดตั้งในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะตัวที่ทำงานบนเว็บ

คุณทำแบบนี้แทนได้

ก · ใช้แอปที่ต่อ ChainWeaver ได้

  • ต้องลง Python (uv) ในเครื่องก่อน (ทำครั้งเดียว) · ใช้ได้เฉพาะแอป Claude บนคอม (Windows หรือ Mac) ไม่ใช่บนเว็บหรือมือถือ
  • ต้องลง Python (uv) ในเครื่องก่อน (ทำครั้งเดียว)
  • ต้องลง Python (uv) ในเครื่องก่อน (ทำครั้งเดียว) · ไม่มีปุ่มกดทีเดียว ต้องวางค่าตั้งและกรอกค่าเอง
  • ต้องลง Python (uv) ในเครื่องก่อน (ทำครั้งเดียว) · ไม่มีปุ่มกดทีเดียว ต้องวางค่าตั้งและกรอกค่าเอง

ข · ตัวอื่นในหมวด ค้นข้อมูลและความจำของ AI ที่ต่อกับ ChatGPT ได้

เลือกจากตัวที่ใช้มากในหมวดเดียวกัน เฉพาะตัวที่ต่อด้วยที่อยู่ได้โดยไม่ต้องใส่คีย์

ต่อกับ Claude Code ได้ แต่ต้องเตรียมก่อน

ต้องลง Python (uv) ในเครื่องก่อน (ทำครั้งเดียว)

  1. ลง Python (uv) ในเครื่อง

    ทำครั้งเดียว ใช้ได้กับทุกตัวที่ต้องใช้ Python (uv)

    เปิดหน้าดาวน์โหลด Python (uv) ↗

  2. เปิด Terminal

    Mac: กด Command+Space พิมพ์ Terminal · Windows: เปิด PowerShell

  3. วางคำสั่งนี้แล้วกด Enter

    claude mcp add --scope user chainweaver -- uvx chainweaver serve
  4. พิมพ์ /mcp ใน Claude Code

    ต้องเห็น ChainWeaver ในรายการและขึ้นว่าเชื่อมต่อแล้ว

  5. ลองเลย

    ใช้ ChainWeaver บอกหน่อยว่าทำอะไรให้ฉันได้บ้าง แล้วลองทำให้ดูหนึ่งอย่าง

    ✓ ถ้า Claude Code บอกว่ากำลังใช้ ChainWeaver หรือมีชื่อเครื่องมือของ ChainWeaver ขึ้นในคำตอบ แปลว่าต่อสำเร็จ

ชื่อเมนูตรวจกับหน้าช่วยเหลือของ Anthropic เมื่อ 11 พ.ย. 2569 · หน้าจอของคุณอาจต่างเล็กน้อยตามรุ่นของแอป

ต่อกับ Cursor ได้ แต่ต้องเตรียมก่อน

ต้องลง Python (uv) ในเครื่องก่อน (ทำครั้งเดียว) · ไม่มีปุ่มกดทีเดียว ต้องวางค่าตั้งและกรอกค่าเอง

  1. ลง Python (uv) ในเครื่อง

    ทำครั้งเดียว ใช้ได้กับทุกตัวที่ต้องใช้ Python (uv)

    เปิดหน้าดาวน์โหลด Python (uv) ↗

  2. เปิดไฟล์ตั้งค่า MCP ของ Cursor

    ~/.cursor/mcp.json

    วางค่าตั้งนี้ กรอกค่าที่ว่างไว้ แล้วบันทึกไฟล์

    {
      "mcpServers": {
        "chainweaver": {
          "command": "uvx",
          "args": [
            "chainweaver",
            "serve"
          ]
        }
      }
    }
  3. เปิดแชตของ AI ใน Cursor โหมด Agent

  4. ลองเลย

    ใช้ ChainWeaver บอกหน่อยว่าทำอะไรให้ฉันได้บ้าง แล้วลองทำให้ดูหนึ่งอย่าง

    ✓ ถ้า Cursor บอกว่ากำลังใช้ ChainWeaver หรือมีชื่อเครื่องมือของ ChainWeaver ขึ้นในคำตอบ แปลว่าต่อสำเร็จ

ชื่อเมนูตรวจกับหน้าช่วยเหลือของ Cursor เมื่อ 11 พ.ย. 2569 · หน้าจอของคุณอาจต่างเล็กน้อยตามรุ่นของแอป

ต่อกับ VS Code ได้ แต่ต้องเตรียมก่อน

ต้องลง Python (uv) ในเครื่องก่อน (ทำครั้งเดียว) · ไม่มีปุ่มกดทีเดียว ต้องวางค่าตั้งและกรอกค่าเอง

  1. ลง Python (uv) ในเครื่อง

    ทำครั้งเดียว ใช้ได้กับทุกตัวที่ต้องใช้ Python (uv)

    เปิดหน้าดาวน์โหลด Python (uv) ↗

  2. เปิดไฟล์ตั้งค่า MCP ของ VS Code

    MCP: Open User Configuration

    วางค่าตั้งนี้ กรอกค่าที่ว่างไว้ แล้วบันทึกไฟล์

    {
      "servers": {
        "chainweaver": {
          "type": "stdio",
          "command": "uvx",
          "args": [
            "chainweaver",
            "serve"
          ]
        }
      }
    }
  3. เปิดแชตของ AI ใน VS Code โหมด Agent

  4. ลองเลย

    ใช้ ChainWeaver บอกหน่อยว่าทำอะไรให้ฉันได้บ้าง แล้วลองทำให้ดูหนึ่งอย่าง

    ✓ ถ้า VS Code บอกว่ากำลังใช้ ChainWeaver หรือมีชื่อเครื่องมือของ ChainWeaver ขึ้นในคำตอบ แปลว่าต่อสำเร็จ

ชื่อเมนูตรวจกับหน้าช่วยเหลือของ VS Code เมื่อ 11 พ.ย. 2569 · หน้าจอของคุณอาจต่างเล็กน้อยตามรุ่นของแอป

โปรแกรมอื่นที่ใช้ MCP ได้ เช่น Windsurf, Zed หรือ Gemini CLI มีวิธีเพิ่มต่างกัน ดูวิธีของแต่ละตัวในหน้ารวมโปรแกรม

ดูโปรแกรมที่ใช้ MCP ทั้งหมด →

ค่าตั้งแบบไฟล์ JSON อยู่ในหัวข้อ “สำหรับคนเขียนโค้ด” ด้านล่าง

ติดตรงไหน? ถามคนที่ใช้ ChainWeaver อยู่💬 พูดคุย →
สำหรับคนเขียนโค้ด: คำสั่ง Terminal และค่าตั้ง JSON

ติดตั้งในเครื่อง

Claude Code

claude mcp add --scope user chainweaver -- uvx chainweaver serve

Claude Desktop (claude_desktop_config.json)

{
  "mcpServers": {
    "chainweaver": {
      "command": "uvx",
      "args": [
        "chainweaver",
        "serve"
      ]
    }
  }
}

Cursor (~/.cursor/mcp.json)

{
  "mcpServers": {
    "chainweaver": {
      "command": "uvx",
      "args": [
        "chainweaver",
        "serve"
      ]
    }
  }
}

VS Code (mcp.json)

{
  "servers": {
    "chainweaver": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "chainweaver",
        "serve"
      ]
    }
  }
}

ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README

สรุป

ดาวน์โหลดต่อสัปดาห์i
49/สัปดาห์
licensei
Apache-2.0
การเชื่อมต่อ
รันบนเครื่อง
รุ่นล่าสุดi
0.12.1
ส่งเข้า registryi
8 มิ.ย. 2569
แก้โค้ดล่าสุดi
2 พ.ย. 2569
ผู้ทำ
dgenio
แพ็กเกจ
pypi: chainweaver
สถานะใน registry
ใช้งานอยู่

ใช้กับโปรแกรมไหนได้

ดูจากแบบการต่อของ server ตัวนี้ และเอกสารของผู้ทำโปรแกรมแต่ละตัว ตรวจเมื่อ 10 พ.ย. 2569

ติดตั้งบนเครื่องได้ใน

ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast

ดูโปรแกรมทั้งหมดพร้อมข้อดีข้อเสีย →

คู่มือที่เกี่ยวข้อง

ทำอะไรได้บ้าง

รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง

ผลตรวจเบื้องต้นi

เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 13 พ.ย. 2569

  • ✓ ผ่าน

    ตัวตนผู้ทำตรงกับ repo

    ชื่อใน registry ยืนยันด้วยบัญชี GitHub dgenio ซึ่งเป็นเจ้าของ repo

  • ✓ ผ่าน

    ยังมีคนดูแล

    มีการแก้โค้ดล่าสุด 11 วันที่ผ่านมา

  • ✓ ผ่าน

    มีสัญญาอนุญาต (license)

    ใช้ Apache-2.0

  • – ไม่เกี่ยว

    endpoint ตอบ

    ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต

  • – ไม่เกี่ยว

    ล็อกอินแบบ OAuth

    ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน

  • … ยังไม่ตรวจ

    คำอธิบายเครื่องมือไม่มีคำสั่งแอบแฝง

    รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต

พูดคุย

ถาม แชร์เคล็ดลับ หรือแจ้งว่าใช้ไม่ได้ เรียงตามที่คนกดว่ามีประโยชน์

ยังไม่มีใครโพสต์ ถามหรือแชร์เป็นคนแรกได้เลย

ข้อความในส่วนนี้เขียนโดยผู้ใช้ ไม่ใช่ทีม PopNx

เข้าสู่ระบบด้วย Google เพื่อโพสต์

รีวิวจากผู้ใช้

ยังไม่มีรีวิว

เข้าสู่ระบบด้วย Google เพื่อเขียนรีวิว

เทียบกับตัวอื่นในหมวด ค้นข้อมูลและความจำของ AIi

  • ดาวมากกว่า 89% ของอีก 6062 ตัวในหมวดนี้
  • ส่งรุ่นใหม่เข้า registry ล่าสุดกว่า 15% ของอีก 6062 ตัวในหมวดนี้
  • ผลตรวจเบื้องต้นดีกว่าหรือเท่ากับ 100% ของอีก 6062 ตัวในหมวดนี้

เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo

คำถามที่พบบ่อย

ChainWeaver ปลอดภัยไหม?

จากการตรวจเบื้องต้นของเรา ผ่าน 3 จาก 3 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น

ต้องใช้กุญแจหรือรหัสอะไรบ้าง?

registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก

ตัวนี้รันบนเครื่องหรือบนคลาวด์?

รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)

ยังมีคนดูแลอยู่ไหม?

repo บน GitHub มีการแก้โค้ดล่าสุด 11 วันที่ผ่านมา และส่งรุ่นล่าสุด (0.12.1) เข้า registry 5 เดือนที่ผ่านมา

ใช้กับโปรแกรมไหนได้บ้าง?

โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Python (uv) ในเครื่องด้วย

มีตัวไหนใช้แทนได้บ้าง?

ในหมวดเดียวกันมี Context7, Codebase Memory, Ruflo

ตัวอื่นในหมวดเดียวกัน

server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว

อ่านการ์ด:↓ ดาวน์โหลดต่อสัปดาห์i★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi

Context7

ส่งคู่มือการใช้ไลบรารีและเฟรมเวิร์กรุ่นล่าสุดให้ AI อ่านก่อนตอบ ช่วยให้โค้ดที่ AI เขียนไม่ใช้คำสั่งเก่าที่เลิกใช้แล้ว

โดย upstashใช้กันมาก↓ 1.2M/สัปดาห์★ 64.7Kอัปเดต เมื่อวาน

บนเครื่องหรือคลาวด์

Codebase Memory

Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.

โดย DeusDataใช้กันมาก↓ 16.8K/สัปดาห์★ 48.6Kอัปเดต 27 วันที่ผ่านมา

รันบนเครื่อง

Ruflo

Agent teams, swarms, memory and hooks for Claude Code and Codex, served over MCP.

โดย ruvnetใช้กันมาก↓ 74.3K/สัปดาห์★ 81.6K ดาวรวมทั้งรีโปอัปเดต วันนี้

รันบนเครื่อง

README จากผู้ทำ

เปิดอ่าน README

ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ

ChainWeaver

Find where your agent no longer needs to reason. Review the evidence. Turn the accepted path into a governed deterministic capability.

Product thesis under validation — observe → prove → review → compile. ChainWeaver can inspect repeated tool behavior, surface candidates, and execute reviewed deterministic paths with typed contracts. Deterministic execution by itself is not the moat: if you already know the exact workflow, a normal Python function, LangGraph node, or provider-native tool may be simpler. The hypothesis being tested is that trace-derived evidence, useful rejection, governed promotion, security-boundary preservation, and drift detection make ChainWeaver worth adopting. See Product validation & adoption gates and #553.

Remove reasoning boundaries, never security boundaries. Compiling several tool calls into one capability must not silently aggregate privileges or erase child approval requirements. That invariant is tracked explicitly in #554.

Governance for deterministic tool paths. Typed I/O at every step, file-serializable flows, schema-drift detection, determinism *attestation*, property fuzzing, and structured audit traces provide a disciplined execution substrate for paths that have actually earned deterministic promotion.

Benchmarks are evidence about the executor, not proof of product-market fit.

The repo's benchmark report is reproducible —

regenerate it yourself with python benchmarks/report.py — and shows the

deterministic core avoiding model-mediated transitions in its synthetic

comparison. It does not establish that every repeated path should

be compiled, or that ChainWeaver beats the obvious plain-Python implementation.

The independent validation program requires that manual baseline explicitly.

from chainweaver import Tool, Flow, FlowStep, FlowRegistry, FlowExecutor

(NumberInput, ValueOutput, double_fn defined in full example below)

1. Wrap any function as a schema-validated Tool

double = Tool(name="double", description="Doubles a number.", input_schema=NumberInput, output_schema=ValueOutput, fn=double_fn)

2. Wire tools into a Flow

flow = Flow(name="calc", description="Double a number.", steps=[FlowStep(tool_name="double", input_mapping={"number": "number"})])

3. Register and execute — zero LLM calls

registry = FlowRegistry() registry.register_flow(flow) executor = FlowExecutor(registry=registry) executor.register_tool(double) result = executor.execute_flow("calc", {"number": 5})

result.final_output → {"number": 5, "value": 10}

See the full example below or run python examples/simple_linear_flow.py

[Installation](#installation) · [Why ChainWeaver?](#why-chainweaver) · [Is this for me?](#is-this-for-me) · [Product validation](docs/product-validation.md) · [Quick Start](#quick-start) · [Architecture](#architecture) · [Docs site](https://chainweaver.readthedocs.io/) · [Roadmap](#roadmap)


See it in 30 seconds

The deterministic executor solves a simple problem: once a path has been shown to need no intermediate reasoning, stop paying a model to re-decide the same plumbing on every run.

Before — a model-mediated path:

turn 1   ─►  LLM("plan")    ─►  search(query)         ─► 12 results

turn 2 ─► LLM("next?") ─► extract(results) ─► 8 facts turn 3 ─► LLM("next?") ─► validate(facts) ─► 7 facts turn 4 ─► LLM("next?") ─► format(facts) ─► answer

After review — the accepted path can run deterministically:

turn 1   ─►  LLM("plan")    ─►  search_summarize_flow(query)

└─ search ─► extract ─► validate ─► format

The agent still decides *which* capability to invoke. The deterministic steps inside it run with strict Pydantic validation and no LLM involvement.

The harder product question comes before this diagram: should this path be compiled at all? A useful ChainWeaver analysis must be able to show why a candidate is recurrent and structurally safe and reject paths where semantic judgment, side effects, authorization, or approval boundaries still matter. That claim is currently being tested on independent traces in #553.

Copy-paste executor path:

pip install 'chainweaver[yaml]'

python examples/simple_linear_flow.py

The summary below is a condensed view of the real ExecutionResult the script produces:

flow=double_add_format success=True

final_output={'number': 5, 'value': 20, 'result': 'Final value: 20'} step 0 double {'value': 10} step 1 add_ten {'value': 20} step 2 format_result {'result': 'Final value: 20'}


Why ChainWeaver?

Why not just write a Python function?

Often, you should.

If your team already knows the workflow is fixed, a normal function or the workflow primitives in your existing framework are usually the lowest-complexity answer. ChainWeaver should earn another dependency only when its lifecycle adds meaningful value—for example:

  • discovering non-obvious repeated model-mediated paths from real traces;
  • showing evidence for recurrence, dataflow compatibility, and counterexamples;
  • rejecting tempting paths that still require semantic judgment;
  • preserving approval and authorization constraints during promotion;
  • producing reproducible review evidence and artifact identity;
  • detecting schema/safety/policy drift after promotion;
  • exporting or executing the accepted capability without pretending that fewer model calls automatically means greater correctness.

Whether those advantages are strong enough in real teams is a falsifiable product hypothesis, not a README assumption. See docs/product-validation.md.

When an LLM-powered agent routes tools together — fetch_data → transform → store — a common pattern is to insert an LLM call between steps so the model can decide what to do next. For a path that has been demonstrated and reviewed as fully deterministic, those intermediate calls can add latency, cost, and variability without adding useful judgment.

ChainWeaver's executor can run an accepted deterministic path without any LLM involvement between steps:

User request

│ ▼ FlowExecutor ──► Tool A ──► Tool B ──► Tool C │ ▼ Response

CriterionModel-mediated pathChainWeaver deterministic path
LLM calls between deterministic stepspotentially one or more0
Reproducibilitydepends on model decisionsdeterministic path
Schema validationframework/application dependentPydantic enforced
Observabilityframework/application dependentstructured step logs
Reusabilityapplication dependentregistered, versioned flows
How is this different from LangChain / LangGraph / Prefect / Dagster / Temporal?

Those frameworks can also execute deterministic code. ChainWeaver should not be selected because deterministic execution is impossible elsewhere. Its current product thesis is narrower: start from observed agent/tool behavior, establish which regions no longer need reasoning, make the evidence and rejections reviewable, then promote accepted paths into governed deterministic capabilities.

The execution substrate remains deliberately small and LLM-free between steps, but the project is testing whether the evidence/governance lifecycle—not the mere existence of another workflow runtime—is the part users value.

See docs/comparisons.md for the detailed, versioned comparison and docs/product-validation.md for the criteria that can falsify this positioning.


Is this for me?

ChainWeaver is built for one specific shape of problem. The full fit/non-fit page covers the nuances; the short version:

Use ChainWeaver when

  • You have real agent/tool traces and suspect parts of the path are repeated plumbing rather than useful model judgment.
  • You want evidence and review around which paths deserve deterministic promotion, not only a runtime for a workflow you already know.
  • Determinism, strict schemas, auditability, and drift detection matter once a path is promoted.
  • You are prepared to keep security and approval boundaries explicit rather than treating a macro-tool invocation as blanket child authorization.

Don't use ChainWeaver when

  • You already know the workflow and a normal Python function or your existing framework expresses it clearly enough.
  • Every step requires open-ended reasoning to pick the next one (use an agent framework: LangGraph, the OpenAI / Anthropic SDK tool-use loops).
  • You need a general workflow engine for scheduled / durable jobs across time (use Prefect, Dagster, or Temporal).
  • You expect the executor to call an LLM. It deliberately doesn't.
  • You cannot preserve the authorization/approval semantics of a side-effecting path during compilation.

The product thesis, validation protocol, and kill/pivot criteria are public in docs/product-validation.md.

For the correctness argument behind the deterministic execution design, see docs/data-integrity.md.

Part of the Weaver Stack

ChainWeaver is the deterministic multi-step tool execution layer of the Weaver Stack — a family of small, composable SDKs that share weaver-spec's SelectableItem routing contract. On the request path a router picks *which* capability to invoke, ChainWeaver runs the deterministic tool path *behind* it, and downstream layers gate and guard the call:

flowchart LR

req([Request]) --> ctx[contextweaver context assembly] ctx --> cw[ ChainWeaver deterministic flow execution] cw --> ak[agent-kernel capability gating] ak --> af[agentfence runtime guardrails] subgraph adjacent [Adjacent · use any subset] vg[vibeguard] lw[lessonweaver] se[skdr-eval] end

Use standalone or together. Each layer stands on its own — ChainWeaver's base install has no hard dependency on any sibling and works fully standalone. Real interop runs through the chainweaver[weaver-stack] extra, which pins the published weaver-contracts package: ChainWeaver consumes its SelectableItem / RoutingDecision / CapabilityToken types directly, so a router can hand a routing decision straight to resolve_flow_from_routing_decision() for deterministic execution. See the runnable Weaver Stack golden path (issue #234).

| Layer | What i

ตัดมาแค่ช่วงต้น อ่านต่อใน repo