v1.0.0 · OpenCode Desktop · تست‌شده با 1.19.3

دیگر سراغ 
موس نرو.

یک لایهٔ کلید بومی برای OpenCode Desktop. تب بساز، بین تب‌ها بپر، همهٔ نشست‌ها را جست‌وجو کن و بدون قطع‌شدن جریان کار به تنظیمات برس.

  • بدون patch
  • بدون فرایند پس‌زمینه
  • مستندات انگلیسی و فارسی

سطح دسکتاپ

یک نقشهٔ کلید. دو سطح.

OpenCode Desktop لایهٔ مرورگری را می‌گیرد. نسخهٔ ترمینال، Hotkey Studio کامل را نگه می‌دارد. نصب و مدل ذهنی هر کدام جدا است تا هیچ‌کدام جای دیگری را نگیرد.

تب‌هایی که مثل تب رفتار می‌کنند

‏Alt+Enter یک draft باز می‌کند. ‏Alt+1…9 مستقیم به تب باز می‌رود. ‏Alt+PageUp/Down بدون رفتن به نوار تب، تب‌ها را می‌چرخاند.

ساخته‌شده برای چیدمان واقعی

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

یک تغییر تنظیمات، نه patch

نصب‌کننده شناسهٔ فرمان‌های بومی را در تنظیمات خود OpenCode ادغام می‌کند، پشتیبان می‌سازد و یک فرمان برای برگشت می‌دهد.

جدید در ۱.۰ · Doctor

دستور --doctor کلیدهای نصب‌شده، گم‌شده، شخصی‌سازی‌شده و تکراری را گزارش می‌کند. برای خروجی ماشینی --json را اضافه کنید.

کنترل پشتیبان‌ها

با --backups فهرست بگیرید، یک پشتیبان را با نام برگردانید یا با --prune N جدیدترین‌ها را نگه دارید و بقیه را حذف کنید.

نصب مطمئن‌تر

--diff کلید فعلی و جدید را بدون نوشتن نشان می‌دهد و --keep-custom کلیدهایی را که خودتان تغییر داده‌اید دست‌نخورده می‌گذارد.

نقشهٔ کلیدها

همهٔ میان‌برهای دسکتاپ، یک‌جا.

این‌ها را یک‌جا نصب کنید یا از Settings → Shortcuts موارد دلخواه را بگذارید. نسخهٔ حروف لاتین و پیش‌فرض‌های OpenCode هم به‌عنوان گزینه‌های اضافی حفظ می‌شوند.

میان‌برهای کیبورد دسکتاپ برای OpenCode
کار اصلی گزینه‌های دیگر
تب جدید Alt+Enter Alt+T·Mod+T·Mod+N
رفتن به تب ۱ تا ۹ Alt+1…9 Mod+1…9
تب قبلی Alt+PageUp Alt+Home·Ctrl+Shift+Tab
تب بعدی Alt+PageDown Alt+End·Ctrl+Tab
جست‌وجوی فایل، فرمان و نشست Alt+/ Alt+O·Mod+P
باز کردن تنظیمات Alt+. Alt+K·Mod+,
بستن تب فعلی Mod+W پیش‌فرض خود اپ
بازگرداندن تب بسته‌شده Mod+Shift+T پیش‌فرض خود اپ
نشست قبلی / بعدی Alt+↑/↓ پیش‌فرض خود اپ
‏Alt+1…9 بین تب‌های باز جابه‌جا می‌شود، نه تاریخچه. همه‌چیز وقتی اپ فعال است کار می‌کند. ‏Mod در Linux و Windows یعنی Ctrl و در macOS یعنی Cmd. در macOS از معادل‌های Cmd استفاده کنید.

تب‌ها، نه تاریخچه.

‏Alt+1…9 بین تب‌هایی که الان بازند جابه‌جا می‌شود. برای رسیدن به هر نشست از ‏Alt+/ استفاده کنید و از پالت جست‌وجو انتخاب کنید.

چرا دو دسته کلید؟

تطبیق‌دهندهٔ دسکتاپ کاراکتری را مقایسه می‌کند که کلید تولید می‌کند، نه موقعیت فیزیکی آن را. در چیدمان فارسی، ‏Alt+T یک کاراکتر فارسی تولید می‌کند؛ برای همین مجموعهٔ اصلی از اعداد، جهت‌ها و نشانه‌گذاری استفاده می‌کند.

macOS با Cmd.

در macOS، ‏Option+حرف و ‏Option+عدد ممکن است کاراکتر ویژه تولید کنند. از ‏Cmd+1…9، ‏Cmd+T، ‏Cmd+P و ‏Cmd+, استفاده کنید؛ نصب‌کننده هر دو مجموعه را می‌نویسد.

نصب

یک فرمان. برگشت تمیز.

نصب‌کننده فقط از کتابخانهٔ استاندارد Node استفاده می‌کند. فایل تنظیمات دسکتاپ را پیدا می‌کند، پشتیبان می‌گیرد و ۱۴ میان‌بر را بدون دست‌زدن به بقیه ادغام می‌کند.

  1. نصب‌کننده را اجرا کنید

    از دستور یک‌خطی استفاده کنید یا مخزن را clone کنید. مرحلهٔ npm install وجود ندارد.

  2. اپ را ببندید و دوباره باز کنید

    OpenCode Desktop کلیدها را هنگام شروع می‌خواند. نصب‌کننده هیچ‌وقت اپ را برای شما نمی‌بندد.

  3. ‏Alt+Enter را بزنید

    باید یک تب draft جدید بگیرید. با ‏Alt+1…9 بین تب‌های باز جابه‌جا شوید.

terminal
$ curl -fsSL https://raw.githubusercontent.com/NarimanKhaleghi/opencode-hotkeys/main/install-desktop.sh | sh
Node 20+ OpenCode Desktop 1.19+
مرجع نصب‌کننده، نصب دستی و برگشت

نصب‌کننده فایل تنظیمات خود اپ را می‌نویسد. در Windows قبل از حذف، اپ را ببندید. هر نوشتن یک پشتیبان زمان‌دار می‌سازد.

--check
فقط وقتی همهٔ کلیدهای مدیریت‌شده نصب باشند با کد ۰ خارج می‌شود.
--print
JSON کلیدهای مدیریت‌شده را چاپ می‌کند.
--dry-run
تغییرات را بدون نوشتن نشان می‌دهد.
--diff
کلید فعلی و جدید را بدون نوشتن نشان می‌دهد.
--doctor
کلیدهای گم‌شده، شخصی‌سازی‌شده و تکراری را گزارش می‌کند.
--backups
پشتیبان‌های زمان‌دار را فهرست می‌کند.
--prune N
N پشتیبان جدید را نگه می‌دارد.
--uninstall
فقط کلیدهای مدیریت‌شدهٔ تغییرنکرده را حذف می‌کند.
--restore latest
جدیدترین پشتیبان کنار default.dat را برمی‌گرداند.

برای ویرایش دستی فایل، رشتهٔ JSON ذخیره‌شده در settings.v3 را parse کنید و این ورودی‌ها را به آبجکت keybinds اضافه کنید:

{
  "tab.new": "alt+enter,alt+t,mod+t,mod+n",
  "tab.1": "alt+1,mod+1",
  "tab.2": "alt+2,mod+2",
  "tab.3": "alt+3,mod+3",
  "tab.4": "alt+4,mod+4",
  "tab.5": "alt+5,mod+5",
  "tab.6": "alt+6,mod+6",
  "tab.7": "alt+7,mod+7",
  "tab.8": "alt+8,mod+8",
  "tab.9": "alt+9,mod+9",
  "tab.prev": "alt+pageup,alt+home,mod+option+arrowleft,ctrl+shift+tab",
  "tab.next": "alt+pagedown,alt+end,mod+option+arrowright,ctrl+tab",
  "file.open": "alt+/,alt+o,mod+p",
  "settings.open": "alt+.,alt+k,mod+comma"
}

در Linux و Windows، ‏mod یعنی Ctrl. در macOS، ‏mod یعنی Cmd. اپ دسکتاپ برای یک کار، گزینه‌های جداشده با کاما را می‌پذیرد.

زیر پوسته

یک مسیر کوچک و برگشت‌پذیر.

بدون تزریق، بدون wrapper و بدون سرویس. نصب‌کننده همان فایل تنظیماتی را می‌خواند که اپ استفاده می‌کند و آن را atomic برمی‌گرداند.

  1. 01

    پیدا کردن فایل

    مسیرهای استاندارد Linux، macOS و Windows و همچنین OPENCODE_DESKTOP_CONFIG را بررسی می‌کند.

  2. 02

    Parse کردن settings.v3

    اپ یک رشتهٔ JSON داخل default.dat نگه می‌دارد. فقط آبجکت keybinds آن دست می‌خورد.

  3. 03

    ادغام ۱۴ کلید

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

  4. 04

    پشتیبان، بعد نوشتن

    قبل از rename atomic یک پشتیبان زمان‌دار ساخته می‌شود. برگشت یک فرمان است.

Linux: ~/.config/ai.opencode.desktop/default.dat macOS: ~/Library/Application Support/ai.opencode.desktop/default.dat Windows: %APPDATA%\ai.opencode.desktop\default.dat

محدودیت‌ها

مرزهای این ابزار.

لایهٔ دسکتاپ عمداً باریک است. شناختن مرزها اعتماد به میان‌برها را بیشتر می‌کند.

سرویس میان‌بر سراسری نیست

میان‌برها وقتی کار می‌کنند که OpenCode Desktop فعال باشد. listener سراسری یا فرایند پس‌زمینه‌ای وجود ندارد.

استودیو در دسکتاپ نیست

اپ دسکتاپ پلاگین‌های TUI را لود نمی‌کند. Hotkey Studio در نسخهٔ ترمینال می‌ماند؛ دسکتاپ از Settings → Shortcuts بومی استفاده می‌کند.

شمارهٔ تب، نه تاریخچهٔ نشست

‏Alt+1…9 فقط به تب‌های باز می‌رسد. ‏Alt+/ کل فهرست نشست‌ها را جست‌وجو می‌کند و برای پرش روزمره بهتر است.

upstream می‌تواند نام فرمان را عوض کند

کلیدها به شناسهٔ فرمان‌های داخلی وصل‌اند. آپدیت بعدی اپ می‌تواند یکی را عوض کند؛ بعد از آپدیت ‏--check را اجرا کنید و در صورت نیاز دوباره نصب کنید.

نسخهٔ ترمینال

استودیو هنوز در TUI است.

برای تغییر preset، quick slotهای نشست و رابط کامل تغییر کلید، از نسخهٔ ترمینال استفاده کنید. این یک پلاگین جدا با نصب جداست.

  • presetهای بومی، مرورگر و یادداشت.
  • quick slotها با نشست‌های pinشده و اخیر.
  • Hotkey Studio با ثبت کلید، تداخل و بازنشانی.
رفتن به راهنمای TUI
استودیوی کلید در رابط ترمینال OpenCode
Hotkey Studio · نسخهٔ ترمینال

پرسش‌ها

قبل از نصب.

پاسخ‌های کوتاه دربارهٔ چیدمان، برگشت، آپدیت و چیزهایی که اپ دسکتاپ می‌تواند یا نمی‌تواند بارگذاری کند.

چرا روی کیبورد من فقط ‏Alt+1…9 کار می‌کند؟

چیدمان شما برای کلیدهای حرفی کاراکتر غیرلاتین تولید می‌کند. از ‏Alt+Enter، ‏Alt+PageUp/Down، ‏Alt+/ و ‏Alt+. استفاده کنید؛ نصب‌کننده همین کلیدهای پایدار را اول می‌گذارد. ‏Alt+T، ‏Alt+O و ‏Alt+K برای چیدمان‌های لاتین می‌مانند.

آیا روی macOS و Windows کار می‌کند؟

بله. نصب‌کننده هر سه پلتفرم را تشخیص می‌دهد و کلیدهای ‏Alt و ‏Cmd/Mod را با هم می‌نویسد. در macOS ممکن است ‏Option+حرف کاراکتر ویژه بسازد؛ مجموعهٔ مطمئن ‏Cmd+1…9، ‏Cmd+T، ‏Cmd+P و ‏Cmd+, است. در Windows قبل از نصب ‏OpenCode Desktop را ببندید تا فایل تنظیمات قفل نباشد.

آیا این OpenCode Desktop را patch یا wrap می‌کند؟

نه. فقط تنظیمات کلید خود اپ را ویرایش می‌کند. نه fork، نه اسکریپت تزریقی و نه فرایند پس‌زمینه‌ای وجود ندارد.

چطور نصب را برمی‌گردانم؟

دستور ‏desktop/install.mjs --uninstall را اجرا کنید یا با ‏--restore latest جدیدترین پشتیبان را برگردانید. نصب‌کننده بعد از هر نوشتن مسیر پشتیبان را چاپ می‌کند.

آیا به npm نیاز دارم؟

نه. نصب‌کنندهٔ دسکتاپ وابستگی npm ندارد. برای اجرا به Node.js 20+ نیاز دارید یا می‌توانید میان‌برها را از پنجرهٔ Settings بومی اپ تغییر دهید.

آپدیت OpenCode آن را پاک می‌کند؟

فایل تنظیمات شما بعد از آپدیت اپ می‌ماند. نسخهٔ بعدی می‌تواند نام یک فرمان داخلی را عوض کند؛ بعد از آپدیت مهم ‏--check را اجرا کنید و اگر کلیدی گم شده بود دوباره نصب کنید.

وقتی اپ در پس‌زمینه است کار می‌کند؟

نه. این‌ها میان‌بر خود اپ هستند، نه hotkey سراسری. پنجرهٔ OpenCode Desktop باید فعال باشد.