Start here
عیبیابی عمومی
اگر فقط ۲ دقیقه وقت دارید، از این صفحه بهعنوان نقطه ورود تریاژ استفاده کنید.
۶۰ ثانیه اول
این دنباله دقیق را بهترتیب اجرا کنید:
openclaw statusopenclaw status --allopenclaw gateway probeopenclaw gateway statusopenclaw doctoropenclaw channels status --probeopenclaw logs --followخروجی خوب در یک خط:
openclaw status→ کانالهای پیکربندیشده را نشان میدهد و خطای آشکار احراز هویت ندارد.openclaw status --all→ گزارش کامل وجود دارد و قابل اشتراکگذاری است.openclaw gateway probe→ مقصد مورد انتظار Gateway در دسترس است (Reachable: yes).Capability: ...به شما میگوید probe چه سطح احراز هویتی را توانسته ثابت کند، وRead probe: limited - missing scope: operator.readتشخیص تنزلیافته است، نه شکست اتصال.openclaw gateway status→Runtime: running،Connectivity probe: ok، و یک خط قابلقبولCapability: .... اگر به اثبات RPC با محدوده خواندن هم نیاز دارید، از--require-rpcاستفاده کنید.openclaw doctor→ خطای مسدودکننده پیکربندی/سرویس ندارد.openclaw channels status --probe→ Gateway در دسترس، وضعیت زنده transport برای هر حساب بههمراه نتایج probe/audit مانندworksیاaudit okرا برمیگرداند؛ اگر Gateway در دسترس نباشد، دستور به خلاصههای فقط-پیکربندی بازمیگردد.openclaw logs --follow→ فعالیت پایدار، بدون خطاهای مهلک تکرارشونده.
دستیار محدود به نظر میرسد یا ابزارها را ندارد
اگر دستیار نمیتواند فایلها را بررسی کند، دستورها را اجرا کند، از خودکارسازی مرورگر استفاده کند، یا ابزارهای مورد انتظار را ببیند، ابتدا پروفایل ابزار مؤثر را بررسی کنید:
openclaw statusopenclaw status --allopenclaw doctorعلتهای رایج:
tools.profile: "messaging"عمداً برای عاملهای فقط-چت محدود است.tools.profile: "coding"پروفایل معمول برای گردشکارهای مخزن، فایل، shell، و runtime است.tools.profile: "full"گستردهترین مجموعه ابزار را در معرض میگذارد و باید به عاملهای مورد اعتماد تحت کنترل اپراتور محدود شود.- بازنویسیهای
agents.list[].toolsبرای هر عامل میتوانند پروفایل ریشه را برای یک عامل محدودتر یا گستردهتر کنند.
پروفایل ابزار ریشه یا هر عامل را تغییر دهید، سپس Gateway را راهاندازی مجدد یا reload کنید
و دوباره openclaw status --all را اجرا کنید. برای مدل پروفایل
و بازنویسیهای allow/deny، ابزارها را ببینید.
زمینه طولانی Anthropic با 429
اگر این را میبینید:
HTTP 429: rate_limit_error: Extra usage is required for long context requests،
به /gateway/troubleshooting#anthropic-429-extra-usage-required-for-long-context بروید.
بکاند محلی سازگار با OpenAI مستقیم کار میکند اما در OpenClaw شکست میخورد
اگر بکاند محلی یا خودمیزبان /v1 شما به probeهای مستقیم کوچک
/v1/chat/completions پاسخ میدهد اما در openclaw infer model run یا نوبتهای عادی
عامل شکست میخورد:
- اگر خطا به انتظار رشته برای
messages[].contentاشاره میکند،models.providers.<provider>.models[].compat.requiresStringContent: trueرا تنظیم کنید. - اگر بکاند هنوز فقط در نوبتهای عامل OpenClaw شکست میخورد،
models.providers.<provider>.models[].compat.supportsTools: falseرا تنظیم کنید و دوباره تلاش کنید. - اگر فراخوانیهای مستقیم خیلی کوچک هنوز کار میکنند اما promptهای بزرگتر OpenClaw بکاند را از کار میاندازند، مسئله باقیمانده را بهعنوان محدودیت مدل/سرور upstream در نظر بگیرید و در runbook عمیق ادامه دهید: /gateway/troubleshooting#local-openai-compatible-backend-passes-direct-probes-but-agent-runs-fail
نصب Plugin با نبود openclaw extensions شکست میخورد
اگر نصب با package.json missing openclaw.extensions شکست میخورد، بسته Plugin
از شکل قدیمی استفاده میکند که OpenClaw دیگر نمیپذیرد.
رفع در بسته Plugin:
openclaw.extensionsرا بهpackage.jsonاضافه کنید.- entryها را به فایلهای runtime ساختهشده اشاره دهید (معمولاً
./dist/index.js). - Plugin را دوباره منتشر کنید و دوباره
openclaw plugins install <package>را اجرا کنید.
مثال:
{ "name": "@openclaw/my-plugin", "version": "1.2.3", "openclaw": { "extensions": ["./dist/index.js"] }}مرجع: معماری Plugin
سیاست نصب، نصب یا بهروزرسانی Plugin را مسدود میکند
اگر یک بهروزرسانی تمام میشود اما Pluginها کهنه، غیرفعال هستند، یا پیامهایی مانند
blocked by install policy، install policy failed closed، یا
Disabled "<plugin>" after plugin update failure نشان میدهند،
security.installPolicy را بررسی کنید.
سیاست نصب روی نصبها و بهروزرسانیهای Plugin اجرا میشود. نسخههای Plugin
متعلق به OpenClaw معمولاً همراه با انتشار OpenClaw حرکت میکنند، بنابراین یک بهروزرسانی OpenClaw
ممکن است در همگامسازی پس از بهروزرسانی به بهروزرسانیهای متناظر Pluginهای @openclaw/* هم نیاز داشته باشد.
از این شکلهای سیاست گسترده پرهیز کنید مگر اینکه قانون ارتقای متناظر را هم نگهداری کنید:
- ثابت نگهداشتن Pluginهای متعلق به OpenClaw روی یک نسخه قدیمی دقیق، مانند مجاز دانستن
فقط
@openclaw/*@2026.5.3. - مسدود کردن فقط بر اساس نوع منبع، مانند هر درخواست Plugin از npm، شبکه، یا
request.mode: "update". - اختیاری دانستن دستور سیاست. وقتی
security.installPolicyفعال است، اجراییِ سیاست که وجود ندارد، کند است، خواندنی نیست، یا با مجوز مسدود شده بهصورت fail closed شکست میخورد. - تأیید نسخههای Plugin بدون در نظر گرفتن
openclawVersionدرخواست سیاست و فراداده نامزد Plugin.
قانونهای سیاست امنتر بهجای pin کردن یک انتشار واحد برای همیشه، بهروزرسانیهای Plugin
مورد اعتماد متعلق به OpenClaw را زمانی که نامزد با میزبان فعلی OpenClaw سازگار است مجاز میکنند.
اگر npm را بهصورت پیشفرض مسدود میکنید، یک استثنای محدود
برای بستههای Plugin یا شناسههای Plugin مورد اعتماد @openclaw/* که استفاده میکنید بسازید. اگر
درخواستهای نصب و بهروزرسانی را تفکیک میکنید، همان قانون اعتماد را برای
request.mode: "update" اعمال کنید.
بازیابی:
openclaw doctor --deepopenclaw plugins update --allopenclaw status --allاگر سیاست عمداً سختگیرانه است، آن را برای بازه ارتقای مورد اعتماد OpenClaw
شل کنید، openclaw plugins update --all را دوباره اجرا کنید، سپس قانون سختگیرانهتر را بازگردانید.
اگر یک Plugin پس از شکست بهروزرسانی غیرفعال شده است، آن را بررسی کنید و فقط
پس از موفقیت بهروزرسانی دوباره فعالش کنید:
openclaw plugins inspect <plugin-id> --runtime --jsonopenclaw plugins enable <plugin-id>مرجع: سیاست نصب اپراتور
Plugin وجود دارد اما بهدلیل مالکیت مشکوک مسدود شده است
اگر openclaw doctor، setup، یا هشدارهای startup نشان میدهند:
blocked plugin candidate: suspicious ownership (... uid=1000, expected uid=0 or root)plugin present but blockedفایلهای Plugin متعلق به کاربر Unix متفاوتی نسبت به فرایندی هستند که آنها را بارگذاری میکند. پیکربندی Plugin را حذف نکنید. مالکیت فایل را اصلاح کنید یا OpenClaw را بهعنوان همان کاربری اجرا کنید که مالک دایرکتوری state است.
نصبهای Docker معمولاً بهعنوان node (uid 1000) اجرا میشوند. برای setup پیشفرض Docker،
bind mountهای میزبان را تعمیر کنید:
sudo chown -R 1000:1000 /path/to/openclaw-config /path/to/openclaw-workspaceopenclaw doctor --fixاگر عمداً OpenClaw را بهعنوان root اجرا میکنید، ریشه Plugin مدیریتشده را به مالکیت root تعمیر کنید:
sudo chown -R root:root /path/to/openclaw-config/npmopenclaw doctor --fixمستندات عمیقتر:
درخت تصمیم
flowchart TD
A[OpenClaw is not working] --> B{What breaks first}
B --> C[No replies]
B --> D[Dashboard or Control UI will not connect]
B --> E[Gateway will not start or service not running]
B --> F[Channel connects but messages do not flow]
B --> G[Cron or heartbeat did not fire or did not deliver]
B --> H[Node is paired but camera canvas screen exec fails]
B --> I[Browser tool fails]
C --> C1[/No replies section/]
D --> D1[/Control UI section/]
E --> E1[/Gateway section/]
F --> F1[/Channel flow section/]
G --> G1[/Automation section/]
H --> H1[/Node tools section/]
I --> I1[/Browser section/]بدون پاسخ
openclaw statusopenclaw gateway statusopenclaw channels status --probeopenclaw pairing list --channel <channel> [--account <id>]openclaw logs --followخروجی خوب شبیه این است:
Runtime: runningConnectivity probe: okCapability: read-only،write-capable، یاadmin-capable- کانال شما transport را متصل نشان میدهد و، در جاهایی که پشتیبانی میشود،
worksیاaudit okرا درchannels status --probeنشان میدهد - فرستنده تأییدشده به نظر میرسد (یا سیاست DM باز/allowlist است)
امضاهای رایج log:
drop guild message (mention required→ در Discord، mention gating پیام را مسدود کرده است.pairing request→ فرستنده تأیید نشده و منتظر تأیید جفتسازی DM است.blocked/allowlistدر logهای کانال → فرستنده، اتاق، یا گروه فیلتر شده است.
صفحات عمیق:
داشبورد یا رابط کاربری Control متصل نمیشود
openclaw statusopenclaw gateway statusopenclaw logs --followopenclaw doctoropenclaw channels status --probeخروجی خوب شبیه این است:
Dashboard: http://...درopenclaw gateway statusنشان داده میشودConnectivity probe: okCapability: read-only،write-capable، یاadmin-capable- هیچ حلقه احراز هویت در logها وجود ندارد
امضاهای رایج log:
device identity required→ زمینه HTTP/ناامن نمیتواند احراز هویت دستگاه را کامل کند.origin not allowed→Originمرورگر برای مقصد Gateway رابط کاربری Control مجاز نیست.AUTH_TOKEN_MISMATCHهمراه با راهنماییهای تلاش مجدد (canRetryWithDeviceToken=true) → ممکن است یک تلاش مجدد مورد اعتماد با device-token بهصورت خودکار انجام شود.- آن تلاش مجدد cached-token، مجموعه scope ذخیرهشده با device token جفتشده را دوباره استفاده میکند.
فراخوانندههای صریح
deviceToken/ صریحscopesمجموعه scope درخواستی خود را بهجای آن حفظ میکنند. - در مسیر async رابط کاربری Control با Tailscale Serve، تلاشهای ناموفق برای همان
{scope, ip}پیش از اینکه limiter شکست را ثبت کند سریالی میشوند، بنابراین یک تلاش مجدد بدِ همزمان دوم میتواند از قبلretry laterرا نشان دهد. too many failed authentication attempts (retry later)از origin مرورگر localhost → شکستهای تکراری از همانOriginبهطور موقت قفل میشوند؛ یک origin دیگر localhost از bucket جداگانه استفاده میکند.- تکرار
unauthorizedپس از آن تلاش مجدد → token/password اشتباه، عدم تطابق حالت احراز هویت، یا device token جفتشده کهنه. gateway connect failed:→ رابط کاربری URL/پورت اشتباه را هدف گرفته یا Gateway در دسترس نیست.
صفحات عمیق:
Gateway شروع نمیشود یا سرویس نصب شده اما اجرا نمیشود
openclaw statusopenclaw gateway statusopenclaw logs --followopenclaw doctoropenclaw channels status --probeخروجی خوب شبیه این است:
Service: ... (loaded)Runtime: runningConnectivity probe: okCapability: read-only،write-capable، یاadmin-capable
امضاهای رایج log:
Gateway start blocked: set gateway.mode=localیاexisting config is missing gateway.mode→ حالت gateway از راه دور است، یا فایل پیکربندی مهر local-mode را ندارد و باید تعمیر شود.refusing to bind gateway ... without auth→ bind غیر-loopback بدون مسیر معتبر احراز هویت gateway (token/password، یا trusted-proxy در جایی که پیکربندی شده است).another gateway instance is already listeningیاEADDRINUSE→ پورت از قبل گرفته شده است.
صفحات عمیق:
کانال وصل میشود اما پیامها جریان پیدا نمیکنند
openclaw statusopenclaw gateway statusopenclaw logs --followopenclaw doctoropenclaw channels status --probeخروجی مناسب شبیه این است:
- انتقال کانال متصل است.
- بررسیهای جفتسازی/فهرست مجاز موفق میشوند.
- در موارد لازم، منشنها شناسایی میشوند.
امضاهای رایج لاگ:
mention required→ گیتگذاری منشن گروهی پردازش را مسدود کرده است.pairing/pending→ فرستنده DM هنوز تأیید نشده است.not_in_channel,missing_scope,Forbidden,401/403→ مشکل توکن مجوز کانال.
صفحات عمیق:
Cron یا Heartbeat اجرا نشد یا تحویل نداد
openclaw statusopenclaw gateway statusopenclaw cron statusopenclaw cron listopenclaw cron runs --id <jobId> --limit 20openclaw logs --followخروجی مناسب شبیه این است:
cron.statusفعال بودن را همراه با بیدارباش بعدی نشان میدهد.cron runsورودیهای اخیرokرا نشان میدهد.- Heartbeat فعال است و خارج از ساعات فعال نیست.
امضاهای رایج لاگ:
cron: scheduler disabled; jobs will not run automatically→ cron غیرفعال است.heartbeat skippedباreason=quiet-hours→ خارج از ساعات فعال پیکربندیشده است.heartbeat skippedباreason=empty-heartbeat-file→HEARTBEAT.mdوجود دارد اما فقط شامل داربست خالی، نظر، سربرگ، fence، یا چکلیست خالی است.heartbeat skippedباreason=no-tasks-due→ حالت وظیفهHEARTBEAT.mdفعال است اما هنوز موعد هیچکدام از بازههای وظیفه نرسیده است.heartbeat skippedباreason=alerts-disabled→ همه قابلیتهای مشاهدهپذیری Heartbeat غیرفعال هستند (showOk،showAlerts، وuseIndicatorهمگی خاموش هستند).requests-in-flight→ مسیر اصلی مشغول است؛ بیدارباش Heartbeat به تعویق افتاد.unknown accountId→ حساب هدف تحویل Heartbeat وجود ندارد.
صفحات عمیق:
Node جفت شده است اما ابزار camera canvas screen exec شکست میخورد
openclaw statusopenclaw gateway statusopenclaw nodes statusopenclaw nodes describe --node <idOrNameOrIp>openclaw logs --followخروجی مناسب شبیه این است:
- Node بهعنوان متصل و جفتشده برای نقش
nodeفهرست شده است. - قابلیت برای فرمانی که فراخوانی میکنید وجود دارد.
- وضعیت مجوز برای ابزار اعطا شده است.
امضاهای رایج لاگ:
NODE_BACKGROUND_UNAVAILABLE→ برنامه Node را به پیشزمینه بیاورید.*_PERMISSION_REQUIRED→ مجوز سیستمعامل رد شده یا موجود نیست.SYSTEM_RUN_DENIED: approval required→ تأیید exec در انتظار است.SYSTEM_RUN_DENIED: allowlist miss→ فرمان در فهرست مجاز exec نیست.
صفحات عمیق:
Exec ناگهان درخواست تأیید میکند
openclaw config get tools.exec.hostopenclaw config get tools.exec.securityopenclaw config get tools.exec.askopenclaw gateway restartچه چیزی تغییر کرده است:
- اگر
tools.exec.hostتنظیم نشده باشد، مقدار پیشفرضautoاست. - وقتی یک runtime سندباکس فعال باشد،
host=autoبهsandboxresolve میشود؛ در غیر این صورت بهgateway. host=autoفقط مسیریابی است؛ رفتار بدون prompt «YOLO» ازsecurity=fullبهعلاوهask=offروی gateway/node میآید.- روی
gatewayوnode، مقدار تنظیمنشدهtools.exec.securityبهطور پیشفرضfullاست. - مقدار تنظیمنشده
tools.exec.askبهطور پیشفرضoffاست. - نتیجه: اگر تأییدها را میبینید، یک سیاست میزبانمحلی یا مخصوص نشست exec را از پیشفرضهای فعلی سختگیرانهتر کرده است.
بازیابی رفتار بدون تأیید پیشفرض فعلی:
openclaw config set tools.exec.host gatewayopenclaw config set tools.exec.security fullopenclaw config set tools.exec.ask offopenclaw gateway restartجایگزینهای امنتر:
- اگر فقط مسیریابی پایدار میزبان میخواهید، فقط
tools.exec.host=gatewayرا تنظیم کنید. - اگر exec میزبان را میخواهید اما همچنان میخواهید موارد خارج از فهرست مجاز بازبینی شوند، از
security=allowlistهمراه باask=on-missاستفاده کنید. - اگر میخواهید
host=autoدوباره بهsandboxresolve شود، حالت سندباکس را فعال کنید.
امضاهای رایج لاگ:
Approval required.→ فرمان منتظر/approve ...است.SYSTEM_RUN_DENIED: approval required→ تأیید exec میزبان Node در انتظار است.exec host=sandbox requires a sandbox runtime for this session→ انتخاب ضمنی/صریح سندباکس انجام شده اما حالت سندباکس خاموش است.
صفحات عمیق:
ابزار مرورگر شکست میخورد
openclaw statusopenclaw gateway statusopenclaw browser statusopenclaw logs --followopenclaw doctorخروجی مناسب شبیه این است:
- وضعیت مرورگر
running: trueو یک مرورگر/پروفایل انتخابشده را نشان میدهد. openclawشروع میشود، یاuserمیتواند زبانههای Chrome محلی را ببیند.
امضاهای رایج لاگ:
unknown command "browser"یاunknown command 'browser'→plugins.allowتنظیم شده و شاملbrowserنیست.Failed to start Chrome CDP on port→ راهاندازی مرورگر محلی شکست خورد.browser.executablePath not found→ مسیر باینری پیکربندیشده اشتباه است.browser.cdpUrl must be http(s) or ws(s)→ URL پیکربندیشده CDP از طرح پشتیبانینشده استفاده میکند.browser.cdpUrl has invalid port→ URL پیکربندیشده CDP پورت نامعتبر یا خارج از محدوده دارد.No Chrome tabs found for profile="user"→ پروفایل اتصال Chrome MCP هیچ زبانه Chrome محلی بازی ندارد.Remote CDP for profile "<name>" is not reachable→ نقطه پایانی CDP راه دور پیکربندیشده از این میزبان در دسترس نیست.Browser attachOnly is enabled ... not reachableیاBrowser attachOnly is enabled and CDP websocket ... is not reachable→ پروفایل فقط-اتصال هیچ هدف CDP زندهای ندارد.- overrideهای stale مربوط به viewport / dark-mode / locale / offline روی پروفایلهای فقط-اتصال یا CDP راه دور →
openclaw browser stop --browser-profile <name>را اجرا کنید تا نشست کنترل فعال بسته شود و وضعیت شبیهسازی بدون راهاندازی دوباره Gateway آزاد شود.
صفحات عمیق:
مرتبط
- پرسشهای متداول — پرسشهای رایج
- عیبیابی Gateway — مشکلات مخصوص Gateway
- Doctor — بررسیهای سلامت و تعمیرات خودکار
- عیبیابی کانال — مشکلات اتصال کانال
- عیبیابی اتوماسیون — مشکلات cron و Heartbeat