استفاده از Claude Code روی وب
Claude Code روی وب کارها را روی زیرساختِ ابریِ مدیریتشدهی Anthropic در claude.ai/code اجرا میکند. نشستها حتی اگر مرورگرت را ببندی پایدار میمانند، و میتوانی از اپِ موبایلِ Claude مانیتورشان کنی.
این صفحه اینها را پوشش میدهد:
- گزینههای احرازهویتِ GitHub: دو راهِ اتصالِ GitHub
- محیطِ ابری: چه پیکربندیای منتقل میشود، چه ابزارهایی نصباند و چطور محیطها را پیکربندی کنی
- اسکریپتهای راهاندازی و مدیریتِ وابستگی
- دسترسیِ شبکه: سطوح، پروکسیها و allowlistِ پیشفرض
- جابهجاییِ کارها بینِ وب و ترمینال با
--remoteو--teleport - کار با نشستها: بازبینی، اشتراک، آرشیو، حذف
- اصلاحِ خودکارِ pull requestها: پاسخِ خودکار به شکستهای CI و کامنتهای بازبینی
- امنیت و انزوا: اینکه نشستها چطور منزوی میشوند
- محدودیتها: محدودیتهای نرخ و قیدهای پلتفرم
گزینههای احرازهویتِ GitHub
Section titled “گزینههای احرازهویتِ GitHub”نشستهای ابری به دسترسی به مخزنهای GitHubات نیاز دارند تا کد را clone و شاخهها را push کنند. میتوانی به دو شکل دسترسی بدهی:
| روش | چطور کار میکند | بهترین برای |
|---|---|---|
| GitHub App | Claude 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 غیرفعال کنند.
محیطِ ابری
Section titled “محیطِ ابری”هر نشست در یک 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 نیاز داری، آنها را با درنظرگرفتنِ این میزانِ دیدهشدن بهعنوان متغیرِ محیطی اضافه کن.
ابزارهای نصبشده
Section titled “ابزارهای نصبشده”نشستهای ابری با runtimeهای زبانیِ رایج، ابزارهای build و پایگاهدادههای ازپیشنصب همراهاند. جدولِ زیر آنچه را که گنجانده شده بر اساسِ دسته خلاصه میکند.
| دسته | گنجاندهشده |
|---|---|
| Python | Python 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 |
| Java | OpenJDK 21 با Maven و Gradle |
| Go | آخرین نسخهی پایدار با پشتیبانیِ module |
| Rust | rustc و cargo |
| C/C++ | GCC، Clang، cmake، ninja، conan |
| Docker | docker، dockerd، docker compose |
| Databases | PostgreSQL 16، Redis 7.0 |
| Utilities | git، 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ی لازم نیست.
پیوندِ artifactها به نشست
Section titled “پیوندِ artifactها به نشست”هر نشستِ ابری یک URLِ transcript روی claude.ai دارد، و نشست میتواند IDِ خودش را از متغیرِ محیطیِ CLAUDE_CODE_REMOTE_SESSION_ID بخواند. از این برای گذاشتنِ یک لینکِ قابلِردگیری در بدنهی PRها، پیامهای کامیت، پستهای Slack یا گزارشهای تولیدشده استفاده کن تا یک بازبین بتواند اجرایی را که آنها را تولید کرده باز کند.
مقدارِ این متغیر از یک پیشوندِ cse_ استفاده میکند، در حالی که مسیرِ URLِ transcript همان ID را با پیشوندِ session_ میگیرد. هنگامِ ساختنِ لینک پیشوند را جایگزین کن. دستورِ زیر URL را چاپ میکند:
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 بخواه هرکدام را در طولِ نشست راه بیندازد:
service postgresql startservice redis-server startDocker برای اجرای سرویسهای containerشده در دسترس است. از Claude بخواه docker compose up را اجرا کند تا سرویسهای پروژهات راه بیفتند. دسترسیِ شبکه برای pull کردنِ imageها از سطحِ دسترسیِ محیطت پیروی میکند، و پیشفرضهای Trusted شاملِ Docker Hub و دیگر registryهای رایجاند.
اگر imageهایت بزرگ یا کندِ pullاند، docker compose pull یا docker compose build را به اسکریپتِ راهاندازیات اضافه کن. imageهای pullشده در محیطِ کششده ذخیره میشوند، پس هر نشستِ تازه آنها را روی دیسک دارد. کش فقط فایلها را ذخیره میکند، نه فرایندهای در حالِ اجرا، پس Claude همچنان هر نشست containerها را راه میاندازد.
برای افزودنِ بستههایی که ازپیشنصب نیستند، از یک اسکریپتِ راهاندازی استفاده کن. خروجیِ اسکریپت کش میشود، پس بستههایی که آنجا نصب میکنی در شروعِ هر نشست بدونِ نصبِ دوباره در دسترساند. همچنین میتوانی از Claude بخواهی میانِ نشست بسته نصب کند، ولی آن نصبها به نشستهای دیگر منتقل نمیشوند.
محدودیتهای منابع
Section titled “محدودیتهای منابع”نشستهای ابری با سقفهای تقریبیِ منابع اجرا میشوند که ممکن است با گذشتِ زمان تغییر کنند:
- ۴ vCPU
- ۱۶ گیگابایت RAM
- ۳۰ گیگابایت دیسک
کارهایی که بهطورِ چشمگیر حافظهی بیشتری میخواهند، مثلِ buildهای بزرگ یا تستهای حافظهبر، ممکن است شکست بخورند یا متوقف شوند. برای بارهای کاریِ فراتر از این محدودیتها، از Remote Control استفاده کن تا Claude Code را روی سختافزارِ خودت اجرا کنی.
پیکربندیِ محیطت
Section titled “پیکربندیِ محیطت”محیطها دسترسیِ شبکه، متغیرهای محیطی و اسکریپتِ راهاندازیی را که پیش از شروعِ نشست اجرا میشود کنترل میکنند. برای آنچه بدونِ هیچ پیکربندی در دسترس است، ابزارهای نصبشده را ببین. میتوانی محیطها را از رابطِ وب یا ترمینال مدیریت کنی:
| اکشن | چطور |
|---|---|
| افزودنِ یک محیط | محیطِ فعلی را انتخاب کن تا انتخابگر باز شود، بعد Add environment را انتخاب کن. دیالوگ شاملِ نام، سطحِ دسترسیِ شبکه، متغیرهای محیطی و اسکریپتِ راهاندازی است. |
| ویرایشِ یک محیط | آیکونِ ابری که نامِ محیطِ فعلی را نشان میدهد انتخاب کن تا انتخابگر باز شود، روی یک محیط hover کن و روی آیکونِ تنظیماتی که سمتِ راست ظاهر میشود کلیک کن. |
| آرشیوِ یک محیط | محیط را برای ویرایش باز کن و Archive را انتخاب کن. محیطهای آرشیوشده از انتخابگر پنهان میشوند ولی نشستهای موجود به اجرا ادامه میدهند. |
تنظیمِ پیشفرض برای --remote | در ترمینالت /remote-env را اجرا کن. اگر یک محیطِ واحد داری، این دستور پیکربندیِ فعلیات را نشان میدهد. /remote-env فقط پیشفرض را انتخاب میکند؛ افزودن، ویرایش و آرشیوِ محیطها را از رابطِ وب انجام بده. |
متغیرهای محیطی از قالبِ .env با یک جفتِ KEY=value در هر خط استفاده میکنند. مقادیر را در گیومه نپیچ، چون گیومهها بهعنوانِ بخشی از مقدار ذخیره میشوند.
NODE_ENV=developmentLOG_LEVEL=debugDATABASE_URL=postgres://localhost:5432/myappاسکریپتهای راهاندازی
Section titled “اسکریپتهای راهاندازی”یک اسکریپتِ راهاندازی، اسکریپتِ Bashی است که وقتی یک نشستِ ابریِ تازه شروع میشود، پیش از راهاندازیِ Claude Code، اجرا میشود. از اسکریپتهای راهاندازی استفاده کن تا وابستگیها را نصب کنی، ابزارها را پیکربندی کنی، یا هر چیزی را که نشست نیاز دارد و ازپیشنصب نیست واکشی کنی.
اسکریپتها بهعنوانِ root روی Ubuntu 24.04 اجرا میشوند، پس apt install و بیشترِ package managerهای زبانی کار میکنند.
برای افزودنِ یک اسکریپتِ راهاندازی، دیالوگِ تنظیماتِ محیط را باز کن و اسکریپتت را در فیلدِ Setup script وارد کن.
این مثال gh CLI را که ازپیشنصب نیست نصب میکند:
#!/bin/bashapt update && apt install -y ghاگر اسکریپت با خروجیِ ناصفر تمام شود، نشست شروع نمیشود. || true را به دستورهای غیرحیاتی اضافه کن تا نشست بهخاطرِ یک شکستِ نصبِ گذرا مسدود نشود.
زمانِ اجرای کلِ اسکریپت را زیرِ حدودِ پنج دقیقه نگه دار تا کشِ محیط بتواند ساخته شود. نصبهای مستقل را بهموازات با & و wait اجرا کن. اگر یک دانلودِ واحد در محدودیتِ پنجدقیقهای جا نمیشود، آن را به یک هوکِ SessionStart منتقل کن که آن را در پسزمینه راه میاندازد.
کشکردنِ محیط
Section titled “کشکردنِ محیط”اسکریپتِ راهاندازی اولین باری که در یک محیط نشستی شروع میکنی اجرا میشود. پس از تکمیلش، 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 0fi
npm installpip install -r requirements.txtexit 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 اجرا کن.
دسترسیِ شبکه
Section titled “دسترسیِ شبکه”دسترسیِ شبکه اتصالهای خروجی از محیطِ ابری را کنترل میکند. هر محیط یک سطحِ دسترسی مشخص میکند، و میتوانی آن را با دامنههای مجازِ سفارشی گسترش بدهی. پیشفرض Trusted است، که registryهای بسته و دیگر دامنههای allowlistشده را مجاز میکند.
برای تغییرِ دسترسیِ شبکهی یک محیط، آن را برای ویرایش باز کن و از انتخابگرِ Network access در دیالوگ استفاده کن. هیچ صفحهی جداگانهی Environments وجود ندارد. آیکونِ ابری هر جا که نشستِ ابری شروع میکنی یا یک routine پیکربندی میکنی ظاهر میشود.
سطوحِ دسترسی
Section titled “سطوحِ دسترسی”هنگامِ ساختن یا ویرایشِ یک محیط یک سطحِ دسترسی انتخاب کن:
| سطح | اتصالهای خروجی |
|---|---|
| None | بدونِ دسترسیِ شبکهی خروجی |
| Trusted | فقط دامنههای allowlistشده: registryهای بسته، GitHub، SDKهای ابری |
| Full | هر دامنهای |
| Custom | allowlistِ خودت، اختیاراً شاملِ پیشفرضها |
عملیاتِ GitHub از یک پروکسیِ جداگانه استفاده میکنند که مستقل از این تنظیم است.
اجازهدادن به دامنههای مشخص
Section titled “اجازهدادن به دامنههای مشخص”برای اجازهدادن به دامنههایی که در فهرستِ Trusted نیستند، در تنظیماتِ دسترسیِ شبکهی محیط Custom را انتخاب کن. یک فیلدِ Allowed domains ظاهر میشود. یک دامنه در هر خط وارد کن:
api.example.com*.internal.example.comregistry.example.comاز *. برای تطبیقِ wildcardِ زیردامنه استفاده کن. تیکِ Also include default list of common package managers را بزن تا دامنههای Trusted را کنارِ ورودیهای سفارشیات نگه داری، یا بدونِتیک بگذار تا فقط آنچه فهرست میکنی مجاز شود.
پروکسیِ GitHub
Section titled “پروکسیِ GitHub”برای امنیت، همهی عملیاتِ GitHub از یک سرویسِ پروکسیِ اختصاصی عبور میکنند که همهی تعاملهای git را شفاف رسیدگی میکند. درونِ sandbox، کلاینتِ git با یک اعتبارنامهی scopedِ سفارشیساخته احرازهویت میکند. این پروکسی:
- احرازهویتِ GitHub را امن مدیریت میکند: کلاینتِ git از یک اعتبارنامهی scoped درونِ sandbox استفاده میکند، که پروکسی آن را راستیآزمایی و به توکنِ احرازهویتِ واقعیِ GitHubات ترجمه میکند
- عملیاتِ git push را برای ایمنی به شاخهی کاریِ فعلی محدود میکند
- clone، fetch و عملیاتِ PR را فعال میکند در حالی که مرزهای امنیتی را حفظ میکند
پروکسیِ امنیتی
Section titled “پروکسیِ امنیتی”محیطها برای امنیت و پیشگیری از سوءاستفاده پشتِ یک پروکسیِ شبکهی 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
- registry.npmjs.org
- www.npmjs.com
- www.npmjs.org
- npmjs.com
- npmjs.org
- yarnpkg.com
- registry.yarnpkg.com
package managerهای Python
- pypi.org
- www.pypi.org
- files.pythonhosted.org
- pythonhosted.org
- test.pypi.org
- pypi.python.org
- pypa.io
- www.pypa.io
package managerهای Ruby
- rubygems.org
- www.rubygems.org
- api.rubygems.org
- index.rubygems.org
- ruby-lang.org
- www.ruby-lang.org
- rubyforge.org
- www.rubyforge.org
- rubyonrails.org
- www.rubyonrails.org
- rvm.io
- get.rvm.io
package managerهای Rust
- crates.io
- www.crates.io
- index.crates.io
- static.crates.io
- rustup.rs
- static.rust-lang.org
- www.rust-lang.org
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های دیگر
- packagist.org (PHP Composer)
- www.packagist.org
- repo.packagist.org
- nuget.org (.NET NuGet)
- www.nuget.org
- api.nuget.org
- pub.dev (Dart/Flutter)
- api.pub.dev
- hex.pm (Elixir/Erlang)
- www.hex.pm
- cpan.org (Perl CPAN)
- www.cpan.org
- metacpan.org
- www.metacpan.org
- api.metacpan.org
- cocoapods.org (iOS/macOS)
- www.cocoapods.org
- cdn.cocoapods.org
- haskell.org
- www.haskell.org
- hackage.haskell.org
- swift.org
- www.swift.org
توزیعهای Linux
- archive.ubuntu.com
- security.ubuntu.com
- ubuntu.com
- www.ubuntu.com
- *.ubuntu.com
- ppa.launchpad.net
- launchpad.net
- www.launchpad.net
- *.nixos.org
ابزارها و پلتفرمهای توسعه
- 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 و پیکربندی
- json-schema.org
- www.json-schema.org
- json.schemastore.org
- www.schemastore.org
Model Context Protocol
- *.modelcontextprotocol.io
جابهجاییِ کارها بینِ وب و ترمینال
Section titled “جابهجاییِ کارها بینِ وب و ترمینال”این ورکفلوها به CLIِ Claude Code که با همان حسابِ claude.ai وارد شده نیاز دارند. میتوانی نشستهای ابریِ تازه را از ترمینالت شروع کنی، یا نشستهای ابری را به ترمینالت بکشی تا محلی ادامه دهی. نشستهای ابری حتی اگر لپتاپت را ببندی پایدار میمانند، و میتوانی از هرجا از جمله اپِ موبایلِ Claude مانیتورشان کنی.
از ترمینال به وب
Section titled “از ترمینال به وب”یک نشستِ ابری را از خطِ فرمان با پرچمِ --remote شروع کن:
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 شروع کن تا روی رویکرد همکاری کنی، بعد کار را به ابر بفرست:
claude --permission-mode planدر plan mode، Claude فایلها را میخواند، دستورها را برای کاوش اجرا میکند و یک برنامه پیشنهاد میدهد بدونِ ویرایشِ کدِ سورس. وقتی راضی شدی، برنامه را در مخزن ذخیره کن، کامیت و push کن تا VMِ ابری بتواند cloneاش کند. بعد یک نشستِ ابری برای اجرای خودمختار شروع کن:
claude --remote "Execute the migration plan in docs/migration-plan.md"این الگو به تو کنترل بر استراتژی میدهد در حالی که میگذارد Claude خودمختار در ابر اجرا کند.
در ابر با ultraplan برنامهریزی کن: برای پیشنویس و بازبینیِ خودِ برنامه در یک نشستِ وب، از ultraplan استفاده کن. Claude برنامه را روی Claude Code روی وب تولید میکند در حالی که تو به کارت ادامه میدهی، بعد در مرورگرت روی بخشها کامنت میگذاری و انتخاب میکنی از راه دور اجرا کنی یا برنامه را به ترمینالت برگردانی.
کارها را بهموازات اجرا کن: هر دستورِ --remote نشستِ ابریِ خودش را میسازد که مستقل اجرا میشود. میتوانی چند کار شروع کنی و همه بهطورِ همزمان در نشستهای جداگانه اجرا میشوند:
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 را تنظیم کن:
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 هم پیکربندی شده باشد
از وب به ترمینال
Section titled “از وب به ترمینال”یک نشستِ ابری را با هر یک از اینها به ترمینالت بکش:
- با
--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
Section titled “پیشنیازهای teleport”teleport پیش از از سر گرفتنِ یک نشست این پیشنیازها را بررسی میکند. اگر هر پیشنیازی برآورده نشود، یک خطا میبینی یا از تو خواسته میشود مشکل را حل کنی.
| پیشنیاز | جزئیات |
|---|---|
| وضعیتِ تمیزِ git | دایرکتوریِ کاریات باید هیچ تغییرِ کامیتنشدهای نداشته باشد. teleport در صورتِ لزوم از تو میخواهد تغییرات را stash کنی. |
| مخزنِ درست | باید --teleport را از یک checkout از همان مخزن اجرا کنی، نه یک fork. |
| شاخهی در دسترس | شاخهی نشستِ ابری باید به remote push شده باشد. teleport خودکار fetch و checkoutاش میکند. |
| همان حساب | باید با همان حسابِ claude.ai که در نشستِ ابری استفاده شده احرازهویت شده باشی. |
--teleport در دسترس نیست
Section titled “--teleport در دسترس نیست”teleport به احرازهویتِ اشتراکِ claude.ai نیاز دارد. اگر با API key، Bedrock، Vertex AI یا Microsoft Foundry احرازهویت شدهای، /login را اجرا کن تا بهجایش با حسابِ claude.aiات وارد شوی. اگر از قبل با claude.ai واردی و --teleport هنوز در دسترس نیست، شاید سازمانت نشستهای ابری را غیرفعال کرده باشد.
کار با نشستها
Section titled “کار با نشستها”نشستها در نوارِ کناری در claude.ai/code ظاهر میشوند. از آنجا میتوانی تغییرات را بازبینی کنی، با همتیمیها به اشتراک بگذاری، کارِ تمامشده را آرشیو کنی، یا نشستها را برای همیشه حذف کنی.
مدیریتِ کانتکست
Section titled “مدیریتِ کانتکست”نشستهای ابری از دستورهای داخلی که خروجیِ متنی تولید میکنند پشتیبانی میکنند. دستورهایی که یک انتخابگرِ تعاملیِ ترمینال باز میکنند، مثلِ /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 به متغیرهای محیطیات فعالشان کرد.
بازبینیِ تغییرات
Section titled “بازبینیِ تغییرات”هر نشست یک نشانگرِ diff با خطوطِ افزوده و حذفشده نشان میدهد، مثلِ +42 -18. آن را انتخاب کن تا نمای diff باز شود، روی خطوطِ مشخص کامنتهای inline بگذاری و آنها را با پیامِ بعدیات به Claude بفرستی. برای راهنمای کامل شاملِ ساختِ PR، بازبینی و تکرار را ببین. برای اینکه Claude خودکار PR را برای شکستهای CI و کامنتهای بازبینی مانیتور کند، اصلاحِ خودکارِ pull requestها را ببین.
اشتراکِ نشستها
Section titled “اشتراکِ نشستها”برای اشتراکِ یک نشست، دیدهشدنش را مطابقِ نوعِ حسابهای زیر تغییر بده. پس از آن، لینکِ نشست را همانطور که هست به اشتراک بگذار. گیرندگان هنگامِ بازکردنِ لینک آخرین وضعیت را میبینند، ولی نمایشان بهصورتِ بلادرنگ بهروز نمیشود.
اشتراک از یک حسابِ 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 برو.
آرشیوِ نشستها
Section titled “آرشیوِ نشستها”میتوانی نشستها را آرشیو کنی تا فهرستِ نشستهایت مرتب بماند. نشستهای آرشیوشده از فهرستِ پیشفرضِ نشستها پنهان میشوند ولی میتوان با فیلترکردن برای نشستهای آرشیوشده دیدشان.
برای آرشیوِ یک نشست، روی نشست در نوارِ کناری hover کن و آیکونِ آرشیو را انتخاب کن.
حذفِ نشستها
Section titled “حذفِ نشستها”حذفِ یک نشست، نشست و دادهاش را برای همیشه پاک میکند. این اقدام قابلِبازگشت نیست. میتوانی یک نشست را به دو شکل حذف کنی:
- از نوارِ کناری: برای نشستهای آرشیوشده فیلتر کن، بعد روی نشستی که میخواهی حذف کنی 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 برچسب میخورد تا بازبینها بدانند که آن را ایجنت نوشته نه مستقیماً تو.
امنیت و انزوا
Section titled “امنیت و انزوا”هر نشستِ ابری از ماشینت و از نشستهای دیگر از طریقِ چند لایه جدا میشود:
- ماشینهای مجازیِ منزوی: هر نشست در یک VMِ منزوی و مدیریتشدهی Anthropic اجرا میشود
- کنترلهای دسترسیِ شبکه: دسترسیِ شبکه بهصورتِ پیشفرض محدود است و میتوان غیرفعالش کرد. هنگامِ اجرا با دسترسیِ شبکهی غیرفعال، Claude Code همچنان میتواند با APIِ Anthropic ارتباط برقرار کند، که ممکن است اجازه دهد داده از VM خارج شود.
- محافظت از اعتبارنامه: اعتبارنامههای حساس مثلِ اعتبارنامههای git یا کلیدهای امضا هیچوقت درونِ sandbox همراهِ Claude Code نیستند. احرازهویت از طریقِ یک پروکسیِ امن با اعتبارنامههای scoped رسیدگی میشود.
- تحلیلِ امن: کد درونِ VMهای منزوی تحلیل و اصلاح میشود پیش از ساختِ PRها
عیبیابی
Section titled “عیبیابی”برای خطاهای زمانِاجرای API که در گفتوگو ظاهر میشوند مثلِ API Error: 500، 529 Overloaded، 429 یا Prompt is too long، مرجعِ خطا را ببین. آن خطاها و رفعشان با CLI و اپِ Desktop مشترکاند. بخشهای زیر مشکلاتِ مختصِ نشستهای ابری را پوشش میدهند.
ساختِ نشست شکست خورد
Section titled “ساختِ نشست شکست خورد”اگر یک نشستِ تازه با 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دیدی، ادمینت نشستهای ابری را برای پلنت فعال نکرده است
محیط منقضی شد
Section titled “محیط منقضی شد”نشستهای ابری پس از مدتی بیفعالیت متوقف میشوند و محیطِ زیرین بازپسگرفته میشود. از یک ترمینالِ محلی، این بهصورتِ Could not resume session ... its environment has expired. Creating a fresh session instead. نمایان میشود. روی وب، نشست در فهرستِ نشستها بهعنوانِ منقضی علامت میخورد.
نشست را از claude.ai/code دوباره باز کن تا یک محیطِ تازه با تاریخچهی گفتوگویت بازیابیشده تأمین شود.
محدودیتها
Section titled “محدودیتها”پیش از تکیه بر نشستهای ابری برای یک ورکفلو، این قیدها را در نظر بگیر:
- محدودیتهای نرخ: 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ِ سازمانت معاف کنی.
منابعِ مرتبط
Section titled “منابعِ مرتبط”- Ultraplan: یک برنامه را در یک نشستِ ابری پیشنویس کن و در مرورگرت بازبینیاش کن
- Ultrareview: یک code reviewِ عمیقِ چندایجنته را در یک sandboxِ ابری اجرا کن
- Routines: کار را روی یک زمانبندی، از طریقِ یک فراخوانیِ API، یا در پاسخ به رویدادهای GitHub خودکار کن
- پیکربندیِ هوکها: اسکریپتها را در رویدادهای چرخهی عمرِ نشست اجرا کن
- مرجعِ تنظیمات: همهی گزینههای پیکربندی
- امنیت: تضمینهای انزوا و مدیریتِ داده
- استفادهی داده: اینکه Anthropic چه چیزی از نشستهای ابری نگه میدارد