Fundamentals

زمان‌اجراهای عامل‌ها

یک زمان‌اجرای عامل مالک یک حلقهٔ مدل آماده‌شده است: پرامپت را دریافت می‌کند، خروجی مدل را هدایت می‌کند، فراخوانی‌های بومی ابزار را مدیریت می‌کند و نوبت تکمیل‌شده را به OpenClaw بازمی‌گرداند.

زمان‌های اجرا را به‌راحتی می‌توان با ارائه‌دهندگان اشتباه گرفت، زیرا هر دو در نزدیکی پیکربندی مدل ظاهر می‌شوند. آن‌ها لایه‌های متفاوتی هستند:

لایه نمونه‌ها مفهوم
ارائه‌دهنده anthropic, github-copilot, openai نحوهٔ احراز هویت OpenClaw، کشف مدل‌ها و نام‌گذاری ارجاع‌های مدل.
مدل claude-opus-4-6, gpt-5.6-sol مدل انتخاب‌شده برای نوبت عامل.
زمان‌اجرای عامل claude-cli, codex, copilot, openclaw حلقه یا پشتیبان سطح پایینی که نوبت آماده‌شده را اجرا می‌کند.
کانال Discord, Slack, Telegram, WhatsApp محل ورود و خروج پیام‌ها در OpenClaw.

هارنس پیاده‌سازی‌ای است که یک زمان‌اجرای عامل را فراهم می‌کند (اصطلاح کدنویسی). برای نمونه، هارنس همراه Codex زمان‌اجرای codex را پیاده‌سازی می‌کند. پیکربندی عمومی از agentRuntime.id در ورودی‌های ارائه‌دهنده یا مدل استفاده می‌کند؛ کلیدهای زمان‌اجرای کل عامل قدیمی هستند و نادیده گرفته می‌شوند. openclaw doctor --fix سنجاق‌های قدیمی زمان‌اجرای کل عامل را حذف می‌کند و ارجاع‌های قدیمی مدل زمان اجرا را، در صورت نیاز، به ارجاع‌های متعارف ارائه‌دهنده/مدل به‌همراه سیاست زمان‌اجرای محدود به مدل بازنویسی می‌کند.

دو خانوادهٔ زمان اجرا:

  • هارنس‌های تعبیه‌شده درون حلقهٔ عامل آماده‌شدهٔ OpenClaw اجرا می‌شوند: زمان‌اجرای داخلی openclaw، به‌علاوهٔ هارنس‌های Plugin ثبت‌شده مانند codex و copilot.
  • پشتیبان‌های CLI یک فرایند محلی CLI را اجرا می‌کنند و در عین حال ارجاع مدل را متعارف نگه می‌دارند. برای نمونه، anthropic/claude-opus-4-8 همراه با agentRuntime.id: "claude-cli" محدود به مدل، یعنی «مدل Anthropic را انتخاب کن و از طریق Claude CLI اجرا کن». claude-cli شناسهٔ هارنس تعبیه‌شده نیست و نباید برای انتخاب AgentHarness ارسال شود.

هارنس copilot یک هارنس Plugin خارجی، جداگانه و اختیاری برای GitHub Copilot CLI است؛ برای تصمیم کاربرمحور میان PI، Codex و زمان‌اجرای عامل GitHub Copilot، به زمان‌اجرای عامل GitHub Copilot مراجعه کنید.

سطوح Codex

چندین سطح از نام Codex استفاده می‌کنند:

سطح نام/پیکربندی OpenClaw کاری که انجام می‌دهد
زمان‌اجرای بومی app-server در Codex ارجاع‌های مدل openai/* نوبت‌های عامل تعبیه‌شدهٔ OpenAI را از طریق Codex app-server اجرا می‌کند. این روش معمول راه‌اندازی اشتراک ChatGPT/Codex است.
نمایه‌های احراز هویت OAuth در Codex نمایه‌های OAuth با openai احراز هویت اشتراک ChatGPT/Codex را ذخیره می‌کند که هارنس Codex app-server از آن استفاده می‌کند.
آداپتور ACP در Codex runtime: "acp", agentId: "codex" Codex را از طریق صفحهٔ کنترل خارجی ACP/acpx اجرا می‌کند. فقط زمانی استفاده کنید که ACP/acpx صراحتاً درخواست شده باشد.
مجموعه فرمان‌های بومی کنترل چت Codex /codex ... رشته‌های Codex app-server را از چت متصل، ازسرگرفته، هدایت، متوقف و بررسی می‌کند.
مسیر API پلتفرم OpenAI برای سطوح غیرعاملی openai/* به‌همراه احراز هویت کلید API APIهای مستقیم OpenAI مانند تصویر، تعبیه‌سازی، گفتار و بلادرنگ.

این سطوح عمداً از یکدیگر مستقل هستند. فعال‌کردن Plugin ‏codex قابلیت‌های بومی app-server را در دسترس قرار می‌دهد؛ openclaw doctor --fix مسئول ترمیم مسیرهای قدیمی Codex و پاک‌سازی سنجاق‌های منسوخ نشست است. اکنون انتخاب openai/* برای مدل عامل یعنی «این را از طریق Codex اجرا کن»، مگر اینکه یک سطح API غیرعاملی OpenAI در حال استفاده باشد.

راه‌اندازی متداول اشتراک ChatGPT/Codex از OAuth در Codex برای احراز هویت استفاده می‌کند، اما ارجاع مدل را به‌شکل openai/* نگه می‌دارد و زمان‌اجرای codex را انتخاب می‌کند:

json5
{  agents: {    defaults: {      model: "openai/gpt-5.6-sol",    },  },}

این یعنی OpenClaw یک ارجاع مدل OpenAI را انتخاب می‌کند و سپس از زمان‌اجرای Codex app-server می‌خواهد نوبت عامل تعبیه‌شده را اجرا کند. این به‌معنای «استفاده از صورت‌حساب API» نیست و همچنین به این معنا نیست که کانال، کاتالوگ ارائه‌دهندهٔ مدل یا مخزن نشست OpenClaw به Codex تبدیل می‌شود.

هنگامی که Plugin همراه codex فعال است، برای کنترل Codex با زبان طبیعی، به‌جای ACP از سطح فرمان بومی /codex (/codex bind، /codex threads، /codex resume، /codex steer، /codex stop) استفاده کنید. فقط زمانی از ACP برای Codex استفاده کنید که کاربر صراحتاً ACP/acpx را درخواست کرده یا در حال آزمایش مسیر آداپتور ACP باشد. Claude Code، Gemini CLI، OpenCode، Cursor و هارنس‌های خارجی مشابه همچنان از ACP استفاده می‌کنند.

درخت تصمیم:

  1. اتصال/کنترل/رشته/ازسرگیری/هدایت/توقف Codex -> هنگامی که Plugin همراه codex فعال است، سطح فرمان بومی /codex.
  2. Codex به‌عنوان زمان‌اجرای تعبیه‌شده یا تجربهٔ معمول عامل Codex با پشتوانهٔ اشتراک -> openai/<model>.
  3. انتخاب صریح OpenClaw برای یک مدل OpenAI -> ارجاع مدل را به‌شکل openai/<model> نگه دارید و سیاست زمان‌اجرای ارائه‌دهنده/مدل را روی agentRuntime.id: "openclaw" تنظیم کنید. نمایهٔ OAuth انتخاب‌شدهٔ openai در داخل از طریق انتقال احراز هویت Codex متعلق به OpenClaw مسیریابی می‌شود.
  4. ارجاع‌های قدیمی مدل Codex در پیکربندی -> با openclaw doctor --fix آن‌ها را به openai/<model> ترمیم کنید؛ هرجا ارجاع مدل قدیمی بر آن دلالت داشته باشد، doctor با افزودن agentRuntime.id: "codex" محدود به ارائه‌دهنده/مدل، مسیر احراز هویت Codex را حفظ می‌کند. ارجاع‌های قدیمی مدل codex-cli/* نیز به همان مسیر Codex app-server با openai/<model> ترمیم می‌شوند؛ OpenClaw دیگر پشتیبان همراه Codex CLI را نگه نمی‌دارد.
  5. درخواست صریح ACP،‏ acpx یا آداپتور ACP در Codex -> runtime: "acp" و agentId: "codex".
  6. Claude Code،‏ Gemini CLI،‏ OpenCode،‏ Cursor،‏ Droid یا هر هارنس خارجی دیگر -> ACP/acpx، نه زمان‌اجرای بومی زیرعامل.
منظورتان این است... استفاده کنید از...
کنترل چت/رشتهٔ Codex app-server /codex ... از Plugin همراه codex
زمان‌اجرای عامل تعبیه‌شدهٔ Codex app-server ارجاع‌های مدل عامل openai/*
OAuth در OpenAI Codex نمایه‌های OAuth با openai
Claude Code یا هارنس خارجی دیگر ACP/acpx

برای تفکیک پیشوندهای خانوادهٔ OpenAI، به OpenAI و ارائه‌دهندگان مدل مراجعه کنید. برای قرارداد پشتیبانی زمان‌اجرای Codex، به زمان‌اجرای هارنس Codex مراجعه کنید.

مالکیت زمان اجرا

زمان‌های اجرای مختلف، مالک بخش‌های متفاوتی از حلقه هستند:

سطح تعبیه‌شده در OpenClaw Codex app-server
مالک حلقهٔ مدل OpenClaw، از طریق اجراکنندهٔ تعبیه‌شدهٔ OpenClaw Codex app-server
وضعیت متعارف رشته رونوشت OpenClaw رشتهٔ Codex، به‌علاوهٔ آینهٔ رونوشت OpenClaw
ابزارهای پویای OpenClaw حلقهٔ بومی ابزار OpenClaw از طریق آداپتور Codex پل‌زنی می‌شوند
ابزارهای بومی پوسته و فایل مسیر OpenClaw ابزارهای بومی Codex، با پل‌زنی از طریق هوک‌های بومی در صورت پشتیبانی
موتور زمینه مونتاژ بومی زمینه در OpenClaw OpenClaw زمینهٔ مونتاژشده را به نوبت Codex می‌فرستد
Compaction OpenClaw یا موتور زمینهٔ انتخاب‌شده Compaction بومی Codex، همراه با اعلان‌های OpenClaw و نگهداری آینه
تحویل کانال OpenClaw OpenClaw

قاعدهٔ طراحی: اگر OpenClaw مالک سطح باشد، می‌تواند رفتار عادی هوک Plugin را فراهم کند. اگر زمان‌اجرای بومی مالک سطح باشد، OpenClaw به رویدادهای زمان اجرا یا هوک‌های بومی نیاز دارد. اگر زمان‌اجرای بومی مالک وضعیت متعارف رشته باشد، OpenClaw به‌جای بازنویسی اجزای داخلی پشتیبانی‌نشده، زمینه را آینه و نگاشت می‌کند.

انتخاب زمان اجرا

OpenClaw پس از حل ارائه‌دهنده و مدل، زمان‌اجرای تعبیه‌شده را به‌ترتیب زیر تعیین می‌کند:

  1. سیاست زمان‌اجرای محدود به مدل اولویت دارد. این سیاست در ورودی مدل یک ارائه‌دهندهٔ پیکربندی‌شده، یا در agents.defaults.models["provider/model"].agentRuntime / agents.list[].models["provider/model"].agentRuntime قرار دارد. نویسهٔ عام ارائه‌دهنده مانند agents.defaults.models["vllm/*"].agentRuntime پس از سیاست دقیق مدل اعمال می‌شود؛ بنابراین مدل‌های ارائه‌دهنده که به‌صورت پویا کشف شده‌اند می‌توانند بدون بازنویسی استثناهای دقیق هر مدل، یک زمان اجرا را به‌اشتراک بگذارند.
  2. سیاست زمان‌اجرای محدود به ارائه‌دهنده: models.providers.<provider>.agentRuntime.
  3. حالت auto: زمان‌های اجرای Plugin ثبت‌شده می‌توانند جفت‌های ارائه‌دهنده/مدل پشتیبانی‌شده را در اختیار بگیرند.
  4. اگر در حالت auto هیچ‌چیز نوبت را در اختیار نگیرد، OpenClaw به‌عنوان زمان‌اجرای سازگاری به openclaw بازمی‌گردد. هنگامی که اجرا باید سخت‌گیرانه باشد، از یک شناسهٔ صریح زمان اجرا استفاده کنید.

سنجاق‌های زمان‌اجرای کل نشست و کل عامل نادیده گرفته می‌شوند: OPENCLAW_AGENT_RUNTIME، وضعیت agentHarnessId/agentRuntimeOverride نشست، agents.defaults.agentRuntime و agents.list[].agentRuntime. برای حذف پیکربندی منسوخ زمان‌اجرای کل عامل و تبدیل ارجاع‌های قدیمی مدل زمان اجرا در مواردی که بتوان قصد را حفظ کرد، openclaw doctor --fix را اجرا کنید.

زمان‌های اجرای صریح Plugin در سطح ارائه‌دهنده/مدل به‌صورت بسته شکست می‌خورند: agentRuntime.id: "codex" در یک ارائه‌دهنده یا مدل به‌معنای Codex یا یک خطای شفاف انتخاب/زمان اجرا است و هرگز بی‌سروصدا به OpenClaw بازگردانده نمی‌شود. فقط auto می‌تواند یک نوبت بدون تطابق را به OpenClaw مسیریابی کند.

نام‌های مستعار پشتیبان CLI با شناسه‌های هارنس تعبیه‌شده تفاوت دارند. قالب ترجیحی Claude CLI:

json5
{  agents: {    defaults: {      model: "anthropic/claude-opus-4-8",      models: {        "anthropic/claude-opus-4-8": {          agentRuntime: { id: "claude-cli" },        },      },    },  },}

ارجاع‌های قدیمی مانند claude-cli/claude-opus-4-7 برای سازگاری همچنان پشتیبانی می‌شوند، اما پیکربندی جدید باید ارائه‌دهنده/مدل را متعارف نگه دارد و پشتیبان اجرا را در سیاست زمان‌اجرای ارائه‌دهنده/مدل قرار دهد.

ارجاع‌های قدیمی codex-cli/* متفاوت‌اند: doctor آن‌ها را به openai/* مهاجرت می‌دهد تا به‌جای حفظ پشتیبان Codex CLI، از طریق هارنس Codex app-server اجرا شوند.

حالت auto عمداً برای بیشتر ارائه‌دهندگان محافظه‌کارانه است. مدل‌های عامل OpenAI استثنا هستند: هم زمان‌اجرای تنظیم‌نشده و هم auto به هارنس Codex منتهی می‌شوند. پیکربندی صریح زمان‌اجرای OpenClaw همچنان یک مسیر سازگاری اختیاری برای نوبت‌های عامل openai/* است؛ وقتی این مسیر با یک نمایهٔ OAuth انتخاب‌شدهٔ openai همراه باشد، OpenClaw آن را در داخل از طریق انتقال احراز هویت Codex مسیریابی می‌کند و در عین حال ارجاع عمومی مدل را به‌شکل openai/* نگه می‌دارد. سنجاق‌های منسوخ نشست زمان‌اجرای OpenAI در انتخاب زمان اجرا نادیده گرفته می‌شوند و می‌توان آن‌ها را با openclaw doctor --fix پاک کرد.

اگر openclaw doctor هشدار دهد که Plugin ‏codex فعال است، در حالی که ارجاع‌های قدیمی مدل Codex همچنان در پیکربندی باقی مانده‌اند، آن را وضعیت قدیمی مسیر در نظر بگیرید و openclaw doctor --fix را اجرا کنید تا با زمان‌اجرای Codex به openai/* بازنویسی شود.

زمان‌اجرای عامل GitHub Copilot

Plugin خارجی @openclaw/copilot یک زمان‌اجرای اختیاری copilot را ثبت می‌کند که GitHub Copilot CLI (@github/copilot-sdk) پشتیبان آن است. این Plugin ارائه‌دهندهٔ اشتراک استاندارد github-copilot را در اختیار می‌گیرد و هرگز توسط auto انتخاب نمی‌شود. از طریق agentRuntime.id برای هر مدل یا هر ارائه‌دهنده آن را فعال کنید:

json5
{  agents: {    defaults: {      model: "github-copilot/gpt-5.5",      models: {        "github-copilot/gpt-5.5": {          agentRuntime: { id: "copilot" },        },      },    },  },}

هارنس، ارائه‌دهنده، زمان‌اجرا، کلید نشست CLI و پیشوند نمایهٔ احراز هویت خود را در extensions/copilot/doctor-contract-api.ts در اختیار می‌گیرد؛ فایلی که openclaw doctor آن را به‌طور خودکار بارگذاری می‌کند. برای پیکربندی، احراز هویت، آینه‌سازی رونوشت، Compaction، قرارداد اعلانی doctor و تصمیم‌گیری گسترده‌تر دربارهٔ PI در برابر Codex در برابر Copilot SDK، به زمان‌اجرای عامل GitHub Copilot مراجعه کنید.

قرارداد سازگاری

وقتی یک زمان‌اجرا متعلق به OpenClaw نیست، مستندات آن باید مشخص کنند که از کدام سطوح OpenClaw پشتیبانی می‌کند:

پرسش دلیل اهمیت
مالک حلقهٔ مدل کیست؟ مشخص می‌کند تلاش‌های مجدد، ادامهٔ ابزار و تصمیم‌گیری دربارهٔ پاسخ نهایی در کجا انجام می‌شوند.
مالک تاریخچهٔ استاندارد رشته کیست؟ مشخص می‌کند آیا OpenClaw می‌تواند تاریخچه را ویرایش کند یا فقط آن را آینه‌سازی می‌کند.
آیا ابزارهای پویای OpenClaw کار می‌کنند؟ پیام‌رسانی، نشست‌ها، Cron و ابزارهای متعلق به OpenClaw به این قابلیت وابسته‌اند.
آیا هوک‌های ابزار پویا کار می‌کنند؟ Pluginها انتظار دارند before_tool_call، after_tool_call و میان‌افزار پیرامون ابزارهای متعلق به OpenClaw وجود داشته باشند.
آیا هوک‌های ابزار بومی کار می‌کنند؟ پوسته، وصله و ابزارهای متعلق به زمان‌اجرا برای اعمال خط‌مشی و مشاهده به پشتیبانی بومی از هوک نیاز دارند.
آیا چرخهٔ عمر موتور زمینه اجرا می‌شود؟ Pluginهای حافظه و زمینه به چرخهٔ عمر سرهم‌بندی، دریافت، پس از نوبت و Compaction وابسته‌اند.
چه داده‌های Compaction ارائه می‌شوند؟ برخی Pluginها فقط به اعلان‌ها نیاز دارند؛ برخی دیگر به فرادادهٔ نگه‌داشته‌شده/حذف‌شده نیازمندند.
چه مواردی عمداً پشتیبانی نمی‌شوند؟ کاربران نباید در مواردی که زمان‌اجرای بومی مالک وضعیت بیشتری است، هم‌ارزی با OpenClaw را فرض کنند.

قرارداد پشتیبانی زمان‌اجرای Codex در زمان‌اجرای هارنس Codex مستند شده است.

برچسب‌های وضعیت

خروجی وضعیت می‌تواند هر دو برچسب Execution و Runtime را نمایش دهد. آن‌ها را به‌عنوان اطلاعات تشخیصی بخوانید، نه نام ارائه‌دهنده:

  • ارجاع مدلی مانند openai/gpt-5.6-sol همان ارائه‌دهنده/مدل انتخاب‌شده است.
  • شناسهٔ زمان‌اجرایی مانند codex حلقه‌ای است که نوبت را اجرا می‌کند.
  • برچسب کانالی مانند Telegram یا Discord محلی است که گفتگو در آن انجام می‌شود.

اگر اجرایی زمان‌اجرای غیرمنتظره‌ای را نشان می‌دهد، ابتدا خط‌مشی زمان‌اجرای ارائه‌دهنده/مدل انتخاب‌شده را بررسی کنید. پین‌های قدیمی زمان‌اجرای نشست دیگر مسیریابی را تعیین نمی‌کنند.

مرتبط

Was this useful?
On this page

On this page