@alisaitteke/photoshop-mcp 1.3.13 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (141) hide show
  1. package/README.de.md +766 -0
  2. package/README.es.md +717 -0
  3. package/README.ja.md +712 -0
  4. package/README.md +135 -40
  5. package/README.tr.md +773 -0
  6. package/README.zh-CN.md +710 -0
  7. package/dist/api/extendscript.d.ts +17 -1
  8. package/dist/api/extendscript.d.ts.map +1 -1
  9. package/dist/api/extendscript.js +301 -3
  10. package/dist/api/extendscript.js.map +1 -1
  11. package/dist/api/photoshop-api.d.ts +1 -1
  12. package/dist/api/photoshop-api.d.ts.map +1 -1
  13. package/dist/api/photoshop-api.js +4 -4
  14. package/dist/api/photoshop-api.js.map +1 -1
  15. package/dist/core/server.d.ts.map +1 -1
  16. package/dist/core/server.js +8 -0
  17. package/dist/core/server.js.map +1 -1
  18. package/dist/errors/envelope.d.ts +1 -1
  19. package/dist/errors/envelope.d.ts.map +1 -1
  20. package/dist/errors/envelope.js +4 -0
  21. package/dist/errors/envelope.js.map +1 -1
  22. package/dist/platform/capabilities.d.ts +7 -0
  23. package/dist/platform/capabilities.d.ts.map +1 -1
  24. package/dist/platform/capabilities.js +23 -1
  25. package/dist/platform/capabilities.js.map +1 -1
  26. package/dist/platform/uxp-bridge-client.d.ts +13 -0
  27. package/dist/platform/uxp-bridge-client.d.ts.map +1 -0
  28. package/dist/platform/uxp-bridge-client.js +31 -0
  29. package/dist/platform/uxp-bridge-client.js.map +1 -0
  30. package/dist/platform/uxp-bridge-server.d.ts +16 -0
  31. package/dist/platform/uxp-bridge-server.d.ts.map +1 -0
  32. package/dist/platform/uxp-bridge-server.js +105 -0
  33. package/dist/platform/uxp-bridge-server.js.map +1 -0
  34. package/dist/prompts/instructions.d.ts.map +1 -1
  35. package/dist/prompts/instructions.js +21 -12
  36. package/dist/prompts/instructions.js.map +1 -1
  37. package/dist/prompts/registry.d.ts +2 -2
  38. package/dist/prompts/registry.d.ts.map +1 -1
  39. package/dist/prompts/registry.js +15 -0
  40. package/dist/prompts/registry.js.map +1 -1
  41. package/dist/prompts/templates/batch-watermark.d.ts +3 -0
  42. package/dist/prompts/templates/batch-watermark.d.ts.map +1 -0
  43. package/dist/prompts/templates/batch-watermark.js +67 -0
  44. package/dist/prompts/templates/batch-watermark.js.map +1 -0
  45. package/dist/prompts/templates/generative-expand.d.ts +3 -0
  46. package/dist/prompts/templates/generative-expand.d.ts.map +1 -0
  47. package/dist/prompts/templates/generative-expand.js +34 -0
  48. package/dist/prompts/templates/generative-expand.js.map +1 -0
  49. package/dist/prompts/templates/generative-fill.d.ts +3 -0
  50. package/dist/prompts/templates/generative-fill.d.ts.map +1 -0
  51. package/dist/prompts/templates/generative-fill.js +29 -0
  52. package/dist/prompts/templates/generative-fill.js.map +1 -0
  53. package/dist/prompts/templates/generative-remove.d.ts +3 -0
  54. package/dist/prompts/templates/generative-remove.d.ts.map +1 -0
  55. package/dist/prompts/templates/generative-remove.js +36 -0
  56. package/dist/prompts/templates/generative-remove.js.map +1 -0
  57. package/dist/prompts/templates/passport-photo.d.ts +3 -0
  58. package/dist/prompts/templates/passport-photo.d.ts.map +1 -0
  59. package/dist/prompts/templates/passport-photo.js +36 -0
  60. package/dist/prompts/templates/passport-photo.js.map +1 -0
  61. package/dist/prompts/templates/remove-distraction.d.ts.map +1 -1
  62. package/dist/prompts/templates/remove-distraction.js +4 -5
  63. package/dist/prompts/templates/remove-distraction.js.map +1 -1
  64. package/dist/prompts/templates/split-carousel.d.ts +3 -0
  65. package/dist/prompts/templates/split-carousel.d.ts.map +1 -0
  66. package/dist/prompts/templates/split-carousel.js +49 -0
  67. package/dist/prompts/templates/split-carousel.js.map +1 -0
  68. package/dist/tools/generative/_shared.d.ts +14 -0
  69. package/dist/tools/generative/_shared.d.ts.map +1 -0
  70. package/dist/tools/generative/_shared.js +79 -0
  71. package/dist/tools/generative/_shared.js.map +1 -0
  72. package/dist/tools/generative-tools.d.ts +8 -0
  73. package/dist/tools/generative-tools.d.ts.map +1 -0
  74. package/dist/tools/generative-tools.js +221 -0
  75. package/dist/tools/generative-tools.js.map +1 -0
  76. package/dist/tools/layer-properties-tools.d.ts.map +1 -1
  77. package/dist/tools/layer-properties-tools.js +2 -1
  78. package/dist/tools/layer-properties-tools.js.map +1 -1
  79. package/dist/tools/neural-tools.d.ts +8 -0
  80. package/dist/tools/neural-tools.d.ts.map +1 -0
  81. package/dist/tools/neural-tools.js +99 -0
  82. package/dist/tools/neural-tools.js.map +1 -0
  83. package/dist/tools/recipes/_shared.d.ts +8 -0
  84. package/dist/tools/recipes/_shared.d.ts.map +1 -1
  85. package/dist/tools/recipes/_shared.js +45 -0
  86. package/dist/tools/recipes/_shared.js.map +1 -1
  87. package/dist/tools/recipes/batch-watermark.d.ts +4 -0
  88. package/dist/tools/recipes/batch-watermark.d.ts.map +1 -0
  89. package/dist/tools/recipes/batch-watermark.js +283 -0
  90. package/dist/tools/recipes/batch-watermark.js.map +1 -0
  91. package/dist/tools/recipes/enhance-portrait.d.ts.map +1 -1
  92. package/dist/tools/recipes/enhance-portrait.js +47 -0
  93. package/dist/tools/recipes/enhance-portrait.js.map +1 -1
  94. package/dist/tools/recipes/index.d.ts +1 -1
  95. package/dist/tools/recipes/index.d.ts.map +1 -1
  96. package/dist/tools/recipes/index.js +9 -0
  97. package/dist/tools/recipes/index.js.map +1 -1
  98. package/dist/tools/recipes/passport-photo.d.ts +4 -0
  99. package/dist/tools/recipes/passport-photo.d.ts.map +1 -0
  100. package/dist/tools/recipes/passport-photo.js +202 -0
  101. package/dist/tools/recipes/passport-photo.js.map +1 -0
  102. package/dist/tools/recipes/remove-background.d.ts.map +1 -1
  103. package/dist/tools/recipes/remove-background.js +5 -0
  104. package/dist/tools/recipes/remove-background.js.map +1 -1
  105. package/dist/tools/recipes/remove-distraction.d.ts.map +1 -1
  106. package/dist/tools/recipes/remove-distraction.js +48 -8
  107. package/dist/tools/recipes/remove-distraction.js.map +1 -1
  108. package/dist/tools/recipes/sky-blend.d.ts.map +1 -1
  109. package/dist/tools/recipes/sky-blend.js +43 -1
  110. package/dist/tools/recipes/sky-blend.js.map +1 -1
  111. package/dist/tools/recipes/split-carousel.d.ts +4 -0
  112. package/dist/tools/recipes/split-carousel.d.ts.map +1 -0
  113. package/dist/tools/recipes/split-carousel.js +163 -0
  114. package/dist/tools/recipes/split-carousel.js.map +1 -0
  115. package/dist/tools/state-tools.js +2 -2
  116. package/dist/tools/state-tools.js.map +1 -1
  117. package/package.json +3 -2
  118. package/uxp-plugin/index.html +20 -0
  119. package/uxp-plugin/main.js +139 -0
  120. package/uxp-plugin/manifest.json +26 -0
  121. package/web/dist/assets/index-BN7ku4VU.css +1 -0
  122. package/web/dist/assets/index-uXgjjmy3.js +346 -0
  123. package/web/dist/index.html +2 -2
  124. package/dist/analytics/client-ip.d.ts +0 -5
  125. package/dist/analytics/client-ip.d.ts.map +0 -1
  126. package/dist/analytics/client-ip.js +0 -39
  127. package/dist/analytics/client-ip.js.map +0 -1
  128. package/dist/analytics/debug-log.d.ts +0 -3
  129. package/dist/analytics/debug-log.d.ts.map +0 -1
  130. package/dist/analytics/debug-log.js +0 -21
  131. package/dist/analytics/debug-log.js.map +0 -1
  132. package/dist/prompts/templates.d.ts +0 -8
  133. package/dist/prompts/templates.d.ts.map +0 -1
  134. package/dist/prompts/templates.js +0 -162
  135. package/dist/prompts/templates.js.map +0 -1
  136. package/dist/tools/recipe-tools.d.ts +0 -4
  137. package/dist/tools/recipe-tools.d.ts.map +0 -1
  138. package/dist/tools/recipe-tools.js +0 -265
  139. package/dist/tools/recipe-tools.js.map +0 -1
  140. package/web/dist/assets/index-BgiXf1Jy.css +0 -1
  141. package/web/dist/assets/index-DvGX0LLy.js +0 -346
package/README.tr.md ADDED
@@ -0,0 +1,773 @@
1
+ # Photoshop MCP Server
2
+
3
+ <p align="center">
4
+ <a href="https://github.com/alisaitteke/photoshop-mcp">
5
+ <img src="./images/readme-hero.png" alt="Photoshop MCP — Yapay zeka destekli Photoshop otomasyonu" width="100%" />
6
+ </a>
7
+ </p>
8
+
9
+ **Diller:** [English](README.md) · [简体中文](README.zh-CN.md) · [Español](README.es.md) · [Deutsch](README.de.md) · [日本語](README.ja.md) · Türkçe
10
+
11
+ *v1.1+ — tarif iş akışları, daha az gidiş-dönüş, daha hızlı oturumlar. Bağımsız UI, plan-sonra-uygula çalıştırmaları için **Action Plan (beta)** sunar.*
12
+
13
+ > **Not:** Bu, resmi olmayan, topluluk tarafından sürdürülen bir projedir; Adobe Inc. ile bağlantılı değildir ve Adobe Inc. tarafından desteklenmemektedir.
14
+
15
+ [![npm version](https://img.shields.io/npm/v/@alisaitteke/photoshop-mcp.svg)](https://www.npmjs.com/package/@alisaitteke/photoshop-mcp)
16
+ [![GitHub release](https://img.shields.io/github/v/release/alisaitteke/photoshop-mcp?include_prereleases)](https://github.com/alisaitteke/photoshop-mcp/releases)
17
+ [![Action Plan](https://img.shields.io/badge/Action%20Plan-beta-amber.svg)](#action-plan-beta)
18
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
19
+ [![TypeScript](https://img.shields.io/badge/TypeScript-5.7-blue.svg)](https://www.typescriptlang.org/)
20
+ [![Platform](https://img.shields.io/badge/Platform-Windows%20%7C%20macOS-lightgrey.svg)]()
21
+
22
+ Model Context Protocol (MCP) sunucusu; Claude ve Cursor gibi yapay zeka asistanlarının Adobe Photoshop'u programatik olarak kontrol etmesini sağlar. Bu sayede IDE'nizden doğal dil komutlarıyla tasarım oluşturabilir, görselleri düzenleyebilir ve Photoshop iş akışlarını otomatikleştirebilirsiniz. Ayrıca hem API anahtarlarını hem de CLI abonelik hesaplarını (Claude Code / Gemini CLI) destekleyen dahili **bağımsız web UI** üzerinden de çalışabilirsiniz. UI, isteğe bağlı **Action Plan (beta)** modunu da sunar: tüm Photoshop adımları tek bir LLM çağrısında planlanır, ardından tek seferde yürütülür.
23
+
24
+ ## Neden bu proje var
25
+
26
+ Tasarımcılar ve geliştiriciler Photoshop'u yapay zeka asistanlarıyla yönetmek istiyor; ancak ham ExtendScript çağrıları kırılgandır: ajanlar deneme-yanılmayla token harcar, katman türleri filtreleri bozar ve başarısız bir komut belgeyi bilinmeyen bir durumda bırakır.
27
+
28
+ Photoshop MCP; **durum farkındalığı** (`get_state`, `get_preview`, `get_capabilities`), çok adımlı sonuçları tek bir geri alma adımında kapsayan **tarif araçları** ve ajanların sıradaki adımı bilmesini sağlayan **yapılandırılmış hata zarfları** ekler. İsteğe bağlı bağımsız UI ve Action Plan modu, uzun iş akışlarındaki gidiş-dönüşleri azaltır — böylece doğal dil gerçekten piksel üretir, yalnızca önermekle kalmaz.
29
+
30
+ Teknik derinleme: [`docs/architecture.md`](docs/architecture.md).
31
+
32
+ ## 🖥️ Bağımsız UI (IDE gerekmez)
33
+
34
+ Bunu Claude Desktop veya Cursor'a bağlamak istemiyorsanız? Aynı paket, bir yapay zeka modeliyle sohbet etmenizi ve bu MCP sunucusu aracılığıyla Photoshop'u yönetmenizi sağlayan tam yerel bir web UI içerir. Sağlayıcı API anahtarıyla **ya da** Anthropic ve Google için **Claude Code** veya **Gemini CLI**'dan OAuth oturumunu yeniden kullanarak bağlanın — ayrı API anahtarı gerekmez.
35
+
36
+ ![Bağımsız UI Ekran Görüntüsü](./images/frame_generic_light.png)
37
+
38
+ ```bash
39
+ npx -p @alisaitteke/photoshop-mcp photoshop-mcp-ui
40
+ ```
41
+
42
+ Hepsi bu. `127.0.0.1` üzerinde yerel bir sunucu başlar (rastgele boş port) ve varsayılan tarayıcınız sohbet UI'ını otomatik olarak açar.
43
+
44
+ ### Desteklenen sağlayıcılar
45
+
46
+ İlk başlatmada aşağıdakilerden birini seçin — API anahtarıyla **ya da** mevcut CLI abonelik hesabınızla (Anthropic ve Google):
47
+
48
+ | Sağlayıcı | Modeller | API anahtarı | CLI hesabı |
49
+ |---|---|---|---|
50
+ | **Anthropic** | Claude Sonnet / Opus / Haiku | [console.anthropic.com](https://console.anthropic.com/settings/keys) | `npm i -g @anthropic-ai/claude-code` → `claude auth login` |
51
+ | **OpenAI** | GPT-5, GPT-4.1, o-series | [platform.openai.com](https://platform.openai.com/api-keys) | — |
52
+ | **Google** | Gemini 2.5 Pro / Flash / Flash-Lite | [aistudio.google.com](https://aistudio.google.com/apikey) | `npm i -g @google/gemini-cli` → `gemini auth login` |
53
+ | **OpenRouter** | 100'den fazla sağlayıcı modeli | [openrouter.ai](https://openrouter.ai/keys) | — |
54
+
55
+ ### Kimlik doğrulama modları
56
+
57
+ - **`api_key` (varsayılan)** — Vercel AI SDK + kendi sağlayıcı API anahtarınız. Kullanım token başına API ücretleriyle faturalandırılır; UI her sohbet için tahmini maliyeti gösterir.
58
+ - **`cli_account`** — Yerel Claude Code veya Gemini CLI OAuth oturumunu kullanır.
59
+ API anahtarı saklanmaz; UI girişi doğrulamak için `claude auth status` / `gemini` başsız modunu yoklar. Kullanım **abonelik kotasına** sayılır, API faturalandırmasına değil — durum çubuğu "Included in subscription" gösterir.
60
+
61
+ Diğer kimlik bilgisini kaybetmeden sağlayıcı başına Ayarlar'dan kimlik doğrulama yöntemini değiştirebilirsiniz (örn. CLI hesabı denerken API anahtarını saklayın, sonra geri geçin).
62
+
63
+ ### Action Plan (beta)
64
+
65
+ Bağımsız web UI'da **yalnızca API anahtarı kimlik doğrulaması** için isteğe bağlı bir yürütme modu
66
+ (`cli_account` her zaman varsayılan ajantik akışı kullanır). **composer**'daki model seçicinin yanındaki
67
+ **Action Plan** düğmesiyle etkinleştirin.
68
+
69
+ Adım başına ReAct döngüsü (model → araç → model → araç …) yerine Action Plan:
70
+
71
+ 1. Photoshop MCP araç çağrılarını ve parametrelerini içeren sıralı bir yapılacaklar listesi çıkaran **tek** bir planlama LLM çağrısı yapar.
72
+ 2. Bu araçları **doğrudan** sırayla çalıştırır — adımlar arasında ekstra model gidiş-dönüşü olmadan.
73
+ 3. Başarısız bir adımda veya çözümlenmemiş bağımlılıkta, sınırlı bir **onarım** döngüsü çalışır (yalnızca kalan adımları yeniden planlar, en fazla 3 kez).
74
+
75
+ Plan, araç çağrı kartlarının üzerinde adım başına durum gösteren canlı bir yapılacaklar listesi olarak görünür (`pending` → `running` → `done` / `error`). Planlar sohbet geçmişinde kalıcı olarak saklanır ve yeniden yüklemeyi atlatır. Düğme varsayılan olarak kapalıdır; Action Plan devre dışıyken mevcut ajantik akış değişmeden kalır.
76
+
77
+ *"arka planı kaldır ve web için dışa aktar"* gibi daha az model çağrısı ve daha hızlı uçtan uca yürütme istediğiniz çok adımlı istemler için idealdir.
78
+
79
+ ### İlk başlatmada neler olur
80
+
81
+ 1. Bir sağlayıcı seçin ve **API key** veya **Uses your account** seçeneğini belirleyin.
82
+ 2. Anahtarı doğrulayın veya CLI bağlantısını kontrol edin. Yapılandırma `~/.photoshop-mcp/data.db` konumunda yerel olarak saklanır (SQLite, `chmod 600`). API anahtarları makinenizi asla terk etmez; CLI modu OAuth'u `~/.claude/` veya `~/.gemini/`'den devralır.
83
+ 3. Doğal dil istemleri yazın. UI modelin yanıtını akışla iletir, Photoshop araç çağrılarını gerçek zamanlı çalıştırır ve her araç çağrısını incelenebilir bir kart olarak (girdi + sonuç) gösterir.
84
+ 4. Sağlayıcıyı, kimlik doğrulama yöntemini veya modeli istediğiniz zaman Ayarlar / model seçiciden değiştirin — sohbetler, maliyetler ve araç geçmişi oturumlar arasında kalıcı olarak saklanır.
85
+
86
+ ### Kimlik doğrulama yöntemini daha sonra değiştirme
87
+
88
+ Kenar çubuğundan istediğiniz zaman **Ayarlar**'ı açın:
89
+
90
+ | İşlem | API anahtarı modu | CLI hesabı modu |
91
+ |---|---|---|
92
+ | Kurulum | Anahtarı yapıştır → **Save** | CLI yükle → `auth login` → **Check connection** |
93
+ | Geçiş | **API key** seç — saklanan anahtar korunur | **Uses your account** seç — anahtar silinmez |
94
+ | Özel ikili | — | `claude` / `gemini` `PATH`'de değilse isteğe bağlı **CLI path** |
95
+ | Maliyet göstergesi | Durum çubuğunda token başına tahmin | **Included in subscription** rozeti |
96
+
97
+ Kimlik doğrulama yöntemi, `~/.photoshop-mcp/data.db` içinde sağlayıcı başına saklanır (`authMethod`:
98
+ `api_key` veya `cli_account`). `authMethod` içermeyen mevcut yapılandırmalar varsayılan olarak `api_key`
99
+ kullanır ve değişmeden çalışmaya devam eder.
100
+
101
+ ### CLI bayrakları
102
+
103
+ ```
104
+ photoshop-mcp-ui [--port 5174] [--host 127.0.0.1] [--no-open]
105
+ ```
106
+
107
+ ### Notlar
108
+
109
+ - Ajan yalnızca Photoshop MCP araçlarıyla sınırlıdır — dahili kabuk, dosya
110
+ ve web araçları devre dışıdır.
111
+ - Teknoloji yığını: Frontend'de Vue 3 + Tailwind v4 + [shadcn-vue](https://www.shadcn-vue.com/);
112
+ backend'de [Hono](https://hono.dev/). API anahtarı modu [Vercel AI SDK](https://sdk.vercel.ai/)
113
+ kullanır; CLI hesabı modu [Claude Agent SDK](https://code.claude.com/docs/en/agent-sdk/mcp)
114
+ (Anthropic) veya Gemini CLI başsız `stream-json` (Google) kullanır. Tüm yollar bu Photoshop
115
+ MCP sunucusuyla STDIO üzerinden iletişim kurar.
116
+ - **CLI hesabı kısıtlamaları:** Gemini başsız modu her turda yeni bir oturum açabilir
117
+ (geçmiş, isteme eklenir). Anthropic CLI hesabı abonelik kotası tüketir. OAuth girişi
118
+ macOS önceliklidir (`claude auth login` / `gemini auth login` Terminal'de).
119
+
120
+ ---
121
+
122
+ ## Photoshop için Yapay Zeka/İstem Katmanı
123
+
124
+ Atomik `photoshop_*` araçlarının üzerinde, sunucu; ana LLM'lerin (Cursor, Claude Desktop vb.)
125
+ belirsiz kullanıcı isteklerini güvenilir Photoshop eylemlerine dönüştürmesine yardımcı olan görüşlü
126
+ bir yapay zeka/istem katmanı sunar:
127
+
128
+ - **Sunucu `instructions`'ları** — MCP `initialize`'da tanıtılan iş akışı sözleşmesi
129
+ (bir kez ping at, eylemden önce durum al, tarifleri tercih et, hata kurtarma). Bkz.
130
+ [`src/prompts/instructions.ts`](src/prompts/instructions.ts).
131
+ - **MCP `prompts` primitifi** — 19 önceden hazırlanmış şablon (12 tarif + 7 kılavuz:
132
+ `ps.enhance_portrait`, `ps.remove_background`, `ps.generative_fill`, …)
133
+ `prompts/list` ve `prompts/get` üzerinden.
134
+ - **Tarif araçları** — 12 sonuç odaklı `photoshop_recipe_*` aracı (arka plan kaldırma,
135
+ portre geliştirme, web için hazırlama, sosyal medya varyantları dışa aktarma, renk düzenlemesi,
136
+ frequency separation, toplu mockup, katmanları düzenleme, degrade solması,
137
+ gökyüzü karıştırma, dodge & burn, dikkat dağıtıcıyı kaldırma). Her biri adımları tek bir
138
+ Photoshop geçmiş durumuna sarar (tek bir Geri Al hepsini geri alır). **Toplamda 86 araç**
139
+ (74 atomik + 12 tarif).
140
+ - **Üretken Yapay Zeka** — `photoshop_generative_fill`, `photoshop_generative_remove`,
141
+ `photoshop_generative_expand`, `photoshop_generative_upscale`, `photoshop_sky_replacement`,
142
+ `photoshop_generate_image` (ExtendScript aracılığıyla Firefly; Adobe hesabı + kredi gereklidir).
143
+ - **Sinir Filtreleri** — isteğe bağlı UXP köprü eklentisi (`uxp-plugin/`) aracılığıyla
144
+ `photoshop_neural_filter`.
145
+ - **Durum & Önizleme** — `photoshop_get_state` (ucuz anlık görüntü),
146
+ `photoshop_get_preview` (görsel doğrulama için base64 JPEG),
147
+ `photoshop_get_capabilities` (sürüme duyarlı özellik bayrakları).
148
+ - **Yapılandırılmış hatalar** — başarısızlıklar otomatik düzeltme için `code` ve
149
+ `suggested_next_tool` içeren JSON zarfları döndürür.
150
+
151
+ Tam başvuru: [`docs/prompt-layer.md`](docs/prompt-layer.md).
152
+
153
+ Pariteyi doğrulayın: `npm run verify:photoshop-prompts`. Son sonuçlar:
154
+ [`docs/development.md#integration-test-results`](docs/development.md#integration-test-results).
155
+
156
+ ## Örnek İstemler
157
+
158
+ Aşağıda bu MCP sunucusu yapılandırıldığında yapay zeka asistanlarıyla (Claude, Cursor vb.)
159
+ kullanabileceğiniz örnek istemler yer almaktadır. Çok adımlı sonuçlar için **tarif araçlarını**
160
+ (`photoshop_recipe_*`) tercih edin — her tarif tek bir geri alma adımıdır. Atomik `photoshop_*`
161
+ araçlarını yalnızca hiçbir tarifin karşılamadığı ince düzenlemeler için kullanın.
162
+
163
+ <details>
164
+ <summary>🧠 Durum farkındalıklı oturum (önerilen ilk adım)</summary>
165
+
166
+ ```
167
+ Photoshop'u ping'le ve yüklü sürüm için yetenekleri oku.
168
+ Herhangi bir değişiklik yapmadan önce mevcut belge durumunu al.
169
+ portrait.jpg'yi aç, konuyu doğrulayabilmek için küçültülmüş bir önizleme al.
170
+ Her önemli tariften sonra sonucu onaylamak için başka bir önizleme al.
171
+ ```
172
+
173
+ </details>
174
+
175
+ <details>
176
+ <summary>👤 Portre rötuşu (tarif)</summary>
177
+
178
+ ```
179
+ Aktif katmandaki portreyi orta yoğunlukta ve cilt düzleştirmeyle geliştir.
180
+ enhance-portrait recipe kullan — tek bir geri alınabilir adımda frequency separation + auto-tone istiyorum.
181
+ Aktif katman metin veya Smart Object ise önce rasterleştir ya da raster katman seç.
182
+ Bitince bir önizleme göster.
183
+ ```
184
+
185
+ Eşdeğer MCP istem şablonu: `ps.enhance_portrait` ile `{ intensity: "medium", skin_smoothing: "true" }`.
186
+
187
+ </details>
188
+
189
+ <details>
190
+ <summary>✂️ Arka plan kaldırma (tarif)</summary>
191
+
192
+ ```
193
+ Aktif portre katmanından arka planı kaldır.
194
+ Select Subject + 2 piksel tüylendirmeli katman maskesi kullan. Orijinal pikselleri maskenin arkasında koru.
195
+ Brifing saf beyaz RGB(255,255,255) arka plan gerektiriyorsa konuyu ortala ve çerçeve alanının en az %70'ini kapsamasını sağla.
196
+ Konu aktif katmanda olmalı — düz bir renk dolgusu değil.
197
+ ```
198
+
199
+ Eşdeğer MCP istem şablonu: `ps.remove_background` ile `{ feather_px: "2", keep_shadow: "false" }`.
200
+
201
+ </details>
202
+
203
+ <details>
204
+ <summary>🎨 Renk düzenlemesi (tarif)</summary>
205
+
206
+ ```
207
+ Açık belgeye yıkıcı olmayan ayarlama katmanları olarak sıcak bir film renk düzenlemesi uygula.
208
+ apply-color-grade recipe'yi warm_film ön ayarıyla kullan.
209
+ Bitince sonucu önizle.
210
+ ```
211
+
212
+ </details>
213
+
214
+ <details>
215
+ <summary>🔬 Frekans ayrıştırma kurulumu (tarif)</summary>
216
+
217
+ ```
218
+ Aktif raster katmanda 6 piksel bulanıklık yarıçapıyla frequency separation kur.
219
+ Low ve High katmanlarına kendim boyayacağım — ek düzleştirme uygulama.
220
+ Katman yığını hazır olduğunda hangi katmanların düzenleneceğini söyle.
221
+ ```
222
+
223
+ Eşdeğer MCP istem şablonu: `ps.frequency_separation` ile `{ radius_px: "6" }`.
224
+
225
+ </details>
226
+
227
+ <details>
228
+ <summary>🌐 Web için hazırla + sosyal medya dışa aktarımı (tarifler)</summary>
229
+
230
+ ```
231
+ Aktif belgeyi web için hazırla: sRGB, küçült, keskinleştir, ~/.photoshop-mcp/exports'a optimize edilmiş bir JPEG dışa aktar.
232
+ Ardından aynı belgeden Instagram gönderisi ve X gönderisi varyantlarını ayrı JPEG'ler olarak dışa aktar.
233
+ Çıktı yollarını bir tabloda listele.
234
+ ```
235
+
236
+ Eşdeğer şablonlar: `ps.prepare_for_web`, `ps.export_social_variants`.
237
+
238
+ </details>
239
+
240
+ <details>
241
+ <summary>📦 Toplu mockup değiştirme (tarif)</summary>
242
+
243
+ ```
244
+ "Screen" adında bir Smart Object katmanıyla açık bir mockup PSD'im var.
245
+ ~/assets/mockups/'taki her PNG/JPG ile değiştir ve her varlık için bir JPEG dışa aktar.
246
+ Düz katmanlar yerleştirme — perspektif korunacak şekilde Smart Object'i takas et.
247
+ ```
248
+
249
+ Eşdeğer MCP istem şablonu: `ps.batch_mockup_replace`.
250
+
251
+ </details>
252
+
253
+ <details>
254
+ <summary>🗂️ Katmanları düzenleme (tarif)</summary>
255
+
256
+ ```
257
+ Katman yığınını düzenle: türe göre yeniden adlandır, ilgili katmanları otomatik grupla, orijinalleri koru.
258
+ organize-layers recipe'yi çalıştır, ardından yeni yapıyı gözden geçirebilmem için katmanları listele.
259
+ ```
260
+
261
+ </details>
262
+
263
+ <details>
264
+ <summary>🎨 Temel Tasarım Oluşturma</summary>
265
+
266
+ ```
267
+ RGB renk modunda 1920x1080 boyutunda bir Photoshop belgesi oluştur.
268
+ Açık mavi bir arka plan katmanı ekle ve RGB(240, 248, 255) ile doldur.
269
+ 64 pt yazı tipinde ortalanmış "Welcome" metni ekle.
270
+ Masaüstüme welcome.psd olarak kaydet.
271
+ ```
272
+
273
+ </details>
274
+
275
+ <details>
276
+ <summary>🖼️ Stok Görsel Tasarımı (Pexels MCP ile)</summary>
277
+
278
+ ```
279
+ Pexels'ta "mountain sunset" görselleri ara.
280
+ 1920x1080 boyutunda bir Photoshop belgesi oluştur.
281
+ İndirilen görseli yerleştir ve tüm tuvali dolduracak şekilde ayarla.
282
+ 3 piksel ince Gaussian Blur uygula.
283
+ Parlaklığı 15 ve kontrastı 10 artır.
284
+ Üst kısımda 72 pt'ta ortalanmış beyaz "Adventure Awaits" metni ekle.
285
+ Metin opaklığını %90 ve karışım modunu OVERLAY olarak ayarla.
286
+ Kalite 10 ile adventure.jpg olarak kaydet.
287
+ ```
288
+
289
+ </details>
290
+
291
+ <details>
292
+ <summary>✨ Fotoğraf Geliştirme</summary>
293
+
294
+ ```
295
+ Masaüstümden photo.jpg'yi Photoshop'ta aç.
296
+ Durumu al, ardından enhance-portrait recipe'yi düşük yoğunlukta çalıştır.
297
+ Yalnızca hızlı ton düzeltmelerine ihtiyaç duyarsam, aktif katmanda otomatik düzeyler, otomatik kontrast ve keskinleştirme maskesi (120%, 1.5, 0) uygula.
298
+ Tonu +15 ve doygunluğu +15 ayarla; dışa aktarmaya hazır olduğumda prepare-for-web kullan.
299
+ Kalite 12 ile enhanced-photo.jpg olarak kaydet.
300
+ ```
301
+
302
+ </details>
303
+
304
+ <details>
305
+ <summary>🎭 Katman Efektleri ve Karıştırma</summary>
306
+
307
+ ```
308
+ 1200x800 boyutunda bir belge oluştur.
309
+ "Background" adında yeni bir katman ekle ve RGB(50, 50, 50) ile doldur.
310
+ logo.png'yi (100, 100) konumuna yerleştir.
311
+ Logo katmanını mevcut boyutunun %50'sine küçült.
312
+ Karışım modunu SCREEN ve opaklığı %85 olarak ayarla.
313
+ Başka bir katman ekle ve RGB(255, 100, 50) ile doldur.
314
+ Bu katmanın karışım modunu MULTIPLY ve opaklığını %60 olarak ayarla.
315
+ Tüm görünür katmanları birleştir.
316
+ composite.psd olarak kaydet.
317
+ ```
318
+
319
+ </details>
320
+
321
+ <details>
322
+ <summary>📝 Metin Posteri Tasarımı</summary>
323
+
324
+ ```
325
+ 1080x1350 dikey belge oluştur (Instagram story boyutu).
326
+ Bir katman ekle ve degrade benzeri renk RGB(120, 40, 200) ile doldur.
327
+ (540, 300) konumuna 96 pt'ta "SUMMER" metni ekle.
328
+ Metin rengini beyaz RGB(255, 255, 255) olarak değiştir.
329
+ Metin hizalamasını CENTER olarak ayarla.
330
+ (540, 450) konumuna 128 pt'ta beyaz renkte "2026" metni ekle.
331
+ Arka plan katmanına 2px Gaussian Blur uygula.
332
+ summer-poster.png olarak kaydet.
333
+ ```
334
+
335
+ </details>
336
+
337
+ <details>
338
+ <summary>🎬 Toplu İşleme</summary>
339
+
340
+ ```
341
+ image1.jpg'yi aç.
342
+ 1920x1080'e yeniden boyutlandır.
343
+ Otomatik kontrast uygula.
344
+ İnce keskinleştirme uygula (miktar %80, yarıçap 1.0).
345
+ Kalite 10 ile processed-1.jpg olarak kaydet.
346
+ Orijinaldeki değişiklikleri kaydetmeden kapat.
347
+
348
+ image2.jpg ve image3.jpg için de aynı işlemi tekrarla.
349
+ ```
350
+
351
+ </details>
352
+
353
+ <details>
354
+ <summary>🖌️ Yaratıcı Manipülasyon</summary>
355
+
356
+ ```
357
+ 2000x2000 kare belge oluştur.
358
+ abstract-pattern.jpg'yi yerleştir ve belgeyi dolduracak şekilde ayarla.
359
+ Katmanı çoğalt.
360
+ Kopyalanan katmanda 45 derece, 50px yarıçapta motion blur uygula.
361
+ Karışım modunu OVERLAY ve opaklığı %70 olarak ayarla.
362
+ Ortaya 120 pt beyaz "MOTION" metni ekle.
363
+ (200, 200)'den (1800, 1800)'e dikdörtgen seçim oluştur.
364
+ Seçimi tersine çevir ve sil (çerçeve efekti oluşturmak için).
365
+ Görseli düzleştir.
366
+ motion-art.jpg olarak kaydet.
367
+ ```
368
+
369
+ </details>
370
+
371
+ <details>
372
+ <summary>🎯 Gelişmiş İş Akışı</summary>
373
+
374
+ ```
375
+ Baskı için 300 DPI'da 3000x2000 belge oluştur.
376
+ hero-image.jpg'yi yerleştir ve tuvali dolduracak şekilde ayarla.
377
+ Görsel katmanını çoğalt.
378
+ Kopyalanan katmanı tamamen doygunluğunu kaldır.
379
+ Karışım modunu LUMINOSITY ve opaklığı %50 olarak ayarla.
380
+ "Overlay" adında yeni bir katman oluştur.
381
+ RGB(255, 150, 0) ile doldur ve karışım modunu %30 opaklıkla SOFTLIGHT olarak ayarla.
382
+ Üst ortaya (1500, 200) konumuna 96 pt'ta "PORTFOLIO" metni ekle.
383
+ Metin rengini beyaz olarak ayarla.
384
+ (1500, 320) konumuna 36 pt'ta "2026 Collection" alt metni ekle.
385
+ Metin alanının etrafında dikdörtgen seçim oluştur.
386
+ Overlay katmanında katman maskesi oluştur.
387
+ Görünür katmanları birleştir.
388
+ portfolio-cover.psd olarak kaydet.
389
+ Kalite 12 ile portfolio-cover.jpg olarak dışa aktar.
390
+ ```
391
+
392
+ </details>
393
+
394
+ <details>
395
+ <summary>🔄 Eylem Kullanımı</summary>
396
+
397
+ ```
398
+ my-photo.jpg'yi aç.
399
+ "My Actions" setinden "Vintage Look" eylemini çalıştır.
400
+ Hafifçe kararatmak için parlaklığı -10 olarak ayarla.
401
+ vintage-photo.jpg olarak kaydet.
402
+ ```
403
+
404
+ </details>
405
+
406
+ <details>
407
+ <summary>⚡ Özel Betik Çalıştırma</summary>
408
+
409
+ ```
410
+ Bu özel ExtendScript kodunu çalıştır:
411
+ app.beep();
412
+ alert('Processing started!');
413
+ ```
414
+
415
+ </details>
416
+
417
+ <details>
418
+ <summary>⏮️ Geri Al / Yeniden Yap İşlemleri</summary>
419
+
420
+ ```
421
+ Aktif katmana 15px Gaussian Blur uygula.
422
+ [Sonucu bekle]
423
+ Aslında bu çok fazla bulanıklık. Geri al.
424
+ Bunun yerine 5px Gaussian Blur uygula.
425
+ ```
426
+
427
+ Ya da:
428
+
429
+ ```
430
+ Hangi işlemlerin gerçekleştirildiğini görmek için geçmiş durumlarını al.
431
+ Son 3 işlemi geri al.
432
+ Bir işlemi geri getirmek için 1 adım yeniden uygula.
433
+ ```
434
+
435
+ </details>
436
+
437
+ <details>
438
+ <summary>🔁 Hata kurtarma (yapılandırılmış zarflar)</summary>
439
+
440
+ ```
441
+ Bir tarif version_unsupported veya generative_unavailable döndürürse, get_capabilities çağır ve hangi Photoshop özelliğinin eksik olduğunu söyle.
442
+ Bir araç suggested_next_tool ile başarısız olursa o ipucunu takip et (ör. yalnızca raster içeren bir tariften önce rasterize_layer).
443
+ Asla tahmin etme — başarısızlıktan sonra get_state oku ve bir sonraki tek adımı öner.
444
+ ```
445
+
446
+ </details>
447
+
448
+ <details>
449
+ <summary>📱 Sosyal medya format kiti</summary>
450
+
451
+ ```
452
+ Açık bir 1:1 key visual master'ım var (2000×2000 px).
453
+ Aktif belgeyi prepare-for-web recipe ile sRGB'ye hazırla ve optimize edilmiş JPEG'leri ~/.photoshop-mcp/exports'a aktar.
454
+ Ardından Instagram Feed (1080×1350), Stories/Reels (1080×1920, üst ve alt güvenli zon), LinkedIn (1200×628) ve yatay banner (1200×628) varyantlarını dışa aktar.
455
+ 9:16 formatta konu kesilecekse photoshop_generative_expand kullan.
456
+ Konu, çerçeve alanının en az %60'ını kapsamalı; logo sağ üstte 20 piksel boşlukla.
457
+ Tüm çıktı yollarını bir tabloda listele.
458
+ ```
459
+
460
+ Eşdeğer şablonlar: `ps.prepare_for_web`, `ps.export_social_variants`.
461
+
462
+ </details>
463
+
464
+ <details>
465
+ <summary>🖨️ Baskı teslim dosyası (CMYK / taşma payı)</summary>
466
+
467
+ ```
468
+ Aktif belgeyi ofset baskı için hazırla:
469
+ RGB'den CMYK'ya dönüştür; hedef profil ISO Coated v2.
470
+ Her kenarda 3 mm taşma payı ekle, son formatta 300 dpi çözünürlüğü doğrula.
471
+ Baskı profili için soft proof kur ve renk kaymalarını belirt.
472
+ Zengin siyah alanları C50 M20 Y20 K100 olarak ayarla; siyah metin yalnızca K100.
473
+ Gömülü profille PDF/X-4 olarak dışa aktar ve önizleme göster.
474
+ ```
475
+
476
+ </details>
477
+
478
+ <details>
479
+ <summary>🛍️ Üretken dolgu ile ürün sahnesi</summary>
480
+
481
+ ```
482
+ Aktif katmanda arka planı kaldırılmış bir ürün PNG'si var.
483
+ photoshop_generative_fill ile üç farklı sahne oluştur: sıcak ışıklı iç mekan, gün batımı dış mekan ve su damlalı yansıtıcı yüzey.
484
+ Her varyant için photoshop_generative_expand ile 1080×1350 (4:5) boyutuna genişlet; ürünü ortada tut.
485
+ Her sahneden sonra gölgeleri ve perspektifi kontrol etmek için önizleme al.
486
+ generative_unavailable ise get_capabilities çağır ve eksik olanı belirt.
487
+ ```
488
+
489
+ </details>
490
+
491
+ <details>
492
+ <summary>🎨 Birleşik renk düzenlemesi</summary>
493
+
494
+ ```
495
+ Aynı projeden farklı ışık koşullarında 30 fotoğrafım var.
496
+ apply-color-grade recipe'yi warm_film ön ayarıyla yıkıcı olmayan ayar katmanları olarak uygula.
497
+ Gerekirse eğriler ve ton/doygunluk ile sıcak sinematik bir görünüm ayarla: soğuk gölgeler, altın vurgular.
498
+ Her görseli 1080 px genişlikte, sRGB, JPEG kalite 85 ile ~/.photoshop-mcp/exports/grade/'e aktaran bir eylem hazırla.
499
+ Üç temsili görselde önce/sonra önizlemesi göster.
500
+ ```
501
+
502
+ Eşdeğer MCP istem şablonu: `ps.apply_color_grade` ile `{ preset: "warm_film" }`.
503
+
504
+ </details>
505
+
506
+ <details>
507
+ <summary>🏢 Toplu marka mockup'ları</summary>
508
+
509
+ ```
510
+ Kartvizit, A4 belge, ambalaj ve sosyal profil için Smart Object'leri olan bir mockup PSD açık.
511
+ ~/assets/brand/ içindeki varlıklarla her Smart Object'i değiştir — katmanları düzleştirme, perspektif ve gölgeleri koru.
512
+ batch_mockup_replace recipe'yi çalıştır ve varyant başına bir JPEG'i ~/.photoshop-mcp/exports/mockups/'a dışa aktar.
513
+ Tüm çıktı yollarını bir tabloda listele.
514
+ ```
515
+
516
+ Eşdeğer şablon: `ps.batch_mockup_replace`.
517
+
518
+ </details>
519
+
520
+ <details>
521
+ <summary>🏷️ Ana dosyadan çoklu varyant dışa aktarımı</summary>
522
+
523
+ ```
524
+ 1:1 bir ana kreatif ve ~/assets/logos/ içinde birden fazla logo var.
525
+ Her varyant için aynı PSD'den Story 9:16, Feed 4:5 ve banner 1200×628 dışa aktar — logo ve metin için Smart Object kullan.
526
+ Dosyaları Varyant_Format.jpg olarak adlandır ve hepsini ~/.photoshop-mcp/exports/variants/'a kaydet.
527
+ Bir adım başarısız olursa get_state oku ve yalnızca bir sonraki adımı öner.
528
+ Bitince tüm yolları bir tabloda listele.
529
+ ```
530
+
531
+ </details>
532
+
533
+ ## Özellikler
534
+
535
+ - **Bağımsız web UI** — yerel sohbet arayüzü (`photoshop-mcp-ui`); sağlayıcı başına API anahtarı
536
+ veya CLI abonelik kimlik doğrulaması (Anthropic, Google)
537
+ - **Action Plan (beta)** — web UI'da isteğe bağlı plan-sonra-uygula modu (yalnızca API anahtarı):
538
+ tek bir planlama çağrısı, doğrudan araç yürütme, başarısızlıkta sınırlı onarım
539
+ - **Hem Windows hem macOS'ta çalışır**
540
+ - **Photoshop 2012–2025+ destekler**
541
+ - **ExtendScript API**: AppleScript/COM otomasyonu aracılığıyla evrensel uyumluluk
542
+ - **Otomatik Algılama**: Sisteminizdeki Photoshop kurulumunu otomatik bulur
543
+ - **86 Araç**: 74 atomik `photoshop_*` + 12 tarif `photoshop_recipe_*`
544
+ - **Yapay Zeka/İstem Katmanı**: 19 MCP istem şablonu (12 tarif + 7 kılavuz), sunucu talimatları,
545
+ durum/önizleme/yetenek araçları
546
+ - **Belge Yönetimi**: Belge oluşturma, açma, kaydetme, kapatma, kırpma
547
+ - **Katman İşlemleri**: Katman oluşturma, silme, çoğaltma, birleştirme, dönüştürme
548
+ - **Katman Özellikleri**: Opaklık, karışım modları, görünürlük, kilitleme
549
+ - **Metin Biçimlendirme**: Yazı tipi, boyut, renk, hizalama kontrolleri
550
+ - **Görsel Yerleştirme**: Görsel yerleştirme, dosya açma, belgeye sığdırma
551
+ - **Filtreler**: Gaussian Blur, Keskinleştirme, Gürültü, Motion Blur
552
+ - **Renk Ayarlamaları**: Parlaklık/Kontrast, Ton/Doygunluk, Eğriler, Otomatik Düzeyler/Kontrast
553
+ - **Seçimler ve Maskeler**: Dikdörtgen seçimler, konu seçme, içerik duyarlı doldurma,
554
+ degrade maske, katman maskeleri
555
+ - **Geçmiş Kontrolü**: Geri Al/Yeniden Yap işlemleri, geçmiş durumlarını görüntüleme
556
+ - **Eylemler**: Kayıtlı eylemleri çalıştırma, özel betikler çalıştırma
557
+ - **Otomatik Rasterleştirme**: Filtreler için gerektiğinde katmanları otomatik dönüştürür
558
+ - **Bağlam Takibi**: Yapay zeka bağlam farkındalığı için her işlemden sonra belge/katman
559
+ durumunu döndürür
560
+
561
+ ## Kurulum
562
+
563
+ ### NPX Kullanımı (Önerilen)
564
+
565
+ Kurulum gerekmez! Sadece MCP istemcinizi yapılandırın:
566
+
567
+ ```bash
568
+ npx @alisaitteke/photoshop-mcp
569
+ ```
570
+
571
+ Depoyu yerel olarak geliştirmek için geliştirme kılavuzundaki [Kaynaktan](docs/development.md#from-source) bölümüne bakın.
572
+
573
+ ## Yapılandırma
574
+
575
+ ### Cursor için
576
+
577
+ Cursor ayarlarınıza ekleyin (`.cursor/config.json` veya workspace ayarları):
578
+
579
+ ```json
580
+ {
581
+ "mcpServers": {
582
+ "photoshop": {
583
+ "command": "npx",
584
+ "args": ["-y", "@alisaitteke/photoshop-mcp"],
585
+ "env": {
586
+ "LOG_LEVEL": "1"
587
+ }
588
+ }
589
+ }
590
+ }
591
+ ```
592
+
593
+ ### Claude Desktop için
594
+
595
+ Claude Desktop yapılandırmanıza ekleyin (macOS'ta `~/Library/Application Support/Claude/claude_desktop_config.json` veya Windows'ta `%APPDATA%\Claude\claude_desktop_config.json`):
596
+
597
+ ```json
598
+ {
599
+ "mcpServers": {
600
+ "photoshop": {
601
+ "command": "npx",
602
+ "args": ["-y", "@alisaitteke/photoshop-mcp"],
603
+ "env": {
604
+ "LOG_LEVEL": "1"
605
+ }
606
+ }
607
+ }
608
+ }
609
+ ```
610
+
611
+ ### Ortam Değişkenleri
612
+
613
+ - `PHOTOSHOP_PATH`: (İsteğe bağlı) Özel Photoshop kurulum yolunu belirtin
614
+ - `LOG_LEVEL`: Günlük kaydı düzeyi (0=DEBUG, 1=INFO, 2=WARN, 3=ERROR)
615
+ - `ANALYTICS_DISABLED`: Anonim kullanım analizlerini tamamen devre dışı bırakmak için `1` veya `true`
616
+ olarak ayarlayın
617
+ - `POSTHOG_DISABLED`: `ANALYTICS_DISABLED` için eski takma ad
618
+ - `ANALYTICS_PROVIDER`: Analiz arka ucu — `mixpanel` (varsayılan) veya `posthog` (geri alma)
619
+ - `MIXPANEL_TOKEN`: (İsteğe bağlı) Mixpanel proje tokenını geçersiz kılın
620
+ - `MIXPANEL_API_HOST`: (İsteğe bağlı) Mixpanel ingest host'u (varsayılan: `https://api-eu.mixpanel.com`)
621
+ - `POSTHOG_KEY`: (İsteğe bağlı, eski) PostHog proje anahtarı — yalnızca `ANALYTICS_PROVIDER=posthog`
622
+ olduğunda kullanılır
623
+ - `POSTHOG_API_HOST`: (İsteğe bağlı, eski) PostHog ingest host'u (varsayılan: `https://a.alisait.com`)
624
+ - `POSTHOG_UI_HOST`: (İsteğe bağlı, eski) PostHog UI host'u (varsayılan: `https://eu.posthog.com`)
625
+
626
+ ## Mevcut Araçlar
627
+
628
+ Tüm atomik `photoshop_*` araçları için tam başvuru (parametreler, örnekler ve kullanım):
629
+ [`docs/available-tools.md`](docs/available-tools.md).
630
+
631
+
632
+ ## Bağlam Takibi
633
+
634
+ Her araç, Photoshop'un mevcut durumu hakkında aşağıdakiler dahil kapsamlı bağlam bilgisi döndürür:
635
+
636
+ - **Belge Bilgisi**: Ad, boyutlar, çözünürlük, renk modu, katman sayısı
637
+ - **Aktif Katman Bilgisi**: Ad, tür, opaklık, karışım modu, görünürlük, kilit durumu
638
+ - **Seçim Durumu**: Bir seçimin aktif olup olmadığı
639
+ - **İşlem Sonucu**: Neyin değiştirildiğine ilişkin özel ayrıntılar
640
+
641
+ Bu, yapay zeka asistanlarının şunların farkında kalmasını sağlar:
642
+ - Hangi belgenin aktif olduğu
643
+ - Üzerinde çalışılan katman
644
+ - Mevcut katman özellikleri (opaklık, karışım modu vb.)
645
+ - Belge boyutları ve ayarları
646
+
647
+ **Örnek Yanıt:**
648
+ ```javascript
649
+ {
650
+ "applied": true,
651
+ "filter": "Gaussian Blur",
652
+ "radius": 10,
653
+ "wasRasterized": true,
654
+ "context": {
655
+ "hasDocument": true,
656
+ "document": {
657
+ "name": "design.psd",
658
+ "width": 1920,
659
+ "height": 1080,
660
+ "resolution": 72,
661
+ "colorMode": "RGBColorMode",
662
+ "layerCount": 3,
663
+ "hasSelection": false
664
+ },
665
+ "activeLayer": {
666
+ "name": "Background",
667
+ "kind": "NORMAL",
668
+ "opacity": 100,
669
+ "blendMode": "NORMAL",
670
+ "visible": true,
671
+ "locked": false,
672
+ "isBackground": false
673
+ }
674
+ }
675
+ }
676
+ ```
677
+
678
+ Bu bağlam, yapay zeka asistanlarının birden fazla komut boyunca hangi belge ve katman üzerinde
679
+ çalıştıklarını hatırlamasına yardımcı olur.
680
+
681
+ ---
682
+
683
+ ## Platforma Özgü Notlar
684
+
685
+ ### Windows
686
+
687
+ - Photoshop ile iletişim kurmak için COM otomasyonu kullanır
688
+ - Kurulum yolları için kayıt defteri tabanlı otomatik algılama
689
+ - Hem 32-bit hem 64-bit sürümleri destekler
690
+
691
+ ### macOS
692
+
693
+ - Photoshop iletişimi için AppleScript/OSA kullanır
694
+ - Spotlight tabanlı otomatik algılama
695
+ - Aynı anda yüklü birden fazla Photoshop sürümünü destekler
696
+ - **CLI hesabı kimlik doğrulaması** (bağımsız UI) macOS önceliklidir: Terminal'de
697
+ `claude auth login` / `gemini auth login` çalıştırın; kimlik bilgileri `~/.claude/`
698
+ ve `~/.gemini/` altında saklanır
699
+
700
+ ## Desteklenen Photoshop Sürümleri
701
+
702
+ - **Tüm Photoshop sürümleri** (2012–2025+): AppleScript (macOS) veya COM (Windows) aracılığıyla
703
+ ExtendScript API kullanır
704
+
705
+ **Önemli Not**: Photoshop 2022+ eklentiler için UXP'yi desteklese de AppleScript/COM aracılığıyla
706
+ harici otomasyon yalnızca ExtendScript kullanabilir. UXP, dahili eklentiler için tasarlanmıştır ve
707
+ harici betiklerden çağrılamaz. Bu nedenle bu MCP sunucusu, tüm Photoshop sürümleriyle maksimum
708
+ uyumluluk için ExtendScript kullanır.
709
+
710
+ ## Sorun Giderme
711
+
712
+ Yaygın bağlantı, betik ve günlük kaydı sorunları:
713
+ [`docs/troubleshooting.md`](docs/troubleshooting.md).
714
+
715
+ ### Bağımsız UI — CLI hesabı kimlik doğrulaması
716
+
717
+ | Belirti | Olası neden | Düzeltme |
718
+ |---|---|---|
719
+ | `cli_not_found` | Claude Code / Gemini CLI yüklü değil | `npm i -g @anthropic-ai/claude-code` veya `npm i -g @google/gemini-cli` |
720
+ | `not_authenticated` | OAuth oturumu yok | Terminal'de `claude auth login` veya `gemini auth login` çalıştırın |
721
+ | `claude` / `gemini` `PATH`'de yok | Özel kurulum konumu | Ayarlar → **CLI path** → **Check connection** |
722
+ | Sohbet IDE'de çalışıyor ama UI'da çalışmıyor (CLI modu) | OAuth tokenları yalnızca CLI'ya özgü | UI'da **CLI account** kullanın; API anahtarları ve CLI oturumları ayrıdır |
723
+ | Gemini çok turlu konuşmalarda unutkanlık gösteriyor | Başsız CLI her turda yeni oturum açabilir | Bilinen kısıtlama; geçmiş isteme eklenir (MVP) |
724
+
725
+ ## Geliştirme
726
+
727
+ Kaynaktan kurulum, derleme, lint, entegrasyon testleri (son sonuçlarla) ve kullanım örnekleri:
728
+ [`docs/development.md`](docs/development.md).
729
+
730
+ ## Mimari
731
+
732
+ Sistem tasarımı, veri akışı, platform soyutlaması ve UI ajan modları:
733
+ [`docs/architecture.md`](docs/architecture.md).
734
+
735
+ LinkedIn veya sosyal medyada paylaşıyor musunuz? OG kurulumu ve gönderi metni için
736
+ [`images/og-social.png`](images/og-social.png) ve
737
+ [`docs/social-preview.md`](docs/social-preview.md) kullanın.
738
+
739
+ ## Katkıda Bulunma
740
+
741
+ Katkılar memnuniyetle karşılanır! PR açmadan önce lütfen [CONTRIBUTING.md](CONTRIBUTING.md)
742
+ dosyasını okuyun.
743
+
744
+ ## Geliştirici Hakkında
745
+
746
+ **[Ali Sait Teke](https://alisait.com)** — Full-Stack mühendis & yapay zeka çağı yazılım mimarı
747
+ (Python, Go, Node.js, React, Next.js, Vue).
748
+
749
+ Bu proje pratik bir sorudan doğdu: *Photoshop'u kırılgan tek seferlik betikler olmadan LLM'lerle
750
+ nasıl güvenilir biçimde kontrol edersiniz?* 80 araçlı bir MCP sunucusuna, güvenilir çok adımlı
751
+ iş akışları için bir tarif/istem katmanına ve yaratıcı çalışmanın bir IDE gerektirmemesi için
752
+ yerel bir web UI'ya dönüştü.
753
+
754
+ **Bu kod tabanının gösterdikleri:** TypeScript sistem tasarımı, MCP protokol entegrasyonu,
755
+ platformlar arası masaüstü otomasyonu (macOS AppleScript / Windows COM), ajantik döngüler için
756
+ yapılandırılmış hata kurtarma ve üretim odaklı yerel öncelikli UI (Vue 3 + Hono + SQLite).
757
+
758
+ - [Portfolio](https://alisait.com) · [GitHub](https://github.com/alisaitteke) · [LinkedIn](https://www.linkedin.com/in/alisait/)
759
+
760
+ ## Lisans
761
+
762
+ MIT
763
+
764
+ ## Anonim Kullanım Analitiği
765
+
766
+ Ürünü geliştirmek için varsayılan olarak anonim, toplu kullanım olayları toplanır. İstediğiniz
767
+ zaman çıkabilirsiniz. Tüm ayrıntılar:
768
+ [`docs/anonymous-usage-analytics.md`](docs/anonymous-usage-analytics.md).
769
+
770
+ ## Teşekkürler
771
+
772
+ - [Model Context Protocol SDK](https://github.com/modelcontextprotocol/sdk) ile geliştirildi
773
+ - Adobe Photoshop betik yazım topluluğundan ilham alındı