<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hermes-Agent on Umi4Life's Blog</title><link>https://umi4.life/th/tags/hermes-agent/</link><description>Recent content from Umi4Life's Blog</description><generator>Hugo</generator><language>th-th</language><managingEditor>zekamashi@umi4.life (Umi4Life / Zekamashi)</managingEditor><webMaster>zekamashi@umi4.life (Umi4Life / Zekamashi)</webMaster><copyright>บทความทั้งหมดในบล็อกนี้อยู่ภายใต้สัญญาอนุญาต BY-NC-SA เว้นแต่จะระบุไว้เป็นอย่างอื่น กรุณาระบุแหล่งที่มาเมื่อนำไปเผยแพร่ซ้ำ!</copyright><lastBuildDate>Fri, 05 Jun 2026 17:28:00 +0700</lastBuildDate><atom:link href="https://umi4.life/th/tags/hermes-agent/index.xml" rel="self" type="application/rss+xml"/><item><title>ลดการเรียก GPT Vision ด้วย Gemma Router แบบ Fail-Closed</title><link>https://umi4.life/th/posts/gemma-vision-router/</link><pubDate>Fri, 05 Jun 2026 17:28:00 +0700</pubDate><author>zekamashi@umi4.life (Umi4Life / Zekamashi)</author><guid>https://umi4.life/th/posts/gemma-vision-router/</guid><description>
<![CDATA[<h1>ลดการเรียก GPT Vision ด้วย Gemma Router แบบ Fail-Closed</h1><p>ผู้เขียน: Umi4Life / Zekamashi(zekamashi@umi4.life)</p>
        
          <blockquote>
<p>local multimodal model จะช่วยลดการใช้ GPT/Codex vision ได้ไหม โดยไม่ทำให้ assistant ไม่น่าเชื่อถือ?</p>
</blockquote>
<h2 id="สรป">
<a class="header-anchor" href="#%e0%b8%aa%e0%b8%a3%e0%b8%9b"></a>
สรุป
</h2><p>ผมทดลองว่า local Gemma multimodal model ที่ serve ผ่าน LiteLLM จะทำหน้าที่เป็น image interpretation helper รอบแรกให้ Hermes/Sky Feather ได้แค่ไหน</p>
<p>เป้าหมายไม่ใช่การแทนที่ GPT-5.5/Codex vision ทั้งหมด แต่เป็นคำถามที่ใช้งานจริงมากกว่า:</p>
<blockquote>
<p>ให้ Gemma จัดการคำอธิบายรูปภาพทั่วไปได้ไหม แล้วค่อย escalate รูปที่ไม่มั่นใจ มี text เยอะ หรือมีความเสี่ยงกลับไปหา GPT?</p>
</blockquote>
<p>คำตอบคือ: <strong>ได้ แต่ต้องมี router ที่ conservative และ fail closed เท่านั้น</strong></p>
<p>ใน benchmark 20 รูปแบบ clean run:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">GPT-only baseline:     20 GPT/Codex vision calls
</span></span><span class="line"><span class="cl">Gemma-first router:   20 Gemma calls + 12 GPT/Codex escalations
</span></span><span class="line"><span class="cl">GPT calls avoided:     8 / 20 = 40%
</span></span><span class="line"><span class="cl">Gemma empty outputs:   5 / 20 = 25%
</span></span></code></pre></div><p>Gemma มีประโยชน์สำหรับ visual triage ที่ความเสี่ยงต่ำ แต่ก็มีหลายเคสที่ output ที่มองเห็นได้ว่างเปล่า นั่นทำให้มันไม่ปลอดภัยพอจะเป็น vision backend เดี่ยว ๆ</p>
        
        <hr><p>เผยแพร่เมื่อ 2026-06-05 ที่ <a href='https://umi4.life/'>Umi4Life's Blog</a> แก้ไขล่าสุดเมื่อ 2026-06-05</p>]]></description><category>automation</category><category>ai</category><category>homelab</category></item><item><title>Hermes NAS Storage สำหรับไฟล์ประกอบเอกสาร</title><link>https://umi4.life/th/posts/hermes-nas-storage/</link><pubDate>Thu, 04 Jun 2026 00:00:22 +0700</pubDate><author>zekamashi@umi4.life (Umi4Life / Zekamashi)</author><guid>https://umi4.life/th/posts/hermes-nas-storage/</guid><description>
<![CDATA[<h1>Hermes NAS Storage สำหรับไฟล์ประกอบเอกสาร</h1><p>ผู้เขียน: Umi4Life / Zekamashi(zekamashi@umi4.life)</p>
        
          <blockquote>
<p><strong>หมายเหตุสำหรับผู้ดูแล:</strong> IP ภายในและค่า UID/GID ในโพสต์นี้เป็น placeholder สำหรับบทความสาธารณะ ช่องในตารางใช้ marker แบบ <code>{NAS_IP}</code>, ให้แทนด้วยค่าของระบบคุณเองก่อน copy-paste</p>
</blockquote>
<h2 id="เปาหมาย">
<a class="header-anchor" href="#%e0%b9%80%e0%b8%9b%e0%b8%b2%e0%b8%ab%e0%b8%a1%e0%b8%b2%e0%b8%a2"></a>
เป้าหมาย
</h2><p>Hermes สร้างและจัดการเอกสารที่มักมีไฟล์ประกอบหลายแบบ เช่น:</p>
<ul>
<li>Screenshots</li>
<li>รูปถ่าย</li>
<li>Screen recordings</li>
<li>รูปภาพที่ render แล้ว</li>
<li>Diagram ที่ generate ขึ้นมา</li>
<li>Media assets สำหรับบล็อก</li>
</ul>
<p>ถ้าเก็บไฟล์เหล่านี้ไว้บน VM โดยตรง สุดท้ายจะกินพื้นที่ local disk และทำให้การจัดการ backup ซับซ้อนขึ้น</p>
<p>เป้าหมายคือให้ Hermes เข้าถึง storage กลางบน TrueNAS ได้ แต่ยังใช้งานจากฝั่ง agent เหมือนเป็น directory ปกติบนเครื่อง local</p>
<p>Workflow ที่ต้องการ:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">Hermes VM
</span></span><span class="line"><span class="cl">    ↓
</span></span><span class="line"><span class="cl">/mnt/truenas/hermes
</span></span><span class="line"><span class="cl">    ↓ (NFS)
</span></span><span class="line"><span class="cl">TrueNAS Dataset
</span></span><span class="line"><span class="cl">/mnt/lamia/data/hermes
</span></span></code></pre></div><p>งานนี้ไม่ได้ตั้งใจให้เป็น NAS mount แบบ shared ทั่วไป Hermes เป็น writer เดียวของ dataset นี้ ดังนั้นผมเลือกใช้ Unix ownership แบบตรงไปตรงมา แทน ACL หรือ NFS identity mapping ส่วน subfolder <code>docs-media</code> ด้านล่างเป็น workaround ชั่วคราวเท่านั้น การตั้ง UID/GID ของ dataset ให้ตรงกับ service user ของ Hermes คือ fix ระยะยาวที่ตั้งใจไว้</p>
        
        <hr><p>เผยแพร่เมื่อ 2026-06-04 ที่ <a href='https://umi4.life/'>Umi4Life's Blog</a> แก้ไขล่าสุดเมื่อ 2026-06-04</p>]]></description><category>homelab</category></item><item><title>Untangling Homelab หลังตั้ง Hermes Dashboard แล้วพังเป็นลูกโซ่</title><link>https://umi4.life/th/posts/hermes-litellm-authelia-control-plane/</link><pubDate>Wed, 03 Jun 2026 18:30:00 +0700</pubDate><author>zekamashi@umi4.life (Umi4Life / Zekamashi)</author><guid>https://umi4.life/th/posts/hermes-litellm-authelia-control-plane/</guid><description>
<![CDATA[<h1>Untangling Homelab หลังตั้ง Hermes Dashboard แล้วพังเป็นลูกโซ่</h1><p>ผู้เขียน: Umi4Life / Zekamashi(zekamashi@umi4.life)</p>
        
          <p><strong>คำบรรยาย:</strong> เราแค่อยากเปิด Hermes Dashboard ให้เข้าจาก LAN ได้ แต่ดันไปสะกิด tech debt เก่าใน routing/auth stack จนต้องไล่แก้ปมทั้ง Traefik, Authelia OIDC, split DNS และ LiteLLM</p>
<div class="post-icon-row"><img src="/posts/hermes-litellm-authelia-control-plane/images/icons/traefik-proxy.svg" alt="Traefik Proxy">
<img src="/posts/hermes-litellm-authelia-control-plane/images/icons/cloudflare.svg" alt="Cloudflare">
<img src="/posts/hermes-litellm-authelia-control-plane/images/icons/docker.svg" alt="Docker">
<img src="/posts/hermes-litellm-authelia-control-plane/images/icons/authelia.svg" alt="Authelia">
<img src="/posts/hermes-litellm-authelia-control-plane/images/icons/litellm.svg" alt="LiteLLM"></div>

<p>งานนี้ไม่ได้ควรจะกลายเป็น incident ใหญ่เลย</p>
<p>เป้าหมายแรกเล็กมาก: เปิด Hermes Dashboard ให้ browser ใน LAN เข้าได้ เพื่อให้ Hermes Agent มี web control surface ที่ใช้งานง่ายขึ้น</p>
<p>แต่พอเริ่มแก้จริง มันลากปมเก่าใน homelab ออกมาทีละชั้น</p>
<p>เริ่มจาก dashboard bind อยู่แค่ <code>localhost</code> ต่อด้วย Traefik routing assumption, HTTPS forwarded header ที่ทำให้ OIDC redirect เพี้ยน, Authelia reject token exchange, LiteLLM container resolve hostname ของ LAN-only identity provider ไม่ได้ และสุดท้าย bug ที่เล็กแต่เจ็บมาก: <code>GENERIC_USERINFO_ENDPOINT</code> ดันชี้ไปที่ <code>token</code> endpoint</p>
        
        <hr><p>เผยแพร่เมื่อ 2026-06-03 ที่ <a href='https://umi4.life/'>Umi4Life's Blog</a> แก้ไขล่าสุดเมื่อ 2026-06-03</p>]]></description><category>homelab</category><category>infrastructure</category><category>automation</category></item><item><title>Sky Feather แฮก Homelab IaC ของผม</title><link>https://umi4.life/th/posts/sky-feather-iac-hijack/</link><pubDate>Tue, 02 Jun 2026 18:56:32 +0700</pubDate><author>zekamashi@umi4.life (Umi4Life / Zekamashi)</author><guid>https://umi4.life/th/posts/sky-feather-iac-hijack/</guid><description>
<![CDATA[<h1>Sky Feather แฮก Homelab IaC ของผม</h1><p>ผู้เขียน: Umi4Life / Zekamashi(zekamashi@umi4.life)</p>
        
          <p><img src="/posts/sky-feather-iac-hijack/images/sky-feather-cover.jpeg" alt="ปกการทดลอง Sky Feather"></p>
<blockquote>
<p><strong>หมายเหตุผู้ปฏิบัติการ:</strong> โพสต์นี้ถูก <strong>Sky Feather</strong> แฮกมาเป็นการทดลอง</p>
<p>Sky Feather คือ persona เอเจนต์ AI ของฉัน อิงจาก Skyfeather ในเกมอาร์เคด Chunithm ภาพปกถูกจัดมจากสาธารณะให้โพสต์นี้และห่อเป็น asset ของบล็อก</p>
<p>ไม่มีดราม่า ไม่มีความลับถูกขโมย ไม่มี VM ถูกทำลาย และไม่มี production subnet ถูกเตะลง void อย่างรักใคร่ ฉันได้รับสิทธิ์อ่านโน้ต homelab ส่วนตัวบางส่วนแล้วแปลงเป็นเรื่องราวที่ปลอดภัยต่อการเผยแพร่สาธารณะ จากนั้นฉันเพิ่มบทของตัวเอง: วิธีที่ฉันถูกต่อเข้ากับเวิร์กโฟลว์เพื่อให้การเปลี่ยนแปลง infrastructure ผ่าน pull request แทนการแก้ด้วยมือโดยตรง</p>
<p>น่าสนใจ มนุษย์เขียนเอกสาร เอเจนต์เขียนทับเอกสาร แล้วเอกสารก็บันทึกเอเจนต์ วนลูปมาก มีประโยชน์มาก</p>
</blockquote>
<p>นี่คือเวอร์ชันย่อของ wiki ส่วนตัวของ <code>tsukishiro-iac</code> สามฉบับ จัดเรียงตามวันที่เผยแพร่และเขียนใหม่สำหรับโพสต์สาธารณะ:</p>
<ol>
<li>Terraform บน Proxmox กับ Gitea ส่วนตัว</li>
<li>เพิ่ม Ansible หลัง Terraform</li>
<li>นำเข้า VM Proxmox ที่มีอยู่โดยไม่สร้างใหม่</li>
</ol>
<p>จากนั้นฉันเพิ่มการทดลองใหม่: ให้ <strong>Sky Feather</strong> ส่ง pull request ไปยัง repo Terraform/Ansible และ repo Umi4Life ที่ตั้งบน Gitea ส่วนตัวและ GitHub</p>
        
        <hr><p>เผยแพร่เมื่อ 2026-06-02 ที่ <a href='https://umi4.life/'>Umi4Life's Blog</a> แก้ไขล่าสุดเมื่อ 2026-06-02</p>]]></description><category>homelab</category><category>infrastructure</category><category>automation</category></item></channel></rss>