สถาปัตยกรรม
Larb เป็นมอนอรีโพ TypeScript (pnpm workspaces) ทุกองค์ประกอบเป็นโมดูลที่ระบุสเปกได้ อยู่เบื้องหลังอินเทอร์เฟซที่สะอาด ดังนั้นจึงไม่มีโมเดล ผู้ให้บริการ หรือเทคโนโลยี แซนด์บ็อกซ์ใดได้รับสิทธิพิเศษในโค้ดเบส
ภาพรวมระดับสูง
ชั้นอินเทอร์เฟซ — เซสชันแบบโต้ตอบ (larb เปล่า: บทสนทนาต่อเนื่องข้ามงาน, Esc ขัดจังหวะ, /plan), คำสั่งครั้งเดียวจบ, โหมด headless สำหรับ CI และ editor bridge พร้อมส่วนขยาย VS Code — สื่อสารกับ ออร์เคสเตรเตอร์ ที่ขับเคลื่อนลูป วางแผน → ลงมือ → สังเกต → ตรวจสอบ ออร์เคสเตรเตอร์ใช้ระบบย่อยหลายส่วน และถูกห่อ ด้วย ตัวควบคุมข้ามระบบ ที่บังคับใช้ความเชื่อถือ สิทธิ์ ค่าใช้จ่าย และการตรวจสอบ ในทุกการกระทำ
ลูปของเอเจนต์
งาน run ยังไม่ถือว่า "เสร็จ" จนกว่าคำสั่งตรวจสอบของโปรเจกต์จะผ่าน (หรือใช้ จำนวนรอบจนหมดงบ) ลูปจะบันทึกสแน็ปช็อตถาวรทุกรอบ ทำให้รันที่ถูกขัดจังหวะ กลับมาทำต่อจากจุดเดิมได้พอดี
โหมดหลายเอเจนต์ โมเดล ออร์เคสเตรเตอร์ ที่แข็งแรงสามารถมอบหมายงานย่อยที่ จำกัดขอบเขตให้โมเดล เวิร์กเกอร์ ที่ถูกกว่า (รูปแบบ Pro/Flash ของ DeepSeek ที่ นำมาใช้ทั่วไปข้ามผู้ให้บริการ) เวิร์กเกอร์ใช้เอนจินสิทธิ์และตัวควบคุมค่าใช้จ่าย ร่วมกัน และไม่มีเครื่องมือมอบหมายของตัวเอง จึงจำกัดการเรียกซ้อนได้
กระแสความเชื่อถือและสิทธิ์
นี่คือพฤติกรรมด้านความปลอดภัยที่เป็นจุดเด่น เมื่อเปิดไดเรกทอรี Larb อ่านคอนฟิก ที่เป็นโค้ด ศูนย์ ไฟล์ และเรียกเครือข่าย ศูนย์ ครั้ง จนกว่าคุณจะตัดสินใจ หลังจากนั้นทุกการใช้ความสามารถจะถูกตรวจ เป็นชั้น และบันทึกไว้
คอนฟิกระดับรีโพสามารถ เสนอ โมเดล คำสั่งตรวจสอบ และลดเพดานค่าใช้จ่ายได้ — แต่ ไม่มีวัน ตั้ง base URL ของ API เลือกตัวแปรสภาพแวดล้อมของคีย์ เพิ่มกฎอนุญาต เพิ่มเพดาน ลดความเข้มของแซนด์บ็อกซ์ หรือสั่งรันโค้ดได้
การนามธรรมผู้ให้บริการโมเดล
อินเทอร์เฟซบาง ๆ — generate, stream, countTokens, estimateCost — พร้อม อะแดปเตอร์สำหรับ Anthropic Messages API, OpenAI Chat Completions และ Ollama ในเครื่อง ผู้ให้บริการส่วนใหญ่เปิด API ที่เข้ากันได้กับ OpenAI จึงใช้อะแดปเตอร์ที่ตรวจสอบแล้ว ตัวเดียวร่วมกัน การเพิ่มผู้ให้บริการคือการเพิ่มแถวในตารางพรีเซ็ต ไม่ใช่เขียนโค้ดใหม่
การกำหนดเส้นทางเป็นนโยบายที่ประกาศได้ ไม่ใช่ฮาร์ดโค้ด: ออร์เคสเตรชัน → โมเดลแรง, ซับเอเจนต์ / การบีบอัด → โมเดลถูกและเร็ว, ออฟไลน์ → โมเดลในเครื่อง คีย์ API ถูกอ่านครั้งเดียวโดยตัวรับฝากความลับ และส่งให้เฉพาะอะแดปเตอร์ — ลูปเอเจนต์และ เครื่องมือไม่เคยเห็นคีย์
แซนด์บ็อกซ์การรันคำสั่ง
การรันคำสั่งทำผ่าน แบ็กเอนด์แบบเสียบเปลี่ยนได้ เบื้องหลังอินเทอร์เฟซเดียว
ระดับการแยกสภาพแวดล้อมที่ใช้งานอยู่จะถูกแสดงตอนเริ่มทุกการรัน เพื่อให้การตัดสินใจ ไว้วางใจมีข้อมูลครบ แบ็กเอนด์คอนเทนเนอร์คือพรีมิทีฟการแยกระดับเดียวกับ Codex และ สามารถเสียบแบ็กเอนด์ไมโครวีเอ็มเข้าที่รอยต่อเดิมได้ในภายหลัง
เอนจินบริบท
- แผนผังรีโพ — ดัชนีโครงสร้างแบบเพิ่มทีละส่วนสำหรับการให้เหตุผลข้ามไฟล์
- หน่วยความจำ — มาร์กดาวน์บนดิสก์ที่ตรวจสอบได้ ขอบเขตต่อโปรเจกต์
- คำแนะนำของโปรเจกต์ (
AGENTS.md) — ไฟล์AGENTS.mdและ.larb/AGENTS.mdถูก โหลดเข้าเป็นบริบทเชิงแนะนำใน system prompt (จำกัดขนาด) ใช้ชี้แนะแนวทางการทำงานของ เอเจนต์ได้ แต่ไม่สามารถลบล้างหลักความปลอดภัยหรือเอนจินสิทธิ์ได้ - การบีบอัด — สรุปเชิงรุกด้วยโมเดลเวิร์กเกอร์ราคาถูก เพื่อให้เซสชันยาว ๆ ยัง ประหยัดและไม่ล้นหน้าต่างบริบท
- ตัวป้องกันการแทรกคำสั่ง — เอาต์พุตจากเครื่องมือ/รีโพที่ไม่น่าเชื่อถือจะถูก คัดกรองหาคำสั่งที่ถูกแทรกก่อนกลับเข้าสู่บริบทของโมเดล
รีจิสทรีสกิลและปลั๊กอิน
ทุกสกิลมาพร้อม แมนิเฟสต์ ที่ประกาศความสามารถที่ต้องใช้อย่างชัดเจน (เส้นทาง fs, โฮสต์เครือข่าย, การรันคำสั่ง, ความลับ) ตัวรับฝากบังคับใช้แมนิเฟสต์นั้นทั้งกับสิ่งที่ ประกาศและกับเอนจินสิทธิ์ — ติดตั้ง ≠ เชื่อถือ
MCP (เครื่องมือภายนอก)
Larb รองรับ Model Context Protocol คุณจึงเชื่อมต่อเซิร์ฟเวอร์เครื่องมือภายนอก (ระบบไฟล์, GitHub, ฐานข้อมูล หรือของคุณเอง) เข้ามาได้ และเอเจนต์จะใช้งานมันเหมือน เครื่องมือในตัว
- เครื่องมือจากระยะไกลแต่ละตัวปรากฏเป็น
mcp__<server>__<tool>และ ผ่านการ ตรวจสิทธิ์ ด้วยความสามารถmcpที่จำกัดขอบเขตตามเซิร์ฟเวอร์ ทุกการเรียกถูก บันทึก และเอาต์พุตผ่านตัวป้องกันการแทรกคำสั่ง - คอนฟิก
[[mcp]]อยู่ใน คอนฟิกระดับโกลบอลที่เชื่อถือเท่านั้น — เพราะเซิร์ฟเวอร์ stdio สั่งรันคำสั่งได้ รีโพที่ไม่น่าเชื่อถือจึงนิยามมันไม่ได้ เซิร์ฟเวอร์จะเชื่อมต่อ เฉพาะระหว่างการรัน (หลังตัดสินใจเชื่อถือ) และถูกปิดเมื่อจบ - ดูเซิร์ฟเวอร์ที่ตั้งค่าไว้ด้วย
larb mcpหรือเชื่อมต่อเพื่อแสดงเครื่องมือด้วยlarb mcp probe
โครงสร้างที่เก็บโค้ด
packages/
governors/ trust · permission · cost · audit · secret broker
providers/ model adapters · routing · conformance suite
sandbox/ pluggable execution isolation · egress proxy
context/ repo map · markdown memory · AGENTS.md · compaction
core/ orchestrator loop · tools · run state · bench · worktrees
skills/ skill + plugin runtime · manifest · signing · broker
mcp/ Model Context Protocol client · stdio transport · tool broker
cli/ CLI · interactive session · Ink TUI · editor bridge · headless
skills-sdk/ TypeScript SDK สำหรับสกิลของชุมชน
editors/
vscode/ ส่วนขยาย VS Code (MVP) บนโปรโตคอล bridgeอ่านต่อที่ เปรียบเทียบ หรือ แบบจำลองความปลอดภัย