رفتن به محتوا

استفاده از Claude Code روی وب

Claude Code روی وب کارها را روی زیرساختِ ابریِ مدیریت‌شده‌ی Anthropic در claude.ai/code اجرا می‌کند. نشست‌ها حتی اگر مرورگرت را ببندی پایدار می‌مانند، و می‌توانی از اپِ موبایلِ Claude مانیتورشان کنی.

این صفحه این‌ها را پوشش می‌دهد:

گزینه‌های احرازهویتِ GitHub

Section titled “گزینه‌های احرازهویتِ GitHub”

نشست‌های ابری به دسترسی به مخزن‌های GitHub‌ات نیاز دارند تا کد را clone و شاخه‌ها را push کنند. می‌توانی به دو شکل دسترسی بدهی:

روشچطور کار می‌کندبهترین برای
GitHub AppClaude GitHub App را در طولِ onboardingِ وب مجاز کن.onboardingِ مرورگری؛ تیم‌هایی که اصلاحِ خودکار می‌خواهند
/web-setupدر ترمینالت /web-setup را اجرا کن تا توکنِ gh CLIِ محلی‌ات با حسابِ Claude‌ات همگام شود.توسعه‌دهندگانِ منفردی که از قبل از gh استفاده می‌کنند

هر دو روش کار می‌کنند. /schedule هر یک از این دو شکلِ دسترسی را بررسی می‌کند و اگر هیچ‌کدام پیکربندی نشده باشد از تو می‌خواهد /web-setup را اجرا کنی. برای راهنمای /web-setup، اتصال از ترمینالت را ببین.

GitHub App برای اصلاحِ خودکار لازم است، که از اپ برای دریافتِ PR webhookها استفاده می‌کند. اگر با /web-setup وصل شدی و بعداً اصلاحِ خودکار خواستی، اپ را روی آن مخزن‌ها نصب کن.

ادمین‌های Team و Enterprise می‌توانند /web-setup را با کلیدِ Quick web setup در claude.ai/admin-settings/claude-code غیرفعال کنند.

هر نشست در یک VMِ تازه‌ی مدیریت‌شده‌ی Anthropic با مخزنت clone‌شده اجرا می‌شود. این بخش پوشش می‌دهد که هنگامِ شروعِ یک نشست چه چیزی در دسترس است و چطور سفارشی‌اش کنی.

چه چیزی در نشست‌های ابری در دسترس است

Section titled “چه چیزی در نشست‌های ابری در دسترس است”

نشست‌های ابری از یک cloneِ تازه‌ی مخزنت شروع می‌شوند. هر چیزی که به مخزن کامیت شده در دسترس است. هر چیزی که فقط روی ماشینِ خودت نصب یا پیکربندی کرده‌ای نیست.

در نشست‌های ابری در دسترسچرا
CLAUDE.mdِ مخزنتبلهبخشی از clone
هوک‌های .claude/settings.jsonِ مخزنتبلهبخشی از clone
سرورهای MCPِ .mcp.jsonِ مخزنتبلهبخشی از clone
.claude/rules/ِ مخزنتبلهبخشی از clone
.claude/skills/، .claude/agents/، .claude/commands/ِ مخزنتبلهبخشی از clone
پلاگین‌های اعلام‌شده در .claude/settings.jsonبلههنگامِ شروعِ نشست از marketplaceی که اعلام کرده‌ای نصب می‌شوند. به دسترسیِ شبکه برای رسیدن به منبعِ marketplace نیاز دارد
~/.claude/CLAUDE.mdِ کاربرتخیرروی ماشینت زندگی می‌کند، نه در مخزن
~/.claude/skills/، ~/.claude/agents/، ~/.claude/commands/ِ کاربرتخیرروی ماشینت زندگی می‌کنند، نه در مخزن. به‌جایش آن‌ها را به دایرکتوریِ .claude/ِ مخزن کامیت کن. اسکیل‌هایی که روی claude.ai فعال می‌کنی خودکار به نشست‌های ابری بارگذاری می‌شوند
پلاگین‌هایی که فقط در تنظیماتِ کاربری‌ات فعال‌اندخیرenabledPluginsِ در محدوده‌ی کاربر در ~/.claude/settings.json زندگی می‌کند. به‌جایش آن‌ها را در .claude/settings.jsonِ مخزن اعلام کن
سرورهای MCPی که با claude mcp add افزوده‌ایخیرآن‌ها در پیکربندیِ کاربریِ محلی‌ات نوشته می‌شوند، نه مخزن. به‌جایش سرور را در .mcp.json اعلام کن
توکن‌ها و اعتبارنامه‌های ثابتِ APIخیرهنوز هیچ انبارِ اختصاصیِ secret وجود ندارد. پایین را ببین
احرازهویتِ تعاملی مثلِ AWS SSOخیرپشتیبانی نمی‌شود. SSO به ورودِ مرورگرمحور نیاز دارد که در نشستِ ابری نمی‌تواند اجرا شود

برای دردسترس‌کردنِ پیکربندی در نشست‌های ابری، آن را به مخزن کامیت کن. یک انبارِ اختصاصیِ secret هنوز در دسترس نیست. هم متغیرهای محیطی و هم اسکریپت‌های راه‌اندازی در پیکربندیِ محیط ذخیره می‌شوند و برای هرکس که بتواند آن محیط را ویرایش کند قابلِ‌دیدن‌اند. اگر در یک نشستِ ابری به secret نیاز داری، آن‌ها را با درنظرگرفتنِ این میزانِ دیده‌شدن به‌عنوان متغیرِ محیطی اضافه کن.

نشست‌های ابری با runtimeهای زبانیِ رایج، ابزارهای build و پایگاه‌داده‌های ازپیش‌نصب همراه‌اند. جدولِ زیر آنچه را که گنجانده شده بر اساسِ دسته خلاصه می‌کند.

دستهگنجانده‌شده
PythonPython 3.x با pip، poetry، uv، black، mypy، pytest، ruff
Node.js۲۰، ۲۱ و ۲۲ از طریقِ nvm، با npm، yarn، pnpm، bun¹، eslint، prettier، chromedriver
Ruby۳.۱، ۳.۲، ۳.۳ با gem، bundler، rbenv
PHP۸.۴ با Composer
JavaOpenJDK 21 با Maven و Gradle
Goآخرین نسخه‌ی پایدار با پشتیبانیِ module
Rustrustc و cargo
C/C++GCC، Clang، cmake، ninja، conan
Dockerdocker، dockerd، docker compose
DatabasesPostgreSQL 16، Redis 7.0
Utilitiesgit، jq، yq، ripgrep، tmux، vim، nano

¹ Bun نصب است ولی برای واکشیِ بسته مشکلاتِ شناخته‌شده‌ی سازگاری با پروکسی دارد.

برای نسخه‌های دقیق، از Claude بخواه در یک نشستِ ابری check-tools را اجرا کند. این دستور فقط در نشست‌های ابری وجود دارد.

کار با issueها و pull requestهای GitHub

Section titled “کار با issueها و pull requestهای GitHub”

نشست‌های ابری شاملِ ابزارهای داخلیِ GitHub هستند که به Claude اجازه می‌دهند بدونِ هیچ راه‌اندازی issueها را بخواند، pull requestها را فهرست کند، diffها را واکشی کند و کامنت منتشر کند. این ابزارها از طریقِ پروکسیِ GitHub با هر روشی که زیرِ گزینه‌های احرازهویتِ GitHub پیکربندی کرده‌ای احرازهویت می‌شوند، پس توکنت هیچ‌وقت واردِ container نمی‌شود.

gh CLI ازپیش‌نصب نیست. اگر به یک دستورِ gh نیاز داری که ابزارهای داخلی پوششش نمی‌دهند، مثلِ gh release یا gh workflow run، خودت نصب و احرازهویتش کن:

نصبِ gh در اسکریپتِ راه‌اندازی‌ات

apt update && apt install -y gh را به اسکریپتِ راه‌اندازی‌ات اضافه کن.

فراهم‌کردنِ یک توکن

یک متغیرِ محیطیِ GH_TOKEN با یک GitHub personal access token به تنظیماتِ محیطت اضافه کن. gh خودکار GH_TOKEN را می‌خواند، پس هیچ گامِ gh auth loginی لازم نیست.

هر نشستِ ابری یک URLِ transcript روی claude.ai دارد، و نشست می‌تواند IDِ خودش را از متغیرِ محیطیِ CLAUDE_CODE_REMOTE_SESSION_ID بخواند. از این برای گذاشتنِ یک لینکِ قابلِ‌ردگیری در بدنه‌ی PRها، پیام‌های کامیت، پست‌های Slack یا گزارش‌های تولیدشده استفاده کن تا یک بازبین بتواند اجرایی را که آن‌ها را تولید کرده باز کند.

مقدارِ این متغیر از یک پیشوندِ cse_ استفاده می‌کند، در حالی که مسیرِ URLِ transcript همان ID را با پیشوندِ session_ می‌گیرد. هنگامِ ساختنِ لینک پیشوند را جایگزین کن. دستورِ زیر URL را چاپ می‌کند:

Terminal window
echo "https://claude.ai/code/${CLAUDE_CODE_REMOTE_SESSION_ID/#cse_/session_}"

اجرای تست‌ها، راه‌اندازیِ سرویس‌ها و افزودنِ بسته‌ها

Section titled “اجرای تست‌ها، راه‌اندازیِ سرویس‌ها و افزودنِ بسته‌ها”

Claude به‌عنوانِ بخشی از کار روی یک task تست‌ها را اجرا می‌کند. در پرامپتت برایش بخواه، مثلِ “fix the failing tests in tests/” یا “run pytest after each change.” اجراکننده‌های تست مثلِ pytest، jest و cargo test از همان ابتدا کار می‌کنند چون ازپیش‌نصب‌اند.

PostgreSQL و Redis ازپیش‌نصب‌اند ولی به‌صورتِ پیش‌فرض در حالِ اجرا نیستند. از Claude بخواه هرکدام را در طولِ نشست راه بیندازد:

Terminal window
service postgresql start
Terminal window
service redis-server start

Docker برای اجرای سرویس‌های container‌شده در دسترس است. از Claude بخواه docker compose up را اجرا کند تا سرویس‌های پروژه‌ات راه بیفتند. دسترسیِ شبکه برای pull کردنِ imageها از سطحِ دسترسیِ محیطت پیروی می‌کند، و پیش‌فرض‌های Trusted شاملِ Docker Hub و دیگر registryهای رایج‌اند.

اگر imageهایت بزرگ یا کندِ pull‌اند، docker compose pull یا docker compose build را به اسکریپتِ راه‌اندازی‌ات اضافه کن. imageهای pull‌شده در محیطِ کش‌شده ذخیره می‌شوند، پس هر نشستِ تازه آن‌ها را روی دیسک دارد. کش فقط فایل‌ها را ذخیره می‌کند، نه فرایندهای در حالِ اجرا، پس Claude همچنان هر نشست containerها را راه می‌اندازد.

برای افزودنِ بسته‌هایی که ازپیش‌نصب نیستند، از یک اسکریپتِ راه‌اندازی استفاده کن. خروجیِ اسکریپت کش می‌شود، پس بسته‌هایی که آنجا نصب می‌کنی در شروعِ هر نشست بدونِ نصبِ دوباره در دسترس‌اند. همچنین می‌توانی از Claude بخواهی میانِ نشست بسته نصب کند، ولی آن نصب‌ها به نشست‌های دیگر منتقل نمی‌شوند.

نشست‌های ابری با سقف‌های تقریبیِ منابع اجرا می‌شوند که ممکن است با گذشتِ زمان تغییر کنند:

  • ۴ vCPU
  • ۱۶ گیگابایت RAM
  • ۳۰ گیگابایت دیسک

کارهایی که به‌طورِ چشمگیر حافظه‌ی بیشتری می‌خواهند، مثلِ buildهای بزرگ یا تست‌های حافظه‌بر، ممکن است شکست بخورند یا متوقف شوند. برای بارهای کاریِ فراتر از این محدودیت‌ها، از Remote Control استفاده کن تا Claude Code را روی سخت‌افزارِ خودت اجرا کنی.

محیط‌ها دسترسیِ شبکه، متغیرهای محیطی و اسکریپتِ راه‌اندازیی را که پیش از شروعِ نشست اجرا می‌شود کنترل می‌کنند. برای آنچه بدونِ هیچ پیکربندی در دسترس است، ابزارهای نصب‌شده را ببین. می‌توانی محیط‌ها را از رابطِ وب یا ترمینال مدیریت کنی:

اکشنچطور
افزودنِ یک محیطمحیطِ فعلی را انتخاب کن تا انتخابگر باز شود، بعد Add environment را انتخاب کن. دیالوگ شاملِ نام، سطحِ دسترسیِ شبکه، متغیرهای محیطی و اسکریپتِ راه‌اندازی است.
ویرایشِ یک محیطآیکونِ ابری که نامِ محیطِ فعلی را نشان می‌دهد انتخاب کن تا انتخابگر باز شود، روی یک محیط hover کن و روی آیکونِ تنظیماتی که سمتِ راست ظاهر می‌شود کلیک کن.
آرشیوِ یک محیطمحیط را برای ویرایش باز کن و Archive را انتخاب کن. محیط‌های آرشیوشده از انتخابگر پنهان می‌شوند ولی نشست‌های موجود به اجرا ادامه می‌دهند.
تنظیمِ پیش‌فرض برای --remoteدر ترمینالت /remote-env را اجرا کن. اگر یک محیطِ واحد داری، این دستور پیکربندیِ فعلی‌ات را نشان می‌دهد. /remote-env فقط پیش‌فرض را انتخاب می‌کند؛ افزودن، ویرایش و آرشیوِ محیط‌ها را از رابطِ وب انجام بده.

متغیرهای محیطی از قالبِ .env با یک جفتِ KEY=value در هر خط استفاده می‌کنند. مقادیر را در گیومه نپیچ، چون گیومه‌ها به‌عنوانِ بخشی از مقدار ذخیره می‌شوند.

NODE_ENV=development
LOG_LEVEL=debug
DATABASE_URL=postgres://localhost:5432/myapp

اسکریپت‌های راه‌اندازی

Section titled “اسکریپت‌های راه‌اندازی”

یک اسکریپتِ راه‌اندازی، اسکریپتِ Bashی است که وقتی یک نشستِ ابریِ تازه شروع می‌شود، پیش از راه‌اندازیِ Claude Code، اجرا می‌شود. از اسکریپت‌های راه‌اندازی استفاده کن تا وابستگی‌ها را نصب کنی، ابزارها را پیکربندی کنی، یا هر چیزی را که نشست نیاز دارد و ازپیش‌نصب نیست واکشی کنی.

اسکریپت‌ها به‌عنوانِ root روی Ubuntu 24.04 اجرا می‌شوند، پس apt install و بیشترِ package managerهای زبانی کار می‌کنند.

برای افزودنِ یک اسکریپتِ راه‌اندازی، دیالوگِ تنظیماتِ محیط را باز کن و اسکریپتت را در فیلدِ Setup script وارد کن.

این مثال gh CLI را که ازپیش‌نصب نیست نصب می‌کند:

#!/bin/bash
apt update && apt install -y gh

اگر اسکریپت با خروجیِ ناصفر تمام شود، نشست شروع نمی‌شود. || true را به دستورهای غیرحیاتی اضافه کن تا نشست به‌خاطرِ یک شکستِ نصبِ گذرا مسدود نشود.

زمانِ اجرای کلِ اسکریپت را زیرِ حدودِ پنج دقیقه نگه دار تا کشِ محیط بتواند ساخته شود. نصب‌های مستقل را به‌موازات با & و wait اجرا کن. اگر یک دانلودِ واحد در محدودیتِ پنج‌دقیقه‌ای جا نمی‌شود، آن را به یک هوکِ SessionStart منتقل کن که آن را در پس‌زمینه راه می‌اندازد.

اسکریپتِ راه‌اندازی اولین باری که در یک محیط نشستی شروع می‌کنی اجرا می‌شود. پس از تکمیلش، Anthropic از فایل‌سیستم snapshot می‌گیرد و آن snapshot را به‌عنوانِ نقطه‌ی شروعِ نشست‌های بعدی بازاستفاده می‌کند. نشست‌های تازه با وابستگی‌ها، ابزارها و imageهای Dockerِ ازپیش‌روی‌دیسک شروع می‌شوند، و گامِ اسکریپتِ راه‌اندازی رد می‌شود. این راه‌اندازی را سریع نگه می‌دارد حتی وقتی اسکریپت toolchainهای بزرگ نصب می‌کند یا imageهای container می‌کشد.

کش فایل‌ها را می‌گیرد، نه فرایندهای در حالِ اجرا. هر چیزی که اسکریپتِ راه‌اندازی روی دیسک می‌نویسد منتقل می‌شود. سرویس‌ها یا containerهایی که راه می‌اندازد منتقل نمی‌شوند، پس آن‌ها را هر نشست با درخواست از Claude یا با یک هوکِ SessionStart راه بینداز.

اسکریپتِ راه‌اندازی دوباره اجرا می‌شود تا کش را بازبسازد وقتی اسکریپتِ راه‌اندازی یا hostهای شبکه‌ی مجازِ محیط را تغییر می‌دهی، و وقتی کش پس از حدودِ هفت روز به انقضایش می‌رسد. از سرگیریِ یک نشستِ موجود هیچ‌وقت اسکریپتِ راه‌اندازی را دوباره اجرا نمی‌کند.

لازم نیست خودت کش را فعال کنی یا snapshotها را مدیریت کنی.

اسکریپت‌های راه‌اندازی در برابرِ هوک‌های SessionStart

Section titled “اسکریپت‌های راه‌اندازی در برابرِ هوک‌های SessionStart”

از یک اسکریپتِ راه‌اندازی استفاده کن تا چیزهایی را نصب کنی که ابر نیاز دارد ولی لپ‌تاپت از قبل دارد، مثلِ یک runtimeِ زبانی یا ابزارِ CLI. از یک هوکِ SessionStart برای راه‌اندازیِ پروژه که باید همه‌جا—ابر و محلی—اجرا شود استفاده کن، مثلِ npm install.

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

اسکریپت‌های راه‌اندازیهوک‌های SessionStart
متصل بهمحیطِ ابریمخزنت
پیکربندی دررابطِ کاربریِ محیطِ ابری.claude/settings.json در مخزنت
اجرا می‌شودپیش از راه‌اندازیِ Claude Code، وقتی هیچ محیطِ کش‌شده‌ای در دسترس نیستپس از راه‌اندازیِ Claude Code، در هر نشست از جمله ازسرگرفته‌شده
محدودهفقط محیط‌های ابریهم محلی و هم ابری

هوک‌های SessionStart را می‌توان به‌صورتِ محلی در ~/.claude/settings.jsonِ سطحِ کاربری‌ات هم تعریف کرد، ولی تنظیماتِ سطحِ کاربری به نشست‌های ابری منتقل نمی‌شوند. در ابر، فقط هوک‌هایی که به مخزن کامیت شده‌اند اجرا می‌شوند.

نصبِ وابستگی‌ها با یک هوکِ SessionStart

Section titled “نصبِ وابستگی‌ها با یک هوکِ SessionStart”

برای نصبِ وابستگی‌ها فقط در نشست‌های ابری، یک هوکِ SessionStart به .claude/settings.jsonِ مخزنت اضافه کن:

{
"hooks": {
"SessionStart": [
{
"matcher": "startup|resume",
"hooks": [
{
"type": "command",
"command": "\"$CLAUDE_PROJECT_DIR\"/scripts/install_pkgs.sh"
}
]
}
]
}
}

اسکریپت را در scripts/install_pkgs.sh بساز و با chmod +x اجراپذیرش کن. متغیرِ محیطیِ CLAUDE_CODE_REMOTE در نشست‌های ابری روی true تنظیم می‌شود، پس می‌توانی از آن برای رد کردنِ اجرای محلی استفاده کنی:

#!/bin/bash
if [ "$CLAUDE_CODE_REMOTE" != "true" ]; then
exit 0
fi
npm install
pip install -r requirements.txt
exit 0

هوک‌های SessionStart چند محدودیت در نشست‌های ابری دارند:

  • بدونِ محدوده‌بندیِ فقط‌ابری: هوک‌ها هم در نشست‌های محلی و هم ابری اجرا می‌شوند. برای رد کردنِ اجرای محلی، متغیرِ محیطیِ CLAUDE_CODE_REMOTE را همان‌طور که بالا نشان داده شد بررسی کن.
  • به دسترسیِ شبکه نیاز دارد: دستورهای نصب باید به registryهای بسته برسند. اگر محیطت از دسترسیِ شبکه‌ی None استفاده کند، این هوک‌ها شکست می‌خورند. allowlistِ پیش‌فرض زیرِ Trusted شاملِ npm، PyPI، RubyGems و crates.io است.
  • سازگاری با پروکسی: همه‌ی ترافیکِ خروجی از یک پروکسیِ امنیتی عبور می‌کند. برخی package managerها با این پروکسی درست کار نمی‌کنند. Bun یک نمونه‌ی شناخته‌شده است.
  • تأخیر به راه‌اندازی می‌افزاید: هوک‌ها هر بار که نشستی شروع یا ازسر گرفته می‌شود اجرا می‌شوند، برخلافِ اسکریپت‌های راه‌اندازی که از کش‌کردنِ محیط سود می‌برند. اسکریپت‌های نصب را سریع نگه دار با بررسیِ اینکه آیا وابستگی‌ها از قبل موجودند پیش از نصبِ دوباره.

برای پایدارکردنِ متغیرهای محیطی برای دستورهای Bashِ بعدی، در فایلِ $CLAUDE_ENV_FILE بنویس. برای جزئیات هوک‌های SessionStart را ببین.

جایگزین‌کردنِ base image با imageِ Dockerِ خودت هنوز پشتیبانی نمی‌شود. از یک اسکریپتِ راه‌اندازی استفاده کن تا آنچه نیاز داری را روی imageِ فراهم‌شده نصب کنی، یا imageت را به‌عنوان یک container کنارِ Claude با docker compose اجرا کن.

دسترسیِ شبکه اتصال‌های خروجی از محیطِ ابری را کنترل می‌کند. هر محیط یک سطحِ دسترسی مشخص می‌کند، و می‌توانی آن را با دامنه‌های مجازِ سفارشی گسترش بدهی. پیش‌فرض Trusted است، که registryهای بسته و دیگر دامنه‌های allowlist‌شده را مجاز می‌کند.

برای تغییرِ دسترسیِ شبکه‌ی یک محیط، آن را برای ویرایش باز کن و از انتخابگرِ Network access در دیالوگ استفاده کن. هیچ صفحه‌ی جداگانه‌ی Environments وجود ندارد. آیکونِ ابری هر جا که نشستِ ابری شروع می‌کنی یا یک routine پیکربندی می‌کنی ظاهر می‌شود.

هنگامِ ساختن یا ویرایشِ یک محیط یک سطحِ دسترسی انتخاب کن:

سطحاتصال‌های خروجی
Noneبدونِ دسترسیِ شبکه‌ی خروجی
Trustedفقط دامنه‌های allowlist‌شده: registryهای بسته، GitHub، SDKهای ابری
Fullهر دامنه‌ای
Customallowlistِ خودت، اختیاراً شاملِ پیش‌فرض‌ها

عملیاتِ GitHub از یک پروکسیِ جداگانه استفاده می‌کنند که مستقل از این تنظیم است.

اجازه‌دادن به دامنه‌های مشخص

Section titled “اجازه‌دادن به دامنه‌های مشخص”

برای اجازه‌دادن به دامنه‌هایی که در فهرستِ Trusted نیستند، در تنظیماتِ دسترسیِ شبکه‌ی محیط Custom را انتخاب کن. یک فیلدِ Allowed domains ظاهر می‌شود. یک دامنه در هر خط وارد کن:

api.example.com
*.internal.example.com
registry.example.com

از *. برای تطبیقِ wildcardِ زیردامنه استفاده کن. تیکِ Also include default list of common package managers را بزن تا دامنه‌های Trusted را کنارِ ورودی‌های سفارشی‌ات نگه داری، یا بدونِ‌تیک بگذار تا فقط آنچه فهرست می‌کنی مجاز شود.

برای امنیت، همه‌ی عملیاتِ GitHub از یک سرویسِ پروکسیِ اختصاصی عبور می‌کنند که همه‌ی تعامل‌های git را شفاف رسیدگی می‌کند. درونِ sandbox، کلاینتِ git با یک اعتبارنامه‌ی scopedِ سفارشی‌ساخته احرازهویت می‌کند. این پروکسی:

  • احرازهویتِ GitHub را امن مدیریت می‌کند: کلاینتِ git از یک اعتبارنامه‌ی scoped درونِ sandbox استفاده می‌کند، که پروکسی آن را راستی‌آزمایی و به توکنِ احرازهویتِ واقعیِ GitHub‌ات ترجمه می‌کند
  • عملیاتِ git push را برای ایمنی به شاخه‌ی کاریِ فعلی محدود می‌کند
  • clone، fetch و عملیاتِ PR را فعال می‌کند در حالی که مرزهای امنیتی را حفظ می‌کند

محیط‌ها برای امنیت و پیشگیری از سوءاستفاده پشتِ یک پروکسیِ شبکه‌ی HTTP/HTTPS اجرا می‌شوند. همه‌ی ترافیکِ خروجیِ اینترنتی از این پروکسی عبور می‌کند، که این‌ها را فراهم می‌کند:

  • محافظت در برابرِ درخواست‌های مخرب
  • محدودیتِ نرخ و پیشگیری از سوءاستفاده
  • فیلترِ محتوا برای امنیتِ بیشتر
  • یک ردِ ممیزیِ در سطحِ DNS از hostnameهای درخواست‌شده

دامنه‌های مجازِ پیش‌فرض

Section titled “دامنه‌های مجازِ پیش‌فرض”

هنگامِ استفاده از دسترسیِ شبکه‌ی Trusted، دامنه‌های زیر به‌صورتِ پیش‌فرض مجازند. دامنه‌های علامت‌خورده با * تطبیقِ wildcardِ زیردامنه را نشان می‌دهند، پس *.gcr.io هر زیردامنه‌ی gcr.io را مجاز می‌کند.

سرویس‌های Anthropic
  • api.anthropic.com
  • statsig.anthropic.com
  • docs.claude.com
  • platform.claude.com
  • code.claude.com
  • claude.ai
کنترلِ نسخه
  • github.com
  • www.github.com
  • api.github.com
  • npm.pkg.github.com
  • raw.githubusercontent.com
  • pkg-npm.githubusercontent.com
  • objects.githubusercontent.com
  • release-assets.githubusercontent.com
  • codeload.github.com
  • avatars.githubusercontent.com
  • camo.githubusercontent.com
  • gist.github.com
  • gitlab.com
  • www.gitlab.com
  • registry.gitlab.com
  • bitbucket.org
  • www.bitbucket.org
  • api.bitbucket.org
Container registryها
  • registry-1.docker.io
  • auth.docker.io
  • index.docker.io
  • hub.docker.com
  • www.docker.com
  • production.cloudflare.docker.com
  • download.docker.com
  • gcr.io
  • *.gcr.io
  • ghcr.io
  • mcr.microsoft.com
  • *.data.mcr.microsoft.com
  • public.ecr.aws
پلتفرم‌های ابری
  • cloud.google.com
  • accounts.google.com
  • gcloud.google.com
  • *.googleapis.com
  • storage.googleapis.com
  • compute.googleapis.com
  • container.googleapis.com
  • azure.com
  • portal.azure.com
  • microsoft.com
  • www.microsoft.com
  • *.microsoftonline.com
  • packages.microsoft.com
  • dotnet.microsoft.com
  • dot.net
  • visualstudio.com
  • dev.azure.com
  • *.amazonaws.com
  • *.api.aws
  • oracle.com
  • www.oracle.com
  • java.com
  • www.java.com
  • java.net
  • www.java.net
  • download.oracle.com
  • yum.oracle.com
package managerهای JavaScript و Node
package managerهای Python
package managerهای Ruby
package managerهای Rust
package managerهای Go
  • proxy.golang.org
  • sum.golang.org
  • index.golang.org
  • golang.org
  • www.golang.org
  • goproxy.io
  • pkg.go.dev
package managerهای JVM
  • maven.org
  • repo.maven.org
  • central.maven.org
  • repo1.maven.org
  • repo.maven.apache.org
  • jcenter.bintray.com
  • gradle.org
  • www.gradle.org
  • services.gradle.org
  • plugins.gradle.org
  • kotlinlang.org
  • www.kotlinlang.org
  • spring.io
  • repo.spring.io
package managerهای دیگر
توزیع‌های Linux
ابزارها و پلتفرم‌های توسعه
  • dl.k8s.io (Kubernetes)
  • pkgs.k8s.io
  • k8s.io
  • www.k8s.io
  • releases.hashicorp.com (HashiCorp)
  • apt.releases.hashicorp.com
  • rpm.releases.hashicorp.com
  • archive.releases.hashicorp.com
  • hashicorp.com
  • www.hashicorp.com
  • repo.anaconda.com (Anaconda/Conda)
  • conda.anaconda.org
  • anaconda.org
  • www.anaconda.com
  • anaconda.com
  • continuum.io
  • apache.org (Apache)
  • www.apache.org
  • archive.apache.org
  • downloads.apache.org
  • eclipse.org (Eclipse)
  • www.eclipse.org
  • download.eclipse.org
  • nodejs.org (Node.js)
  • www.nodejs.org
  • developer.apple.com
  • developer.android.com
  • pkg.stainless.com
  • binaries.prisma.sh
سرویس‌ها و مانیتورینگِ ابری
  • statsig.com
  • www.statsig.com
  • api.statsig.com
  • sentry.io
  • *.sentry.io
  • downloads.sentry-cdn.com
  • http-intake.logs.datadoghq.com
  • *.datadoghq.com
  • *.datadoghq.eu
  • api.honeycomb.io
تحویلِ محتوا و آینه‌ها
  • sourceforge.net
  • *.sourceforge.net
  • packagecloud.io
  • *.packagecloud.io
  • fonts.googleapis.com
  • fonts.gstatic.com
Schema و پیکربندی
Model Context Protocol
  • *.modelcontextprotocol.io

جابه‌جاییِ کارها بینِ وب و ترمینال

Section titled “جابه‌جاییِ کارها بینِ وب و ترمینال”

این ورک‌فلوها به CLIِ Claude Code که با همان حسابِ claude.ai وارد شده نیاز دارند. می‌توانی نشست‌های ابریِ تازه را از ترمینالت شروع کنی، یا نشست‌های ابری را به ترمینالت بکشی تا محلی ادامه دهی. نشست‌های ابری حتی اگر لپ‌تاپت را ببندی پایدار می‌مانند، و می‌توانی از هرجا از جمله اپِ موبایلِ Claude مانیتورشان کنی.

یک نشستِ ابری را از خطِ فرمان با پرچمِ --remote شروع کن:

Terminal window
claude --remote "Fix the authentication bug in src/auth/login.ts"

این یک نشستِ ابریِ تازه روی claude.ai می‌سازد. نشست، GitHub remoteِ دایرکتوریِ فعلی‌ات را در شاخه‌ی فعلی‌ات clone می‌کند، پس اگر کامیت‌های محلی داری اول push کن، چون VM از GitHub clone می‌کند نه از ماشینت. --remote هربار با یک مخزن کار می‌کند. کار در ابر اجرا می‌شود در حالی که تو محلی به کارت ادامه می‌دهی.

از /tasks در CLIِ Claude Code استفاده کن تا پیشرفت را بررسی کنی، یا نشست را روی claude.ai یا اپِ موبایلِ Claude باز کن تا مستقیم تعامل کنی. از آنجا می‌توانی Claude را هدایت کنی، بازخورد بدهی یا به سوال‌ها پاسخ بدهی، درست مثلِ هر گفت‌وگوی دیگر.

نکته‌هایی برای کارهای ابری

Section titled “نکته‌هایی برای کارهای ابری”

محلی برنامه‌ریزی کن، از راه دور اجرا کن: برای کارهای پیچیده، Claude را در plan mode شروع کن تا روی رویکرد همکاری کنی، بعد کار را به ابر بفرست:

Terminal window
claude --permission-mode plan

در plan mode، Claude فایل‌ها را می‌خواند، دستورها را برای کاوش اجرا می‌کند و یک برنامه پیشنهاد می‌دهد بدونِ ویرایشِ کدِ سورس. وقتی راضی شدی، برنامه را در مخزن ذخیره کن، کامیت و push کن تا VMِ ابری بتواند clone‌اش کند. بعد یک نشستِ ابری برای اجرای خودمختار شروع کن:

Terminal window
claude --remote "Execute the migration plan in docs/migration-plan.md"

این الگو به تو کنترل بر استراتژی می‌دهد در حالی که می‌گذارد Claude خودمختار در ابر اجرا کند.

در ابر با ultraplan برنامه‌ریزی کن: برای پیش‌نویس و بازبینیِ خودِ برنامه در یک نشستِ وب، از ultraplan استفاده کن. Claude برنامه را روی Claude Code روی وب تولید می‌کند در حالی که تو به کارت ادامه می‌دهی، بعد در مرورگرت روی بخش‌ها کامنت می‌گذاری و انتخاب می‌کنی از راه دور اجرا کنی یا برنامه را به ترمینالت برگردانی.

کارها را به‌موازات اجرا کن: هر دستورِ --remote نشستِ ابریِ خودش را می‌سازد که مستقل اجرا می‌شود. می‌توانی چند کار شروع کنی و همه به‌طورِ هم‌زمان در نشست‌های جداگانه اجرا می‌شوند:

Terminal window
claude --remote "Fix the flaky test in auth.spec.ts"
claude --remote "Update the API documentation"
claude --remote "Refactor the logger to use structured output"

همه‌ی نشست‌ها را با /tasks در CLIِ Claude Code مانیتور کن. وقتی یک نشست تمام شد، می‌توانی از رابطِ وب یک PR بسازی یا نشست را به ترمینالت teleport کنی تا به کار ادامه دهی.

فرستادنِ مخزن‌های محلی بدونِ GitHub

Section titled “فرستادنِ مخزن‌های محلی بدونِ GitHub”

وقتی claude --remote را از مخزنی اجرا می‌کنی که به GitHub وصل نیست، Claude Code مخزنِ محلی‌ات را bundle و مستقیم به نشستِ ابری آپلود می‌کند. bundle شاملِ تاریخچه‌ی کاملِ مخزنت در همه‌ی شاخه‌ها، به‌علاوه‌ی هر تغییرِ کامیت‌نشده به فایل‌های ردگیری‌شده است.

این fallback خودکار فعال می‌شود وقتی دسترسیِ GitHub در دسترس نیست. برای اجبار به آن حتی وقتی GitHub وصل است، CCR_FORCE_BUNDLE=1 را تنظیم کن:

Terminal window
CCR_FORCE_BUNDLE=1 claude --remote "Run the test suite and fix any failures"

مخزن‌های bundle‌شده باید این محدودیت‌ها را برآورده کنند:

  • دایرکتوری باید یک مخزنِ git با دستِ‌کم یک کامیت باشد
  • مخزنِ bundle‌شده باید زیرِ ۱۰۰ مگابایت باشد. مخزن‌های بزرگ‌تر اول به bundle کردنِ فقط شاخه‌ی فعلی، بعد به یک snapshotِ squash‌شده‌ی واحد از working tree برمی‌گردند، و فقط اگر snapshot هنوز هم خیلی بزرگ باشد شکست می‌خورند
  • فایل‌های untracked گنجانده نمی‌شوند؛ روی فایل‌هایی که می‌خواهی نشستِ ابری ببیند git add بزن
  • نشست‌های ساخته‌شده از یک bundle نمی‌توانند به یک remote push کنند مگر اینکه احرازهویتِ GitHub هم پیکربندی شده باشد

یک نشستِ ابری را با هر یک از این‌ها به ترمینالت بکش:

  • با --teleport: از خطِ فرمان، claude --teleport را اجرا کن برای یک انتخابگرِ تعاملیِ نشست، یا claude --teleport <session-id> تا یک نشستِ مشخص را مستقیم از سر بگیری. اگر تغییراتِ کامیت‌نشده داری، از تو خواسته می‌شود اول stash‌شان کنی.
  • با /teleport: درونِ یک نشستِ موجودِ CLI، /teleport (یا /tp) را اجرا کن تا همان انتخابگرِ نشست بدونِ ری‌استارتِ Claude Code باز شود.
  • از /tasks: /tasks را اجرا کن تا نشست‌های پس‌زمینه‌ات را ببینی، بعد t را بزن تا به یکی teleport کنی
  • از رابطِ وب: Open in CLI را انتخاب کن تا دستوری کپی شود که می‌توانی در ترمینالت paste کنی

وقتی یک نشست را teleport می‌کنی، Claude تأیید می‌کند که در مخزنِ درست هستی، شاخه را از نشستِ ابری fetch و checkout می‌کند و تاریخچه‌ی کاملِ گفت‌وگو را به ترمینالت بارگذاری می‌کند.

--teleport از --resume متمایز است. --resume یک گفت‌وگو را از تاریخچه‌ی محلیِ این ماشین دوباره باز می‌کند و نشست‌های ابری را فهرست نمی‌کند؛ --teleport یک نشستِ ابری و شاخه‌اش را می‌کشد.

teleport پیش از از سر گرفتنِ یک نشست این پیش‌نیازها را بررسی می‌کند. اگر هر پیش‌نیازی برآورده نشود، یک خطا می‌بینی یا از تو خواسته می‌شود مشکل را حل کنی.

پیش‌نیازجزئیات
وضعیتِ تمیزِ gitدایرکتوریِ کاری‌ات باید هیچ تغییرِ کامیت‌نشده‌ای نداشته باشد. teleport در صورتِ لزوم از تو می‌خواهد تغییرات را stash کنی.
مخزنِ درستباید --teleport را از یک checkout از همان مخزن اجرا کنی، نه یک fork.
شاخه‌ی در دسترسشاخه‌ی نشستِ ابری باید به remote push شده باشد. teleport خودکار fetch و checkout‌اش می‌کند.
همان حسابباید با همان حسابِ claude.ai که در نشستِ ابری استفاده شده احرازهویت شده باشی.

teleport به احرازهویتِ اشتراکِ claude.ai نیاز دارد. اگر با API key، Bedrock، Vertex AI یا Microsoft Foundry احرازهویت شده‌ای، /login را اجرا کن تا به‌جایش با حسابِ claude.ai‌ات وارد شوی. اگر از قبل با claude.ai واردی و --teleport هنوز در دسترس نیست، شاید سازمانت نشست‌های ابری را غیرفعال کرده باشد.

نشست‌ها در نوارِ کناری در claude.ai/code ظاهر می‌شوند. از آنجا می‌توانی تغییرات را بازبینی کنی، با هم‌تیمی‌ها به اشتراک بگذاری، کارِ تمام‌شده را آرشیو کنی، یا نشست‌ها را برای همیشه حذف کنی.

نشست‌های ابری از دستورهای داخلی که خروجیِ متنی تولید می‌کنند پشتیبانی می‌کنند. دستورهایی که یک انتخابگرِ تعاملیِ ترمینال باز می‌کنند، مثلِ /model یا /config، در دسترس نیستند.

به‌طورِ مشخص برای مدیریتِ کانتکست:

دستوردر نشست‌های ابری کار می‌کندیادداشت‌ها
/compactبلهگفت‌وگو را خلاصه می‌کند تا کانتکست آزاد شود. دستورالعمل‌های تمرکزِ اختیاری مثلِ /compact keep the test output را می‌پذیرد
/contextبلهآنچه را که الان در پنجره‌ی کانتکست است نشان می‌دهد
/clearخیربه‌جایش یک نشستِ تازه از نوارِ کناری شروع کن

auto-compaction خودکار اجرا می‌شود وقتی پنجره‌ی کانتکست به ظرفیت نزدیک می‌شود. برای تریگرِ زودترِ آن، CLAUDE_AUTOCOMPACT_PCT_OVERRIDE را در متغیرهای محیطی‌ات تنظیم کن. مثلاً CLAUDE_AUTOCOMPACT_PCT_OVERRIDE=70 در ۷۰٪ ظرفیت compact می‌کند به‌جای صبرکردن تا پنجره تقریباً پر شود. برای تغییرِ اندازه‌ی مؤثرِ پنجره برای محاسباتِ compaction، از CLAUDE_CODE_AUTO_COMPACT_WINDOW استفاده کن.

ساب‌ایجنت‌ها همان‌طور که محلی کار می‌کنند کار می‌کنند. Claude می‌تواند با ابزارِ Task آن‌ها را بسازد تا تحقیق یا کارِ موازی را به یک پنجره‌ی کانتکستِ جداگانه بسپارد و گفت‌وگوی اصلی را سبک‌تر نگه دارد. ساب‌ایجنت‌های تعریف‌شده در .claude/agents/ِ مخزنت خودکار برداشته می‌شوند. تیم‌های ایجنت به‌صورتِ پیش‌فرض خاموش‌اند ولی می‌توان با افزودنِ CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 به متغیرهای محیطی‌ات فعالشان کرد.

هر نشست یک نشانگرِ diff با خطوطِ افزوده و حذف‌شده نشان می‌دهد، مثلِ +42 -18. آن را انتخاب کن تا نمای diff باز شود، روی خطوطِ مشخص کامنت‌های inline بگذاری و آن‌ها را با پیامِ بعدی‌ات به Claude بفرستی. برای راهنمای کامل شاملِ ساختِ PR، بازبینی و تکرار را ببین. برای اینکه Claude خودکار PR را برای شکست‌های CI و کامنت‌های بازبینی مانیتور کند، اصلاحِ خودکارِ pull requestها را ببین.

برای اشتراکِ یک نشست، دیده‌شدنش را مطابقِ نوعِ حساب‌های زیر تغییر بده. پس از آن، لینکِ نشست را همان‌طور که هست به اشتراک بگذار. گیرندگان هنگامِ بازکردنِ لینک آخرین وضعیت را می‌بینند، ولی نمایشان به‌صورتِ بلادرنگ به‌روز نمی‌شود.

اشتراک از یک حسابِ Enterprise یا Team

Section titled “اشتراک از یک حسابِ Enterprise یا Team”

برای حساب‌های Enterprise و Team، دو گزینه‌ی دیده‌شدن Private و Team هستند. دیده‌شدنِ Team نشست را برای دیگر اعضای سازمانِ claude.ai‌ات قابلِ‌دیدن می‌کند. راستی‌آزماییِ دسترسیِ مخزن به‌صورتِ پیش‌فرض فعال است، بر اساسِ حسابِ GitHubِ متصل به حسابِ گیرنده. نامِ نمایشیِ حسابت برای همه‌ی گیرندگانِ دارای دسترسی قابلِ‌دیدن است. نشست‌های Claude in Slack خودکار با دیده‌شدنِ Team به اشتراک گذاشته می‌شوند.

اشتراک از یک حسابِ Max یا Pro

Section titled “اشتراک از یک حسابِ Max یا Pro”

برای حساب‌های Max و Pro، دو گزینه‌ی دیده‌شدن Private و Public هستند. دیده‌شدنِ Public نشست را برای هر کاربری که به claude.ai وارد است قابلِ‌دیدن می‌کند.

پیش از اشتراک، نشستت را برای محتوای حساس بررسی کن. نشست‌ها ممکن است شاملِ کد و اعتبارنامه از مخزن‌های خصوصیِ GitHub باشند. راستی‌آزماییِ دسترسیِ مخزن به‌صورتِ پیش‌فرض فعال نیست.

برای الزامِ اینکه گیرندگان دسترسیِ مخزن داشته باشند، یا برای پنهان‌کردنِ نامت از نشست‌های اشتراکی، به Settings > Claude Code > Sharing settings برو.

می‌توانی نشست‌ها را آرشیو کنی تا فهرستِ نشست‌هایت مرتب بماند. نشست‌های آرشیوشده از فهرستِ پیش‌فرضِ نشست‌ها پنهان می‌شوند ولی می‌توان با فیلترکردن برای نشست‌های آرشیوشده دیدشان.

برای آرشیوِ یک نشست، روی نشست در نوارِ کناری hover کن و آیکونِ آرشیو را انتخاب کن.

حذفِ یک نشست، نشست و داده‌اش را برای همیشه پاک می‌کند. این اقدام قابلِ‌بازگشت نیست. می‌توانی یک نشست را به دو شکل حذف کنی:

  • از نوارِ کناری: برای نشست‌های آرشیوشده فیلتر کن، بعد روی نشستی که می‌خواهی حذف کنی hover کن و آیکونِ حذف را انتخاب کن
  • از منوی نشست: یک نشست را باز کن، منوی کشوییِ کنارِ عنوانِ نشست را انتخاب کن و Delete را انتخاب کن

پیش از حذفِ یک نشست از تو خواسته می‌شود تأیید کنی.

اصلاحِ خودکارِ pull requestها

Section titled “اصلاحِ خودکارِ pull requestها”

Claude می‌تواند یک pull request را تماشا کند و خودکار به شکست‌های CI و کامنت‌های بازبینی پاسخ دهد. Claude مشترکِ فعالیتِ GitHub روی PR می‌شود، و وقتی یک check شکست می‌خورد یا یک بازبین کامنتی می‌گذارد، Claude بررسی می‌کند و اگر اصلاحی روشن باشد آن را push می‌کند.

بسته به اینکه PR از کجا آمده و چه دستگاهی استفاده می‌کنی، چند راه برای روشن‌کردنِ اصلاحِ خودکار هست:

  • PRهای ساخته‌شده در Claude Code روی وب: نوارِ وضعیتِ CI را باز کن و Auto-fix را انتخاب کن
  • از ترمینالت: در حالی که روی شاخه‌ی PR هستی /autofix-pr را اجرا کن. Claude Code PRِ باز را با gh تشخیص می‌دهد، یک نشستِ وب می‌سازد و اصلاحِ خودکار را در یک گام روشن می‌کند
  • از اپِ موبایل: به Claude بگو PR را اصلاح کند، مثلاً “watch this PR and fix any CI failures or review comments”
  • هر PRِ موجود: URLِ PR را در یک نشست paste کن و به Claude بگو اصلاحش کند

اصلاحِ خودکار یک کلیدِ per-PR است. برای توقفِ مانیتورینگ، نوارِ وضعیتِ CI را در نشستِ وب باز کن و کلیدِ Auto-fix را پاک کن، یا به Claude بگو تماشای PR را متوقف کند.

Claude چطور به فعالیتِ PR پاسخ می‌دهد

Section titled “Claude چطور به فعالیتِ PR پاسخ می‌دهد”

وقتی اصلاحِ خودکار فعال است، Claude رویدادهای GitHub را برای PR از جمله کامنت‌های بازبینیِ تازه و شکست‌های CI check دریافت می‌کند. برای هر رویداد، Claude بررسی می‌کند و تصمیم می‌گیرد چطور پیش برود:

  • اصلاح‌های روشن: اگر Claude به یک اصلاح مطمئن است و با دستورالعمل‌های پیشین تعارض ندارد، Claude تغییر را انجام می‌دهد، push‌اش می‌کند و در نشست توضیح می‌دهد چه شد
  • درخواست‌های مبهم: اگر کامنتِ یک بازبین چندجور تفسیرپذیر است یا چیزی از نظرِ معماری مهم را دربر می‌گیرد، Claude پیش از اقدام از تو می‌پرسد
  • رویدادهای تکراری یا بدونِ‌اقدام: اگر یک رویداد تکراری است یا تغییری لازم ندارد، Claude در نشست یادداشتش می‌کند و رد می‌شود

GitHub وقتی شاخه‌ی پایه پیش می‌رود و یک merge conflict می‌سازد یک webhook منتشر نمی‌کند، پس اصلاحِ خودکار نمی‌تواند خودبه‌خود به تعارض‌ها واکنش نشان دهد. برای حلِ یک تعارض، نشست را باز کن و از Claude بخواه rebase کند.

Claude ممکن است به‌عنوانِ بخشی از حلِ رشته‌های کامنتِ بازبینی روی GitHub به آن‌ها پاسخ دهد. این پاسخ‌ها با حسابِ GitHub‌ات منتشر می‌شوند، پس زیرِ نامِ کاربری‌ات ظاهر می‌شوند، ولی هر پاسخ به‌عنوانِ آمده از Claude Code برچسب می‌خورد تا بازبین‌ها بدانند که آن را ایجنت نوشته نه مستقیماً تو.

هر نشستِ ابری از ماشینت و از نشست‌های دیگر از طریقِ چند لایه جدا می‌شود:

  • ماشین‌های مجازیِ منزوی: هر نشست در یک VMِ منزوی و مدیریت‌شده‌ی Anthropic اجرا می‌شود
  • کنترل‌های دسترسیِ شبکه: دسترسیِ شبکه به‌صورتِ پیش‌فرض محدود است و می‌توان غیرفعالش کرد. هنگامِ اجرا با دسترسیِ شبکه‌ی غیرفعال، Claude Code همچنان می‌تواند با APIِ Anthropic ارتباط برقرار کند، که ممکن است اجازه دهد داده از VM خارج شود.
  • محافظت از اعتبارنامه: اعتبارنامه‌های حساس مثلِ اعتبارنامه‌های git یا کلیدهای امضا هیچ‌وقت درونِ sandbox همراهِ Claude Code نیستند. احرازهویت از طریقِ یک پروکسیِ امن با اعتبارنامه‌های scoped رسیدگی می‌شود.
  • تحلیلِ امن: کد درونِ VMهای منزوی تحلیل و اصلاح می‌شود پیش از ساختِ PRها

برای خطاهای زمانِ‌اجرای API که در گفت‌وگو ظاهر می‌شوند مثلِ API Error: 500، 529 Overloaded، 429 یا Prompt is too long، مرجعِ خطا را ببین. آن خطاها و رفعشان با CLI و اپِ Desktop مشترک‌اند. بخش‌های زیر مشکلاتِ مختصِ نشست‌های ابری را پوشش می‌دهند.

اگر یک نشستِ تازه با Session creation failed شروع نشود یا در provisioning گیر کند، Claude Code نتوانست یک محیطِ ابری اختصاص دهد.

  • status.claude.com را برای حوادثِ نشستِ ابری بررسی کن
  • پس از یک دقیقه دوباره امتحان کن، چون ظرفیت به‌خواست تأمین می‌شود
  • تأیید کن که مخزنت قابلِ‌دسترس است. حسابِ GitHubِ متصل‌کننده باید روی GitHub به مخزن دسترسی داشته باشد، یا از طریقِ مجوزِ Claude GitHub App یا یک توکنِ gh که با /web-setup همگام شده—نصبِ اپ روی مخزن لازم نیست. گزینه‌های احرازهویتِ GitHub را ببین.

نشستِ Remote Control منقضی شد یا دسترسی رد شد

Section titled “نشستِ Remote Control منقضی شد یا دسترسی رد شد”

--teleport از طریقِ همان زیرساختِ نشستِ Remote Control که نشست‌های ابری استفاده می‌کنند وصل می‌شود، پس خطاهای احرازهویت و انقضای نشست با عباراتِ Remote Control نمایان می‌شوند. ممکن است Remote Control session expired یا Access denied ببینی. توکنِ اتصال کوتاه‌عمر و scoped به حسابت است.

  • /login را محلی اجرا کن تا اعتبارنامه‌هایت تازه شوند، بعد دوباره وصل شو
  • تأیید کن که با همان حسابی که مالکِ نشست است وارد شده‌ای
  • اگر Remote Control may not be available for this organization دیدی، ادمینت نشست‌های ابری را برای پلنت فعال نکرده است

نشست‌های ابری پس از مدتی بی‌فعالیت متوقف می‌شوند و محیطِ زیرین بازپس‌گرفته می‌شود. از یک ترمینالِ محلی، این به‌صورتِ Could not resume session ... its environment has expired. Creating a fresh session instead. نمایان می‌شود. روی وب، نشست در فهرستِ نشست‌ها به‌عنوانِ منقضی علامت می‌خورد.

نشست را از claude.ai/code دوباره باز کن تا یک محیطِ تازه با تاریخچه‌ی گفت‌وگویت بازیابی‌شده تأمین شود.

پیش از تکیه بر نشست‌های ابری برای یک ورک‌فلو، این قیدها را در نظر بگیر:

  • محدودیت‌های نرخ: Claude Code روی وب محدودیت‌های نرخ را با همه‌ی استفاده‌ی دیگرِ Claude و Claude Code در حسابت به اشتراک می‌گذارد. اجرای چند کار به‌موازات به‌تناسب محدودیت‌های نرخِ بیشتری مصرف می‌کند. هیچ هزینه‌ی محاسباتیِ جداگانه‌ای برای VMِ ابری نیست.
  • احرازهویتِ مخزن: فقط وقتی می‌توانی نشست‌ها را از وب به محلی جابه‌جا کنی که با همان حساب احرازهویت شده باشی
  • قیدهای پلتفرم: clone کردنِ مخزن و ساختِ pull request به GitHub نیاز دارند. نمونه‌های self-hostedِ GitHub Enterprise Server برای پلن‌های Team و Enterprise پشتیبانی می‌شوند. مخزن‌های GitLab، Bitbucket و دیگر مخزن‌های غیرِ‌GitHub را می‌توان به‌صورتِ یک bundleِ محلی به نشست‌های ابری فرستاد، ولی نشست نمی‌تواند نتایج را به remote بازپوش کند
  • allowlistِ IPِ سازمان: نشست‌های ابری APIِ Anthropic را از زیرساختِ مدیریت‌شده‌ی Anthropic فرامی‌خوانند، نه شبکه‌ی تو. اگر سازمانت IP allowlisting فعال دارد، هر نشستِ ابری با یک خطای احرازهویت شکست می‌خورد. همین برای Code Review و Routines صدق می‌کند. با پشتیبانیِ Anthropic تماس بگیر تا سرویس‌های میزبانی‌شده‌ی Anthropic را از allowlistِ IPِ سازمانت معاف کنی.
  • Ultraplan: یک برنامه را در یک نشستِ ابری پیش‌نویس کن و در مرورگرت بازبینی‌اش کن
  • Ultrareview: یک code reviewِ عمیقِ چندایجنته را در یک sandboxِ ابری اجرا کن
  • Routines: کار را روی یک زمان‌بندی، از طریقِ یک فراخوانیِ API، یا در پاسخ به رویدادهای GitHub خودکار کن
  • پیکربندیِ هوک‌ها: اسکریپت‌ها را در رویدادهای چرخه‌ی عمرِ نشست اجرا کن
  • مرجعِ تنظیمات: همه‌ی گزینه‌های پیکربندی
  • امنیت: تضمین‌های انزوا و مدیریتِ داده
  • استفاده‌ی داده: اینکه Anthropic چه چیزی از نشست‌های ابری نگه می‌دارد