Ravenclaw - ระบบโอเพนซอร์สสำหรับจัดการบริบทการทำงานของเอเจนต์เขียนโค้ด AI
(github.com/chainofdive)ภาพรวม
ระหว่างที่ใช้งานเอเจนต์เขียนโค้ด AI (Claude Code, Gemini CLI, Codex เป็นต้น) กับหลายโปรเจ็กต์ ผมพบปัญหาอยู่สองอย่าง
1. เปลี่ยนเอเจนต์เมื่อไร บริบทก็หายไป
ถ้าทำงานด้วย Claude Code แล้วสลับไปใช้ Gemini CLI ก็ต้องอธิบายใหม่ทั้งหมดว่าเมื่อกี้ทำอะไรไปแล้ว แม้จะเป็นเอเจนต์ตัวเดิม ถ้าเซสชันจบลงก็เหมือนกัน สุดท้ายต้องคอยไล่ดูประวัติการสนทนาในเทอร์มินัลของแต่ละโปรเจ็กต์ แล้วพูดซ้ำว่า "ทำมาถึงตรงนี้แล้ว ต่อไปคืออันนี้"
2. พอทำหลายโปรเจ็กต์พร้อมกัน สมองแทบระเบิด
เมื่อทำ 3-4 โปรเจ็กต์พร้อมกัน แค่ตามให้ทันว่าแต่ละโปรเจ็กต์คืบหน้าไปถึงไหนก็กลายเป็นงานชิ้นหนึ่งแล้ว การสลับแท็บเทอร์มินัลไปมาแล้วเลื่อนดูประวัติการสนทนามีข้อจำกัดชัดเจน
Ravenclaw ถูกสร้างขึ้นมาเพื่อแก้ปัญหานี้
แนวคิดหลัก
จัดการบริบทการทำงานของเอเจนต์แบบรวมศูนย์
ไม่ว่าจะใช้เอเจนต์ตัวไหน (Claude Code, Gemini CLI, Codex) บริบทการทำงานจะถูกสะสมไว้ใน Ravenclaw เมื่อเปลี่ยนเอเจนต์หรือเซสชันขาดตอน ก็สามารถโหลดสถานะก่อนหน้าเดิมกลับมาได้ในเซสชันใหม่ผ่านเครื่องมือ MCP โดยไม่ผูกติดกับเอเจนต์ตัวใดตัวหนึ่ง
ในเว็บ UI สามารถดูโครงสร้าง epic/issue ของแต่ละโปรเจ็กต์, มุมมองกราฟ และความคืบหน้าได้ในหน้าเดียว จึงตอบคำถามว่า "ตอนนี้โปรเจ็กต์นี้ไปถึงไหนแล้วนะ?" ได้ทันทีโดยไม่ต้องเปิดดูบันทึกในเทอร์มินัล
ระบบที่ออกแบบมาเพื่อเอเจนต์ ไม่ใช่มนุษย์
ตั๋วงาน (issue/epic) และวิกิของ Ravenclaw อาจดูคล้าย Jira หรือ Linear แต่ผู้ใช้งานหลักต่างกัน
- ผู้ที่สร้าง issue, เปลี่ยนสถานะ, และเขียนวิกิคือ เอเจนต์
- มนุษย์มีหน้าที่ตรวจดูภาพรวมทั้งหมดในเว็บ UI และเมื่อจำเป็นก็เพิ่มคำอธิบายหรือคอมเมนต์เพื่อช่วยกำหนดทิศทาง
- เมื่อเอเจนต์เจอสถานการณ์ที่ต้องใช้การตัดสินใจ ก็จะส่ง Human Input Request มา และสามารถตอบกลับได้ผ่านเว็บ
เพื่อให้เอเจนต์เข้าถึงได้แบบโปรแกรม Ravenclaw จึงมีเครื่องมือผ่านโปรโตคอล MCP มากกว่า 40 รายการ และยังใช้งานฟังก์ชันทั้งหมดได้ผ่าน CLI และ REST API เช่นกัน
ฟีเจอร์หลัก
- เว็บแชต: สั่งงานเอเจนต์ได้โดยตรงจากเบราว์เซอร์ พร้อมการตอบกลับแบบสตรีมมิงแบบเรียลไทม์
- ความต่อเนื่องของการสนทนา: ใช้
claude --resumeและบันทึกประวัติการสนทนาไว้ในฐานข้อมูล - การมองเห็นโปรเจ็กต์: ดูโครงสร้าง epic/issue และความคืบหน้าได้ในมุมมองกราฟแบบภาพรวม
- สแนปช็อตบริบท: เอเจนต์บันทึกความคืบหน้าของงาน แล้วสานต่อได้ในเซสชันถัดไป
- การควบคุมสิทธิ์: ตอนรันเอเจนต์ เลือกได้ระหว่าง auto-approve / bypass / accept-edits
- มัลติเอเจนต์: เลือกใช้ Claude Code, Gemini CLI, หรือ Codex ทำงานในโปรเจ็กต์เดียวกันได้
เทคโนโลยีที่ใช้
TypeScript monorepo (pnpm workspaces)
- API: Hono + PostgreSQL (Drizzle ORM)
- Web: React + Tailwind + ReactFlow
- การเชื่อมต่อเอเจนต์: MCP Protocol (40+ tools)
- CLI: Commander.js
- การทดสอบ: Playwright E2E (14 รายการ)
การติดตั้ง
git clone https://github.com/chainofdive/ravenclaw.git
cd ravenclaw && pnpm install && pnpm build
docker-compose up -d && pnpm db:push
โฮสต์เองได้ ขอแค่มี PostgreSQL ก็พอ ใช้ไลเซนส์ Apache 2.0
ปัจจุบันผมใช้ระบบนี้จัดการหลาย side project แบบขนานร่วมกับ AI เอเจนต์อยู่จริง ยินดีรับฟีดแบ็กหรือคำถามครับ
ยังไม่มีความคิดเห็น