🎞️ Videos Reversing the Claw

Description

ผ่าตัด แงะ แกะเกา! 🛠️ ชำแหละเบื้องหลังการทำงานของ OpenClaw โดยลองนำมาเชื่อมต่อระบบ Payment เพื่อตัดเงินผ่าน wallet ล้วงลึกเจาะกลไกการทำงานกับคุณโดม เจริญยศ (Dom Charoenyos) สาย Deep Tech, Web3 และ Security เตรียมตัวให้พร้อม แล้วมาแกะรอยกรงเล็บนี้ไปด้วยกัน!

Chapters

  • จุดเริ่มต้น: ข้อจำกัดของ AI ผู้ช่วยส่วนตัวกับงานสาย Blockchain 0:00
  • แนวคิด Reverse Claw: เปลี่ยน AI ให้เป็น 'พ่อค้า' เปิดรับคำสั่งซื้อจากลูกค้าสาธารณะ 1:41
  • ตามหาเครื่องมือที่เหมาะสม: สาเหตุที่เลือกใช้ PicoClaw (ภาษา Go) แทนการใช้โปรเจกต์ภาษา Rust 4:07
  • ทำไมต้องภาษา Go?: เพราะรองรับ `go-ethereum` สามารถสร้าง Hot Wallet เพื่อรับชำระเงิน On-chain ได้ทันที 5:25
  • กฎความปลอดภัยของ Hot Wallet: ป้องกันเงินหายด้วยการตั้งโอนอัตโนมัติเข้า Hardware Wallet เสมอ 6:46
  • การรับชำระเงินแบบ Fiat: ต้องมี Proxy คั่น Webhook เสมอเพื่อป้องกันแฮกเกอร์ส่งคำสั่งหลอกระบบ 8:29
  • การจัดสิทธิ์ใน Telegram: แยกระดับสิทธิการเข้าถึงของลูกค้า ทีมงาน (อ่านอย่างเดียว) และผู้ดูแลระบบ 11:24
  • เป้าหมายธุรกิจ: เดโมการโอนเหรียญ และแผนการใช้งาน Merchant Claw ร่วมกับ JFIN Chain ในอนาคต 13:49

Transcript

คำบรรยายต่อไปนี้อาจไม่ถูกต้องทั้งหมด หากคุณพบข้อผิดพลาดใดๆ คุณสามารถคลิกเมาส์ขวาบนข้อความเพื่อรายงานได้ทันที หรือ แก้ไขบน GitHub

จุดเริ่มต้น: ข้อจำกัดของ AI ผู้ช่วยส่วนตัวกับงานสาย Blockchain0:00

เริ่มยังไงดี คืออย่างนี้ ผมอายุ 57

มีลูกกี่คนครับ มีลูก 5 คนครับ แล้วผมทำอาชีพเดียวตั้งแต่จบมหาวิทยาลัย แล้วก็ไม่เคยเปลี่ยนอาชีพเลยนะครับ หลังจากมีโค้ด มีคนบอกว่า vibe code ๆ อะไรอย่างนี้ เราก็ไม่มีเวลาทำอย่างอื่นเลย เพราะว่ามันเปลี่ยนชีวิต วิธีการทำงานของเราไปหมด OpenClaw เนี่ย พี่เอ๋อเป็นคนชวน ผมกับพี่เอ๋ออายุเท่ากันนะครับ แต่เรียกพี่เอ๋อ พี่เอ๋อก็ชวน แต่ว่าผมไม่มีเวลาเลย

มัวแต่ส่งของ ส่งงาน deploy code โน่นนี่นั่น ผมมี skill หลักอยู่อันเดียวในชีวิตตอนนี้ คือ blockchain ผมทำ JFIN Chain ทำ token ทำทุกอย่างที่เป็น blockchain จนกระทั่งพี่เอ๋อ ยุมาก ๆ ผมก็ไม่ไหว ลองก็ได้วะ คำถามคือเราจะเอาไปทำอะไร เป็นผู้ช่วยส่วนตัว ผมไม่ต้องการผู้ช่วยส่วนตัว ผมต้องการผู้ช่วยส่วนรวม คือผมคิดว่า ในเมื่อมันเป็น AI agent ที่สั่งด้วยภาษาธรรมชาติได้ คือสั่งอะไรมันก็ทำงานได้เนี่ย ผมจะเอามันมาทำอะไรดี ก็ตั้งโจทย์อยู่ แล้วพอไปลอง ผม install OpenClaw ไป ตกใจมาก คือผมไม่ได้ลงที่เครื่องนะครับ มันอยู่บน cloud ผมก็จะ deploy อยู่บน cloud ผม

ปรากฏว่ามันกิน resource ค่อนข้างใหญ่ ขนาดตัว image มันเกือบ 2 GB แล้ว ไม่มีประเด็น เราก็ลองมันได้ แล้วกระบวนการที่มัน pair กับ Telegram ผมรู้สึกว่าให้มันออกแบบมาเพื่อคนสั่งหลายคน

แล้วผมไม่ค่อย happy กับวิธีนี้เท่าไหร่

แนวคิด Reverse Claw: เปลี่ยน AI ให้เป็น 'พ่อค้า' เปิดรับคำสั่งซื้อจากลูกค้าสาธารณะ1:41

ไม่ตรงกับงานผมด้วย ผมจะเอาไปทำอะไร ผมคิดดอกแรกเลย ผมจะเอาไปขายของ เอาไปขายของคืออะไร คือผมคิดว่ามันจะต้องรันเป็น merchant claw อะไรสักอย่าง ให้คนมาสั่งซื้อของจากมันได้ แล้วมันควรจะตอบโต้ได้ แต่มันไม่ใช่บอทแบบที่ chatbot เข้ามาคุย คืออย่างนี้ ผมเล่าอย่างนี้ ผมอยู่ในสาย deploy server แล้วก็ทำ infrastructure นะครับ เรารู้ว่าการออกแบบบอท public ให้คนมาคุยเนี่ย มันเป็นแบบหนึ่ง security เป็น level หนึ่ง แต่พวกนี้ไม่ใช่ มันกลับข้าง คือตัวมันรับคำสั่งจากเรา ถ้าคนอื่นมาสั่งมันเนี่ย ชิบหายแน่นอน ข้างหน้าคือเหว เพราะฉะนั้น คุณต้องเริ่มก่อนเลยว่าคุณจะเอามันมาทำอะไร ผมดันทะลึ่งเอามันมาทำในสิ่งที่มันไม่ควรจะทำ พี่เอ๋อ ตั้งชื่อมันว่า การ reverse claw คืออย่างนี้ Can I do it in English very quickly? Okay, okay. So, P'Dom, he was trying to figure out what he's going to do. P'Ee, Khun Poramate, he was like watching him do his and like "Alright, I've got to go check this thing out". So he went into it and he's like "Okay, what am I going to do with it?". So he's like "Well, what if I set it up for shopping?". But not in terms of me telling it to go shop for me, but the reverse, that I can set it up for my own store so that other shoppers can then shop with me. Which is the other direction of how OpenClaw's actually originated architected. It's supposed the instruction's supposed to come from us and then it goes take action on our behalf. But in this case, it would be taking action from an outside user coming in, which then makes it scary from a security. So this is what he challenged himself with. Could somebody from the outside buy something from him through his OpenClaw agent? ขออนุญาตแป๊บนึง ผมขอสลับไปใช้เน็ตตัวเองแป๊บนึง ขออนุญาตครับ

พี่เติมเงินหรือยังครับ เติมแล้วครับ โอเคครับขอบคุณครับ อันนี้เน็ต WiFi มั้งครับมันก็ช้า ไม่ ไม่เข้าใจได้ เข้าใจได้ครับ ขออนุญาตเปลี่ยน ไม่รู้ถ้าเปลี่ยนมันจะหลุดไหมครับ ไม่หลุดนะ หรือหลุด มัน HDMI นะ มันหลุดไหม พี่เปลี่ยน WiFi มันจะหลุดไหม ไม่ชัวร์ครับ หลุดก็เดี๋ยวรู้ อ๋อ น้องตอบดีมากครับ โอเคครับ เวลาไปไหนมาไหน เราจะไม่ค่อยชอบใช้ WiFi เพราะว่ามันเคยมีประสบการณ์ กำลังนั่งอยู่ดี ๆ ไม่มีเน็ตใช้ ถาม เฮ้ย มีเน็ตแชร์พี่ไหม มีครับพี่ เน็ตผมชื่อ Starbucks Free WiFi ไอ้ตัวนี้แฮกเกอร์แน่นอน มันจะดูดข้อมูลเรา เพราะฉะนั้นเรามางานแบบนี้ ต้องระวังหน่อย โอเคยังอยู่ครับ

ตามหาเครื่องมือที่เหมาะสม: สาเหตุที่เลือกใช้ PicoClaw (ภาษา Go) แทนการใช้โปรเจกต์ภาษา Rust4:07

คืออย่างนี้ ผมเริ่มจากการติดตั้ง OpenClaw เสร็จปุ๊บ เรารู้สึกว่าโอเค ผมเข้าใจมันละ ว่ากลไกมันทำอะไร มี skill มี soul มีสารพัดสารเพ รู้ channel รู้วิธี integrate ละ ผมก็เลยคิดว่ามันใหญ่เกินไป ก็ไปหาตัวที่เล็กกว่านั้นมา customise เพื่ออะไรบางอย่าง ก็ไปเจอ ZeroClaw ชอบมาก เขียนด้วย Rust ใช้ memory น้อยมาก รันขึ้นมานี่แบบหลักเล็กมาก แต่เป็น Rust ไง พอเป็น Rust ปุ๊บ ผมก็อึดอัดกับการ config แบบ TOML ผมไม่ถนัดเลย

ก็เลยไปหาอีกตัวหนึ่ง สุดท้ายก็เลยไปเจอ อ๋อ ในโลกของตระกูล Claw นี่มีเยอะมาก คือผมใช้เวลา ผมเพิ่งเริ่มอันนี้แค่ 2 อาทิตย์ที่แล้วนะครับ ก็คือไปลองอยู่เยอะมาก มี NuClaw ที่เขียนด้วย Zig มีสารพัดสารเพ ไปติดใจตัวหนึ่ง ผมเล่าให้ฟังว่าทำไม ผมไปติดใจ PicoClaw เขียนด้วย Go ถามว่าทำไม So he looked at all the different Claws. He kept going through them. He's like, "Oh, this is good. This one uses less memory, that one uses less memory". And he finally landed on PicoClaw. And by the way, this all happened within the last two weeks, ใช่ไหมครับ? ที่เริ่มแบบไปสนใจ เพราะพี่เอ๋อทำอยู่

พี่ก็บอกว่า เฮ้ย ต้องสู้ต่อใช่ไหม ต้องสู้ให้ทัน

ก็เลยโอเค ที่ผมเลือก Go เพราะอย่างนี้

ทำไมต้องภาษา Go?: เพราะรองรับ `go-ethereum` สามารถสร้าง Hot Wallet เพื่อรับชำระเงิน On-chain ได้ทันที5:25

ผมต้องการเอา Claw มาขายของ

ถามว่า Claw ขายของต้องมีอะไร? ต้องรับชำระเงินได้ ชำระเงินที่ดีที่สุดในปัจจุบันคืออะไร? on-chain payment มันต้องมีกระเป๋า ดังนั้นผมจึงเอา Go เพราะ Go มี go-ethereum สามารถ integrate เป็นกระเป๋าได้เลย เปิด Claw ครั้งแรกขึ้นมา สิ่งที่คุณได้คืออะไร คุณจะได้กระเป๋าครับ คุณจะมี wallet ทันที

wallet เวลาพิมพ์มือเดียวนะ ไม่เป็นไร ไม่เป็นไร

โอเค พี่เตรียมมาแล้ว เดี๋ยวเขาเตรียมไว้ให้ มา! มาเป็นคอนเสิร์ตนะ

อันนี้ผมมีแว่นอยู่ใช่ไหมครับ ทำไมผมมองไม่เห็น โอ้โห เฮ้ย อ๋อ มันละเอียดไป

ผมเข้าใจแล้ว จอผมมันก็นะ

คือมันต้องมี มันต้องมีกระเป๋า เมื่อคุณ install เสร็จปุ๊บ ผมเรียกอย่างไรดี มันจะมีกระเป๋า เสร็จแล้วมันจะต่อ chain ทันที มีกระเป๋า มีต่อ chain รับเหรียญเลย เพราะฉะนั้นมันคือ agent ที่เป็น blockchain

นึกออกไหมครับ แล้วผมพูดอย่างไรดี

กฎความปลอดภัยของ Hot Wallet: ป้องกันเงินหายด้วยการตั้งโอนอัตโนมัติเข้า Hardware Wallet เสมอ6:46

คือทำไมมันต้องมีกระเป๋าอยู่ข้างใน ผมเรียกมันว่า hot wallet นะ มันถือ private key นะครับ มันสั่งโอนได้เอง รับเอง ต่อ chain เอง เพราะฉะนั้นมันอันตรายมาก ผมถึงเรียกมันว่า hot wallet คืออย่าไปไว้ใจมัน อันที่หนึ่งที่ต้องติดตั้งเลยคือ เมื่อติดตั้งเสร็จปุ๊บ คุณต้องบอกเลยว่า ถ้าคุณรับเงินเกิน 100 USDT มึงต้องโอนไป hardware wallet กูทันที ห้ามถือเยอะ แต่รับเงินได้ เพราะฉะนั้นมันมีกระเป๋าและเชื่อม chain เปิดปุ๊บได้กระเป๋าเลย ทีนี้

Just to make sure I'm keeping my English speakers up to date. So basically, you're thinking okay, first of all, if we're going actually receive, people can shop and buy things from me, I need a wallet first. But you know, this is very dangerous because somebody could screw you. So what you ended up doing was having the agent build you a hot wallet and so it receives the money, but it has to hold only a bit of money and also very short period. And then it moves it to whatever cold chain or whatever cold wallet you're currently running or wherever else you want to store. Is that correct? ครับ เมื่อเราใช้มันเป็นคนรับชำระเงินนะครับ

ผมไปเจอที่พี่เอ๋อถาม ก็คือไอ้ตัว MoltBook

มันคือที่ประกาศคุยกัน เราไป fork ตัวหนึ่งมาชื่อ AgentClaw เราจะเอามันมาให้ Claw ไปขายของ

รับจองโน่นนี่นั่น รับ payment อยู่บน chain ดังนั้นมันจะต้องมีกระเป๋า เมื่อมันไปประกาศขายของ 1 ชิ้น เช่น จองห้องวันนี้ จ่ายเงินเลยเนี่ย เมื่อ Claw ไปเจอกันในตัว MoltBook มันจะต้องจ่ายเงิน เมื่อจ่ายเงินต้องออกของเลย กระบวนการเหล่านี้เราคิดว่าจะเอา Claw มาทดลอง เราจึงเรียกมันว่า MerchantClaw

การรับชำระเงินแบบ Fiat: ต้องมี Proxy คั่น Webhook เสมอเพื่อป้องกันแฮกเกอร์ส่งคำสั่งหลอกระบบ8:29

ประเด็นคืออย่างนี้ ปรากฏว่าโลกของชำระเงินในโลกนี้ มันไม่ได้สวยงามขนาดนั้น ไม่มีใครถือ blockchain กันหมดหรอก มันจะต้องมีคนที่เป็นคนชำระเงิน โดยใช้ fiat ผ่านใครสักคนมา ถ้าเราถามมันว่า ตอนนี้มี skill อะไรบ้าง ผมจะถามว่ามี skill อะไรบ้าง มันจะตอบได้

เจ้าของมันไปไหนละ PaySolution ใช่ไหม?

ยังอยู่หรอครับ ไปหรือยัง ส.ส. เขากลับแล้ว ผมใช้โมเดลของ Qwen นะครับ Qwen เป็นเวอร์ชันที่ผมใช้ เวอร์ชันต่ำสุด คืออย่างนี้ ติดตั้งเสร็จปุ๊บมี skill 2 อย่าง 1. skill hot wallet ที่มี wallet เปิดได้เลย 2. รู้จัก PaySolution คือมันเป็นคนที่ผมเรียกกันว่า PaySoNow เป็นโปรเจกต์ที่เอา PaySolution ไป on-chain หลักการคืออย่างนี้ ตัวมันจะเปิด option มาตัวหนึ่ง

อันตรายมาก แต่เจ๋งมาก คืออย่างนี้

channel ทะลึ่งมี channel พิเศษเรียกว่า ถ้าเป็น config จะมี default config ของ chain เลย ผมไม่ได้ปรับ resolution เสียดายจริงตัวมันเล็กไป และก็มี webhook อันนี้ dev ไม่เป็นไร ก็คือมี hook อยู่ตัวหนึ่ง So basically what he's done here is he's said look, it's not practical to just receive crypto because not everybody has crypto wallet. So then how do I make this work with fiat? is what he's showing here. แล้ว ตัวที่มันต่อ นะครับ

มันมี skill ในการรับชำระเงิน แต่ channel นี้มันเป็น channel ที่ลองนึกภาพ เราจ่ายเงินผ่าน PaySolution webhook มาหาเรา ถ้าเปิด open เนี่ยฉิบหายเหมือนกัน มันจะมีคน hook มาหลอกมันโอนเงินตลอดเวลา มันต้องมี service ตัวหนึ่งมาคั่น อันนั้นน่ะคือตัว security ที่จะคั่น และมันจะส่งมาคุยต่อ นะครับ มันจะคุยอย่างนี้ So he tied it up with PaySolution, so he said if I actually go into PaySolution, that means I have to do a webhook, but that leaves me massively open for attacks. So therefore, he actually had to do another security, right? So then he had to put another secure, is it? ต้องมีอะไรมาคั่น ใช่ครับ ต้องมี security ไม่เป็นไร มันจะ hook มาหลอกหมดนะครับ ไอ้ตัว proxy ตัวนี้มันคือปกติ webhook ปกตินี่แหละ พอรับชำระเงิน 100 บาท เวลาจะให้ merchant รับเงินเนี่ย ยังไงมันต้อง on-chain มันจะมี security ตัวหนึ่งมาคั่นไว้ เวลาชำระเงินมาเสร็จปุ๊บ มันจะสั่งไอ้ตัวนี้โอนเงิน เพราะฉะนั้น merchant ในอนาคตเนี่ย มันจะเชื่อมต่อ chain payment ฝั่งหนึ่ง และก็รับ fiat อีกฝั่งหนึ่งที่ webhook เข้ามาหา นะครับ ทีนี้

So what he just said was, you know, from a merchant point of view, wants to get it in crypto, but he can't only accept crypto and so in the future they're going to want to be able to go I don't care if it's fiat or crypto but, when I actually get it, it's going to convert into crypto into my wallet because I actually want to transfer it to my final wallet. I only want to keep that hot wallet for moments because that leaves me open to attacks.

การจัดสิทธิ์ใน Telegram: แยกระดับสิทธิการเข้าถึงของลูกค้า ทีมงาน (อ่านอย่างเดียว) และผู้ดูแลระบบ11:24

ฟีเจอร์ที่ผมต้องทำเพิ่ม 1. ทุกคนสามารถ add เป็นเพื่อนได้

อันนี้อันตรายมากเมื่อเทียบกับสิ่งที่เต้เขาบอกไว้ แต่เราย้ายคำสั่งทั้งหมด

ไปใช้วิธีการที่เป็นการ allow นะครับ หมายความว่า คุณมีสิทธิ์ add เข้าไปเพื่อจะอ่านอย่างเดียวได้นะครับ แต่ว่าเรา deny ได้นะครับ แต่ตัว Telegram channel นี้ จะมีคนที่สั่งได้เฉพาะใน allow list หมายความว่าคนที่มีสิทธิ์ไปสั่งไปถึงมันได้ เลเวลของตัวบอทของ Claw มี 2 เลเวลนะครับ เมนูเนี่ยใครก็สั่งได้ อันนี้อันตรายมาก ใคร add มาปุ๊บ สั่งเมนูได้ แต่ เมื่อสั่งข้ามไปถึงฝั่งที่เป็น message process ที่ไปผ่าน LM เนี่ยมันบล็อกได้ default ต้องย้ายออกหมดเลย หมายความว่าผมเลยต้องเขียนใหม่ครับ เลยเป็นที่มาว่าทำไมเราต้องมานั่งทำบ้าๆ บอๆ อะไรแบบนี้ คือ modify pico เพื่อดึงเมนู wallet ออกจากคนอื่นให้เห็น สั่งไม่ได้ อ่านได้อย่างเดียว ถามว่าทำไม เราจะต้อง add Claw bot

ไปอยู่ในกลุ่มมีพนักงาน reception มีพนักงานส่งของ มีทั้งหมดที่เป็นคนรับ แต่ read-only mode คนสั่งคือเราคนเดียว สั่งด้วย allow คนเดียว แต่เมื่อมีการรับชำระเงิน มันจะโพสต์ทุกอย่างมาที่นี่ และเห็น process ต่อได้นะครับ So what he's talking about is it goes, the next thing that he needs to work on in this project is really dangerous. As a shopping site or shopping service within Telegram, if I'm really out there for my customers, I need them to be able to add me, but I can't add all these people because that leaves me open.

So this is where he needs to work on next, which is how do I create this? He also created another part of the system, the other bot,

which is actually on his merchant side for all the people on the team that need to make deliveries, need to actually pick and pack all this stuff, make sure they can fulfill the order. So that's the other side which is a wholly different system— ผม simulate ว่ามีการรับชำระเงินเข้ามา พอจ่ายเงินปุ๊บเนี่ย มันก็จะทำการแจ้งไปในกลุ่มนะครับ

ว่ามีการชำระเงินเข้ามา ในกลุ่มเนี่ยก็จะเห็น แต่สั่งอะไรไม่ได้ So this is on the operations team. So what they can see is we actually received the money and we've got reception and then also details about the order. ใช่ไหมครับ ครับ โอเคครับ โอเค ทีนี้ ตัวผมเองสามารถสั่งมันได้ เห็นไหมครับ

เป้าหมายธุรกิจ: เดโมการโอนเหรียญ และแผนการใช้งาน Merchant Claw ร่วมกับ JFIN Chain ในอนาคต13:49

ให้มันโอน โอน CLAW ไปให้ใครก็ได้นะครับ ก็คือโอน 1 CLAW หน่วยเป็น CLAW นะครับ

นั่นคือเป็นคริปโตเหรอ? เป็นคริปโตครับ ทุกอย่าง on-chain แต่ว่าจะเป็นคริปโตไหม อยู่ที่ design ว่าจะเป็นคริปโตหรือเปล่านะครับ

โอน 1 CLAW ให้คนนี้ เดี๋ยวก็ process ของมันไป

แป๊บหนึ่งนะครับ

So this case the buyer is— อันนี้ใช้ crypto ปกติอยู่แล้ว มันก็โอนตามปกติใน chain นะครับ ก็ทำได้ครับ พี่เอ๋อมีอะไรจะแจกนะครับ? ครับผม เดี๋ยวแป๊บหนึ่ง อันนี้โอนแล้วนะครับ ผมต่อนิดนึง พี่เอ๋อขึ้นมาได้ครับ ผมคิดว่าเวลามันเหลือน้อย ไม่เป็นไร ก็คือ on-chain นะครับ สรุปคืออย่างนี้ เรากำลังสร้าง Claw ที่ออกแบบมาเพื่อเป็น merchant mode มารับชำระจากที่อื่น แล้วก็เอาของไปขาย ผมกำลังจะ build traffic โดยใช้ chain payment แล้วหาทางเอาอะไรไปสาดกันใน chain นะครับ จริงๆ คนที่มาออกไอเดียกลับไปแล้ว เรามี chain ชื่อ JFIN Chain เราทำ JFIN Claw เพื่อให้คนในเครือของ Jaymart— เอ้ย อันนี้มี live ด้วย พูดต่อไม่ได้ แต่เล่าให้ฟังได้ว่า เขาจะเริ่มเอา point on-chain ไปหากิจกรรมทำกันว่า แต่ละอันที่อยู่ในเครือ ใครจะประกาศขายอะไร แคมเปญอะไร เราจะเอา Claw ไปหาทาง

ซื้อและขายบน chain ครับพี่เอ๋อ สรุปแค่นี้แหละครับ ขอบคุณครับ ปรบมือ—

Edit metadata on GitHub

How to Contribute to Transcripts

Report Inaccuracies

1

Select text and click Report

Highlight the inaccurate text in the transcript, then click the Report button that appears.

2

Right-click any transcript text

Right-click on any transcript segment to select it and show the Report button.

Keyboard Shortcuts

Cycle playback speedS
Navigate to timestampPaste
Play/pause videoSpace
Seek ±5 seconds← →
Paste timestamps like "00:02:20.680" to jump to that position