ایجنت فقط حرف نمیزند؛ عمل میکند
یک چتبات معمولی جواب میدهد. ایجنت ابزار دارد، تصمیم میگیرد از کدام ابزار استفاده کند و نتیجه را گزارش میدهد. این پروژه یک پیام تلگرام مثل «۵ USDC بفرست» را میفهمد، تراکنش را میسازد، وضعیت را روی داشبورد نشان میدهد و برای امضا منتظر فشار فیزیکی شما روی Ledger میماند.

کلید خصوصی داخل Ledger میماند؛ مدل فقط درخواست را میسازد.
هر قطعه دقیقاً چه کاری میکند؟
مدل قابل تعویض است. معماری به یک شرکت یا مدل خاص قفل نیست؛ هر مدل توانمند میتواند نقش مغز را بگیرد.
ترمینال، برای کسی که هیچوقت بازش نکرده

ترمینال جایی است که بهجای کلیک، با تایپ با کامپیوتر حرف میزنید. در مک: ⌘ + Space، عبارت Terminal را بنویسید و Enter بزنید.
پنج فرمان پایه
cdرفتن به پوشهlsدیدن محتواpwdفهمیدن موقعیت فعلیmkdirساخت پوشهpkillتوقف برنامه
سه نکته نجاتبخش
~یعنی پوشه خانگی شما.- ترمینالِ در حال اجرا مشغول است؛ تب تازه باز کنید.
- برای توقف برنامه از Ctrl + C استفاده کنید.
نصب پایهها: Node و npm

nodejs.org را باز کنید، نسخه LTS را بگیرید و نصب کنید. بعد بررسی کنید:
node --version npm --version
Node موتور اجرای JavaScript بیرون از مرورگر است؛ npm فروشگاه نصب ابزارهای Node است. گزینه -g یعنی ابزار از همهجای سیستم قابل اجرا باشد.
هوش مصنوعی، همکار ساخت شما

قرار نیست برای ساخت این پروژه برنامهنویس شوید. هوش مصنوعی برنامهنویس است و شما کارگردان هستید: هدف را میگویید، کد را میگیرید، تست میکنید و خطا را کامل برمیگردانید.
- کل هدف را از ابتدا بگویید، نه تکهتکه.
- خطا را کامل Paste کنید؛ «ارور داد» اطلاعات کافی نیست.
- صریحاً بگویید مبتدی هستید و توضیح یکخطی قبل از هر فرمان میخواهید.
پرامپت شروع پروژه
میخواهم روی مک یک ایجنت معاملاتی تلگرامی با تأیید Ledger بسازم: پیام متنی یا صوتی تلگرام ← LLM Gateway ← ابزارهای MoonPay CLI ← تأیید فیزیکی هر تراکنش روی Ledger ← ثبت روی Base. کاملاً مبتدیام. قبل از هر فرمان، در یک جمله ساده بگو چه میکند. قدمبهقدم جلو برو و تا وقتی تأیید نکردهام هر مرحله کار میکند، سراغ مرحله بعد نرو. ابتدا محیط من، شامل Node و npm، را بررسی کن.
پرامپت خطا
این خطا را گرفتم. مثل یک کودک پنجساله توضیح بده یعنی چه؛ بعد راهحل دقیق را یک مرحله در هر پیام بده: [کل متن خطا]
پرامپت پایان جلسه
یک فایل HANDOFF.md بساز و تمام چیزهایی را که امروز ساختیم یا اصلاح کردیم بنویس: معماری، تغییرات تنظیمات، هر باگ و راهحل آن، مسیر فایلها، وضعیت فعلی و قدمهای دقیق بعدی؛ طوری که در یک گفتوگوی تازه بتوانم دقیقاً از همینجا ادامه بدهم.
ساخت ربات تلگرام

- در تلگرام فقط @BotFather رسمی با تیک آبی را پیدا کنید.
/newbotرا بفرستید.- یک نام نمایشی و یک username که به
botختم شود انتخاب کنید. - توکن را در Password Manager نگه دارید.
/revoke باطلش کنید.در مرحله Pairing فقط حساب تلگرام خودتان را مجاز کنید. برای هر تست تمیز، ابتدا /new بزنید تا حافظه مکالمه پاک شود.
مغز: Gateway و اتصال مدل

OpenClaw وسط سیستم مینشیند: پیام تلگرام را میگیرد، به مدل میدهد و ابزار درخواستی مدل را اجرا میکند.
npm i -g openclaw openclaw onboard
در Wizard مدل، API Key، توکن تلگرام و شناسه حساب مجاز را وارد میکنید. Gateway را در یک تب اختصاصی و در پیشزمینه اجرا کنید:
openclaw gateway
- Redaction داده حساس: خاموش، وگرنه آدرسها به
***تبدیل میشوند. - Timeout ابزار: حدود ۱۰ دقیقه تا زمان تأیید فیزیکی کافی باشد.
- MoonPay tool server: پس از فصل ۸ ثبت شود.
دستها: MoonPay CLI

npm i -g @moonpay/cli mp --version mp wallet create
Ledger را وصل، Unlock و اپ Ethereum را باز کنید؛ سپس گزینه کیفپول سختافزاری را انتخاب کنید. یک Label کوتاه انتخاب کرده و همهجا همان را استفاده کنید.
mp wallet balance --label nabu-fresh
حق وتو: Ledger

Ledger یک کامپیوتر کوچک قفلشده است: کلید خصوصی را داخل خودش نگه میدارد و همانجا امضا میکند. نمایشگر Ledger تنها جایی است که مستقیماً به کلید وصل است.
- مبلغ و آدرس را فقط روی نمایشگر دستگاه بررسی کنید.
- هر انتقال ممکن است دو تأیید بخواهد.
- اگر تردید دارید Reject کنید؛ هیچ اتفاقی نمیافتد.
- عبارت بازیابی فقط روی کاغذ و آفلاین بماند.
Blind Signing را فقط با آگاهی فعال کنید و ریسک آن را با مبلغ آزمایشی و بررسی دقیق صفحه دستگاه کاهش دهید.
قطعه پنهان: Tap و Bridge

فایل mcp-tap.js سه کار دارد: هر فراخوانی ابزار را برای داشبورد کپی میکند، انتقالها را از مسیر CLI پایدار عبور میدهد و بقیه درخواستها را بدون تغییر رد میکند.
یک stdio proxy به نام mcp-tap.js بساز که OpenClaw آن را بهجای «mp mcp» اجرا کند. باید: ۱) تمام ترافیک JSON-RPC ابزار را با HTTP POST به localhost:7777/event آینه کند؛ ۲) token_transfer را از مسیر «mp --json token transfer» با retry خودکار اجرا کند؛ ۳) بقیه درخواستها را بدون تغییر عبور دهد؛ ۴) هنگام خروج child process را متوقف کند تا USB در اختیار پردازش یتیم نماند. سپس دقیقاً بگو چطور آن را در OpenClaw ثبت کنم.
چهره: داشبورد The Eye

دو فایل اصلی: server.js برای دریافت رویدادها و public/index.html برای رابط تمامصفحه.
cd ~/signal-deck node server.js
سپس localhost:7777 را در Chrome باز کنید.
اخگر کمنور
بنفش
نارنجی
سبز
قرمز
با H پنلها را برای فیلمبرداری مخفی و با V میکروفن را فعال کنید.
اولین تراکنش واقعی: چکلیست

- Ledger وصل، Unlock و اپ Ethereum باز است.
- تب اول:
openclaw gatewayاجراست. - تب دوم: سرور داشبورد اجراست.
- داشبورد وضعیت Online نشان میدهد.
- در تلگرام
/newزدهاید.
پیام بدهید: «۱ USDC به 0xYourOtherWallet بفرست.» چشم بنفش، سپس نارنجی میشود. مبلغ و آدرس را روی Ledger بخوانید، تأیید کنید و بعد لینک BaseScan را روی حالت سبز باز کنید.
صدا: با آن حرف بزنید

در Chrome میکروفن را فعال کنید. فرمانهای نمونه: «گزارش وضعیت»، «موجودی کیفپول»، «آخرین تراکنش»، «۲ USDC برای خودم بفرست»، «HUD را مخفی کن».
- برای جلوگیری از شنیدن صدای خودش، از هدفون استفاده کنید.
- در زمان تراکنش واقعی و تأیید Ledger، صدا باید ساکت بماند.
- فرمان مالی ابتدا باید برای شما بازخوانی و سپس با کلمه Confirm فعال شود.
صدای زنده و انتقال گفتاری

برای صدای سینمایی میتوان ElevenLabs را بهصورت اختیاری افزود. API Key باید فقط مجوز Text-to-Speech داشته باشد و سمت سرور بماند.
گاردریلهای انتقال صوتی
- مقصد فقط نامهای ازپیشذخیرهشده در
contacts.json. - هیچ آدرس خام 0x با صدا پذیرفته نشود.
- سقف مبلغ با
DECK_VOICE_MAXپایین بماند. - هر بار فقط یک فرمان و ۳۰ ثانیه فرصت تأیید.
- امضای نهایی همچنان فقط روی Ledger.
تصویر سینمایی خودتان
- یک تصویر پایه مربعی از چشم آتشین روی پسزمینه مشکی بسازید.
- همان ترکیب را در چهار رنگ بنفش، سبز، قرمز و نارنجی درخشان بازتولید کنید.
- هر تصویر را با دوربین ثابت و فقط حرکت شعله و ذرات به ویدیوی ۵ ثانیهای تبدیل کنید.
- از هوش مصنوعی بخواهید Loop رفتوبرگشتی H.264 بسازد و در
public/loops/با نامهایidle.mp4،working.mp4،confirm.mp4،done.mp4وerror.mp4ذخیره کند.
عیبیابی: وقتی خراب میشود
ربات پاسخ نمیدهد
Gateway خاموش یا Pairing اشتباه است. تب Gateway را بررسی کنید.
آدرس به *** تبدیل شده
Redaction روشن است؛ در Control UI خاموشش کنید.
Ledger Timeout
Gateway را در پیشزمینه بیاورید و پردازش USB قدیمی را متوقف کنید.
پورت ۷۷۷۷ مشغول است
سرور قدیمی زنده است؛ PID را پیدا و متوقف کنید.
صدا کار نمیکند
Chrome و مجوز میکروفن را بررسی کنید.
آرگومان عجیب
حافظه چت آلوده شده؛ در تلگرام /new بزنید.
قوانین امنیت — این بخش را چاپ کنید

- عبارت بازیابی مقدس است: فقط کاغذ، فقط آفلاین.
- مبلغ و آدرس را فقط روی نمایشگر Ledger تأیید کنید.
- هفتههای اول فقط مبلغ آزمایشی.
- توکن ربات و API Key را در تصویر و کد عمومی نگذارید.
- فرمان ناشناس را قبل از اجرا توضیح بگیرید.
- Blind Signing را آگاهانه استفاده کنید.
- داشبورد و Gateway را روی اینترنت عمومی باز نکنید.
- با کوچکترین تردید Reject کنید.
- انتقال صوتی فقط به مخاطب ذخیرهشده و با سقف کم.
- کلید ElevenLabs را محدود و پیش از انتشار عمومی تعویض کنید.
مسیر پیشنهادی چهار هفتهای
فصلهای ۱ تا ۳: ترمینال، Node و همکاری درست با هوش مصنوعی.
فصلهای ۴ و ۵: ربات و مغز؛ فعلاً فقط گفتوگو.
فصلهای ۶ تا ۹: کیفپول، Ledger، Tap و داشبورد؛ ابتدا رویداد جعلی.
فصل ۱۰: اولین انتقال ۱ USDC؛ بعد صدا و تصویر سفارشی.
آنچه ساختهاید فقط یک ربات معاملهگر نیست؛ یک معماری است: مغز قابل تعویض، دستهای قابل اضافهشدن و حق وتویی که همیشه برای شما میماند.