Reelier

ทางการ

เอเจนต์สร้างคำกล่าวอ้าง Reelier เขียนใบเสร็จ — บันทึกขั้นตอนการเรียกใช้เครื่องมือของเอเจนต์เพียงครั้งเดียว เล่นซ้ำอย่างแน่นอนที่ 0 โทเค็น และเปรียบเทียบการทำงานเพื่อตรวจจับความคลาดเคลื่อน

GitHub
3
ลองใช้ MCP นี้ผู้สนับสนุน

คุณทำอะไรได้บ้างด้วย Reelier MCP?

  • บันทึกทักษะที่เล่นซ้ำได้อย่างกำหนดได้ — ขอให้ reelier run ไฟล์ .skill.md ที่บันทึกไว้ที่ 0 โทเค็น โดยค่าเริ่มต้นเป็นแบบอ่านอย่างเดียว เพื่อการรันซ้ำที่เหมือนกันทุกไบต์
  • ตรวจจับความคลาดเคลื่อนในการรันของเอเจนต์ — ใช้ reelier diff เพื่อเปรียบเทียบการเล่นซ้ำกับต้นฉบับ และระบุ SAME หรือ DRIFTED ในแต่ละขั้นตอน โดยออกจากระบบด้วยรหัส 1 หากมีการเปลี่ยนแปลงใดๆ
  • ควบคุม PR ที่อัปเดต dependency — ให้ผู้ช่วยตั้งค่า CI workflow ที่เล่นซ้ำทักษะของคุณกับ PR จาก Dependabot/Renovate และล้มเหลวที่ขั้นตอนที่คลาดเคลื่อนอย่างแม่นยำ
  • แปลงเทรซที่มีอยู่เป็นทักษะ — คอมไพล์ trace.jsonl หรือ SKILL.md ที่มีอยู่ให้เป็นทักษะที่เล่นซ้ำได้ผ่าน reelier compile โดยระบุช่องว่างที่ซื่อสัตย์เป็นคำถามปลายเปิด
  • ตรวจสอบใบรับรองที่ลงนามแบบออฟไลน์ — รัน reelier verify เพื่อคำนวณใหม่ทุกข้อความอ้างสิทธิ์ในบันไดของใบรับรองที่ถูกผลัก แสดงว่าขั้นไหนได้รับการพิสูจน์แล้วและขั้นไหนเป็นช่องว่างที่ซื่อสัตย์
  • ตรวจสอบความครอบคลุมของเอเจนต์ก่อนบันทึก — ใช้ reelier init --dry-run เพื่อตรวจสอบความครอบคลุมการสังเกต Path A/B/C และผู้สมัครที่เล่นซ้ำได้ โดยไม่ต้องเขียนหรือเปลี่ยนแปลงสิ่งใด

เอกสาร

Reelier

Reelier

ให้เอเจนต์ของคุณเขียน แล้วเก็บใบเสร็จไว้

เอเจนต์ของคุณทำงานทั้งคืน นี่คือสิ่งที่เปลี่ยนแปลงไปอย่างแน่นอน

Reelier บันทึกการรันที่สำเร็จ แช่แข็งเป็นสกิลที่เล่นซ้ำได้ และเล่นซ้ำอย่างกำหนดได้ — ทุกการรันกลับมาเป็นใบเสร็จ: หลักฐานว่าเอเจนต์ทำอะไรและอะไรเปลี่ยนแปลงไปเพราะมัน เอเจนต์อ้างสิทธิ์ Reelier เขียนใบเสร็จ

npm version CI tests license Discord stars

เว็บไซต์ · เอกสาร · SPEC.md

Reelier: Dependabot bumps a dependency, Reelier replays your recorded agent run at 0 tokens and diffs it, catching the drift on the PR before you merge

▶ ดูพร้อมเสียง (27 วินาที)

Reelier MCP server on Glama


ใบเสร็จบน PR ของเอเจนต์คุณ — ติดตั้งแล้วเสร็จ

PR ที่เขียนโดยเอเจนต์ (Dependabot, Claude, Codex, Cursor, …) จะได้รับความคิดเห็นใบเสร็จภายในไม่กี่วินาที: ผู้เขียน, ไฟล์ที่เปลี่ยนแปลง, ขอบเขตที่ประกาศเทียบกับสิ่งที่เปลี่ยนแปลงจริง, เส้นทางที่ละเอียดอ่อนที่ถูกทำเครื่องหมาย ไม่มีไฟล์เวิร์กโฟลว์ ไม่มี CLI ไม่มีการกำหนดค่า

→ ติดตั้ง Reelier receipts GitHub App — ฟรีบน public repos ตลอดไป

ใบเสร็จ Reelier — PR ของเอเจนต์ ผู้เขียน: dependabot[bot] · ไฟล์ที่เปลี่ยนแปลง: 2 (+119 −41) ขอบเขตที่ประกาศ: ไม่มี (เพิ่ม .reelier/scope.yml เพื่อเปิดการตรวจจับการเขียนที่ไม่คาดคิด) เส้นทางที่ละเอียดอ่อนที่ถูกแตะ: ⚠ 1 — package-lock.json พิสูจน์ขอบเขตและการเปลี่ยนแปลง ไม่ใช่ความถูกต้อง

ใบเสร็จจริงจาก repos ของ Reelier เอง — ดูตัวอย่างสด ประกาศขอบเขตต่อเอเจนต์ใน .reelier/scope.yml (หรือบล็อก reelier-scope ในเนื้อหา PR) แล้วใบเสร็จจะรายงานการเขียนที่ไม่คาดคิด ใบเสร็จพิสูจน์ขอบเขตและการเปลี่ยนแปลง ไม่เคยพิสูจน์ความถูกต้องหรือความปลอดภัย


ทำไม

เอเจนต์ AI ไม่กำหนดได้ — พรอมต์เดียวกัน ผลลัพธ์ต่างกันทุกการรัน — และพวกมันจะอ้างว่าทำงานเสร็จไม่ว่าจะทำหรือไม่ Reelier บันทึกการรันที่สำเร็จ เล่นซ้ำอย่างกำหนดได้ และเขียนใบเสร็จที่ลงนามเพื่อพิสูจน์ ชี้ไปที่ CI ที่มีอยู่ของคุณในเวิร์กโฟลว์เดียว — มันเพิ่มใบเสร็จที่ตรวจสอบได้ ไม่ได้แทนที่สแตกของคุณ

วัดจากเกณฑ์มาตรฐานแบบตัวต่อตัวจริง งานเดียวกัน ข้อมูลเดียวกัน (วิธีเต็ม):

  • 1,000 / 1,000 การเล่นซ้ำเหมือนไบต์ทุกประการ
  • ทุกการเล่นซ้ำส่งใบเสร็จที่ลงนาม — หลักฐานว่าอะไรทำงานและอะไรเปลี่ยนแปลง ไม่เคยเป็นการอ้างสิทธิ์
  • 0 การเรียก LLM ในการเล่นซ้ำ — การรันซ้ำที่กำหนดได้ ไม่ใช่การคิดใหม่

การเล่นซ้ำที่กำหนดได้ยัง ถูกกว่า ~50 เท่าและเร็วกว่า ~59 เท่าเมื่อเทียบกับการรันเอเจนต์ใหม่ บนเกณฑ์มาตรฐานเดียวกัน

ติดตั้ง

npm i -g reelier && reelier init
# No Node install needed — same commands via Docker:
docker run --rm ghcr.io/seldonframe/reelier --help

reelier init [--dry-run] ทำการตรวจสอบภายในเครื่องแบบ checkpointed หนึ่งครั้งครอบคลุมทั้งสามเส้นทางของ Reelier: เส้นทาง A ความครอบคลุมการสังเกต, เส้นทาง B ผู้สมัครการเล่นซ้ำ/แช่แข็ง, และเส้นทาง C การเชื่อมต่อและผู้สมัครที่ผูกได้/รองรับผลลัพธ์/เงาเท่านั้น/ไม่รองรับ มันไม่ได้ deploy, gate, dispatch, upload, คัดลอกข้อมูลรับรอง หรือเขียนการกำหนดค่าโฮสต์ใหม่ --dry-run ไม่เขียนอะไรเลย; คำสั่งปกติเขียนเฉพาะอาร์ติแฟกต์ที่ทำความสะอาดแล้วใต้ .reelier/init/

เป็นปลั๊กอินเอเจนต์

สอนเอเจนต์เขียนโค้ดของคุณว่าเมื่อไหร่ควรใช้ Reelier สองคำสั่งเดียวกัน ไม่ว่าโฮสต์ใด:

claude plugin marketplace add seldonframe/reelier
claude plugin install reelier@seldonframe
codex plugin marketplace add seldonframe/reelier
codex plugin add reelier@seldonframe

สิ่งนี้ติดตั้ง Agent Skills สองรายการและไม่มีอย่างอื่น reelier-replay สอนเอเจนต์ของคุณให้แช่แข็งงานเรียกเครื่องมือที่ทำซ้ำได้และเล่นซ้ำที่ 0 โทเค็น reelier-write-safety ครอบคลุมการผูกการเขียนของเอเจนต์ก่อนที่คุณจะอนุญาต: สิ่งที่เครื่องบันทึกเห็น สิ่งที่นโยบายปฏิเสธ และสิ่งที่ใบเสร็จพิสูจน์และไม่พิสูจน์ มันไม่มาพร้อม MCP servers ดังนั้นมันไม่ห่อหุ้ม สังเกต หรือ gate การเรียกเครื่องมือใดๆ ด้วยตัวเอง; CLI reelier ทำสิ่งนั้น และสกิลขับเคลื่อนมันผ่าน npx บรรจุในทั้งรูปแบบ Agent Plugins v1.0.0 (plugin/agent-plugins/) และรูปแบบ Claude Code (plugin/claude/) สร้างจากแหล่งเดียวโดย scripts/build-plugin-packages.mjs

ตรวจสอบแบบครบวงจรบน codex-cli 0.147.0-alpha.1.2: ทั้งสองรูปแบบติดตั้ง เปิดใช้งาน และสกิลถึงโมเดล โฮสต์อื่นยังไม่ทดสอบ และสถานะต่อโฮสต์ถูกติดตามใน docs/specs/agent-plugins-coverage-v1.md §4 แทนที่จะอ้างที่นี่

วิธีใช้

reelier init --dry-run              # inspect Path A/B/C locally; write nothing
reelier init                        # persist resumable sanitized inspection artifacts
reelier run  <name>.skill.md        # replay deterministically — 0 tokens (read-only by default)
reelier diff <name>                 # SAME or DRIFTED, per step — exit 1 on drift
reelier push <name>.skill.md        # sync receipts to your ledger (opt-in)
reelier ci                          # write a workflow: drift-CI + PR receipts, one command
  1. ตรวจสอบ แล้วบันทึกหรือแช่แข็ง reelier init เผยความครอบคลุมที่สังเกตและผู้สมัครในเครื่องโดยไม่เปลี่ยนเส้นทาง reelier mcp --wrap "<mcp server>" พร็อกซีเครื่องมือสด; reelier scan/from-session แช่แข็งประวัติที่รองรับ
  2. คอมไพล์ reelier compile เปลี่ยนเทรซเป็น SKILL.md — 0 การเรียก LLM, การยืนยันน้อยที่สุด, ช่องว่างที่ซื่อสัตย์พิมพ์เป็น คำถามเปิด
  3. เล่นซ้ำ reelier run เล่นซ้ำที่ระดับ 0 — ไม่มี LLM, เหมือนไบต์ทุกประการ, อ่านอย่างเดียวโดยค่าเริ่มต้น (การเขียนต้องใช้ --allow-writes)
  4. เปรียบเทียบ reelier diff รายงาน SAME หรือ DRIFTED ต่อขั้นตอน พร้อมการยืนยันที่ล้มเหลวเป็น เหตุผล — ออก 1 เมื่อมีการเบี่ยงเบน
  5. เข้าสู่ระบบ reelier login เชื่อมต่อเครื่องนี้กับ Reelier Cloud ด้วยรหัสอุปกรณ์ในเบราว์เซอร์ของคุณ — หรือตั้ง REELIER_CLOUD_URL/REELIER_CLOUD_KEY สำหรับ CI และ self-hosting
  6. พุช ทุกการรันเป็นใบเสร็จ; reelier push ซิงค์ไปยังบัญชีแยกประเภทเพื่อลิงก์ถาวรและป้ายการเล่นซ้ำที่ตรวจสอบแล้วที่ฝังได้

มี Agent Skill อยู่แล้ว? แปลงมัน — สกิลของคุณ ลบโมเดล:

reelier compile trace.jsonl --from-skill ./my-skill/SKILL.md

สามการทดสอบ หนึ่งสกิล

การทดสอบคำสั่งคำตอบ
ความกำหนดได้reelier run <skill.md>มันยังทำสิ่งที่มันทำอยู่หรือไม่?
การกู้คืนreelier run <skill.md> --fail Nถ้ามันพัง สกิลจะสังเกตและรักษาไหม?
การเบี่ยงเบนreelier run <skill.md> --wrap "<your mcp server>"โลกเคลื่อนออกจากใต้สกิลนี้หรือยัง?

อนุกรมวิธานจากบทวิจารณ์ของ Mads Hansen ต่อโพสต์เปิดตัว ความหมายเต็มสำหรับแต่ละการทดสอบ รวมถึงการฉีดการกู้คืนและราวกั้น manifest: docs/REFERENCE.md

Gate PR การอัปเดต Dependabot / Renovate

Dependabot และ Renovate เปิด PR และรันชุดทดสอบของคุณ — แต่ทั้งคู่ไม่รู้ว่าเอเจนต์ของคุณ ทำ อะไรจริงๆ ที่รันไทม์ ดังนั้นการอัปเดต dependency ที่เปลี่ยนรูปร่างการเรียกเครื่องมืออย่างเงียบๆ (ฟิลด์ที่เปลี่ยนชื่อ ค่าเริ่มต้นใหม่ ข้อผิดพลาดที่ต่างกัน) ผ่านไปด้วยการทดสอบหน่วยสีเขียว นี่คือการตรวจสอบที่พวกมันไม่รัน

คัดลอก .github/workflows/reelier-bump-check.yml ลงใน repo ของคุณ ชี้ skill: ไปที่ไฟล์ .skill.md ที่บันทึกไว้ของคุณ แล้วมันจะ: gate เฉพาะ PR จาก dependabot[bot]/renovate[bot] (หรือป้าย dependencies), ติดตั้ง dependency ที่อัปเดต, เล่นซ้ำสกิลที่บันทึกของคุณสดกับมันที่ --max-level 0 (0 โทเค็น), และทำให้การตรวจสอบล้มเหลวที่ขั้นตอนที่เบี่ยงเบนอย่างแม่นยำ

สิ่งนี้ทดสอบ dependency และพฤติกรรมการเรียกเครื่องมือ MCP — มันไม่ทดสอบการอัปเกรดโมเดล; --max-level 0 ไม่เคยเรียก LLM สำเนารายการเต็มและการตั้งค่า: docs/marketplace-listing.md

พิสูจน์มัน

ใบเสร็จที่พุชมีบันไดของการอ้างสิทธิ์ที่ตรวจสอบได้อย่างอิสระ — ไม่ใช่ "ตรวจสอบแล้ว" แบบครอบคลุม ขึ้นอยู่กับสิ่งที่คุณเปิด มันสามารถลงนาม, ประทับเวลา, รับรองโดย CI, และมี request-ids ของผู้ให้บริการที่ตรวจสอบข้ามได้ reelier verify คำนวณทุกการอ้างสิทธิ์ใหม่แบบออฟไลน์ และการอ้างสิทธิ์ที่คุณไม่ได้เปิดเพียงแสดงเป็นช่องว่างที่ซื่อสัตย์ ไม่เคยเป็นช่องว่างที่น่าอาย

ดูตัวอย่างจริง: reelier.com/r/HWBdmGob9KeHRqXi-OEaRD0z

บันได 8 ขั้นเต็ม แต่ละขั้นพิสูจน์อะไรและไม่พิสูจน์: docs/REFERENCE.md

ถ้าสกิลของคุณเป็นพนักงาน

วงจรชีวิตพนักงานเทียบเท่า Reelier
ทำเซสชันเป็นสกิลreelier from-session
การทบทวนผลงานreelier run + reelier diff
การบำรุงรักษาฝูงการเล่นซ้ำตามกำหนด + การแจ้งเตือนการเบี่ยงเบน
บันทึกใบเสร็จที่ลงนาม

"ตรวจสอบแล้ว" อธิบายบันทึก ไม่เคยอธิบายเอเจนต์ — ใบเสร็จพิสูจน์ว่าอะไรทำงานและอะไรเปลี่ยนแปลง ไม่ใช่ว่าเอเจนต์เก่งงาน

สัญญาจ้างไม่ได้ทำให้พนักงานเก่ง — มันทำให้สิ่งที่พวกเขาทำมองเห็นและถูกผูกไว้ เช่นเดียวกัน: ใบเสร็จพิสูจน์ขอบเขตและการเปลี่ยนแปลง ไม่เคยพิสูจน์ความถูกต้อง

สำหรับใคร

  • นักพัฒนาเดี่ยว / ผู้ดูแล OSS — การทดสอบการถดถอยจริงอีกครั้ง; การเบี่ยงเบนไม่สามารถผ่านอย่างเงียบๆ
  • ทีมที่ส่งการเปลี่ยนแปลงเอเจนต์ — "มันรันสะอาด" กลายเป็นอาร์ติแฟกต์ PR ที่ตรวจสอบได้ ไม่ใช่การอ้างสิทธิ์
  • เอเจนซีที่รันเอเจนต์ให้ลูกค้า — หลักฐานการส่งมอบที่ลงนามและประทับเวลาที่ลูกค้าตรวจสอบได้
  • ผู้ซื้อหรือผู้ขายในตลาด — ใบเสร็จที่ยืนยันร่วมกันคือรีวิวที่ไม่สามารถ astroturf ได้
  • ปฏิบัติการที่ต้องตรวจสอบ — ร่องรอยที่ลงนามและรับรองโดย CI ของทุกการเขียน รวมถึงคีย์ idempotency

MIT, ฟรีตลอดไป (เวอร์ชัน ≤0.16.0 ยังคงเป็น AGPL-3.0) ข้อมูลของคุณ — สกิล, เทรซ, การรัน — ระบุใน SPEC.md ดังนั้นการออกคือการคัดลอกโฟลเดอร์

การมีส่วนร่วม: ยินดีรับ issues และ PR — SPEC.md เป็นแหล่งความจริงสำหรับรูปแบบ; แก้โค้ด ไม่ใช่สเปก npm test ก่อน PR

ถ้า Reelier ช่วยคุณประหยัดการรันซ้ำ กดดาว ⭐ — นี่คือวิธีที่ผู้สร้างคนอื่นพบมัน