<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Open Source &#8211; Few Steps &#8211; ก้าวสั้นๆ แต่ไปเรื่อยๆ</title>
	<atom:link href="https://myifew.com/tag/open-source/feed/" rel="self" type="application/rss+xml" />
	<link>https://myifew.com</link>
	<description></description>
	<lastBuildDate>Mon, 16 Mar 2026 03:53:21 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://myifew.com/wp-content/uploads/2018/07/cropped-logo6-ts-32x32.png</url>
	<title>Open Source &#8211; Few Steps &#8211; ก้าวสั้นๆ แต่ไปเรื่อยๆ</title>
	<link>https://myifew.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>แจกโค้ด Second Brain with OpenClaw (Open Source)  &#8211; ระบบจัดการความรู้ส่วนตัวด้วย AI Agentic</title>
		<link>https://myifew.com/7366/second-brain-with-openclaw-open-source/</link>
					<comments>https://myifew.com/7366/second-brain-with-openclaw-open-source/#respond</comments>
		
		<dc:creator><![CDATA[iFew]]></dc:creator>
		<pubDate>Sun, 15 Mar 2026 18:14:09 +0000</pubDate>
				<category><![CDATA[Lifestyle]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[AI]]></category>
		<category><![CDATA[knowledge management]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[OpenClaw]]></category>
		<category><![CDATA[PostgreSQL]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Second Brain]]></category>
		<guid isPermaLink="false">https://myifew.com/?p=7366</guid>

					<description><![CDATA[เมื่อสัปดาห์ก่อน ผมเขียนบทความเรื่อง ลอง Implement ใช้ Second Brain กับน้องกุ้ง OpenClaw เล่าให้ฟังว่าทำไมถึงสร้าง Second Brain ขึ้นมา ปัญหาที่ bookmark แล้วไม่กลับมาดู หรือมีไอเดียดีๆ จดแล้วหายไป&#8230;]]></description>
										<content:encoded><![CDATA[
<p>เมื่อสัปดาห์ก่อน ผมเขียนบทความเรื่อง <a href="https://myifew.com/7353/implement-second-brain-openclaw/">ลอง Implement ใช้ Second Brain กับน้องกุ้ง OpenClaw</a> เล่าให้ฟังว่าทำไมถึงสร้าง Second Brain ขึ้นมา ปัญหาที่ bookmark แล้วไม่กลับมาดู หรือมีไอเดียดีๆ จดแล้วหายไป หาไม่เจอ ฯลฯ</p>



<p>ตอนนั้นเป็นแค่ prototype ใช้เอง แต่ตอนนี้ผมพัฒนาต่อจนเป็น <strong>full-featured system</strong> และตัดสินใจ <strong>open source ให้ทุกคนลองไปเล่นดู และพัฒนาต่อครับ</strong></p>



<p>👉 <strong>GitHub Repository:</strong> <a href="https://github.com/ifew/Second-Brain-with-OpenClaw/" target="_blank" rel="noopener">github.com/ifew/Second-Brain-with-OpenClaw</a></p>



<p>บทความนี้จะพาไปดูว่า Second Brain ตัวนี้มีอะไรบ้าง ติดตั้งยังไง แล้วใช้งานจริงเป็นยังไง มาดูกัน!</p>



<h2 class="wp-block-heading">Features ทั้งหมดที่มี</h2>



<p>จากบทความก่อนที่เล่าแค่ concept กับ schema เบื้องต้น ตอนนี้ผมลองเพิ่มนั่นโน่นนี่จนมีฟีเจอร์ น่าจะค่อนข้างครบทุกด้าน ประมาณ 10 ฟีเจอร์หลักๆ ครับ ดังนี้:</p>



<h3 class="wp-block-heading">1. PARA Method Organization</h3>



<p>จัดหมวดหมู่ข้อมูลตามแนวคิด PARA ของ Tiago Forte:</p>



<ul class="wp-block-list">
<li><strong>Projects</strong> — สิ่งที่กำลังทำอยู่ มี deadline</li>



<li><strong>Areas</strong> — ความรับผิดชอบต่อเนื่อง (เช่น สุขภาพ, การเงิน)</li>



<li><strong>Resources</strong> — ข้อมูลอ้างอิงที่สนใจ</li>



<li><strong>Archives</strong> — สิ่งที่เสร็จแล้วหรือไม่ active</li>
</ul>



<h3 class="wp-block-heading">2. Full-text Search (ไทย + English)</h3>



<p>ค้นหาด้วย <code>tsvector</code> + <code>pg_trgm</code> trigram similarity ทำให้ค้นได้ทั้งภาษาไทยและอังกฤษ สะกดผิดนิดหน่อยก็ยังเจอ!</p>



<h3 class="wp-block-heading">3. Knowledge Graph</h3>



<p>เพิ่งไปฟังเพื่อนแชร์มา เลยจดๆไว้ มาทำต่อ เป็นเรื่องของการเชื่อมโยงข้อมูลให้ถึงกัน โดยมี 8 ประเภท </p>



<ul class="wp-block-list">
<li><code>related</code> — เกี่ยวข้องกัน</li>



<li><code>supports</code> / <code>contradicts</code> — สนับสนุน/ขัดแย้ง</li>



<li><code>extends</code> — ต่อยอดจาก</li>



<li><code>depends_on</code> — ขึ้นอยู่กับ</li>



<li><code>parent</code> — หัวข้อแม่</li>



<li><code>reference</code> — อ้างอิง</li>



<li><code>informed_by</code> — ตัดสินใจโดยอ้างอิงจาก (ใหม่ใน v3)</li>
</ul>



<p>รองรับ depth-2 traversal — ค้นหาความเชื่อมโยง 2 ระดับได้</p>



<h3 class="wp-block-heading">4. Spaced Repetition (SM-2 Algorithm)</h3>



<p>ระบบ review queue ที่ใช้ SM-2 algorithm (เหมือน Anki) เพื่อให้ทบทวนข้อมูลสำคัญในจังหวะที่เหมาะสม ป้อน quality score 0-5 แล้วระบบจะคำนวณว่าควร review อีกเมื่อไหร่</p>



<h3 class="wp-block-heading">5. Decision Ledger (ADR Format)</h3>



<p>ข้อนี้ก็ได้จากการฟังเพื่อนเล่าอีกเช่น กัน 555 ว่าเขามีระบบบันทึกการตัดสินใจด้วย ก็เลย implement feature นี้เพิ่มอีกหน่อย โดยใช้รูปแบบ Architecture Decision Record (ADR) ที่ทำๆกันนี่แหละ:</p>



<ul class="wp-block-list">
<li>บันทึก problem statement, options ที่พิจารณา, เหตุผลที่เลือก</li>



<li>Track status: <code>proposed → accepted → deprecated → superseded</code></li>



<li>ตั้ง review schedule ให้กลับมาทบทวนอัตโนมัติ</li>



<li>เชื่อมโยงกับ knowledge items อื่นๆ ได้</li>



<li>ใช้ได้ทั้ง technical decisions และ strategic/life decisions</li>
</ul>



<h3 class="wp-block-heading">6. Relevance Scoring (Time-Decay)</h3>



<p>ตัวนี้ผมไปเจอฟีเจอร์ Memory Scoring ที่ <a href="https://github.com/jugaad-lab/second-brain" data-type="link" data-id="https://github.com/jugaad-lab/second-brain">jugaad-lab/second-brain</a> ทำไว้ น่าสนใจดี เขาทำคำนวณความสำคัญของข้อมูลด้วยสูตร:</p>



<pre class="wp-block-code"><code>score = base * (0.5 ^ (days_old / half_life)) * priority_boost</code></pre>



<p>ข้อมูลเก่าจะค่อยๆ ลด relevance ลง แต่ถ้าตั้ง priority สูงไว้ก็จะยังอยู่ด้านบน configurable half-life (default 14 วัน)</p>



<h3 class="wp-block-heading">7. Consolidation (Duplicate Merging)</h3>



<p>ตรวจหา items ที่ซ้ำกันด้วย trigram similarity แล้ว merge เข้าด้วยกัน มี consolidation log เก็บประวัติการรวม</p>



<h3 class="wp-block-heading">8. Auto-Capture</h3>



<p>ตรวจจับ keywords จากการสนทนาแล้ว capture อัตโนมัติ:</p>



<ul class="wp-block-list">
<li><strong>Health</strong> — น้ำหนัก, ความดัน, การนอน</li>



<li><strong>Finance</strong> — กองทุนสำรองเลี้ยงชีพ, เงินเดือน, ค่าใช้จ่าย</li>



<li><strong>Exercise</strong> — ข้อมูลการออกกำลังกาย</li>
</ul>



<h3 class="wp-block-heading">9. Strava Integration</h3>



<p>Sync กิจกรรมจาก Strava ผ่าน OAuth — ดึง distance, pace, elevation, heart rate, calories มาเก็บเป็น <code>log</code> items พร้อม metadata ครบ</p>



<p>ข้อนี้ ใข้งานส่วนตัว ก็เลยแถมติดไปด้วยเลย แหะๆ เราสามารถสั่ง claude code ทำ integration กับระบบอื่นๆ ได้นะ ที่เราไม่อยากกรอกเอง แต่ให้ดึงข้อมูลอัตโนมัติมาบันทึกให้เลย</p>



<h3 class="wp-block-heading">10. Automated Pipeline</h3>



<p>4-step pipeline ที่รันอัตโนมัติ:</p>



<ol class="wp-block-list">
<li><strong>Extract</strong> — ดึง decisions, insights, tasks, learnings จาก daily logs</li>



<li><strong>Score</strong> — คำนวณ relevance scoring ใหม่</li>



<li><strong>Consolidate</strong> — หาและรวม duplicates</li>



<li><strong>Report</strong> — สร้างรายงานสรุป</li>
</ol>



<h2 class="wp-block-heading">Database Schema</h2>



<p>ระบบใช้ <strong>PostgreSQL</strong> กับ 10 tables ที่ออกแบบมาอย่างดี:</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>Table</th><th>หน้าที่</th></tr></thead><tbody><tr><td><code>sb_items</code></td><td>Core items — 8 types, 5 statuses, relevance score</td></tr><tr><td><code>sb_categories</code></td><td>PARA categories</td></tr><tr><td><code>sb_tags</code></td><td>Hierarchical tags (รองรับ parent_id)</td></tr><tr><td><code>sb_sources</code></td><td>Knowledge sources (URL, book, conversation, file, telegram)</td></tr><tr><td><code>sb_item_tags</code></td><td>Item-tag junction table</td></tr><tr><td><code>sb_links</code></td><td>Knowledge graph edges (8 link types)</td></tr><tr><td><code>sb_reviews</code></td><td>SM-2 spaced repetition queue</td></tr><tr><td><code>sb_decisions</code></td><td>Extended decision metadata</td></tr><tr><td><code>sb_consolidations</code></td><td>Merge history</td></tr><tr><td><code>sb_daily_imports</code></td><td>Daily log import tracking</td></tr></tbody></table></figure>



<h2 class="wp-block-heading">Installation — ติดตั้งยังไง</h2>



<h3 class="wp-block-heading">Step 1: Clone Repository</h3>



<pre class="wp-block-code"><code>git clone https://github.com/ifew/Second-Brain-with-OpenClaw.git
cd Second-Brain-with-OpenClaw</code></pre>



<h3 class="wp-block-heading">Step 2: ติดตั้ง PostgreSQL + Extensions</h3>



<pre class="wp-block-code"><code># ติดตั้ง PostgreSQL (ถ้ายังไม่มี)
sudo apt install postgresql postgresql-contrib

# เปิดใช้ extensions ที่ต้องการ
sudo -u postgres psql -c "CREATE DATABASE few;"
sudo -u postgres psql -d few -c "CREATE EXTENSION IF NOT EXISTS pg_trgm;"</code></pre>



<h3 class="wp-block-heading">Step 3: สร้าง Tables</h3>



<pre class="wp-block-code"><code># สร้าง schema หลัก
psql -d few -f create_tables.sql

# รัน v2 migration (relevance scoring, consolidation, pipeline)
psql -d few -f migrate_v2_features.sql

# รัน v3 migration (Decision Ledger)
psql -d few -f sql/migrations/002_decision_ledger.sql</code></pre>



<h3 class="wp-block-heading">Step 4: ติดตั้ง Python Dependencies</h3>



<pre class="wp-block-code"><code>pip install psycopg2-binary</code></pre>



<p>แค่นี้ก็พร้อมใช้แล้ว! ไม่มี dependency เยอะเพราะตั้งใจ keep it simple</p>



<h2 class="wp-block-heading">Integration กับ OpenClaw</h2>



<p>Second Brain ถูกออกแบบมาให้ทำงานร่วมกับ <strong>OpenClaw agent system</strong> ได้อย่างราบรื่น:</p>



<h3 class="wp-block-heading">Skill-based Architecture</h3>



<p>ใน OpenClaw ระบบ Second Brain ถูก register เป็น skill ที่ agent สามารถเรียกใช้ได้ ทำให้สามารถ:</p>



<ul class="wp-block-list">
<li><strong>สั่งด้วยภาษาธรรมชาติ</strong> — บอก agent ว่า &#8220;จดไว้ว่า&#8230;&#8221; หรือ &#8220;ค้นหาเรื่อง&#8230;&#8221; agent จะเรียก Second Brain tools ให้อัตโนมัติ</li>



<li><strong>Auto-capture จาก conversation</strong> — agent ตรวจจับ insights, decisions, tasks จากบทสนทนาแล้วบันทึกเข้า Second Brain ให้เลย</li>



<li><strong>Daily extraction</strong> — ดึงข้อมูลจาก daily memory logs เข้า Second Brain ผ่าน automated pipeline</li>



<li><strong>Strava sync อัตโนมัติ</strong> — sync ข้อมูลออกกำลังกายเข้ามาเป็น knowledge items</li>
</ul>



<h3 class="wp-block-heading">10 CLI Tools</h3>



<p>มี command-line tools ครบชุดที่ทั้ง agent และคนใช้ได้:</p>



<ol class="wp-block-list">
<li><code>capture.py</code> — Quick capture to inbox</li>



<li><code>search.py</code> — Full-text + trigram search</li>



<li><code>query.py</code> — Trend analysis, activity reports</li>



<li><code>review.py</code> — SM-2 review queue</li>



<li><code>link.py</code> — Knowledge graph CRUD</li>



<li><code>stats.py</code> — Dashboard + analytics</li>



<li><code>extract.py</code> — AI memory extraction</li>



<li><code>consolidate.py</code> — Duplicate detection + merging</li>



<li><code>pipeline.py</code> — Full automated pipeline</li>



<li><code>decision.py</code> — Decision Ledger management</li>
</ol>



<h2 class="wp-block-heading">ตัวอย่างการใช้งาน ผ่าน OpenClaw (Telegram) แบบผู้ใช้ทั่วไป</h2>



<h3 class="wp-block-heading">Auto Capture ข้อมูลเข้า Inbox</h3>



<pre class="wp-block-code"><code>ผู้ใช้: วันนี้น้ำหนัก 75.5 กิโล 
บอท: ✅ บันทึกอัตโนมัติ: น้ำหนัก 75.5 kg → Second Brain (tags: weight, health)

ผู้ใช้: วันนี้วิ่ง 5 กม. ตอนเช้า 
บอท: ✅ บันทึกอัตโนมัติ: วิ่ง 5 km → Second Brain (tags: running, exercise, health)

ผู้ใช้: กองทุนสำรอง 450,000 บาท 
บอท: ✅ บันทึกอัตโนมัติ: กองทุนสำรอง 450,000 บาท → Second Brain (tags: provident-fund, finance, investment)

ผู้ใช้: ความดัน 120/80 
บอท: ✅ บันทึกอัตโนมัติ: ความดัน 120/80 → Second Brain (tags: blood-pressure, health)</code></pre>



<h3 class="wp-block-heading">Analysis / วิเคราะห์</h3>



<pre class="wp-block-code"><code>ผู้ใช้: แนวโน้มน้ำหนัก 30 วันที่ผ่านมาเป็นยังไง? 
บอท: 📊 แนวโน้มน้ำหนัก (30 วันที่ผ่านมา):

วันที่       | น้ำหนัก
2026-02-14  | 76.2 kg
2026-02-21  | 75.8 kg
2026-02-28  | 75.5 kg
2026-03-07  | 75.1 kg
2026-03-14  | 74.8 kg
━━━━━━━━━━━━━━━━━━━━━
แนวโน้ม: ↘ ลดลง (-1.4 kg)
เฉลี่ย: 75.5 kg</code></pre>



<pre class="wp-block-code"><code>ผู้ใช้: สถิติวิ่งสัปดาห์นี้ 
บอท: 🏃 สถิติวิ่ง (สัปดาห์นี้):

จันทร์ | 5.2 km  | 32:15 | 6:12/km
พุธ    | 3.0 km  | 19:45 | 6:35/km
ศุกร์  | 7.1 km  | 42:30 | 5:59/km
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
รวม: 15.3 km | 3 ครั้ง</code></pre>



<h3 class="wp-block-heading">Recording &amp; Capturing / บันทึก</h3>



<pre class="wp-block-code"><code>ผู้ใช้: จำไว้: จุดกางเต็นท์ดีที่สุดใกล้เขาใหญ่คือลำตะคอง <br>บอท: ✅ บันทึกรายการ #142: "จุดกางเต็นท์ดีที่สุดใกล้เขาใหญ่คือลำตะคอง" → inbox<br><br>ผู้ใช้: บันทึก bookmark: https://web.com/best-trails — แท็ก trekking กับ chiang-mai <br>บอท: ✅ บันทึก bookmark #143: "https://web.com/best-trails" (tags: trekking, chiang-mai)<br><br>ผู้ใช้: มีไอเดีย: ทำระบบจัดเรตความยากเส้นทางเทรคกิ้งจากความสูงที่เพิ่มขึ้น <br>บอท: ✅ บันทึกไอเดีย #144: "ทำระบบจัดเรตความยากเส้นทางเทรคกิ้ง..." → inbox (priority: 2)<br><br></code></pre>



<h3 class="wp-block-heading">Searching / ค้นหา</h3>



<pre class="wp-block-code"><code>ผู้ใช้: ค้นหา "อุปกรณ์เทรคกิ้ง" 
บอท: 🔍 พบ 5 รายการสำหรับ "อุปกรณ์เทรคกิ้ง":

#89  &#91;bookmark] เสื้อกันฝนดีที่สุด 2026          (relevance: 0.92)
#76  &#91;note]     Checklist อุปกรณ์ดอยอินทนนท์     (relevance: 0.85)
#121 &#91;snippet]  เปรียบเทียบเต็นท์น้ำหนักเบา      (relevance: 0.71)</code></pre>



<pre class="wp-block-code"><code>ผู้ใช้: หาข้อมูลน้ำหนักตั้งแต่มกราคมถึงมีนาคม 
บอท: 🔍 พบ 12 รายการน้ำหนัก (ม.ค.–มี.ค. 2026):

2026-01-05  | น้ำหนัก 76.8 kg
2026-01-12  | น้ำหนัก 76.5 kg
...
2026-03-14  | น้ำหนัก 74.8 kg</code></pre>



<h3 class="wp-block-heading">Review &amp; Maintenance / ทบทวน</h3>



<pre class="wp-block-code"><code>ผู้ใช้: ทบทวนรายสัปดาห์ 
บอท: 📋 ทบทวนรายสัปดาห์:

รายการใหม่สัปดาห์นี้:     12
รายการใน inbox:           5 (รอจัดหมวดหมู่)
ถึงกำหนดทบทวน:            3 รายการ
ลิงก์ความรู้ที่สร้าง:       7
แท็กยอดนิยม: health (4), trekking (3), finance (2)</code></pre>



<pre class="wp-block-code"><code>ผู้ใช้: แสดงสถิติ Second Brain 
บอท: 📊 Dashboard Second Brain:

รายการทั้งหมด:   342
ตามสถานะ:       inbox(12) active(180) incubating(95) archived(55)
ตามประเภท:      note(120) log(98) bookmark(45) idea(32) ...
หมวดหมู่:        4 projects, 6 areas, 12 resources
กราฟความรู้:     156 ลิงก์ใน 89 รายการ
คิวทบทวน:        8 รายการถึงกำหนด</code></pre>



<h2 class="wp-block-heading">ตัวอย่างการใช้งานผ่าน CLI แบบ กรี๊กๆ (Greek)</h2>



<h3 class="wp-block-heading">Capture ข้อมูลเข้า Inbox</h3>



<pre class="wp-block-code"><code># จดโน้ตด่วน
python3 tools/capture.py "Trail conditions at Doi Inthanon" --tags trekking chiang-mai --priority 2

# Capture จาก stdin (pipe ได้)
echo "New gear recommendation" | python3 tools/capture.py --stdin --type idea --tags gear</code></pre>



<h3 class="wp-block-heading">ค้นหาข้อมูล</h3>



<pre class="wp-block-code"><code># ค้นหา full-text
python3 tools/search.py "inthanon" --limit 5

# ค้นหาด้วย tag + text
python3 tools/search.py "gear" --tag trekking --sort relevance</code></pre>



<h3 class="wp-block-heading">บันทึก Decision</h3>



<pre class="wp-block-code"><code># บันทึก technical decision
python3 tools/decision.py create \
  --title "Use PostgreSQL for Second Brain storage" \
  --problem "Need persistent, queryable storage for knowledge items" \
  --options "SQLite|PostgreSQL|MongoDB" \
  --decision "PostgreSQL — already running for post tracking" \
  --rationale "Reuse existing infrastructure, full-text search with tsvector" \
  --type technical

# ดู decisions ที่ accepted
python3 tools/decision.py list --status accepted --type technical

# ดู decisions ที่ต้อง review
python3 tools/decision.py review --due</code></pre>



<h3 class="wp-block-heading">Knowledge Graph</h3>



<pre class="wp-block-code"><code># เชื่อมโยง 2 items
python3 tools/link.py create 1 2 --type supports --note "Evidence for conclusion"

# ค้นหา items ที่เกี่ยวข้อง 2 ระดับ
python3 tools/link.py related 1 --depth 2

# ขอ suggestion ว่าควรเชื่อมโยงกับอะไร
python3 tools/link.py suggest 1</code></pre>



<h3 class="wp-block-heading">Review Queue</h3>



<pre class="wp-block-code"><code># ดู items ที่ต้อง review
python3 tools/review.py due

# review เสร็จ ให้คะแนน quality 0-5
python3 tools/review.py complete 42 --quality 4</code></pre>



<h3 class="wp-block-heading">Automated Pipeline</h3>



<pre class="wp-block-code"><code># รัน full pipeline: extract → score → consolidate → report
python3 tools/pipeline.py

# preview ก่อน (ไม่เปลี่ยนแปลงข้อมูล)
python3 tools/pipeline.py --dry-run

# รันแค่ step เดียว
python3 tools/pipeline.py --step extract</code></pre>



<h3 class="wp-block-heading">Python API</h3>



<pre class="wp-block-code"><code>from second_brain import SecondBrain
sb = SecondBrain()

# Capture
item = sb.capture("ไอเดียใหม่สำหรับ blog", item_type="idea", tags=&#91;"blog", "content"])

# Search
results = sb.search("trekking gear", limit=10)

# Decision
decision = sb.capture_decision(
    title="Migrate from CSV to PostgreSQL",
    problem="CSV files have race conditions",
    options=&#91;"Keep CSV", "SQLite", "PostgreSQL"],
    decision="PostgreSQL",
    rationale="Already running, supports concurrent access",
    decision_type="technical",
    review_days=90,
)

# Link decision to related items
sb.link_decision_to_items(decision&#91;'id'], &#91;10, 15, 22])

# Stats
sb.stats()
sb.weekly_review()</code></pre>



<h2 class="wp-block-heading">Tips / เคล็ดลับ<a href="https://github.com/ifew/Second-Brain-with-OpenClaw/blob/main/TELEGRAM_GUIDE.md#tips--%E0%B9%80%E0%B8%84%E0%B8%A5%E0%B9%87%E0%B8%94%E0%B8%A5%E0%B8%B1%E0%B8%9A"></a></h2>



<ol class="wp-block-list">
<li><strong>Just talk naturally</strong> — <strong>พูดตามธรรมชาติ</strong> — Auto-capture ตรวจจับคำสำคัญจากบทสนทนาปกติ ไม่ต้องใช้คำสั่งพิเศษ</li>



<li><strong>Use both languages</strong> — <strong>ใช้ได้ทั้งสองภาษา</strong> — คำสำคัญทำงานได้ทั้งไทยและอังกฤษ ใช้สลับได้</li>



<li><strong>Tag generously</strong> — <strong>ใส่แท็กให้เยอะ</strong> — แท็กยิ่งมาก = ค้นหาได้ดีขึ้น</li>



<li><strong>Review weekly</strong> — <strong>ทบทวนทุกสัปดาห์</strong> — จัดการ inbox และทบทวนรายการที่ถึงกำหนดสม่ำเสมอ</li>
</ol>



<h2 class="wp-block-heading">สรุป</h2>



<p>Second Brain with OpenClaw เป็นระบบที่ผมลองทำดูเพื่อจัดการความรู้ส่วนตัว ตั้งแต่ capture ข้อมูล, จัดหมวดหมู่ด้วย PARA, เชื่อมโยงด้วย Knowledge Graph, ทบทวนด้วย Spaced Repetition, ไปจนถึงบันทึก decisions ด้วย ADR format</p>



<p>จุดเด่นคือ <strong>ออกแบบมาให้ AI agent อย่าง OpenClaw ใช้งานได้</strong> ไม่ใช่แค่ GUI app ที่คนต้องมานั่งจัดเอง แต่ให้ agent ช่วยจัดการ, ค้นหา, เชื่อมโยง, และทบทวนให้อัตโนมัติ</p>



<p>ทุกอย่าง open source, ใช้แค่ PostgreSQL + Python ไม่มี vendor lock-in, ข้อมูลเป็นของเราเอง 100% ครับ</p>



<p><strong>ลองเอาไปใช้ดูครับ:</strong></p>



<ul class="wp-block-list">
<li>⭐ <a href="https://github.com/ifew/Second-Brain-with-OpenClaw/" target="_blank" rel="noopener">GitHub: Second-Brain-with-OpenClaw</a></li>



<li>📖 <a href="https://myifew.com/7353/implement-second-brain-openclaw/">บทความก่อนหน้า: แนวคิด Second Brain + OpenClaw</a></li>
</ul>



<p>ถ้ามี feedback, feature request, หรืออยากช่วยพัฒนาต่อ — เปิด issue หรือ PR ได้เลยครับ! 🙏</p>
]]></content:encoded>
					
					<wfw:commentRss>https://myifew.com/7366/second-brain-with-openclaw-open-source/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>เมื่อ Twitter เปิด Open Source ให้เห็น Algorithms น่าสนใจมากๆ</title>
		<link>https://myifew.com/6533/twitter-open-source-algorithm/</link>
					<comments>https://myifew.com/6533/twitter-open-source-algorithm/#respond</comments>
		
		<dc:creator><![CDATA[iFew]]></dc:creator>
		<pubDate>Sat, 01 Apr 2023 07:38:41 +0000</pubDate>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Algorithm]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Twitter]]></category>
		<guid isPermaLink="false">https://myifew.com/?p=6533</guid>

					<description><![CDATA[Twitter เปิด open source algorithms ของตัวเองให้ดู น่าสนใจหลายจุดเลย (หลายตัวก็พอเดาได้ แต่นี่เป็นการยืนยันจากโค้ด) เช่น ข้ออื่นๆ ลองไปอ่านดู ใครแกะโค้ดได้ก็แกะดูครับ น่าสนใจมาก Source Code : https://github.com/twitter/the-algorithm&#8230;]]></description>
										<content:encoded><![CDATA[
<p>Twitter เปิด open source algorithms ของตัวเองให้ดู น่าสนใจหลายจุดเลย (หลายตัวก็พอเดาได้ แต่นี่เป็นการยืนยันจากโค้ด) เช่น</p>



<ol class="wp-block-list">
<li>สัดส่วนของ following กับ follower มีผลกับ rank เช่น เราไปฟอลคนอื่นเยอะ แต่สักส่วนมีคนฟอลกลับน้อย เราจะถูกจัด rank ต่ำ</li>



<li>สมาชิกแบบ Twitter Blue ได้รับสิทธิ์พิเศษในการ boost algorithm ต่างๆ</li>



<li>อันนี้ กวนมากๆ คือ Twitter แบ่ง User ออกเป็น แค่ 4 กลุ่ม คือ
<ul class="wp-block-list">
<li>Power users</li>



<li>Democrat users</li>



<li>Republican users</li>



<li>@elonmusk</li>
</ul>
</li>



<li>การที่ Tweet เราไปอยู่ในแท็บ &#8220;For You&#8221; ของใครสักคน จะเกิดจากพฤติกรรมที่เขาคนนั้นเคยทำประมาณนี้
<ul class="wp-block-list">
<li>like/RT your tweet</li>



<li>click into your tweet &amp; reply/stay there for &gt;2 mins</li>



<li>check out your profile <img decoding="async" height="16" width="16" src="https://static.xx.fbcdn.net/images/emoji.php/v9/t67/2/16/1f440.png" alt="👀"></li>
</ul>
</li>



<li>มีจัดอันดับความน่าเชื่อถือ หรือชื่อเสียงของ user ใน twitter (Reputation Score) ซึ่งการถูกลดอันดับ จะเกิดจากมีประวัติ เหล่านี้
<ul class="wp-block-list">
<li>Getting blocked</li>



<li>Getting muted</li>



<li>Abuse reports</li>



<li>Spam reports</li>



<li>Unfollows (not as heavily penalized as the above 4, though)</li>
</ul>
</li>
</ol>



<span id="more-6533"></span>



<figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-38 is-layout-flex wp-block-gallery-is-layout-flex">
<figure class="wp-block-image size-large"><img fetchpriority="high" decoding="async" width="554" height="1200" data-id="6537" src="https://myifew.com/wp-content/uploads/2023/04/IMG_0390-554x1200.png" alt="" class="wp-image-6537" srcset="https://myifew.com/wp-content/uploads/2023/04/IMG_0390-554x1200.png 554w, https://myifew.com/wp-content/uploads/2023/04/IMG_0390-768x1665.png 768w, https://myifew.com/wp-content/uploads/2023/04/IMG_0390-709x1536.png 709w, https://myifew.com/wp-content/uploads/2023/04/IMG_0390-945x2048.png 945w, https://myifew.com/wp-content/uploads/2023/04/IMG_0390-323x700.png 323w, https://myifew.com/wp-content/uploads/2023/04/IMG_0390.png 1179w" sizes="(max-width: 554px) 100vw, 554px" /></figure>



<figure class="wp-block-image size-large"><img decoding="async" width="554" height="1200" data-id="6535" src="https://myifew.com/wp-content/uploads/2023/04/IMG_0391-554x1200.png" alt="" class="wp-image-6535" srcset="https://myifew.com/wp-content/uploads/2023/04/IMG_0391-554x1200.png 554w, https://myifew.com/wp-content/uploads/2023/04/IMG_0391-768x1665.png 768w, https://myifew.com/wp-content/uploads/2023/04/IMG_0391-709x1536.png 709w, https://myifew.com/wp-content/uploads/2023/04/IMG_0391-945x2048.png 945w, https://myifew.com/wp-content/uploads/2023/04/IMG_0391-323x700.png 323w, https://myifew.com/wp-content/uploads/2023/04/IMG_0391.png 1179w" sizes="(max-width: 554px) 100vw, 554px" /></figure>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="554" height="1200" data-id="6540" src="https://myifew.com/wp-content/uploads/2023/04/IMG_0393-554x1200.png" alt="" class="wp-image-6540" srcset="https://myifew.com/wp-content/uploads/2023/04/IMG_0393-554x1200.png 554w, https://myifew.com/wp-content/uploads/2023/04/IMG_0393-768x1665.png 768w, https://myifew.com/wp-content/uploads/2023/04/IMG_0393-709x1536.png 709w, https://myifew.com/wp-content/uploads/2023/04/IMG_0393-945x2048.png 945w, https://myifew.com/wp-content/uploads/2023/04/IMG_0393-323x700.png 323w, https://myifew.com/wp-content/uploads/2023/04/IMG_0393.png 1179w" sizes="auto, (max-width: 554px) 100vw, 554px" /></figure>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="554" height="1200" data-id="6541" src="https://myifew.com/wp-content/uploads/2023/04/IMG_0395-554x1200.png" alt="" class="wp-image-6541" srcset="https://myifew.com/wp-content/uploads/2023/04/IMG_0395-554x1200.png 554w, https://myifew.com/wp-content/uploads/2023/04/IMG_0395-768x1665.png 768w, https://myifew.com/wp-content/uploads/2023/04/IMG_0395-709x1536.png 709w, https://myifew.com/wp-content/uploads/2023/04/IMG_0395-945x2048.png 945w, https://myifew.com/wp-content/uploads/2023/04/IMG_0395-323x700.png 323w, https://myifew.com/wp-content/uploads/2023/04/IMG_0395.png 1179w" sizes="auto, (max-width: 554px) 100vw, 554px" /></figure>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="554" height="1200" data-id="6542" src="https://myifew.com/wp-content/uploads/2023/04/IMG_0396-554x1200.png" alt="" class="wp-image-6542" srcset="https://myifew.com/wp-content/uploads/2023/04/IMG_0396-554x1200.png 554w, https://myifew.com/wp-content/uploads/2023/04/IMG_0396-768x1665.png 768w, https://myifew.com/wp-content/uploads/2023/04/IMG_0396-709x1536.png 709w, https://myifew.com/wp-content/uploads/2023/04/IMG_0396-945x2048.png 945w, https://myifew.com/wp-content/uploads/2023/04/IMG_0396-323x700.png 323w, https://myifew.com/wp-content/uploads/2023/04/IMG_0396.png 1179w" sizes="auto, (max-width: 554px) 100vw, 554px" /></figure>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="554" height="1200" data-id="6547" src="https://myifew.com/wp-content/uploads/2023/04/IMG_0398-554x1200.png" alt="" class="wp-image-6547" srcset="https://myifew.com/wp-content/uploads/2023/04/IMG_0398-554x1200.png 554w, https://myifew.com/wp-content/uploads/2023/04/IMG_0398-768x1665.png 768w, https://myifew.com/wp-content/uploads/2023/04/IMG_0398-709x1536.png 709w, https://myifew.com/wp-content/uploads/2023/04/IMG_0398-945x2048.png 945w, https://myifew.com/wp-content/uploads/2023/04/IMG_0398-323x700.png 323w, https://myifew.com/wp-content/uploads/2023/04/IMG_0398.png 1179w" sizes="auto, (max-width: 554px) 100vw, 554px" /></figure>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="554" height="1200" data-id="6536" src="https://myifew.com/wp-content/uploads/2023/04/IMG_0399-554x1200.png" alt="" class="wp-image-6536" srcset="https://myifew.com/wp-content/uploads/2023/04/IMG_0399-554x1200.png 554w, https://myifew.com/wp-content/uploads/2023/04/IMG_0399-768x1665.png 768w, https://myifew.com/wp-content/uploads/2023/04/IMG_0399-709x1536.png 709w, https://myifew.com/wp-content/uploads/2023/04/IMG_0399-945x2048.png 945w, https://myifew.com/wp-content/uploads/2023/04/IMG_0399-323x700.png 323w, https://myifew.com/wp-content/uploads/2023/04/IMG_0399.png 1179w" sizes="auto, (max-width: 554px) 100vw, 554px" /></figure>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="554" height="1200" data-id="6538" src="https://myifew.com/wp-content/uploads/2023/04/IMG_0400-554x1200.png" alt="" class="wp-image-6538" srcset="https://myifew.com/wp-content/uploads/2023/04/IMG_0400-554x1200.png 554w, https://myifew.com/wp-content/uploads/2023/04/IMG_0400-768x1665.png 768w, https://myifew.com/wp-content/uploads/2023/04/IMG_0400-709x1536.png 709w, https://myifew.com/wp-content/uploads/2023/04/IMG_0400-945x2048.png 945w, https://myifew.com/wp-content/uploads/2023/04/IMG_0400-323x700.png 323w, https://myifew.com/wp-content/uploads/2023/04/IMG_0400.png 1179w" sizes="auto, (max-width: 554px) 100vw, 554px" /></figure>
</figure>



<p>ข้ออื่นๆ ลองไปอ่านดู ใครแกะโค้ดได้ก็แกะดูครับ น่าสนใจมาก</p>



<p>Source Code : <a href="https://github.com/twitter/the-algorithm" target="_blank" rel="noreferrer noopener">https://github.com/twitter/the-algorithm</a></p>



<p>โพสต์ต้นทาง <a href="https://l.facebook.com/l.php?u=https%3A%2F%2Ftwitter.com%2Fsteventey%2Fstatus%2F1641892386564640768%3Ffbclid%3DIwAR37rayj8HnNaFypPhOWkfGtT6KcL73rKBGS7E-usOUW39GA_HHHloTpG3g&amp;h=AT2ILpJtzaBCU3_7fkeMdJFrybtsn4WsX7el6ftQjHEmTOfiMX9K0SEFRB7MzB-KIStTIij0RMgVxHO2DF8JY-kq33TloHhTiAMqe27UieyeO8DSYzhmQ85wiRJdsKQrUNd0PYM&amp;__tn__=-UK-R&amp;c[0]=AT0fjS8yrGpe0Gefc1zk_Kp__6QfebmUu4XA2GrhpaU5PYdXhDyUkRrgGWgl-30evnMQq44UGMY4wb6UHkN0EQOnCJevOJ48LG0hFOf2M-zhxkLKqFNN6x9q6AYksQq0LfTRaZ95H_5og9GOG93Z5FNWq1zcWJBc7CzKXOL8n2ccOHDqRi07LBN7CtGafIkUbD0C2TZpQql6jwg" rel="noreferrer noopener" target="_blank">https://twitter.com/steventey/status/1641892386564640768</a></p>



<p><a href="https://www.facebook.com/photo/?fbid=10167462341750644&amp;set=pcb.10167462356915644&amp;__cft__[0]=AZV_1veOSj9cMMn5dXwXiPsD1IubyJbepuIHUwMlrzm-L1khllSpCfi7DaHmbmxNogi0aKD_hMS7NhE73wXneWk481vLiGtcd6KuAETjeWFaSc6cWbbdhwbItX9kAD3k7CIFZvpw3NZA6jXPQyKcOI7KMspLug_-QeG2qZj2dFj6HqdHBI3WTBr_pnvjQKW-XB8&amp;__tn__=*bH-R"></a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://myifew.com/6533/twitter-open-source-algorithm/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ทำ Video Conference ฟรีๆ ด้วย Jitsi Meet ความสามารถแทบเหมือน Google Meet, Zoom</title>
		<link>https://myifew.com/5929/jitsi-free-video-conference/</link>
					<comments>https://myifew.com/5929/jitsi-free-video-conference/#respond</comments>
		
		<dc:creator><![CDATA[iFew]]></dc:creator>
		<pubDate>Fri, 13 Aug 2021 18:17:54 +0000</pubDate>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Jitsi]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Video Conference]]></category>
		<guid isPermaLink="false">https://myifew.com/?p=5929</guid>

					<description><![CDATA[Jitsi Meet เป็น platform สำหรับการสื่อสาร แบบ Open Source ที่มีฟีเจอร์ครบถ้วน จุดเด่นก็เป็นการทำ Video Conference คล้ายกับ Google Meet หรือ Zoom และได้รับความนิยมในหมู่นักพัฒนาทั่วโลก&#8230;]]></description>
										<content:encoded><![CDATA[
<p><a rel="noreferrer noopener" href="https://jitsi.org/" data-type="URL" data-id="https://jitsi.org/" target="_blank">Jitsi Meet</a> เป็น platform สำหรับการสื่อสาร แบบ Open Source ที่มีฟีเจอร์ครบถ้วน จุดเด่นก็เป็นการทำ Video Conference  คล้ายกับ Google Meet หรือ Zoom และได้รับความนิยมในหมู่นักพัฒนาทั่วโลก เพราะสามารถนำมาติดตั้งเป็น Self-Hosting ได้เอง โดยมีฟีเจอร์หลักๆ ประมาณนี้ครับ</p>



<span id="more-5929"></span>



<h2 class="wp-block-heading">Jitsi Meet Core Feature</h2>



<ul class="wp-block-list"><li>สามารถทำ Video Conferencing, Text Chat, Sip Call ได้</li><li>รองรับการสนทนา (Chat) ได้มากถึง 32 คนพร้อมกันใน 1 ห้อง</li><li>ทำงานได้แบบ Low-Latency ทั้งภาพและเสียง</li><li>สามารถ Share Screen ได้</li><li>บันทึกภาพและเสียงในการสนทนาได้ (Video Recording)</li><li>ปรับความละเอียดของภาพ Video Conference ของตนเองได้</li><li>Video Streaming ออกไปที่ Youtube ได้</li><li>รองรับการส่งไฟล์ media ระหว่างกัน</li><li>เป็น End-to-end encryption ระหว่างผู้สนทนา</li><li>รองรับการใช้งานบนเว็บ Browser, Mobile Application, Desktop clients</li><li>พัฒนาด้วยภาษา Java และใช้มาตรฐาน WebRTC</li><li>เป็น Open Source</li></ul>



<h2 class="wp-block-heading">Jitsi Architecture Diagram</h2>



<p>ตัว Jitsi เอง ประกอบด้วย Module หลายๆ ตัวประกอบกัน เพื่อให้สามารถทำงานเป็น Web Video Conference ได้ ดังนี้</p>



<ul class="wp-block-list"><li><a rel="noreferrer noopener" href="https://jitsi.org/jitsi-meet" target="_blank">Jitsi Meet</a> &#8211; เป็นหน้าเว็บไซต์ ทำงานกับ WebRTC ผ่าน JavaScript โดยเรียกใช้ Jitsi Videobridge เป็นโมดูลอีกตัวที่ทำเรื่องคุณภาพของภาพ, การสเกล video conferences. โดยตัวเว็บไซต์ใช้ React และ React Native ในการทำ</li><li><a rel="noreferrer noopener" href="https://jitsi.org/jitsi-videobridge" target="_blank">Jitsi Videobridge (JVB)</a> &#8211; เรียกว่าเป็นตัวหลักเลยก็ได้ ที่เป็นตัวรับสตรีมวีดิโอจากผู้สนทนาทุกคน จาก WebRTC มาตัว server </li><li><a rel="noreferrer noopener" href="https://github.com/jitsi/jicofo" target="_blank">Jitsi Conference Focus (jicofo)</a> &#8211; โมดูลฝั่ง server-side ที่รับการทำงานจาก Jitsi Meet เพื่อจัดการเรื่อง sessions ต่างๆ ทำหน้าที่เหมือน load balancer ระหว่างผู้สนทนากับ Jitsi Videobridge</li><li><a rel="noreferrer noopener" href="https://github.com/jitsi/jigasi" target="_blank">Jitsi Gateway to SIP (jigasi)</a> &#8211; โมดูลฝั่ง server-side ที่ทำงานเกี่ยวกับ SIP เพื่อใช้บน Jitsi Meet</li><li><a rel="noreferrer noopener" href="https://github.com/jitsi/jibri" target="_blank">Jitsi Broadcasting Infrastructure (jibri)</a> &#8211; เครื่องไม้เครื่องมือต่างๆ สำหรับการทำ Video Recording หรือ Streaming Video ที่รับมาจาก Jitsi Meet ในรูปแบบ virtual framebuffer โดยโมดูลนี้จะคอย Capture ภาพและเสียง จากนั้นไป Encode ด้วย ffmpeg ให้อีกที</li></ul>



<div class="wp-block-image"><figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="751" height="571" src="https://myifew.com/wp-content/uploads/2021/08/Jitsi-ArchitectureDiagram.png" alt="" class="wp-image-5931" srcset="https://myifew.com/wp-content/uploads/2021/08/Jitsi-ArchitectureDiagram.png 751w, https://myifew.com/wp-content/uploads/2021/08/Jitsi-ArchitectureDiagram-700x532.png 700w" sizes="auto, (max-width: 751px) 100vw, 751px" /><figcaption>ที่มา https://jitsi.github.io/handbook/docs/architecture</figcaption></figure></div>



<h2 class="wp-block-heading">Browser Compatible</h2>



<p>เรียกว่ารองรับ Browser ได้เกือบครบ ยกเว้น Internet Explorer แต่ เดี๋ยวนี้เราก็คงไม่ค่อยได้ใช้กันแล้วมั้ง? ถึงขนาดที่ว่า ผู้พัฒนากล่าวติดตกตลกว่า &#8220;Are you serious?&#8221; ซีเรียสหรอ ถ้าจะใช้บน IE ไม่ได้? ฮ่าๆ</p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="1200" height="846" src="https://myifew.com/wp-content/uploads/2021/08/Screen-Shot-2564-08-13-at-01.08.24-1200x846.png" alt="" class="wp-image-5932" srcset="https://myifew.com/wp-content/uploads/2021/08/Screen-Shot-2564-08-13-at-01.08.24-1200x846.png 1200w, https://myifew.com/wp-content/uploads/2021/08/Screen-Shot-2564-08-13-at-01.08.24-1024x722.png 1024w, https://myifew.com/wp-content/uploads/2021/08/Screen-Shot-2564-08-13-at-01.08.24-768x541.png 768w, https://myifew.com/wp-content/uploads/2021/08/Screen-Shot-2564-08-13-at-01.08.24-1536x1082.png 1536w, https://myifew.com/wp-content/uploads/2021/08/Screen-Shot-2564-08-13-at-01.08.24-700x493.png 700w, https://myifew.com/wp-content/uploads/2021/08/Screen-Shot-2564-08-13-at-01.08.24.png 1598w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /><figcaption>ที่มา https://jitsi.github.io/handbook/docs/user-guide/supported-browsers</figcaption></figure></div>



<h2 class="wp-block-heading">Self-Hosting Prerequisites</h2>



<p>ในเอกสารไม่ได้บอกชัดเจน แต่ที่ผมทดสอบบน AWS EC2 แบบ free-tier (t2.micro) มี vCPU 1 Core และ Memory 1 GB ก็สามารถติดตั้ง และใช้งานได้ 4 ผู้สนทนา ใน 1 ห้อง สลับไป Share Screen ด้วย ก็ราบรื่นไม่ติดขัดครับ แต่ถ้าจะให้แนะนำก็ยืนพื้นที่มากกกว่าหน่อยจะดีกว่า</p>



<h3 class="wp-block-heading">General</h3>



<ul class="wp-block-list"><li>สิทธิในการเข้าถึง Root ของ Web Server</li><li>Sub/Domain name จริง</li><li>SSL Certificate (ทำ self-signed certificate ใช้ทดสอบก่อนได้)</li></ul>



<h3 class="wp-block-heading">Web Server</h3>



<ul class="wp-block-list"><li>CPU 2 Cores +</li><li>Memory 4GB + </li><li>Storage 100 GB </li><li>Dropbox for store record file at least 1 GB (สำหรับ Video Recording 1 ชั่วโมง ความละเอียด 1080p)</li></ul>



<h3 class="wp-block-heading">Operating System</h3>



<ul class="wp-block-list"><li>Debian 10 (Buster) or newer</li><li>Ubuntu 18.04 (Bionic Beaver) or newer</li></ul>



<h3 class="wp-block-heading">Core Library</h3>



<ul class="wp-block-list"><li>Gnupg2</li><li>Apache2 แตะแนะนำ Nginx ดีกว่าครับ</li><li>OpenJDK-8 (ในคู่มือเว็บ official ไม่มีบอก แปลกเหมือนกัน)</li><li>Certbot (Jitsi ต้องใช้ SSL เลยต้องมีไว้ใช้หน่อย)</li><li>Prosody (ตัวที่ติดมาตอนผมลง jitsi-meet 2.0 มันเป็น version 0.10.1 แต่ทำงานไม่ได้ ต้องลงอัพเดทใหม่เป็น 0.11.10 ล่าสุด)</li></ul>



<h2 class="wp-block-heading">วิธีการติดตั้ง Jitsi Meet</h2>



<p>ผมจะยืนพื้นจากเอกสาร <a rel="noreferrer noopener" href="https://jitsi.github.io/handbook/docs/devops-guide/devops-guide-quickstart" data-type="URL" data-id="https://jitsi.github.io/handbook/docs/devops-guide/devops-guide-quickstart" target="_blank">Jiti Self-Hosting Guide &#8211; Debian/Ubuntu server</a> นะครับ โดยไปดูคำอธิบายจากเอกสารนั้นได้ แต่ในโพสต์นี้ผมจะขอบันทึกลำดับการติดตั้ง และคำสั่งไว้ เผื่อเป็นประโยชน์และไว้ดูเองครั้งถัดไป</p>



<ol class="wp-block-list"><li>หลังสร้าง Server Debian/Ubunru มาใหม่ๆ ให้ทำการ update package ให้เรียบร้อย <ul><li>sudo apt update</li><li>sudo apt-add-repository universe</li><li>sudo apt update</li></ul></li><li>Set Hostname ของ Web Server<ul><li>sudo hostnamectl set-hostname meet.example.com</li></ul></li><li>เพิ่ม FQDN ใน /etc/hosts<ul><li>x.x.x.x meet.example.com</li></ul></li><li>เพิ่ม repository ของ Jitsi<ul><li>curl https://download.jitsi.org/jitsi-key.gpg.key | sudo sh -c &#8216;gpg &#8211;dearmor > /usr/share/keyrings/jitsi-keyring.gpg&#8217; </li><li>echo &#8216;deb [signed-by=/usr/share/keyrings/jitsi-keyring.gpg] https://download.jitsi.org stable/&#8217; | sudo tee /etc/apt/sources.list.d/jitsi-stable.list > /dev/null </li><li>sudo apt update</li></ul></li><li>ติดตั้ง Core Library ซึ่งระบบของ Jitsi จะดูว่าตัวไหนเรามีแล้ว เขาจะไม่ติดตั้งซ้ำซ้อนกัน<ul><li>sudo apt install apt-transport-https</li><li>sudo apt install gnupg2 nginx openjdk-8-jre</li></ul></li><li>เปิด Port Firewall ทั้งใน Server เอง และอย่าลืม Security Group บน Cloud ด้วยนะ<ul><li>sudo ufw allow 80/tcp </li><li>sudo ufw allow 443/tcp </li><li>sudo ufw allow 10000/udp </li><li>sudo ufw allow 22/tcp </li><li>sudo ufw allow 3478/udp </li><li>sudo ufw allow 5349/tcp </li><li>sudo ufw enable</li></ul></li><li>ทำการติดตั้ง Jitsi Meet<ul><li>sudo apt install jitsi-meet</li><li>ในขั้นตอนนี้จะมีให้กรอก Hostname ก็กรอกชื่อเดียวกับ ที่ตั้งไว้ในข้อ 2 เช่น meet.example.com</li><li>จากนั้นจะมีให้เลือก SSL Certificate ให้เลือกเป็น &#8220;Generate a new self-signed certificate&#8221;</li></ul></li><li>ติดตั้ง Certbot ที่ทาง Jitsi เตรียมสคริ้ปติดตั้งไว้ให้<ul><li>sudo /usr/share/jitsi-meet/scripts/install-letsencrypt-cert.sh</li></ul></li><li>ลองทดสอบเข้าใช้งานดู ที่ https://meet.example.com ถ้าเข้าไม่ได้ ที่ผมเจอมักเป็นปัญหาที่ SSL ไม่ถูกต้อง</li><li>ถ้าเว็บใช้งานได้ดี สามาถเปิดห้องคุยได้ และมีคนแจมเข้ามา สามารถเห็นหน้าเห็นตากันได้ ก็จบ แต่ถ้ามองเห็นแต่หน้าตัวเอง และไม่เห็นหน้าของผู้เข้าร่วมสนทนาในห้อง ให้ทำการ Update Prosody ดังนี้<ul><li>echo deb http://packages.prosody.im/debian $(lsb_release -sc) main | sudo tee -a /etc/apt/sources.list</li><li>wget https://prosody.im/files/prosody-debian-packages.key -O- | sudo apt-key add &#8211;</li><li>sudo apt-get update</li><li>sudo apt-get install prosody</li></ul></li><li>Config Prosody<ul><li>sudo vi /etc/prosody/prosody.cfg.lua</li><li>เติมข้อความ Include &#8220;conf.d/*.cfg.lua&#8221; ไว้ท้ายสุดของไฟล์</li><li>ถ้าเจอข้อความ VirtualHost &#8220;localhost&#8221; ให้ลบออกหรือทำคอมเม้นไว้โดยการเติม &#8212; ด้านหน้า</li><li>แก้ไฟล์ config ที่ทำงานกับเว็บ Jitsi โดยการ <ul><li>vi /etc/prosody/conf.avail/meet.example.com.cfg.lua</li><li>ตรงไหนมีคำว่า storage = &#8220;none&#8221; ให้แก้เป็น storage = &#8220;memory&#8221; ทั้งหมด</li></ul></li></ul></li><li>ลองทดสอบเข้าใช้งานดูใหม่อีกครั้ง ที่ https://meet.example.com </li></ol>



<h2 class="wp-block-heading">ทดสอบ <meta charset="utf-8">Jitsi Meet</h2>



<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="1200" height="670" src="https://myifew.com/wp-content/uploads/2021/08/Screen-Shot-2564-08-13-at-01.27.54-1200x670.png" alt="" class="wp-image-5933" srcset="https://myifew.com/wp-content/uploads/2021/08/Screen-Shot-2564-08-13-at-01.27.54-1200x670.png 1200w, https://myifew.com/wp-content/uploads/2021/08/Screen-Shot-2564-08-13-at-01.27.54-1024x572.png 1024w, https://myifew.com/wp-content/uploads/2021/08/Screen-Shot-2564-08-13-at-01.27.54-768x429.png 768w, https://myifew.com/wp-content/uploads/2021/08/Screen-Shot-2564-08-13-at-01.27.54-700x391.png 700w, https://myifew.com/wp-content/uploads/2021/08/Screen-Shot-2564-08-13-at-01.27.54.png 1430w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /><figcaption>ลองสนทนา 3-4 คน</figcaption></figure></div>



<div class="wp-block-image"><figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="1200" height="750" src="https://myifew.com/wp-content/uploads/2021/08/jitsi-demo-Screen-Shot-2564-08-13-at-01.29.49.jpg" alt="" class="wp-image-5935" srcset="https://myifew.com/wp-content/uploads/2021/08/jitsi-demo-Screen-Shot-2564-08-13-at-01.29.49.jpg 1200w, https://myifew.com/wp-content/uploads/2021/08/jitsi-demo-Screen-Shot-2564-08-13-at-01.29.49-1024x640.jpg 1024w, https://myifew.com/wp-content/uploads/2021/08/jitsi-demo-Screen-Shot-2564-08-13-at-01.29.49-768x480.jpg 768w, https://myifew.com/wp-content/uploads/2021/08/jitsi-demo-Screen-Shot-2564-08-13-at-01.29.49-700x438.jpg 700w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /><figcaption>เปิดห้องใหม่</figcaption></figure></div>



<div class="wp-block-image"><figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="1200" height="750" src="https://myifew.com/wp-content/uploads/2021/08/jitsi-demo-Screen-Shot-2564-08-13-at-01.29.59.jpg" alt="" class="wp-image-5936" srcset="https://myifew.com/wp-content/uploads/2021/08/jitsi-demo-Screen-Shot-2564-08-13-at-01.29.59.jpg 1200w, https://myifew.com/wp-content/uploads/2021/08/jitsi-demo-Screen-Shot-2564-08-13-at-01.29.59-1024x640.jpg 1024w, https://myifew.com/wp-content/uploads/2021/08/jitsi-demo-Screen-Shot-2564-08-13-at-01.29.59-768x480.jpg 768w, https://myifew.com/wp-content/uploads/2021/08/jitsi-demo-Screen-Shot-2564-08-13-at-01.29.59-700x438.jpg 700w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /><figcaption>เครื่องไม้เครื่องมือที่มีคล้ายๆ กับยี่ห้อดังอย่าง Google Meet, Zoom</figcaption></figure></div>



<div class="wp-block-image"><figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="1200" height="750" src="https://myifew.com/wp-content/uploads/2021/08/jitsi-demo-Screen-Shot-2564-08-13-at-01.30.39.jpg" alt="" class="wp-image-5937" srcset="https://myifew.com/wp-content/uploads/2021/08/jitsi-demo-Screen-Shot-2564-08-13-at-01.30.39.jpg 1200w, https://myifew.com/wp-content/uploads/2021/08/jitsi-demo-Screen-Shot-2564-08-13-at-01.30.39-1024x640.jpg 1024w, https://myifew.com/wp-content/uploads/2021/08/jitsi-demo-Screen-Shot-2564-08-13-at-01.30.39-768x480.jpg 768w, https://myifew.com/wp-content/uploads/2021/08/jitsi-demo-Screen-Shot-2564-08-13-at-01.30.39-700x438.jpg 700w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /><figcaption>ทดลอง Chat ด้วยข้อความและ Emoticon</figcaption></figure></div>



<div class="wp-block-image"><figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="1200" height="750" src="https://myifew.com/wp-content/uploads/2021/08/jitsi-demo-Screen-Shot-2564-08-13-at-01.44.32.jpg" alt="" class="wp-image-5939" srcset="https://myifew.com/wp-content/uploads/2021/08/jitsi-demo-Screen-Shot-2564-08-13-at-01.44.32.jpg 1200w, https://myifew.com/wp-content/uploads/2021/08/jitsi-demo-Screen-Shot-2564-08-13-at-01.44.32-1024x640.jpg 1024w, https://myifew.com/wp-content/uploads/2021/08/jitsi-demo-Screen-Shot-2564-08-13-at-01.44.32-768x480.jpg 768w, https://myifew.com/wp-content/uploads/2021/08/jitsi-demo-Screen-Shot-2564-08-13-at-01.44.32-700x438.jpg 700w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /><figcaption><meta charset="utf-8">ลองเปิดแบบ Toggle View</figcaption></figure></div>



<div class="wp-block-image"><figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="1200" height="672" src="https://myifew.com/wp-content/uploads/2021/08/jitsi-demo-Screen-Shot-2564-08-13-at-01.33.02.jpg" alt="" class="wp-image-5940" srcset="https://myifew.com/wp-content/uploads/2021/08/jitsi-demo-Screen-Shot-2564-08-13-at-01.33.02.jpg 1200w, https://myifew.com/wp-content/uploads/2021/08/jitsi-demo-Screen-Shot-2564-08-13-at-01.33.02-1024x573.jpg 1024w, https://myifew.com/wp-content/uploads/2021/08/jitsi-demo-Screen-Shot-2564-08-13-at-01.33.02-768x430.jpg 768w, https://myifew.com/wp-content/uploads/2021/08/jitsi-demo-Screen-Shot-2564-08-13-at-01.33.02-700x392.jpg 700w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /><figcaption>ลอง Share Screen</figcaption></figure></div>



<h2 class="wp-block-heading">สรุป</h2>



<p>บทจะติดตั้งง่ายก็ง่าย จะยากก็ยาก ซึ่งที่ยาก เพราะ Document อธิบายไม่ค่อยครบถ้วน ในหลายบทก็ไม่มีเขียนบอกไว้ ต้องอาศัยการเข้าไปอ่านการแก้ปัญหาใน <a rel="noreferrer noopener" href="https://community.jitsi.org/" data-type="URL" data-id="https://community.jitsi.org/" target="_blank">Comunity</a> แทน และปัญหาส่วนมากที่เจอตอนติดตั้งเป็นเรื่องของ Network ดังนั้นต้อง Debug ไฟล์ log ทั้ง Jitsi, Nginx, Syslog ดีๆ ว่ามี Error อะไรไหมนะครับ</p>



<p>ส่วนการใช้งาน ในส่วนตัวผม ผมค่อนข้างพอใจนะ สำหรับระบบ Open Source ที่ทำงานได้ดีและครบถ้วนพอๆกับ ยี่ห้อดังๆ เลย</p>



<h2 class="wp-block-heading">อ้างอิง</h2>



<ul class="wp-block-list"><li><a rel="noreferrer noopener" href="https://jitsi.github.io/handbook/docs/devops-guide/devops-guide-quickstart" data-type="URL" data-id="https://jitsi.github.io/handbook/docs/devops-guide/devops-guide-quickstart" target="_blank">Self-Hosting Guide &#8211; Debian/Ubuntu server</a></li><li><a rel="noreferrer noopener" href="https://community.jitsi.org/t/how-to-how-do-i-update-prosody/72205" data-type="URL" data-id="https://community.jitsi.org/t/how-to-how-do-i-update-prosody/72205" target="_blank">[How to] How do I update Prosody?</a></li></ul>



<p></p>
]]></content:encoded>
					
					<wfw:commentRss>https://myifew.com/5929/jitsi-free-video-conference/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
