ถึงเวลา release อีกครั้ง
สามสัปดาห์ก่อน รอบการปล่อย พฤษภาคม เก็บทั้ง stack ไว้ในโพสต์เดียว ตั้งแต่นั้นเครื่องมือสองตัวที่ผู้ใช้สัมผัสมากที่สุดต่างก็ออก minor ใหม่ — Octocode 0.16.0 และ Octobrain 0.8.0 ทั้งคู่ออกวันที่ 7 มิถุนายน — บนการไต่ของ Octolib จาก 0.21.5 ถึง 0.23.0
มีเส้นด้ายหนึ่งร้อยผ่านทั้งหมดนี้ และควรพูดให้ชัดตั้งแต่ต้น: รอบนี้คือเรื่องของการไม่ต้อง configure อะไรเลย Octolib 0.23.0 ได้วิธี shared ในการมอง Git checkout และ derive project ID ที่เสถียร Octocode 0.16.0 ตอนนี้ delegate การระบุ project ไปยังตรงนั้นโดยตรง; Octobrain 0.8.0 รับ automatic project discovery มาในการขยับเดียวกัน ผลคือเครื่องมือสองตัวที่คุณชี้ไปที่ codebase จริงๆ ทำงานได้ทันทีที่คุณเริ่มมัน ในทุก repo โดยไม่ต้องตั้ง project ID ด้วยมือ
มาเริ่มที่จุดที่สำคัญที่สุดกัน
Octocode 0.16.0 — server เดียว ทุก repo ตอนนี้พร้อม Swift
github.com/muvon/octocode · 0.15.0 → 0.16.0 · 7 มิถุนายน
0.15.0 คือ release ที่ local-first — ไม่ต้องใช้ API key, hybrid search และ reranking เปิดเป็นค่าเริ่มต้น นั่นคือเรื่องของการทำให้ index เดียวดีออกมาทันที 0.16.0 คือเรื่องของสิ่งที่เกิดขึ้นเมื่อคุณมี codebase มากกว่าหนึ่ง ตัวให้ค้นหา
Multi-repository server mode — แทนที่ mcp-proxy เรื่องใหญ่ และเป็น breaking change ที่คุ้มกับการอัปเกรด จนถึงตอนนี้ การให้บริการหลาย repository ผ่าน assistant ตัวเดียวหมายถึงการรัน mcp-proxy ไว้หน้ากองทัพ Octocode instance แบบ single-repo — ชิ้นส่วนที่ขยับมากขึ้น สิ่งที่ต้องคอยให้มีชีวิตมากขึ้น สิ่งที่ต้องอธิบายมากขึ้น 0.16.0 ลบ layer นั้นทิ้ง Octocode MCP server ตัวเดียวตอนนี้พูด multi-repository ได้แบบ native คุณเชื่อมต่อครั้งเดียว แล้ว agent ของคุณค้นหาข้าม codebase ที่คุณ index ไว้ได้ แทนที่จะถูกขังในหนึ่ง project ต่อหนึ่งการเชื่อมต่อ
โปรดทราบ: การลบ
mcp-proxyคือรายการเดียวในลิสต์ breaking changes ของ 0.16.0 ถ้า setup ของคุณ launch Octocode ผ่าน proxy อยู่วันนี้ นั่นคือส่วนที่คุณต้องเปลี่ยนตอนอัปเกรด
Zero-config project identification Octocode ไม่แบก logic ของตัวเองในการหาว่า directory หนึ่งเป็นของ project ไหนอีกต่อไป — มัน delegate ไปยัง Octolib ที่ derive identity เสถียรจาก Git remote (ดูเพิ่มเติมว่าทำไมมันสำคัญด้านล่าง) ผลตอบแทน: มันคือ identity เดียวกัน ที่ Octobrain และที่เหลือของ stack derive ตอนนี้ ดังนั้นความจำและ code search เห็นตรงกันว่า "project นี้" หมายถึงอะไร โดยที่คุณไม่ต้องต่อสายอะไรเลย
Swift, ครบทั้ง pipeline 0.16.0 เพิ่ม Swift ทั้งใน indexer และ structural grep ถ้าคุณทำงานใน codebase ของ iOS หรือ macOS — และตอนนี้เรามีหลายตัว ระหว่าง Vext, Timex และ TypeTab — Swift symbols เป็น first-class สำหรับ semantic search และ pattern matching ไม่ใช่แค่ plain text
Custom config path ผ่าน env var ตอนนี้คุณชี้ Octocode ไปที่ config file ด้วย environment variable ได้ แทนที่จะพึ่งตำแหน่งตายตัว การเปลี่ยนเล็ก แต่เป็น quality-of-life win ใหญ่สำหรับงาน CI และเครื่องที่ juggle หลาย project ด้วย settings ต่างกัน
Security hardening ใต้ฝากระโปรง การเปลี่ยนสองอย่างที่คุณจะไม่เห็นแต่ควรรู้: ตอนนี้ Git URL credentials ถูก strip ออกระหว่าง normalization ดังนั้น remote ที่ฝัง token ไว้จะไม่ลงเอยถูกเขียนเข้า stored project URL; และ storage layer รวมศูนย์ table names และ harden SQL queries ของมัน
cargo install octocode --version 0.16.0
# or grab a binary at https://github.com/muvon/octocode/releases
Octobrain 0.8.0 — ความจำที่ configure ตัวเอง
github.com/muvon/octobrain · 0.7.0 → 0.8.0 · 7 มิถุนายน
0.7.0 คือตัวที่ดัง — sleep consolidation, half-life decay, goal-anchored memory, HyDE recall เปิดเป็นค่าเริ่มต้น release นั้นคือเรื่องของสิ่งที่ความจำของ AI คุณ ทำเองได้ 0.8.0 คือเรื่องของการลบสิ่งสุดท้ายที่คุณยังต้องทำด้วยมือ: บอกมันว่ามันอยู่ใน project ไหน
Automatic project discovery และ ID derivation พาดหัวใน 0.8.0 และเป็นอีกครึ่งของเส้นด้าย Octobrain ตอนนี้ discover project และ derive ID ของมันอัตโนมัติ — และใต้ฝากระโปรงมันสลับ git utilities ของตัวเองไปใช้ของ Octolib (release นี้ bump ขึ้นไป Octolib 0.23.0) ดังนั้น identity ที่มัน derive คือตัวเดียวกับที่ Octocode derive เริ่ม Octobrain ภายใน repo แล้วความจำของมันผูกเข้ากับ project นั้นเอง: ไม่มี project parameter ให้ส่ง ไม่มี ID ให้คัดลอกข้ามเครื่องมือ และไม่มีความเสี่ยงที่ code search กับความจำของคุณจะชี้ไปคนละ project ความจำที่ดูแลตัวเองอยู่แล้วตอนนี้ configure ตัวเองด้วย
Custom config path ผ่าน env var เป็น ergonomics win เดียวกับ Octocode โดยตั้งใจ — เครื่องมือทั้งสองรับ capability เดียวกันมาในรอบนี้ ดังนั้นมันทำงานเหมือนกันข้าม CI และเครื่อง multi-project
MCP surface ที่กระชับขึ้น 0.7.0 ลดชุดเครื่องมือจาก 8 ตัวเหลือ 5 ตัว 0.8.0 จูนสิ่งที่เหลือ: tool listing และ memory provider ถูก optimize และ project กับ role locking ตอนนี้ decouple กันแล้ว — ดังนั้นสอง role ที่ทำงานบน project เดียวกัน หรือหนึ่ง role ข้ามหลาย project เลิกแย่งกันบน lock ตัวเดียว
โน้ตของ 0.8.0 ไม่ลิสต์ breaking changes ใดๆ ดังนั้นมันเป็นการอัปเกรดที่สะอาดจาก 0.7.0 — และในทางปฏิบัติคุณได้เลิกส่ง project ID เพราะ Octobrain ตอนนี้คิดมันออกเองได้
cargo install octobrain --version 0.8.0
# or grab a binary at https://github.com/muvon/octobrain/releases
Octolib 0.21.5 → 0.23.0 — ท่อที่ทำให้ข้างบนเป็นไปได้
github.com/muvon/octolib · 0.21.5 → 0.23.0
มีข้อสังเกตสำคัญไม่กี่อย่าง เพราะนี่คือ layer ที่ทำงานเงียบๆ Octolib คือเครื่องยนต์เบื้องหลังทุก LLM call ที่เราทำ และเมื่อไม่นานมานี้มันก็กลายเป็นที่อยู่ของ shared, non-LLM utilities ด้วย เพื่อให้เครื่องมือข้างบนไม่ต้องประดิษฐ์ใหม่กันเอง
- Git repo detection และ project ID derivation (0.23.0) สิ่งที่ Octocode 0.16.0 delegate ไปอย่างชัดเจน และที่ Octobrain 0.8.0 ย้ายไปใช้ใน release เดียวกัน เอา logic ของ "นี่เป็น Git repo ไหม, canonical remote ของมันคืออะไร, ID ที่เสถียรของมันคืออะไร" ไว้ในที่เดียว แล้วทุกเครื่องมือที่พึ่ง Octolib ได้คำตอบ เดียวกัน นั่นคือเหตุผลทั้งหมดว่าทำไม zero-config project identity จึง consistent ข้าม stack แทนที่จะเป็นสามเครื่องมือต่างผิดเล็กน้อยในแบบของตัวเอง
- Response schema enforcement (0.23.0) ตอนนี้ Octolib ตรวจได้ว่า output ของโมเดลตรงกับ response schema ที่คาดหวัง — มีประโยชน์ทุกที่ที่คุณ parse structured output ออกกลับมาจาก LLM
- รองรับ Claude Opus 4.8 (0.21.7) Opus ใหม่ล่าสุดถูกต่อสายแล้ว พร้อมกับ OctoHub structured output และ finish-reason support เพื่อให้ caller บอกได้ว่า ทำไม generation ถึงหยุด ไม่ใช่แค่ว่ามันหยุด
- Minimax M3 และ M3-highspeed (0.21.8) อีกสองโมเดลในรายชื่อ
- Parallel tool handling และ connection timeouts (0.22.0) จัดการ parallel tool calls ดีขึ้น และ connection timeout บน HTTP client โดยการจัดการ request ถูกรวมไว้หลัง
send_and_readpath เดียว — มีหนทางน้อยลงที่ endpoint ช้าหรือค้างจะทำให้ agent หยุดนิ่ง - แก้ Token-accounting (0.21.6) cached tokens ไม่ถูกนับซ้ำสองอีกต่อไป และ compression summaries ไม่ block conversation history อีกแล้ว ถ้าตัวเลขต้นทุนของคุณดูสูงไปเล็กน้อยบน long cached sessions นี่คือสาเหตุ — และมันแก้แล้ว
ถ้าคุณสร้างอะไรที่เรียก LLM จาก Rust นี่ยังคงเป็น layer ที่ควรมาตรฐาน: ทุกผู้ให้บริการที่ Octolib พูดได้อยู่แล้ว หลัง trait เดียว ด้วย retry logic เดียวกันและ cost accounting เดียวกัน
แล้ว Octofs ล่ะ? คงที่ที่ 0.4.3 — โดยตั้งใจ
github.com/muvon/octofs · 0.4.3 · ไม่เปลี่ยน
Octofs ออก 0.4.3 ในรอบเดือนพฤษภาคม — regex search, parallel file walking และคำสั่ง delete — และไม่จำเป็นต้องมี release ตั้งแต่นั้น นั่นไม่ใช่การละเลย มันคือประเด็น filesystem layer คือชิ้นเดียวของ stack ที่คุณอยากให้น่าเบื่อและคาดเดาได้ และตอนนี้มันเป็นเช่นนั้น เมื่อ runtime เหนือมันเปลี่ยนวิธีที่มันแตะไฟล์ Octofs จะขยับอีกครั้ง จนกว่าจะถึงตอนนั้น 0.4.3 กำลังทำงานของมันอยู่
Octomind 0.30.0 — ออกแยกต่างหาก
runtime ที่ร้อย stack นี้เข้าด้วยกันอย่าง Octomind ก็ออก 0.30.0 เมื่อวันที่ 3 มิถุนายนด้วย — workflow file แบบพกพาได้, guardrails ที่อยู่ติดตัว project และ session observability มันมีบทความของตัวเองอยู่แล้ว เราเลยจะชี้คุณไปที่นั่นเลย: release notes ของ Octomind 0.30.0 บน octomind.run
พวกมันเข้ากันอย่างไร
Stack ยังคงเหมือนเดือนที่แล้ว สิ่งที่เปลี่ยนคือคุณแทบไม่ต้องคิดเรื่องมันเลย Octolib 0.23.0 ตอนนี้ derive project identity จาก Git ครั้งเดียว และ Octocode 0.16.0 กับ Octobrain 0.8.0 อ่านมัน ไม่มี proxy ไว้หน้า Octocode อีกต่อไป ไม่มี project ID ให้คัดลอกข้าม config และไม่มีความเสี่ยงว่า code search กับความจำจะชี้ไปคนละ project
ปีก่อน การต่อสิ่งเหล่านี้เข้าด้วยกันหมายถึง proxy ตัวหนึ่ง project ID ที่คัดลอก และความหวังว่าทั้งสองตรงกัน ช่องว่างนั้นปิดแล้ว binary เดี่ยว, Apache-2.0, ทั้งหมด
เราเริ่มตัวถัดไปแล้ว ถ้าอะไรที่นี่ปลดล็อกสิ่งที่คุณอยากสร้าง เปิด issue — feature ที่ขอในมิถุนายนมักจะ ship ในกรกฎาคม
— Don



