راهنمای صفر تا اجرا برای کسی که هیچ‌وقت ترمینال را باز نکرده

چشم را بساز

یک ایجنت معاملاتی با فرمان صوتی که می‌تواند فکر کند و ابزار به‌کار بگیرد، اما بدون دست شما روی Ledger حتی یک سنت را جابه‌جا نمی‌کند.

TelegramOpenClawMoonPay CLILedgerThe Eye
هشدار مهم: این صفحه آموزش فنی است، نه توصیه مالی. ابتدا با داده جعلی و سپس با مبلغ بسیار کم آزمایش کنید. عبارت بازیابی، کلید خصوصی، توکن ربات و API Key را هرگز با انسان، وب‌سایت یا هوش مصنوعی به‌اشتراک نگذارید.
اصل پروژه

ایجنت فقط حرف نمی‌زند؛ عمل می‌کند

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

جمله‌ای که باید حفظ کنید: «ایجنت من می‌تواند فکر کند؛ اما فقط دست من می‌تواند امضا کند.»
اصل وتو و تأیید فیزیکی

کلید خصوصی داخل Ledger می‌ماند؛ مدل فقط درخواست را می‌سازد.

نقشه معماری

هر قطعه دقیقاً چه کاری می‌کند؟

Claude / Grokمغز؛ فرمان را می‌فهمد و تصمیم می‌گیرد.
OpenClawGateway؛ تلگرام را به مغز وصل می‌کند.
MoonPay CLIدست‌ها؛ موجودی، بازار و انتقال.
Ledgerحق وتو؛ امضای فیزیکی هر تراکنش.
The Eyeچهره؛ نمایش زنده تمام حرکت‌ها.
Claudeهمکار ساخت؛ کد را می‌نویسد و خطاها را رفع می‌کند.

مدل قابل تعویض است. معماری به یک شرکت یا مدل خاص قفل نیست؛ هر مدل توانمند می‌تواند نقش مغز را بگیرد.

فصل ۱

ترمینال، برای کسی که هیچ‌وقت بازش نکرده

باز کردن ترمینال

ترمینال جایی است که به‌جای کلیک، با تایپ با کامپیوتر حرف می‌زنید. در مک: ⌘ + Space، عبارت Terminal را بنویسید و Enter بزنید.

پنج فرمان پایه

  • cd رفتن به پوشه
  • ls دیدن محتوا
  • pwd فهمیدن موقعیت فعلی
  • mkdir ساخت پوشه
  • pkill توقف برنامه

سه نکته نجات‌بخش

  • ~ یعنی پوشه خانگی شما.
  • ترمینالِ در حال اجرا مشغول است؛ تب تازه باز کنید.
  • برای توقف برنامه از Ctrl + C استفاده کنید.
قانون Paste: فرمان ناشناس را اجرا نکنید. اول از دستیار هوش مصنوعی بپرسید: «این فرمان دقیقاً چه کاری می‌کند؟»
فصل ۲

نصب پایه‌ها: Node و npm

نصب Node.js

nodejs.org را باز کنید، نسخه LTS را بگیرید و نصب کنید. بعد بررسی کنید:

node --version
npm --version

Node موتور اجرای JavaScript بیرون از مرورگر است؛ npm فروشگاه نصب ابزارهای Node است. گزینه -g یعنی ابزار از همه‌جای سیستم قابل اجرا باشد.

فصل ۳

هوش مصنوعی، همکار ساخت شما

هوش مصنوعی به عنوان همکار ساخت

قرار نیست برای ساخت این پروژه برنامه‌نویس شوید. هوش مصنوعی برنامه‌نویس است و شما کارگردان هستید: هدف را می‌گویید، کد را می‌گیرید، تست می‌کنید و خطا را کامل برمی‌گردانید.

  1. کل هدف را از ابتدا بگویید، نه تکه‌تکه.
  2. خطا را کامل Paste کنید؛ «ارور داد» اطلاعات کافی نیست.
  3. صریحاً بگویید مبتدی هستید و توضیح یک‌خطی قبل از هر فرمان می‌خواهید.

پرامپت شروع پروژه

می‌خواهم روی مک یک ایجنت معاملاتی تلگرامی با تأیید Ledger بسازم: پیام متنی یا صوتی تلگرام ← LLM Gateway ← ابزارهای MoonPay CLI ← تأیید فیزیکی هر تراکنش روی Ledger ← ثبت روی Base. کاملاً مبتدی‌ام. قبل از هر فرمان، در یک جمله ساده بگو چه می‌کند. قدم‌به‌قدم جلو برو و تا وقتی تأیید نکرده‌ام هر مرحله کار می‌کند، سراغ مرحله بعد نرو. ابتدا محیط من، شامل Node و npm، را بررسی کن.

پرامپت خطا

این خطا را گرفتم. مثل یک کودک پنج‌ساله توضیح بده یعنی چه؛ بعد راه‌حل دقیق را یک مرحله در هر پیام بده: [کل متن خطا]

پرامپت پایان جلسه

یک فایل HANDOFF.md بساز و تمام چیزهایی را که امروز ساختیم یا اصلاح کردیم بنویس: معماری، تغییرات تنظیمات، هر باگ و راه‌حل آن، مسیر فایل‌ها، وضعیت فعلی و قدم‌های دقیق بعدی؛ طوری که در یک گفت‌وگوی تازه بتوانم دقیقاً از همین‌جا ادامه بدهم.
فصل ۴

ساخت ربات تلگرام

ساخت ربات تلگرام
  1. در تلگرام فقط @BotFather رسمی با تیک آبی را پیدا کنید.
  2. /newbot را بفرستید.
  3. یک نام نمایشی و یک username که به bot ختم شود انتخاب کنید.
  4. توکن را در Password Manager نگه دارید.
هرکس توکن را داشته باشد، مالک ربات است. آن را در پیام، اسکرین‌شات یا مخزن عمومی نگذارید. اگر لو رفت، فوراً با /revoke باطلش کنید.

در مرحله Pairing فقط حساب تلگرام خودتان را مجاز کنید. برای هر تست تمیز، ابتدا /new بزنید تا حافظه مکالمه پاک شود.

فصل ۵

مغز: Gateway و اتصال مدل

اتصال Gateway به مدل

OpenClaw وسط سیستم می‌نشیند: پیام تلگرام را می‌گیرد، به مدل می‌دهد و ابزار درخواستی مدل را اجرا می‌کند.

npm i -g openclaw
openclaw onboard

در Wizard مدل، API Key، توکن تلگرام و شناسه حساب مجاز را وارد می‌کنید. Gateway را در یک تب اختصاصی و در پیش‌زمینه اجرا کنید:

openclaw gateway
  • Redaction داده حساس: خاموش، وگرنه آدرس‌ها به *** تبدیل می‌شوند.
  • Timeout ابزار: حدود ۱۰ دقیقه تا زمان تأیید فیزیکی کافی باشد.
  • MoonPay tool server: پس از فصل ۸ ثبت شود.
فصل ۶

دست‌ها: MoonPay CLI

MoonPay CLI
npm i -g @moonpay/cli
mp --version
mp wallet create

Ledger را وصل، Unlock و اپ Ethereum را باز کنید؛ سپس گزینه کیف‌پول سخت‌افزاری را انتخاب کنید. یک Label کوتاه انتخاب کرده و همه‌جا همان را استفاده کنید.

mp wallet balance --label nabu-fresh
برای آزمایش فقط مقدار اندکی USDC و ETH روی شبکه Base بفرستید. قبل از هر مبلغ واقعی، یک تراکنش بسیار کوچک آزمایشی انجام دهید.
فصل ۷

حق وتو: Ledger

تأیید فیزیکی با Ledger

Ledger یک کامپیوتر کوچک قفل‌شده است: کلید خصوصی را داخل خودش نگه می‌دارد و همان‌جا امضا می‌کند. نمایشگر Ledger تنها جایی است که مستقیماً به کلید وصل است.

  • مبلغ و آدرس را فقط روی نمایشگر دستگاه بررسی کنید.
  • هر انتقال ممکن است دو تأیید بخواهد.
  • اگر تردید دارید Reject کنید؛ هیچ اتفاقی نمی‌افتد.
  • عبارت بازیابی فقط روی کاغذ و آفلاین بماند.

Blind Signing را فقط با آگاهی فعال کنید و ریسک آن را با مبلغ آزمایشی و بررسی دقیق صفحه دستگاه کاهش دهید.

فصل ۸

قطعه پنهان: Tap و Bridge

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 ثبت کنم.
بدون Tap، ایجنت یک جعبه سیاه است. با Tap، هر حرکت روی داشبورد دیده می‌شود. شفافیت، پایه اعتماد است.
فصل ۹

چهره: داشبورد The Eye

داشبورد The Eye

دو فایل اصلی: server.js برای دریافت رویدادها و public/index.html برای رابط تمام‌صفحه.

cd ~/signal-deck
node server.js

سپس localhost:7777 را در Chrome باز کنید.

بیکار
اخگر کم‌نور
در حال کار
بنفش
منتظر Ledger
نارنجی
موفق
سبز
رد/خطا
قرمز

با H پنل‌ها را برای فیلم‌برداری مخفی و با V میکروفن را فعال کنید.

فصل ۱۰

اولین تراکنش واقعی: چک‌لیست

چک‌لیست تراکنش
  • Ledger وصل، Unlock و اپ Ethereum باز است.
  • تب اول: openclaw gateway اجراست.
  • تب دوم: سرور داشبورد اجراست.
  • داشبورد وضعیت Online نشان می‌دهد.
  • در تلگرام /new زده‌اید.

پیام بدهید: «۱ USDC به 0xYourOtherWallet بفرست.» چشم بنفش، سپس نارنجی می‌شود. مبلغ و آدرس را روی Ledger بخوانید، تأیید کنید و بعد لینک BaseScan را روی حالت سبز باز کنید.

بعد از یک موفقیت، Reject را هم تمرین کنید. تراکنش تازه‌ای بسازید و روی دستگاه رد کنید تا حق وتوی خود را عملاً ببینید.
فصل ۱۱

صدا: با آن حرف بزنید

فرمان صوتی

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

  • برای جلوگیری از شنیدن صدای خودش، از هدفون استفاده کنید.
  • در زمان تراکنش واقعی و تأیید Ledger، صدا باید ساکت بماند.
  • فرمان مالی ابتدا باید برای شما بازخوانی و سپس با کلمه Confirm فعال شود.
فصل ۱۲

صدای زنده و انتقال گفتاری

انتقال با فرمان صوتی

برای صدای سینمایی می‌توان ElevenLabs را به‌صورت اختیاری افزود. API Key باید فقط مجوز Text-to-Speech داشته باشد و سمت سرور بماند.

گاردریل‌های انتقال صوتی

  • مقصد فقط نام‌های ازپیش‌ذخیره‌شده در contacts.json.
  • هیچ آدرس خام 0x با صدا پذیرفته نشود.
  • سقف مبلغ با DECK_VOICE_MAX پایین بماند.
  • هر بار فقط یک فرمان و ۳۰ ثانیه فرصت تأیید.
  • امضای نهایی همچنان فقط روی Ledger.
فصل ۱۳

تصویر سینمایی خودتان

  1. یک تصویر پایه مربعی از چشم آتشین روی پس‌زمینه مشکی بسازید.
  2. همان ترکیب را در چهار رنگ بنفش، سبز، قرمز و نارنجی درخشان بازتولید کنید.
  3. هر تصویر را با دوربین ثابت و فقط حرکت شعله و ذرات به ویدیوی ۵ ثانیه‌ای تبدیل کنید.
  4. از هوش مصنوعی بخواهید Loop رفت‌وبرگشتی H.264 بسازد و در public/loops/ با نام‌های idle.mp4، working.mp4، confirm.mp4، done.mp4 و error.mp4 ذخیره کند.
در تمام پرامپت‌های ویدیو بنویسید: «بدون Zoom، بدون Pan، دوربین کاملاً ثابت.» تغییر کادر Loop را خراب می‌کند.
فصل ۱۴

عیب‌یابی: وقتی خراب می‌شود

ربات پاسخ نمی‌دهد

Gateway خاموش یا Pairing اشتباه است. تب Gateway را بررسی کنید.

آدرس به *** تبدیل شده

Redaction روشن است؛ در Control UI خاموشش کنید.

Ledger Timeout

Gateway را در پیش‌زمینه بیاورید و پردازش USB قدیمی را متوقف کنید.

پورت ۷۷۷۷ مشغول است

سرور قدیمی زنده است؛ PID را پیدا و متوقف کنید.

صدا کار نمی‌کند

Chrome و مجوز میکروفن را بررسی کنید.

آرگومان عجیب

حافظه چت آلوده شده؛ در تلگرام /new بزنید.

الگوریتم عمومی: کل خطا را کپی کنید → پرامپت خطا را بدهید → قدم‌به‌قدم اجرا کنید → راه‌حل را در HANDOFF.md ثبت کنید.
فصل ۱۵

قوانین امنیت — این بخش را چاپ کنید

قوانین امنیت
  1. عبارت بازیابی مقدس است: فقط کاغذ، فقط آفلاین.
  2. مبلغ و آدرس را فقط روی نمایشگر Ledger تأیید کنید.
  3. هفته‌های اول فقط مبلغ آزمایشی.
  4. توکن ربات و API Key را در تصویر و کد عمومی نگذارید.
  5. فرمان ناشناس را قبل از اجرا توضیح بگیرید.
  6. Blind Signing را آگاهانه استفاده کنید.
  7. داشبورد و Gateway را روی اینترنت عمومی باز نکنید.
  8. با کوچک‌ترین تردید Reject کنید.
  9. انتقال صوتی فقط به مخاطب ذخیره‌شده و با سقف کم.
  10. کلید ElevenLabs را محدود و پیش از انتشار عمومی تعویض کنید.
اگر روزی یک ابزار، آپدیت یا شخص خواست جمله «ایجنت فکر می‌کند، اما فقط دست من امضا می‌کند» را عوض کند، همان‌جا متوقف شوید.
فصل ۱۶

مسیر پیشنهادی چهار هفته‌ای

هفته ۱
فصل‌های ۱ تا ۳: ترمینال، Node و همکاری درست با هوش مصنوعی.
هفته ۲
فصل‌های ۴ و ۵: ربات و مغز؛ فعلاً فقط گفت‌وگو.
هفته ۳
فصل‌های ۶ تا ۹: کیف‌پول، Ledger، Tap و داشبورد؛ ابتدا رویداد جعلی.
هفته ۴
فصل ۱۰: اولین انتقال ۱ USDC؛ بعد صدا و تصویر سفارشی.

آنچه ساخته‌اید فقط یک ربات معامله‌گر نیست؛ یک معماری است: مغز قابل تعویض، دست‌های قابل اضافه‌شدن و حق وتویی که همیشه برای شما می‌ماند.