# รอบการปล่อย พฤศจิกายน 2026: 105 release, Unsame, MCP elicitation และการแก้ไขไฟล์แบบตรวจสอบยืนยัน

> 105 release ในเก้าผลิตภัณฑ์ Unsame เปิดตัวแล้ว, Octoweb เพิ่มประวัติแชต AI และงานในปฏิทิน, Octomind ได้ MCP elicitation, MCP OAuth, การตรวจสอบหลักฐาน และเครื่องมือแบบตั้งเวลา ส่วน Octofs เปลี่ยนการยืนยันตัวตนของ remote MCP server และ contract การแก้ไข

[รอบเดือนตุลาคม](/blog/release-round-october-2026) ครอบคลุม tag จนถึงวันที่ 23 ตุลาคม ตั้งแต่นั้นมา: **105 release ในเก้าผลิตภัณฑ์**

**รอบนี้คือเรื่องของคำถามที่ส่งไปหาคนได้ (MCP elicitation), session ที่จำตำแหน่งของตัวเองไว้ได้ และการแก้ไขที่พิสูจน์ได้ว่ายังชี้ไปถูกบรรทัด** เรายังเปิดตัว Unsame บริการ playbook แบบโฮสต์สำหรับงานเขียนที่ทำซ้ำ ๆ พร้อมกับ mcp-variety ตัวเลือกแบบ local ที่ใช้งานได้ฟรี

---

## จำนวน release

| Repo                                                                | ช่วงเวอร์ชัน        | จำนวน release |
| ------------------------------------------------------------------- | ------------------- | ------------: |
| [octolib](https://github.com/Muvon/octolib/releases/tag/0.52.3)     | 0.45.2 → **0.52.3** |            30 |
| [octomind](https://github.com/Muvon/octomind/releases/tag/0.70.1)   | 0.61.0 → **0.70.1** |            25 |
| [octohub](https://github.com/Muvon/octohub/releases/tag/0.16.9)     | 0.13.1 → **0.16.9** |            21 |
| [octofs](https://github.com/Muvon/octofs/releases/tag/0.23.3)       | 0.20.0 → **0.23.3** |            13 |
| [octocode](https://github.com/Muvon/octocode/releases/tag/0.29.2)   | 0.28.0 → **0.29.2** |             5 |
| [octobrain](https://github.com/Muvon/octobrain/releases/tag/0.15.2) | 0.14.9 → **0.15.2** |             5 |
| [synx](https://github.com/Muvon/synx/releases/tag/0.1.10)           | 0.1.8 → **0.1.10**  |             3 |
| [octoweb](https://github.com/Muvon/octoweb/releases/tag/0.21.0)     | 0.20.0 → **0.21.0** |             2 |
| [yoda](https://github.com/Muvon/yoda/releases/tag/2.6.0)            | **2.6.0**           |             1 |
| **รวม**                                                             |                     |       **105** |

มีสิบหก tag ที่เป็นการเปลี่ยนแปลง dependency, งานบำรุงรักษา หรือ tooling ล้วน ๆ OctoHub ไม่มี tag 0.14.4 ทุก tag ใหม่ของ Octomind, Octofs, Octolib, Octocode, Octobrain และ Synx ขึ้นไปถึง crates.io แล้ว

## ก่อนอัปเกรด

| เวอร์ชัน                    | อะไรพัง                                                                                                                                                                                                                                                                             | ต้องทำอะไร                                                                                                                                                                                                                                            |
| --------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Octomind 0.61               | Config ขยับจาก v22 ไปเป็น v24 การ migrate จะเพิ่ม `commit_attribution` ซึ่งค่าเริ่มต้นจะต่อท้ายด้วย trailer co-author ของ Octomind และเพิ่มการหยุดเมื่อเจอรอบซ้ำ `/context system` ไม่ถูกยอมรับอีกต่อไป และการตัดการเชื่อมต่อของ WebSocket จะไม่ยกเลิก turn ที่กำลังรันอยู่อีกต่อไป | ตรวจสอบค่าเริ่มต้นใหม่ของ trailer ถ้าไม่ต้องการใช้ให้ตั้ง `commit_attribution = ""` เพื่อปิด ใช้ `/context all`, `/context assistant`, `/context user`, `/context tool` หรือ `/context large` และส่ง `cancel` เพื่อหยุด turn จากฝั่ง WebSocket client |
| Octomind 0.63               | Claude 3.5 Haiku, Opus 4, Opus 4.1, Sonnet 4 และ Sonnet 4.5 จะถูกปฏิเสธ และ config ที่ระบุชื่อโมเดลใดโมเดลหนึ่งไว้ในนั้นจะ fail                                                                                                                                                     | เปลี่ยนโมเดลก่อนอัปเกรด                                                                                                                                                                                                                               |
| Octomind 0.64               | `recite_note` ใน Rust API ตอนนี้รับเงื่อนไขของ request ที่ resolve แล้วเป็นอาร์กิวเมนต์                                                                                                                                                                                             | อัปเดตโค้ดฝั่ง Rust ที่เรียกใช้เอง ส่วนการใช้งานผ่าน CLI ตามปกติไม่ต้องแก้โค้ด                                                                                                                                                                        |
| Octomind 0.66 / Octofs 0.21 | บรรทัดซอร์สที่เรนเดอร์ออกมาใช้ ID แบบ `N:hh` ตำแหน่ง append รับเฉพาะ `0`, `-1` หรือ ID บรรทัดที่ตรวจสอบยืนยันแล้ว ส่วนปลายช่วงของ batch-edit ต้องใช้ ID                                                                                                                             | คัดลอก ID จากผลลัพธ์ของ `view` แทนการใช้หมายเลขบรรทัดอย่างเดียวเป็นเป้าหมายการแก้ไข                                                                                                                                                                   |
| Octomind 0.67               | Config ขยับขึ้นเป็น v26 และเพิ่ม `request_transport` รายโมเดล โดยค่าเริ่มต้นของการเรียก OctoHub และ ChatGPT คือ WebSocket                                                                                                                                                           | ถ้า OctoHub ของคุณเก่ากว่า 0.15.0 ให้อัปเกรด หรือตั้ง `request_transport = "http"` ใน model profile                                                                                                                                                   |
| Octomind 0.67.2             | WebSocket replay มีขีดจำกัดขนาดแล้ว การ resume จะ replay ได้ก็ต่อเมื่อเฟรมของมันยังถูกเก็บไว้ (2 MiB และ 4,096 เฟรมต่อสตรีม) และไม่เกิน 8 MiB กับ 4,096 เฟรม Observer replay มีขีดจำกัดเดียวกันที่ 8 MiB และ 4,096 เฟรม และรายงานช่วงที่ขาดหายได้                                   | ให้ถือว่า `"resumed": false` คือไม่มีการ replay แล้วโหลดใหม่จาก session state ของคุณเอง สำหรับ observer ให้บันทึกช่วงที่ขาดหายที่รายงานมา แล้วทำงานต่อจาก sequence ล่าสุด                                                                             |
| Octomind 0.67.3             | Cache keepalive ซึ่งเป็น request ขนาดเล็กที่คอยรักษา prompt data แบบใช้ซ้ำให้พร้อมใช้งานระหว่างช่วงรอ มีกฎใหม่เรื่องการจำกัดปริมาณและ lifecycle; `cache_keepalive_max_idle_seconds` ไม่มีอีกต่อไป การ ping ถูกนับเป็น usage ที่คิดเงิน                                              | ลบ key จำกัด idle ตัวเก่าออก Keepalive ปิดอยู่เป็นค่าเริ่มต้น; เปิดใช้ก็ต่อเมื่อค่า cache-read ระหว่างช่วงรอสมเหตุสมผลกับ workload ของคุณ                                                                                                             |
| Octomind 0.70               | Config ขยับจาก v27 ไปเป็น v29 การ migrate เพิ่ม idle compaction และเอา threshold ความมั่นใจแบบ unsettled ตัวเก่าออก ตอนนี้ completion condition ถูกตรวจเทียบกับหลักฐาน                                                                                                              | ปล่อยให้ config migrate ทำงานไป; ลบค่า threshold ที่คัดลอกมาด้วยมือออกให้หมด และตรวจให้แน่ใจว่า completion condition มีหลักฐานที่ตรวจสอบได้ ใน 0.69 ไม่มีการเปลี่ยน config-version                                                                    |
| Octolib 0.45.4              | alias โมเดล Anthropic แบบเก่าถูกเอาออก และ sampling parameter ของ Anthropic เปลี่ยนไป                                                                                                                                                                                               | แทนที่ alias เก่าด้วย model ID ปัจจุบัน; อย่าถือว่าจะมีการส่ง temperature, `top_p` หรือ `top_k` ไปถึง Anthropic                                                                                                                                       |
| Octolib 0.48.0              | ChatGPT ใช้ HTTP streaming เป็นค่าเริ่มต้น; การรองรับ WebSocket ย้ายไปอยู่หลัง feature แบบ opt-in ชื่อ `websockets`                                                                                                                                                                 | ถ้า integration ของคุณต้องพึ่งมัน ให้เปิด Cargo feature นั้นแล้วเลือก WebSocket เป็นราย request                                                                                                                                                       |
| Octolib 0.51.0              | `ProviderExchange.cache_lifetime` ถูกเอาออก; cache lifetime ของ OctoHub ตอนนี้มาจาก marker TTL                                                                                                                                                                                      | อัปเดตโค้ดที่อ่าน field ที่ถูกเอาออกนั้น แล้วหันมาใช้ provider cache-lifetime API                                                                                                                                                                     |
| OctoHub 0.13.2              | `media_model_tasks` ไม่ใช่ config field ที่รองรับอีกต่อไป                                                                                                                                                                                                                           | ลบมันออกจาก config ของเซิร์ฟเวอร์                                                                                                                                                                                                                     |
| OctoHub 0.15.0              | `FunctionCallOutput::output` เปลี่ยนจาก `String` เป็น `ContentValue` เพื่อให้ผลลัพธ์ของ tool แนบรูปภาพมาได้                                                                                                                                                                         | อัปเดตโค้ด Rust ที่เรียกใช้ให้รองรับข้อความหรือ content part แบบระบุ type                                                                                                                                                                             |
| OctoHub 0.16.0              | method ของ storage chain ตอนนี้ใช้ record แบบ `ChainLink` และจะ fail เมื่อลิงก์หายไปหรือ replay JSON ไม่ถูกต้อง                                                                                                                                                                     | ถ้าคุณดูแล fork ของซอร์สอยู่ ให้อัปเดตการจัดการ chain ของมันมาใช้ `ChainLink`                                                                                                                                                                         |
| OctoHub 0.16.9              | ฟิลด์ request `temperature`, `top_p` และ `speed` ของเสียงพูด เปลี่ยนชนิดจาก `f32` เป็น `f64`                                                                                                                                                                                        | แปลงค่าที่ระบุชนิดเป็น `f32` อย่างชัดเจนในโค้ด Rust ที่เรียกใช้                                                                                                                                                                                       |
| Octocode 0.28.0             | การสร้าง `LlmClient` ตอนนี้ต้องมี `ModelPurpose`                                                                                                                                                                                                                                    | ส่ง purpose มาจาก integration ฝั่ง Rust ที่คุณเขียนเอง; CLI เองก็รับค่า `--co-author` แบบซ้ำได้หลายครั้ง                                                                                                                                              |
| Octofs 0.20 / 0.23          | การ bind HTTP แบบ remote ต้องมีการยืนยันตัวตน atomic edit เข้ามาแทนที่ patch engine ตัวเก่า                                                                                                                                                                                         | เพิ่ม bearer token ให้กับการ bind HTTP ทุกตัวที่ไม่ใช่ loopback และย้าย client ที่ใช้ patch ไปเป็น `text_editor` หรือ `batch_edit`                                                                                                                    |

## Unsame กับตัวเลือกแบบ local

[**Unsame เปิดตัว 5 พฤศจิกายน**](/blog/introducing-unsame-playbook-engine) [Unsame](https://unsame.io) คือ playbook engine แบบ hosted: ก่อนที่โมเดลของคุณจะลงมือเขียน มันจะเลือก approach และรูปแบบจาก playbook ให้เข้ากับ input ที่อยู่ตรงหน้า โมเดลของคุณเขียนข้อความด้วย key ของคุณเอง Unsame ส่ง instruction กลับมาและไม่ได้เขียน output ให้ playbook หนึ่งเล่มเก็บ goal, voice, กฎ และ approach ของคุณไว้ คุณรายงานได้ว่าผลลัพธ์ออกมาเป็นอย่างไร แล้วใช้ feedback นั้นถ่วงน้ำหนักการเลือกในครั้งต่อไป

ถ้าอยากได้แบบ local ที่ไม่ต้องมีบัญชี [mcp-variety](https://github.com/Muvon/mcp-variety) จะเลือก approach และ form ให้ จดจำ combination ที่ใช้ไปล่าสุดแยกตามโปรเจกต์หรือบัญชี และตรวจดราฟต์เทียบกับกฎการเขียนแบบเรียบตรง มันไม่ใช้โมเดลและไม่เรียก network เลย มันยังไม่ขึ้น PyPI ดังนั้นถ้าติดตั้ง `uv` ไว้แล้ว ให้เพิ่ม local server ตัวฟรีนี้เข้าไปใน Claude Code จาก commit ของ source ที่ pin ไว้:

```sh
claude mcp add variety -- uvx --from git+https://github.com/muvon/mcp-variety@fefd684340927eaddf6db0b2707f4208a6094cae mcp-variety
```

README รายงานการเปรียบเทียบขนาดเล็กด้วย Claude Sonnet (`claude -p --model sonnet` ไม่ใช้ tool): ข้อความหกชิ้นต่อหนึ่ง input ครอบคลุมแปด input เป็นโพสต์สี่และ reply สี่ รวมทั้งสิ้น 96 ข้อความ สัดส่วนของคู่ข้อความที่ขึ้นต้นด้วยสามคำเดียวกันอยู่ที่ 58.3% เมื่อไม่มี mcp-variety และ 2.5% เมื่อมี ตัวเลขนี้วัดการเปิดเรื่องที่ซ้ำกันในการตั้งค่าแบบนี้เท่านั้น ไม่ใช่ผลลัพธ์เรื่องคุณภาพการเขียนโดยทั่วไป และเราไม่มีตัวเลข lift ที่เทียบเคียงกันได้ของ Unsame แบบ hosted มารายงาน

## Octoweb 0.20 → 0.21 — ปฏิทิน งาน และประวัติแชต AI

[**github.com/muvon/octoweb**](https://github.com/Muvon/octoweb/releases/tag/0.21.0) · 2 release · [บันทึก 0.21](https://octoweb.xyz/blog/octoweb-0-21-release)

**0.20 เพิ่ม tool ปฏิทินและงานให้ AI assistant** สมัครรับ ICS feed, นำเข้าไฟล์คำเชิญ `.ics`, เรียกดูรายการ event ในปฏิทิน และร่าง event ไว้ให้ตรวจทานได้ assistant ยังเพิ่มงานลงไปในโน้ตของ workspace ได้อีกด้วย

**0.21 เก็บประวัติแชต AI ไว้เป็นรายการแชตที่ปิดไปแล้ว** เปิด Past sessions ใน sidebar ค้นหาจากชื่อเรื่องหรือ agent แล้วเปิดการสนทนาขึ้นมาใหม่พร้อมประวัติของมัน sidebar แสดงโมเดลและค่าใช้จ่ายที่สะสมมา แต่ละคำตอบมีบรรทัด token, cache, reasoning, ค่าใช้จ่าย และระยะเวลาของตัวเอง แชตเก่าจากก่อน 0.21 ไม่มียอดการใช้งานรวมเก็บไว้

ตอนนี้ MCP server ถามคำถามคุณระหว่างการ call ได้แล้ว MCP elicitation คือการขอค่า, ตัวเลือก หรือการ sign in แบบนั้น Octoweb จะแสดงฟอร์มที่มีช่องกรอก, ปุ่ม Submit และ Decline หรือลิงก์กับปุ่ม Done สำหรับการ sign in บน macOS `⌃P` และ `⌃N` ใช้สลับแท็บตามลำดับที่ใช้งานล่าสุด อัปเดต Octomind ด้วย `brew upgrade octomind` ไปพร้อมกันเพื่อใช้ฟีเจอร์ sidebar

## Octomind 0.61 → 0.70.1 — agent ที่หยุดเอง ถาม และแสดงหลักฐานการทำงาน

[**github.com/muvon/octomind**](https://github.com/Muvon/octomind/releases/tag/0.70.1) · 25 release · [changelog ฉบับเต็ม](https://github.com/Muvon/octomind/blob/0.70.1/CHANGELOG.md)

**supervisor หยุด loop ได้** supervisor คือส่วนของ Octomind ที่ตรวจสอบความคืบหน้าของ agent ก่อนที่เราจะเพิ่มเรื่องนี้ [agent ตัวหนึ่งของเรา](https://octomind.run/blog/octomind-0-61-0-release) ถามถึงไฟล์เดิมซ้ำ 101 ครั้งใน turn เดียว ตั้งแต่ 0.61 Octomind จะจบ turn หลังพบการเรียกแบบเดิมที่ได้ผลแบบเดิมติดกัน 10 รอบ; เพิ่มค่า `supervisor.max_identical_rounds` ถ้า agent ของคุณ poll โดยตั้งใจ หรือตั้งเป็น `0` เพื่อปิดการหยุดนี้ 0.66.1 ยังจับการรันที่วนซ้ำรอบเดิมๆ ได้ด้วย ใน [0.68](https://octomind.run/blog/octomind-0-68-0-release) `[supervisor.advise]` ทำให้ supervisor อ้างถึงผลจาก tool ที่ agent มองข้ามได้ คำแนะนำนั้นปิดเป็นค่า default และไม่ได้มาแทนการหยุด

**การลงชื่อเข้าใช้ MCP OAuth และคำถาม elicitation เกิดขึ้นกลาง call ได้** ตั้งแต่ [0.62](https://octomind.run/blog/octomind-0-62-0-release) คุณเพิ่ม MCP server ที่ป้องกันด้วย OAuth ได้โดยไม่ต้องมี header `Authorization`: Octomind จะอ่าน 401 challenge ของ server หา metadata สำหรับการลงชื่อเข้าใช้ แล้วเปิดเบราว์เซอร์ของคุณ ตั้งแต่ [0.63](https://octomind.run/blog/octomind-0-64-0-release) MCP server หยุด tool call ชั่วคราวแล้วยิงคำถามมาถึงคุณได้ เช่นการยืนยันการคืนเงิน เรื่องนี้เรียกว่า MCP elicitation เทอร์มินัล, WebSocket client และ editor ที่เชื่อมต่อผ่าน Agent Client Protocol ตอบได้; เมื่อไม่มีใครตอบได้ เช่นในการรันแบบ pipe และ subagent Octomind จะปฏิเสธคำถามนั้น

**verify-gate เรียกหาหลักฐาน** verify-gate คือขั้นตรวจสอบของ AI agent ใน Octomind: การเช็กครั้งสุดท้ายว่า turn ที่จบไปแล้วทำสิ่งที่คุณขอจริงหรือไม่ ตั้งแต่ 0.63 ตัว verifier ต้องหนุนเงื่อนไขที่ผ่านแต่ละข้อด้วยข้อความ quote ยาว 12 ตัวอักษรขึ้นไปที่ปรากฏตรงตัวทุกคำในหลักฐานที่บันทึกไว้ และบรรทัดที่บอกความล้มเหลวอย่าง `FAIL` กับ `panicked at` จะยังอยู่เมื่อ output ของ tool ที่ยาวถูกย่อ 0.70 ยังตรวจเงื่อนไขที่ยังไม่ยุติกับหลักฐานด้วย

**WebSocket เดียว สอง timeout** ใน [0.67](https://octomind.run/blog/octomind-0-67-0-release) การเรียกโมเดลผ่าน OctoHub และ ChatGPT จะวิ่งบน WebSocket ถาวรหนึ่งเส้นต่อ session เป็นค่า default; `request_transport = "http"` เลือกไม่ใช้เป็นรายโมเดล WebSocket ที่ขาดจะแสดงเป็น error ในการเรียกครั้งนั้น; Octomind ไม่สลับไป HTTP เอง `request_timeout_seconds` (ค่า default 300) จำกัดความพยายาม request ทั้งครั้ง และ `stream_timeout_seconds` (ค่า default 0 คือปิด) จำกัดว่า response จะเงียบได้นานแค่ไหน OctoHub ที่ self-host ต้องใช้ 0.15.0 ขึ้นไป

**tool call ตั้งเวลาได้ และ specialist รับคิวได้** specialist คือ agent ที่ถูกมอบหมายให้ทำงานส่วนใดส่วนหนึ่งของงาน ตั้งแต่ 0.67 agent ตั้งเวลา tool call แทนข้อความได้ และเข้าคิว prompt ตามหลังได้สูงสุด 32 รายการสำหรับ specialist ที่ยังรันอยู่ `/status agents` แสดงรายการการรันที่บันทึกไว้ และ `/info` แยกค่าใช้จ่ายเป็นยอดรวมกับส่วนที่โมเดลหลักใช้ไป

**การรอมีค่าใช้จ่ายเป็น cache-read token** cache keepalive คือ request เล็กๆ ที่พยายามรักษาข้อมูล prompt ที่ใช้ซ้ำได้ให้ยังอุ่นอยู่ในขณะที่ session รอ ตั้งแต่ [0.67.3](https://octomind.run/blog/octomind-0-68-0-release) Octomind จะประเมินว่า ping ครั้งต่อไปคุ้มกับค่า cache-read ของมันหรือไม่ นับ ping เข้าในค่าใช้จ่ายของ session และหยุดหลัง cache miss มันปิดเป็นค่า default (`cache_keepalive_enabled = false`) และเมื่อผ่าน OctoHub ต้องใช้ 0.16.3 ขึ้นไป

ผู้สังเกตการณ์ผ่าน WebSocket แบบอ่านอย่างเดียวดู session ได้โดยไม่ต้องเข้าควบคุม การเขียนเพิ่มลง log ของ session ปลอดภัยจาก crash ตั้งแต่ 0.64.1 และ `install.sh` ตรวจ SHA-256 ของแต่ละ archive ตั้งแต่ 0.65.1

**0.70 เปลี่ยนการตั้งค่า การบีบอัด และการเรียนรู้** ตัวช่วยตั้งค่า provider แสดงว่า key มาจากไหน และให้คุณย้อนกลับหรือข้าม provider ได้ การบีบอัดพับรวมกระบวนการที่ detach ออกไปได้ และ compact หลัง prompt cache หมดอายุ การเรียนรู้พากฎของผู้ใช้ที่ตรวจสอบแล้วไปต่อพร้อมสิทธิ์ระดับกฎของผู้ใช้ การ migrate config ของ 0.70 ย้ายเวอร์ชัน 27 ไป 29 เปิด idle compaction เป็นค่า default และถอดเกณฑ์ unsettled-confidence ที่เลิกใช้แล้วออก

ติดตั้ง release ปัจจุบัน 0.70.1 บน macOS หรือ Linux:

```bash
curl -fsSL https://octomind.run/install.sh | bash -s -- --version 0.70.1
octomind --version
```

บน Windows:

```powershell
scoop bucket add muvon https://github.com/Muvon/scoop-bucket
scoop install muvon/octomind
```

## Octofs 0.20 → 0.23.3 — MCP authentication สำหรับการเข้าถึงแบบ remote และการแก้ไขด้วยบรรทัดที่ผ่านการตรวจสอบ

[**github.com/muvon/octofs**](https://github.com/Muvon/octofs/releases/tag/0.23.3) · 13 release · [README](https://github.com/Muvon/octofs/blob/0.23.3/README.md)

**Remote HTTP ต้องใช้ token แล้ว** การใช้แบบ loopback ยังอยู่เฉพาะในเครื่องได้ แต่เมื่อคุณ bind ไปยัง address อื่น Octofs จะปฏิเสธไม่เริ่มทำงานถ้าไม่มี MCP server authentication:

```bash
OCTOFS_AUTH_TOKEN="$(openssl rand -hex 32)" octofs mcp --bind 0.0.0.0:12345
```

HTTP ไม่ได้เข้ารหัส ดังนั้นให้วาง token สำหรับ remote ไว้หลัง TLS หรือ SSH tunnel อย่าวาง token ใน command-line argument ถ้าผู้ใช้คนอื่นในเครื่องเดียวกันตรวจสอบ process ได้

**การแก้ไขใช้ line ID** line ID เกิดจากการรวมตำแหน่งของบรรทัดเข้ากับ hash สั้น ๆ ของเนื้อหาในบรรทัดนั้น เช่น `12:a3` Octofs จะตรวจว่าเนื้อหายังตรงกันอยู่ก่อนจะแก้ไข view ที่เก่าแล้วจึง fail พร้อม context ปัจจุบัน แทนที่จะไปแก้บรรทัดอื่น ตอนนี้ Append รับเฉพาะ `0` สำหรับต้นไฟล์ `-1` สำหรับท้ายไฟล์ หรือ line ID ที่ผ่านการตรวจสอบแล้วเท่านั้น patch engine ตัวเก่าไม่มีอีกแล้ว: `batch_edit` ใช้หลาย operation กับไฟล์เดียวแบบ atomic และ `text_editor` ใช้การแก้ไขข้ามหลายไฟล์ในขั้นตอน atomic เดียวได้ การอ่านไฟล์มีเพดานที่ 5 MB

```bash
cargo install octofs --version 0.23.3
```

## Octolib และ OctoHub — transport, cache lifetime และ routing

[**octolib 0.52.3**](https://github.com/Muvon/octolib/releases/tag/0.52.3) · 30 release · [**octohub 0.16.9**](https://github.com/Muvon/octohub/releases/tag/0.16.9) · 21 release

Octolib 0.48 เพิ่ม streaming response พร้อม timeout แยกกันระหว่าง request กับ stream จากนั้นจึงตั้งให้ HTTP streaming เป็นค่า default ของ ChatGPT WebSocket transport ยังใช้ได้อยู่เมื่อคุณเปิด feature `websockets` OctoHub 0.14.0 ให้แต่ละ model alias วนใช้หลาย provider หรือลองตามลำดับที่ตั้งค่าไว้ได้ OctoHub 0.15 เพิ่ม WebSocket completion แบบ sequential และคง image part ที่ tool ส่งกลับมาไว้ ส่วน 0.16.3 เพิ่ม cache prewarming ผ่าน proxy

การรายงาน cache lifetime ตอนนี้อิงกับหลักฐานจริง: Octolib เปิดค่า cache lifetime ของ provider ให้เห็น และมีตัวอย่างที่ตรวจสอบว่า cache ยังใช้ได้นานแค่ไหน โดยจะหยุดเมื่อ miss ซ้ำหลายครั้ง cache lifetime ของ OctoHub เดินตาม TTL บน cache marker ที่มันส่งผ่าน provider ใหม่ในช่วงนี้: Xiaomi MiMo, Reflection AI และ Isoquant Octolib 0.52.3 เพิ่ม Claude Fable 5.2, Mythos 5.2 และ Meta Muse Ember พร้อมราคา และตั้งแต่ 0.52.2 ค่า sampling และความเร็วเสียงพูดถูกส่งเป็นทศนิยมที่ตรงตามค่าจริง

## Octocode, Octobrain, Synx และ Yoda

- **Octocode 0.28.0 → 0.29.2** ([release](https://github.com/Muvon/octocode/releases/tag/0.29.2)): model-purpose routing ให้ OctoHub เลือกโมเดลตามลักษณะงานได้ `octocode commit` และ `octocode release` รับ trailer `--co-author` แบบใส่ซ้ำได้ tag ถัดมาเพิ่มการรองรับ LanceDB แบบ remote และการค้นหาเชิงโครงสร้างนอก repository
- **Octobrain 0.14.9 → 0.15.2** ([release](https://github.com/Muvon/octobrain/releases/tag/0.15.2)): การ sync knowledge box ผ่าน MCP และ relationship แบบ `goal` / `closes` สำหรับ memory ติดตั้งด้วย `cargo install octobrain --version 0.15.2`
- **Synx 0.1.8 → 0.1.10** ([release](https://github.com/Muvon/synx/releases/tag/0.1.10)): ปฏิเสธสำเนาของ peer ที่เก่าแล้ว และเคารพ Git lock ระหว่างการ sync ติดตั้งด้วย `cargo install synx --version 0.1.10` แล้วรันบนเครื่องทั้งสองฝั่ง
- **Yoda 2.6.0** ([release](https://github.com/Muvon/yoda/releases/tag/2.6.0)): การอัปเกรดแบบ semantic version และการแก้ไขเรื่องการจัดการ container กับการ deploy บน macOS ติดตั้งด้วย `brew install muvon/tap/yoda`

```bash
cargo install octocode --version 0.29.2
```

## ไม่มี tag แต่ขยับ

[Octomind plugin](https://github.com/Muvon/octomind-plugin) ตอนนี้มี skill ที่ใช้ร่วมกันได้สำหรับ Claude Code และ Codex: ตัวหนึ่งสำหรับ CLI แบบ open-source และอีกตัวสำหรับ Octomind Cloud ส่วน [Octomind Tap](https://github.com/Muvon/octomind-tap) registry สาธารณะของ agent, skill และ workflow ยังเปลี่ยนต่อไปโดยไม่มี release tag บน Octomind Cloud [เครดิตเริ่มต้น $5 สิ้นสุดเมื่อวันที่ 2 พฤศจิกายน](https://octomind.run/blog/free-plan-is-the-hub) และการใช้ hub ตอนนี้ใช้เครดิตที่คุณเติมเอง

## คงที่

Vext 1.7.0, Timex 1.7.0 และ TypeTab 1.2.0 ไม่มี tag ที่ใหม่กว่า Pulsora และ Vanga ไม่มี tag

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

- **[Octoweb 0.21.0](https://github.com/Muvon/octoweb/releases/tag/0.21.0)** — เบราว์เซอร์พร้อมอีเมล ปฏิทิน งาน และประวัติแชต AI ที่ resume ได้
- **[Octomind 0.70.1](https://github.com/Muvon/octomind/releases/tag/0.70.1)** — agent runtime พร้อมการถามผ่าน MCP การตรวจหลักฐาน และ tool ที่ตั้งเวลาได้
- **[Octolib 0.52.3](https://github.com/Muvon/octolib/releases/tag/0.52.3)** — ไลบรารี provider ภาษา Rust พร้อม transport แบบ streaming และการรายงานอายุ cache
- **[OctoHub 0.16.9](https://github.com/Muvon/octohub/releases/tag/0.16.9)** — proxy โมเดลพร้อม completion แบบเรียงลำดับผ่าน WebSocket และการอุ่น cache ล่วงหน้า
- **[Octofs 0.23.3](https://github.com/Muvon/octofs/releases/tag/0.23.3)** — tool ระบบไฟล์สำหรับ MCP พร้อม line ID ที่ตรวจสอบแล้วและการแก้ไขแบบ atomic
- **[Octocode 0.29.2](https://github.com/Muvon/octocode/releases/tag/0.29.2)** — semantic code search พร้อมการ route ตามวัตถุประสงค์ของโมเดล
- **[Octobrain 0.15.2](https://github.com/Muvon/octobrain/releases/tag/0.15.2)** — ความจำผ่าน MCP พร้อมการซิงค์ knowledge box
- **[Synx 0.1.10](https://github.com/Muvon/synx/releases/tag/0.1.10)** — การซิงค์ไฟล์ผ่าน SSH
- **[Yoda 2.6.0](https://github.com/Muvon/yoda/releases/tag/2.6.0)** — การพัฒนาและ deploy ด้วย container จาก repository ของโปรเจกต์
- **[Unsame](https://unsame.io)** — playbook แบบ hosted สำหรับงานเขียนที่ทำซ้ำเป็นประจำ; **mcp-variety** คือตัวเลือกแบบ local ที่ฟรี

รอบก่อนครอบคลุม tag จนถึง 23 ตุลาคม รอบนี้ตามดู 105 release จนถึง 10 พฤศจิกายน ถ้าการอัปเกรดเปลี่ยน command หรือ config ที่คุณพึ่งพาอยู่ ตารางข้างบนคือจุดเริ่มต้น จากนั้นตรวจ release notes ของผลิตภัณฑ์ตัวนั้นก่อนเปลี่ยน integration ที่ใช้ร่วมกัน

— Don
