# รอบการปล่อย ต้นกันยายน 2026: 77 release, UI ที่ agent วาดเอง และ stack ที่เลิกทำให้คุณต้องรอ

> สิบเก้าวัน เจ็ดสิบเจ็ด release ในสิบ repo Octomind 0.45 → 0.50.2 พร้อม model profile เดียว, ความจำที่ลืมอย่างตั้งใจ และผลของงานเบื้องหลังที่ส่งถึงกลางเทิร์น Octoweb 0.11 → 0.14 พร้อม workspace และ UI ที่ agent วาดเอง Octolib โตขึ้นเป็น stack สำหรับ media generation — ภาพ วิดีโอ เสียงพูด การถอดเสียง — บวก Claude 5.1, GPT-6 และ Gemini 3.8 Octofs 0.15.3, Octocode 0.25.0, Octobrain 0.13.1, OctoHub 0.7.13, Synx 0.1.4 และแอป Mac สองตัวที่กลายเป็น MCP server

[บันทึกรอบสิงหาคม](/blog/release-round-august-2026) ปิดท้ายด้วย stack ที่ก้าวออกจากบ้าน — branch ของคุณ เซิร์ฟเวอร์ของคุณ เบราว์เซอร์ของคุณ registry ของคุณ สิบเก้าวันต่อมาตัวเลขอยู่ที่ **เจ็ดสิบเจ็ด release ในสิบ repository** และทิศทางก็เปลี่ยนอีกครั้ง

สิงหาคมว่าด้วยการไปปรากฏตัวในที่ที่มากขึ้น **รอบนี้ว่าด้วยการไม่ทำให้คุณต้องรอ** งานเบื้องหลังที่ไปถึง agent ตั้งแต่ตอนที่มันยังคิดอยู่ คำสั่ง shell ที่เลิกบล็อก tool call การตรวจว่างานเสร็จหรือยังที่รู้ว่ายังมี job ค้างอยู่ agent ที่วาดปุ่มให้แทนที่จะพิมพ์ว่า "ตอบ 1 สำหรับ staging, 2 สำหรับ production" และใต้ทั้งหมดนั้น LLM layer ที่เรียนรู้ที่จะ _สร้าง_ ภาพ วิดีโอ และเสียงพูด แทนที่จะอ่านมันได้อย่างเดียว

นี่คือทั้งหมด เรียงตามลำดับที่มันจะสำคัญกับคุณ

---

## ตัวเลข

| Repo                                            | ช่วง                | Release |
| ----------------------------------------------- | ------------------- | ------- |
| [octolib](https://github.com/muvon/octolib)     | 0.33.0 → **0.36.1** | 18      |
| [octofs](https://github.com/muvon/octofs)       | 0.10.2 → **0.15.3** | 14      |
| [octomind](https://github.com/muvon/octomind)   | 0.45.0 → **0.50.2** | 12      |
| [octohub](https://github.com/muvon/octohub)     | 0.7.4 → **0.7.13**  | 10      |
| [octobrain](https://github.com/muvon/octobrain) | 0.11.1 → **0.13.1** | 6       |
| [octocode](https://github.com/muvon/octocode)   | 0.22.0 → **0.25.0** | 5       |
| [octoweb](https://github.com/muvon/octoweb)     | 0.11.0 → **0.14.0** | 4       |
| [vext](https://getvext.app)                     | 1.4.0 → **1.5.1**   | 3       |
| [timex](https://gettimex.app)                   | 1.3.0 → **1.4.1**   | 3       |
| [synx](https://github.com/muvon/synx)           | 0.1.3 → **0.1.4**   | 2       |

19 สิงหาคม ถึง 6 กันยายน ทุกอย่างด้านล่างนี้ ship แล้ว ติด tag แล้ว และติดตั้งได้วันนี้

---

## Octomind 0.45 → 0.50.2 — agent runtime ฉบับละเอียด

[**github.com/muvon/octomind**](https://github.com/muvon/octomind) · สิบสอง release · [บันทึกฉบับเต็มบน octomind.run](https://octomind.run/blog/octomind-0-50-2-release)

runtime ได้ release มากที่สุดและมีพื้นผิวที่ผู้ใช้เห็นมากที่สุด มันจึงได้พื้นที่มากที่สุดตรงนี้ ทุกข้อด้านล่างเริ่มต้นจากคำบ่นของใครสักคน

**"พิมพ์ `octomind run` ไปหมื่นรอบแล้ว"** ตอนนี้พิมพ์ `octomind` เปล่าๆ จะเริ่ม session แบบ interactive ด้วย agent ตัว default ของคุณ และ `git diff | octomind` ก็ทำงานแบบเดียวกัน `run` ยังอยู่ครบทุก flag เหมือนเดิม ชื่อของเครื่องมือตอนนี้กลายเป็นคำสั่งที่ถูกเรียกใช้บ่อยที่สุดไปด้วยในตัว

**"แค่จะเปลี่ยนโมเดล default ก็ต้องไล่ find-and-replace ทั้ง config"** [0.48.0](https://octomind.run/blog/octomind-0-48-0-release) ยุบ setting ของโมเดลที่กระจัดกระจายอยู่แปดจุดให้เหลือ `[model]` profile เดียวที่สืบทอดกันได้ ทุก role, tap, ขั้นตอนของ workflow และ profile ภายในตอนนี้สืบทอดสิ่งที่ตัวเองไม่ได้ override มันเป็น breaking change — config เวอร์ชัน 12 — และมันลบโค้ด production สุทธิ 9,789 บรรทัดภายในห้าวัน พร้อมกับเพิ่มโค้ดเทสต์ 82,624 บรรทัด

**"มันให้ตอบ 1, 2 หรือ 3 เหมือนยังอยู่ปี 1985"** ตั้งแต่ 5 กันยายน session ของ Octomind วาด interface ได้เองแทนที่จะบรรยายมัน: การ์ดพร้อม chip, ช่องกรอกข้อความ และปุ่มจริงๆ ที่ถูก render ทั้งในเว็บแอปของ Octomind และใน sidebar ของ Octoweb สร้างบนโปรโตคอลเปิด [A2UI](https://a2ui.org) แทนที่จะเป็น HTML ที่โมเดลเขียนเองหรือรูปแบบ JSON เฉพาะบ้านที่ไม่มีใครพูดด้วย เหตุผลเบื้องหลังทางเลือกนั้น — รวมถึงว่าทำไม markup ที่ไม่น่าเชื่อถือใน session ที่ล็อกอินอยู่จึงเป็นช่องโหว่ที่มี roadmap เป็นของตัวเอง — อยู่ใน[โพสต์ของมันเอง](https://octomind.run/blog/agent-drawn-ui)

**"จะส่ง screenshot ให้มันดูก็ไม่ได้"** 0.47 เพิ่ม attachment ในข้อความทั้งฝั่ง WebSocket และ MCP บวกกับการ validate ความสามารถด้าน media — โมเดลที่รับได้แต่ข้อความตอนนี้จะ _บอก_ คุณว่ามันมองไม่เห็นรูปของคุณ แทนที่จะทิ้งรูปนั้นไปเงียบๆ เรื่องภาพและเสียงในทุก session ได้[โพสต์ของตัวเอง](https://octomind.run/blog/images-and-voice)

**"job เบื้องหลังเสร็จไปแล้ว แต่ agent ไม่รู้เรื่องจนกว่าเทิร์นจะจบ"** ใน 0.50 job เบื้องหลังที่เสร็จแล้ว, อัปเดตจาก monitor และคำตอบจาก tap จะเข้าสู่เทิร์นที่กำลังรันอยู่ก่อน request ถัดไปที่ยิงไปหาโมเดล การ review โค้ดตอนนี้จึงเอาผลตรวจที่ตัวเองสั่งไว้มารวมได้ทัน completion gate ก็เรียนมารยาทให้เข้าชุดกัน: เมื่อยังมีงาน async ค้างอยู่ คำว่า "เสร็จ" จะรอ และสถานะที่ค้างอยู่นั้นอยู่รอดข้ามไปถึงเทิร์นที่กลับมาทำ session ต่อ

**"มันบอกว่าเสร็จ แต่มันไม่เสร็จ"** verify gate ที่[เปิดตัวใน 0.44](https://octomind.run/blog/octomind-0-44-2-release) ได้ recovery tracking สำหรับ verifier ที่ผลไม่นิ่ง, contract ความพร้อมในการแก้ไขที่ระบุไว้ชัดเจน และ — ใน 0.46.1 — **รอบหักล้างเพื่อขอความเห็นที่สอง** ที่พยายามหักล้างการปฏิเสธก่อนจะให้มันมีผล gate ที่ร้องหมาป่าบ่อยๆ สอนให้คุณเลิกสนใจมัน ใน 0.50 supervisor ยังเริ่ม hash เนื้อหาไฟล์ที่เปลี่ยนไปเทียบกับ working directory ของ session ด้วย มันจึงแยกออกว่าอะไรคือการแก้ไขจริง อะไรคือการเขียนทับด้วยไบต์ชุดเดิม หรือแค่ไฟล์ที่ถูก stage ไว้เฉยๆ

**"การบีบอัด context กินงานที่กำลังทำอยู่หายไปเลย"** 0.45.1 หยุดไม่ให้ request ของผู้ใช้หายไประหว่างการ fold; 0.47 ย้ายการ fold ไปทำเบื้องหลังพร้อมการตัดสินใจแบบเฉลี่ยต้นทุน session ยาวๆ จึงจ่ายทีละนิดแทนที่จะไปค้างเอาตอนที่แย่ที่สุด; 0.50.2 ตัดผลลัพธ์ของ tool ที่ใหญ่เกินตัว _ก่อน_ จะตัดสินใจว่าจะจ่ายค่า call สำหรับสรุปหรือไม่ และข้าม call นั้นไปเลยถ้าแค่ตัดก็พอแล้ว context ที่ถูก recall กลับมาตอนนี้อยู่รอดผ่านการบีบอัดได้ในช่วงเวลาที่จำกัดไว้ และ output ก้อนใหญ่ที่ล้นออกมาถูกเก็บไว้กับข้อมูลของ session แทนที่จะอยู่ใน temp directory ที่อาจถูกล้างไปแล้ว

**"agent ลืมทุกอย่างเมื่อข้าม session — ไม่ก็จำมากเกินไป"** 0.48 รื้อระบบการเรียนรู้ใหม่บน storage ที่หนุนด้วยไฟล์ พร้อม lifecycle การเก็บรักษาแบบ hot/cold และการวิวัฒน์ที่มีหลักฐานเป็นด่าน: บทเรียนต้องพิสูจน์ตัวเองให้ได้ก่อนถึงจะได้อยู่ต่อ สถิติของ session ตอนนี้รายงานด้วยว่า learning pack ไหนถูกใช้จริง

**"เครื่องมือของทีมอยู่ใน repo ของเราเอง"** 0.49 resolve capability ข้ามทุก tap ที่เชื่อมต่ออยู่ รวมถึงการอ้างอิงแบบระบุ organization — `myorg/project-read` เคียงข้าง `octomind/memory-read` — โดย dependency ถูกติดตั้งด้วยสคริปต์ของ tap ที่เป็นเจ้าของมัน `octomind tap` ยังสร้างโครง tap ใหม่ในเครื่องได้ด้วยคำสั่งเดียว ถ้า[MCP ที่เขียนเองควรอยู่ใน repo ของคุณ](/blog/custom-mcps-belong-in-your-repo) capability ที่เขียนเองก็ควรอยู่ที่นั่นเหมือนกัน

เล็กกว่านั้นแต่ก็ยังดี: การพิมพ์ `@file` พร้อม completion ของ path ในระบบไฟล์, การแจ้ง progress ของ MCP tool call ที่ถูกส่งไปแสดงที่ spinner, `OCTOMIND_DATA_DIR`, การ merge config ตาม role, หน้า `/status` เดียวที่มาแทน `/agents` กับ `/monitor`, metric ด้านเวลาต่อ session และรายงานการใช้งานที่เลิกคิดเงินคุณสำหรับโมเดลที่ฟรีอยู่แล้ว

อีกสองเรื่องของ Octomind ได้โพสต์เต็มของตัวเองในรอบนี้: [routine ตามตารางเวลา](https://octomind.run/blog/routines-scheduled-agents) ที่รันด้วย cron แล้วรายงานกลับมา และ[artifact ที่คงทน](https://octomind.run/blog/durable-artifacts) — ผลงานส่งมอบที่อยู่ได้นานกว่าเครื่องที่ผลิตมันขึ้นมา ถ้าคุณกำลังต่อ agent เข้ากับ pipeline แทนที่จะเป็น terminal [การรันแบบ non-interactive พร้อม output แบบ JSON Lines และ JSON Schema](https://octomind.run/blog/octomind-non-interactive-ci-automation) คือคู่มือภาคปฏิบัติ

```bash
curl -fsSL https://raw.githubusercontent.com/muvon/octomind/master/install.sh | bash
# หรือถ้ามี Rust toolchain:
cargo install octomind --version 0.50.2
```

---

## Octoweb 0.11 → 0.14 — workspace และเบราว์เซอร์ที่ agent วาดลงไปได้

[**github.com/muvon/octoweb**](https://github.com/muvon/octoweb) · สี่ release · 5 กันยายน

[เบราว์เซอร์ AI แบบ keyboard-first](/blog/introducing-octoweb-keyboard-first-ai-browser) ใช้เดือนสิงหาคมไปกับการทำให้ตัวเองเสถียร กันยายนให้โครงสร้างกับมัน

**Workspace (0.12.0)** คือพาดหัว แท็บ, ช่อง quick slot, การนำทางแบบ MRU และ session ทั้งหมดถูกจำกัดขอบเขตต่อ workspace แล้ว พร้อม shortcut แบบ index ไว้สลับไปมา และการ restore session แบบ lazy การเปิดเบราว์เซอร์จึงไม่ปลุกห้าสิบหน้าขึ้นมาพร้อมกัน การ routing ของ MCP ก็ผูกกับ workspace เช่นกัน — token บอกว่า agent กำลังขับ workspace ไหนอยู่ context งานค้นคว้ากับ context งานของคุณจึงเลิกรั่วใส่กัน release เดียวกันยังเพิ่มประวัติแชทแบบแบ่งหน้าที่ค้นหาได้, การอนุมัติและ harvest แบบมีขั้นตอนนำทาง, การตั้งค่า agent และ capability ใน UI และรายงานผลการรันของ specialist

**MCP มีเขี้ยวเล็บแล้ว (0.11.0)** [พื้นผิวควบคุมเบราว์เซอร์](https://octoweb.xyz/blog/drive-your-browser-with-mcp) — 29 เครื่องมือบน `localhost:3434/mcp` — ได้การปิด overlay, การระบุผลที่คาดหวังของ action พร้อม snapshot แบบจำกัดขอบเขต, การป้อนข้อมูลแบบ native ที่เชื่อถือได้พร้อมการติดตามผลกระทบ และการติดตามกับรายงานการดาวน์โหลด รวมกันแล้วมันเปลี่ยน "agent คลิกอะไรบางอย่าง" ให้เป็น "agent คลิกอะไรบางอย่าง และพิสูจน์ได้ว่ามีอะไรเปลี่ยนไปบ้าง"

**แท็บ media ที่กำลังเล่นอยู่ (0.13.0)** แสดงให้เห็นว่าอะไรกำลังเล่นอยู่จริงๆ ทั่วทั้ง workspace และการแจ้งเตือนตอนนี้เปิด session ที่เป็นต้นเหตุ แทนที่จะเปิดอะไรก็ตามที่ focus อยู่ล่าสุด

**A2UI (0.14.0)** — พื้นผิว UI แบบ declarative ลงจอดในเบราว์เซอร์วันเดียวกับที่ agent เรียนรู้ที่จะวาดมัน เครื่องมือ `render_ui` ให้ agent ตัวไหนก็ได้ที่เชื่อมต่ออยู่วาดพื้นผิว A2UI v1.0 ลงใน sidebar ได้ตรงๆ แล้วรับกลับมาว่าคนกดอะไรจริงๆ ใน 0.14.0 ยังมี: autocomplete ของ tag และการรื้อทำใหม่ของตัวเบราว์เซอร์กับ sidebar

Octoweb ยังย้ายออกจากเมนูโปรดักต์ของ Octomind ไปอยู่ที่ [octoweb.xyz](https://octoweb.xyz) — [โพสต์นั้น](/blog/octoweb-has-its-own-home) เล่าถึงการย้ายครั้งนี้, ทั้งสี่ release แบบเต็มๆ และคำถามที่การย้ายทำให้ถูกถามซ้ำแล้วซ้ำอีก: ไม่ เบราว์เซอร์ตัวนี้ไม่ได้ถูกล็อกไว้กับ cloud ของเรา เว็บไซต์ของมันเองมี[เรื่องราวการเปิดตัว](https://octoweb.xyz/blog/introducing-octoweb) และ[คู่มือ MCP](https://octoweb.xyz/blog/drive-your-browser-with-mcp)

---

## Octofs 0.10.2 → 0.15.3 — การรอเลิกเป็น tool call

[**github.com/muvon/octofs**](https://github.com/muvon/octofs) · สิบสี่ release · 5 กันยายน

ตัวใหญ่ได้[โพสต์ของตัวเอง](/blog/octofs-0-14-waiting-is-not-a-tool-call)ไปแล้ว: ทุกคำสั่ง shell เริ่มที่ foreground แล้วเลื่อนขึ้นเป็น job เบื้องหลังอัตโนมัติเมื่อครบสิบวินาที โดยไม่ทำข้อมูลหายแม้แต่ไบต์เดียว และแจ้ง client เมื่อมันจบ ไม่มี timeout หกสิบวินาทีของ client มาฆ่า test suite ที่ใช้เวลาสี่นาทีอีกต่อไป ไม่มีโมเดลคิดค้น `sleep 240` ขึ้นมาเป็นกลยุทธ์ polling อีกต่อไป

มีอีกสี่ release ลงจอดตั้งแต่โพสต์นั้น ทั้งหมดคือการลับคมตามขอบ:

- **มุมมองไฟล์แบบ delta และการรายงานการเลื่อนของเลขบรรทัดหลังแก้ไข (0.15.0)** หลังการแก้ไข เครื่องมือจะบอกโมเดลว่าเลขบรรทัดขยับไปอย่างไร การแก้ครั้งถัดไปจึงเล็งไปที่ความจริง เมื่อวางซ้อนบน [line ID ที่ verify ด้วยเนื้อหา](/blog/octofs-0-9-0-content-verified-line-ids) แบบ `N:hh` จาก 0.9.0 แล้ว ตอนนี้ agent ต้องออกแรงพอสมควรกว่าจะทำผิดได้
- **SSH alias และ path ที่อ้างอิงจาก home (0.15.0)** เป้าหมายระยะไกลถูก resolve ผ่าน `~/.ssh/config` ของคุณ `octofs` จึงเรียกชื่อ host เดียวกับที่ terminal ของคุณเรียก — และ `~/project` หมายถึง home ของเครื่องปลายทาง ไม่ใช่ของคุณ
- **การค้นหาระยะไกลที่ประพฤติตัวดี (0.15.1)** การค้นหาแบบ tree ผ่าน SSH คืนผลลัพธ์ที่ถูกต้อง และความลึกของการ list ไฟล์ระยะไกลถูกจำกัดไว้เป็นค่า default แทนที่จะไล่เดินทั้งดิสก์ของเครื่อง build
- **การแก้ไขที่ไม่ยอมกำกวม (0.15.0–0.15.3)** การแทรกเข้าไปในช่วงที่กำลังถูกแทนที่หรือถูกลบจะถูกปฏิเสธทันที และมุมมองที่ว่างเปล่ากับ request ที่อยู่นอกช่วงจะบอกออกมาตรงๆ แทนที่จะคืน string ว่างที่โมเดลอ่านแล้วเข้าใจว่า "ไฟล์นี้ว่าง"

```bash
cargo install octofs --version 0.15.3
# หรือ:
npm install -g @muvon/octofs
```

---

## Octolib 0.33 → 0.36.1 — LLM layer เรียนรู้ที่จะสร้าง media

[**github.com/muvon/octolib**](https://github.com/muvon/octolib) · สิบแปด release · 6 กันยายน

[เครื่องยนต์ที่อยู่ใต้ทุกสิ่ง](/blog/octolib-the-engine-behind-our-ai-stack) เจอช่วงที่วุ่นที่สุดเท่าที่เคยมี และมันเปลี่ยนรูปทรงไป

**การสร้าง media เป็นพลเมืองชั้นหนึ่งแล้ว** API แบบมี type สำหรับภาพ วิดีโอ เสียงพูด และการถอดเสียง ครอบคลุมห้า provider — **fal**, **ElevenLabs** และ **Runway** เข้าร่วมกับ OpenRouter และ Replicate ในรอบนี้ — อยู่หลังการระบุที่อยู่แบบ `provider:model` ตัวเดียวกับที่คุณใช้กับ chat อยู่แล้ว การสร้างวิดีโอเป็นงาน asynchronous โดยธรรมชาติ job จึงคงทน: persist `JobHandle` ที่ไม่มี credential ติดไปด้วย, restart process ของคุณ, แล้วกลับมาทำ job ต่อ timeout ของการรอฝั่ง local จะคืน handle กลับมาแทนที่จะยกเลิกงานที่ฝั่งโน้น

การคิดต้นทุนยังซื่อตรงเหมือนเดิม ซึ่งเป็นส่วนที่เราแคร์ `provider_reported_cost` ถูกใช้ _เฉพาะ_ ตอนที่ฝั่ง upstream คืนตัวเลขดอลลาร์จริงมาเท่านั้น อย่างอื่นคือ `estimated_cost` ที่มาจากอัตราที่ผู้เรียกส่งเข้ามา หรือจากตาราง `media::reference_pricing` ตัวใหม่ และอัตรานั้นถูกแช่แข็งไว้ใน job handle ตั้งแต่ตอน submit job ที่ถูกทำต่อจึงคิดราคาออกมาเท่าเดิมเป๊ะ artifact ที่ถูกสร้างขึ้นจะไม่ถูกดาวน์โหลดอัตโนมัติ — `download_artifact` ต้องระบุขีดจำกัดจำนวนไบต์ชัดเจน, รับเฉพาะ HTTPS, ปฏิเสธ credential ที่ฝังมาใน URL และ address วงในเครือข่าย, ตรวจ MIME type และไม่เดินตาม redirect

**รายชื่อโมเดลก็ตามทัน:** Claude 5.1 (Anthropic), GPT-6 (OpenAI), Gemini 3.8 Flash, provider Meta Model API ตัวใหม่, GLM-5.3-Flash ผ่าน Zai, vision ของ DeepSeek, embedding `voyage-code-4` บวกกับราคาสำหรับ Qwen3.8 Flash และ Together AI แบบ serverless

**Structured output เลิกเดา** schema ของ response ถูกบังคับใช้ข้าม provider, การ validate ที่ล้มเหลวจะ log output ที่เป็นตัวปัญหาไว้, การใช้งานถูกรวมยอดข้ามทุกครั้งที่ retry เพื่อให้ตรง schema และตอนนี้ structured output **fail แบบปิดประตู** — ผลลัพธ์ที่ผิดรูปคือ error ไม่ใช่การยักไหล่ Alibaba ได้ fallback สำหรับ structured output ไว้ใช้กับโมเดลที่ทำเองไม่ได้

**และมิเตอร์ก็แม่นขึ้นเรื่อยๆ:** token ของการ reasoning ถูกนับเข้าในต้นทุน, ตรรกะของ output token ที่คิดเงินได้ถูกรวมไว้ที่เดียว, ช่วง peak/off-peak ของ DeepSeek ถูกเขียนไว้ในเอกสาร และ header ที่ระบุแอปผู้เรียกตอนนี้เดินทางไปถึง OctoHub ด้วย dashboard ของ proxy คุณจึงรู้ว่าเครื่องมือตัวไหนของคุณเป็นคนใช้เงินไป

---

## OctoHub 0.7.4 → 0.7.13 — การระบุที่มาที่ส่งต่อจนสุดทาง

[**github.com/muvon/octohub**](https://github.com/muvon/octohub) · สิบ release · 4 กันยายน

[proxy LLM แบบ self-hosted](/blog/introducing-octohub-llm-proxy-for-observability) ใช้รอบนี้ไปกับไมล์สุดท้ายของ[เรื่องเล่า observability](/blog/debugging-ai-agents-the-observability-we-wanted): **0.7.12 ส่งต่อ header ที่ระบุที่มา** ตลอดเส้นทางจากต้นจนปลาย พร้อมค่า default ของ OpenRouter ที่สมเหตุสมผลเมื่อ client ไม่ส่งอะไรมาเลย เมื่อรวมกับฝั่งที่ Octolib เปลี่ยน แถวในฐานข้อมูลของคุณตอนนี้ไม่ได้รู้แค่ว่า request หนึ่งราคาเท่าไร แต่รู้ด้วยว่าแอปพลิเคชันไหนเป็นคนยิงมา นี่เป็น breaking change ถ้าคุณเคยพึ่งพาการจัดการ header แบบเดิม

0.7.7 ปรับปรุงการจัดการ modality และการ parse เนื้อหา — จำเป็นขึ้นมาทันทีที่ทุกเครื่องมือใน stack เริ่มส่งภาพและเสียงผ่าน proxy — และ 0.7.9 รื้อคู่มือการติดตั้งและ API ใหม่ ซึ่งค้างมานานแล้ว ที่เหลือคือจังหวะกลองสม่ำเสมอของการอัป octolib ที่คอยทำให้ความครอบคลุมโมเดลของ proxy เท่ากับทุกอย่างที่เหลือที่เรา ship

---

## Octocode 0.22 → 0.25 — Elixir, โครงสร้างภายในของ Svelte และ graph ที่ resolve ตอน runtime

[**github.com/muvon/octocode**](https://github.com/muvon/octocode) · ห้า release · 5 กันยายน

- **Elixir เข้าร่วม indexer (0.23.0)** พร้อมการจับคู่ metavariable และการ resolve เป้าหมายของ `impl` — การดูแลแบบเดียวกับที่ทุกภาษาที่รองรับได้รับ ไม่ใช่การประมาณด้วย regex
- **โซนโค้ดซ้อนของ Svelte ถูก index แล้ว (0.24.0)** บล็อก script, markup และ style ในไฟล์ `.svelte` เป็นโซนโค้ดคนละโซนกัน ตอนนี้ indexer ปฏิบัติกับมันแบบนั้นแทนที่จะหั่นรวมเป็นก้อนเดียว การค้นหาใน codebase ที่เขียนด้วย Svelte จึงคืนบล็อกที่คุณหมายถึงจริงๆ
- **GraphRAG resolve edge ตอน runtime (0.24.0)** พร้อมการ resolve การเรียกฟังก์ชันในเครื่องและ import ได้ถูกต้อง — ต่อยอดจาก [markdown knowledge graph](/blog/octocode-0-20-0-markdown-knowledge-graph) ของ 0.20.0 การเขียน metadata ถูกทำเป็น batch และ parser จัดการคอมเมนต์กับ code fence ได้แม่นยำขึ้น
- **การ reasoning ตั้งค่าได้ (0.25.0)** — setting ระดับความพยายามในการ reasoning แบบมี type และงบการคิดที่คุณจูนได้สำหรับรอบจัดอันดับ คุณจึงเป็นคนตัดสินว่าการค้นหาครั้งหนึ่งคุ้มกับการคิดแค่ไหน
- **Windows และ symlink เลิกเป็นเรื่องเล่าลือ (0.25.0)** — การ normalize path ข้ามแพลตฟอร์ม, การจัดการ root ที่เป็น symlink และ test coverage ที่ทะลุ 80%
- **โหมด MCP เป็นอัตโนมัติ (0.23.0)** — server ในตัวเลือกโหมด single หรือ multi-project ได้ด้วยตัวเอง

```bash
cargo install octocode --version 0.25.0
# หรือ:
npm install -g @muvon/octocode
```

---

## Octobrain 0.11.1 → 0.13.1 — ความจำที่คุณดูแลรักษาได้

[**github.com/muvon/octobrain**](https://github.com/muvon/octobrain) · หก release · 4 กันยายน

[memory layer](/blog/ai-agent-memory-without-the-noise) เงียบลงและใช้งานได้จริงขึ้น **0.13.0 เพิ่ม `octobrain memory maintenance`** — การ compact ตารางความจำแบบบล็อกการทำงาน พร้อมกับการ refresh index ที่คุณรันเองเมื่อการค้นหาเริ่มช้าลง เหตุผลตามตรงว่าทำไมมันถึงต้องมี: session ของ MCP มีอายุสั้นเกินกว่าจะ compact ตารางที่แตกกระจายหนักๆ ให้จบได้ งานนี้จึงต้องมีที่อยู่นอก session release เดียวกันยัง throttle การเขียนข้อมูลการเข้าถึง และทำให้ maintenance retry แทนที่จะยอมแพ้

0.12.0 เพิ่ม annotation ให้เครื่องมือ MCP และการ parse query ที่ชัดเจนขึ้น; 0.12.1 แพตช์ dependency ที่มีช่องโหว่สิบหกตัว; 0.11.1 ทำให้ข้อจำกัดเรื่อง URL ของเครื่องมือ knowledge ชัดเจนขึ้น agent จะได้เลิกพยายามดึงสิ่งที่มันไม่ได้รับอนุญาต

```bash
cargo install octobrain --version 0.13.1
# หรือ:
npm install -g @muvon/octobrain
```

---

## Synx 0.1.4 — เครื่องมือ sync เรียนรู้ว่า `.git` คืออะไร

[**github.com/muvon/synx**](https://github.com/muvon/synx) · สอง release · 5 กันยายน

[การ sync สองทางผ่าน SSH](/blog/introducing-synx-file-sync-for-remote-development) มีบั๊กประเภทที่คุณกลัวที่สุดจากเครื่องมือที่แตะ source tree ของคุณทั้งสองสำเนา และรอบนี้ปิดมันไปแล้ว **0.1.4 รักษา `.git` ไว้ระหว่างปฏิบัติการของ git** และปฏิเสธที่จะ sync เมื่อปลายทั้งสองฝั่งเป็นคนละ repository — ความไม่ตรงกันที่เมื่อก่อนจะรู้ตัวก็ต่อเมื่อมันเกิดขึ้นไปแล้ว subtree ที่ถูก exclude ใน manifest ตอนนี้ยังคงถูก exclude ไว้แทนที่จะโดนล้าง การเปลี่ยนชื่อและอัตลักษณ์ของไฟล์อยู่รอดข้ามการ sync ไปกลับ การลบที่ watcher เห็นถูกส่งต่อไปยัง peer แทนที่จะฟื้นคืนชีพขึ้นมาเงียบๆ และกฎ ignore จากภายนอกเลิกรั่วเข้าไปใน manifest

0.1.3 แก้อีกครึ่งหนึ่ง: event ของ filesystem ที่พลาดไปถูกนำมา reconcile แทนที่จะหายไปเฉยๆ และ subtree ที่เข้าถึงไม่ได้ถูกข้ามแทนที่จะทำให้การ watch ล้มทั้งกระดาน overhead ด้านหน่วยความจำและ I/O ก็ลดลงระหว่างทาง

---

## Vext 1.5.1 และ Timex 1.4.1 — แอป Mac สองตัวกลายเป็น MCP server

นี่คือเซอร์ไพรส์เงียบๆ ของรอบนี้ ตอนนี้แอปทั้งสองตัวรัน MCP server ในเครื่อง ปิดไว้เป็นค่า default, bind กับ `127.0.0.1` และใช้ bearer token ที่คุณคัดลอกมาจากหน้า Settings — Vext bind กับ loopback เท่านั้น ส่วน Timex ให้คุณเปลี่ยน address ได้ถ้าคุณรู้ว่าจะเปลี่ยนไปทำไม

**[Vext](/blog/introducing-vext-voice-to-text-for-mac) 1.4.0** เปิด **38 เครื่องมือ** — เริ่มและหยุดการพิมพ์ด้วยเสียง, ถอดเสียงจากไฟล์, วางข้อความที่ตำแหน่ง cursor, บันทึกและ query การประชุมพร้อมป้ายชื่อผู้พูด, ไล่ดูและลบประวัติ ตอนนี้ agent ของคุณขอให้ Mac ฟังได้ หรืออ่านย้อนกลับมาว่าคุณพูดอะไรไปในสายเมื่อเช้านี้ โดยไม่ต้องวิ่งไปกลับผ่าน cloud มันมาพร้อม config สำเร็จรูปสำหรับ Claude Code, Codex, OpenCode และ Octomind และ 1.4.0 ยังแก้ปัญหา `tools/list` ถูกปฏิเสธภายใต้โปรโตคอลฉบับแก้ไข 2026-07-28 ตามด้วย 1.5.0 ที่รวมไลบรารีประวัติเป็นชุดเดียว, รื้อ flow การติดตั้งและการตั้งค่าใหม่ และงานไอคอนชุดใหม่; 1.5.1 ขัดเกลาขั้นตอน onboarding นอกเหนือจาก MCP: hotkey จากปุ่มเมาส์, การแตะเร็วเพื่อสลับโหมด hands-free, ตัวเลือกไมโครโฟนพร้อม fallback, สไตล์การพิมพ์ด้วยเสียงแยกตามแอปที่วางข้อความกลับไปยังแอปที่คุณเริ่มต้นมา, แถบ transcript สดที่กด Escape ยกเลิกได้ และการเสนอให้เริ่มบันทึกเมื่อการโทรเริ่มขึ้น

**[Timex](/blog/introducing-timex-time-tracker-for-mac) 1.3.0** เปิด **16 เครื่องมือ** ด้วยรูปแบบเดียวกัน — สรุปผล, ค้นหากิจกรรม, สถานะการติดตามแบบสด, หมวดหมู่และกฎ, การกรอกรายการเอง, การ export CSV, การหยุดชั่วคราวและเริ่มต่อ ถาม agent ของคุณว่าวันนี้เวลาหายไปไหนหมด แล้วมันไปตรวจดูให้ได้จริงๆ release เดียวกันเพิ่มการสำรองฐานข้อมูลอัตโนมัติรายวัน, การติดตามแบบเลือกได้ (ข้อยกเว้น, หน้าต่างส่วนตัว, ตารางเวลา), ขีดจำกัดรายวันแบบเลือกเปิดพร้อมสรุปตอนสิ้นวัน, กฎหมวดหมู่ตาม keyword และ subdomain และการติดตามที่ยังทำงานต่อระหว่างเล่นสื่อและระหว่างการโทร 1.4.0 เพิ่มกราฟกิจกรรมรายวัน; 1.4.1 แก้ลูปของ popover บน menubar

แอปทั้งสองยังเป็นเหมือนเดิม: SQLite ในเครื่อง, โมเดลที่รันบนอุปกรณ์, ไม่ต้องมีบัญชี, ไม่มี telemetry MCP server ไม่ได้เปลี่ยนเรื่องนั้น — มันแค่หมายความว่า agent บนเครื่องของคุณคุยกับแอปบนเครื่องของคุณได้ ซึ่งนั่นคือ[ประเด็นทั้งหมด](/blog/give-an-ai-agent-a-filesystem-safely)ของการรันสิ่งเหล่านี้ในเครื่อง

---

## หนึ่งการขยับที่กวาดทุก MCP server ที่เรา ship

เป็น pattern ที่ควรเรียกชื่อ เพราะมันลงจอดในสี่ repo ภายในสองสัปดาห์: **การถอด null variant ออกจาก schema ของเครื่องมือ** (octocode 0.22.0, octobrain 0.11.1, octofs 0.10.3) และ **การเพิ่ม annotation ให้เครื่องมือ** (octocode 0.23.0, octobrain 0.12.0, octofs 0.12.0, timex, vext)

ไม่มีอันไหนหรูหรา แต่ทั้งคู่คือความต่างระหว่าง "MCP server ตัวนี้ใช้กับ client ของฉันได้" กับ "MCP server ตัวนี้ใช้กับ client ของฉันได้เฉพาะวันอังคาร" client ที่เข้มงวดจะปฏิเสธ schema ที่มี null อยู่ใน union; ส่วน annotation บอก client ว่าเครื่องมือไหนอ่านอย่างเดียวและเครื่องมือไหนทำลายข้อมูลได้ prompt ขออนุมัติจึงฉลาดขึ้นแทนที่จะเหมารวมเหมือนกันหมด ถ้าคุณกำลังเขียน MCP server ของตัวเอง ขโมยไปทั้งสองอย่างเลย

---

## คงที่ โดยตั้งใจ

**[TypeTab](/blog/introducing-typetab-autocomplete-for-mac)** คงที่ที่ 1.1.0 **[Pulsora](/blog/introducing-pulsora-time-series-database-for-trading-data)** ไม่มี release ในรอบนี้ — มันใช้ช่วงเวลานี้ไปกับการอยู่ใต้ test coverage ขณะที่มันกินข้อมูลตลาดอยู่ใน production ความเงียบทั้งสองไม่ใช่การปล่อยปละละเลย ทั้งคู่คือหน้าตาของคำว่า "พอแล้วสำหรับตอนนี้"

---

## วันนี้ stack เข้ากันอย่างไร

- **[Octolib 0.36.1](https://github.com/muvon/octolib)** — ทุก LLM call และตอนนี้รวมถึงทุกภาพ วิดีโอ และคลิปเสียงที่ถูกสร้างขึ้น แต่ละชิ้นถูกตีราคาอย่างซื่อตรง
- **[OctoHub 0.7.13](https://github.com/muvon/octohub)** — ประตูหน้าเดียว, log เดียว และตอนนี้มีคำตอบเดียวสำหรับ "แอปไหนใช้เงินก้อนนี้ไป"
- **[Octobrain 0.13.1](https://github.com/muvon/octobrain)** — ความจำถาวรที่คุณสั่งดูแลรักษาได้เมื่อต้องการ
- **[Octofs 0.15.3](https://github.com/muvon/octofs)** — การเข้าถึง filesystem และ shell อย่างปลอดภัย ทั้งในเครื่องและผ่าน SSH โดยไม่บล็อก agent
- **[Octocode 0.25.0](https://github.com/muvon/octocode)** — code search บน graph แบบสด ตอนนี้รวม Elixir และ Svelte ด้วย
- **[Octomind 0.50.2](https://octomind.run)** — runtime: model profile เดียว, ความจำที่มีวินัย และผลของงานเบื้องหลังที่ลงมากลางเทิร์น
- **[Octoweb 0.14.0](https://octoweb.xyz)** — เบราว์เซอร์ ตอนนี้มี workspace ที่จำกัดขอบเขตให้ agent ได้ และ sidebar ที่มันวาดลงไปได้
- **[Synx 0.1.4](https://github.com/muvon/synx)** — source tree ของคุณบนทั้งสองเครื่อง โดย `.git` ไม่บุบสลาย
- **[Pulsora](https://github.com/muvon/pulsora)** — สายน้ำเชี่ยวของข้อมูล ถูกจัดเก็บและ query ได้
- **[Vext 1.5.1](https://getvext.app)** และ **[Timex 1.4.1](https://gettimex.app)** — เสียงของคุณและชั่วโมงของคุณ อยู่บนอุปกรณ์ และตอนนี้เข้าถึงได้ผ่าน MCP

binary เดี่ยว, Apache-2.0 ในส่วนที่เป็น open source, `cargo install` หรือ `npm install -g @muvon/*` สำหรับเครื่องมือ CLI

สิงหาคมคือเดือนที่ stack ไปปรากฏตัวทุกที่ รอบนี้คือเดือนที่มันเลิกทำให้คุณต้องรอ ถ้ามันยังทำให้คุณต้องรออยู่ที่ไหนสักแห่ง [เปิด issue](https://github.com/muvon) — คำบ่นแบบนั้นแหละคือวิธีที่รายการส่วนใหญ่ด้านบนถูกเขียนขึ้นมา

— Don
