KI Coding Plugin
KI Coding Plugin
Das KI Coding Plugin bindet einen Large Language Model (LLM) basierten KI-Assistenten in den Activity-Editor (Aktivitäten-Code) und in den ST/X Class Browser ein. Das Plugin unterstützt zwei Anbieter, die im Einstellungsdialog umschaltbar sind:
- Anthropic Claude (claude-opus-4-7, claude-sonnet-4-6, claude-haiku-4-5)
- OpenAI ChatGPT (gpt-4o, gpt-4o-mini, gpt-4.1, gpt-4.1-mini, gpt-4.1-nano, o1, o3)
Je nach gewähltem Anbieter erscheint die Toolbar-Schaltfläche als "Ask Claude" bzw. "Ask ChatGPT"; das Einstellungs-Tab heißt "AI Coding".
Aktivitäten-Editor
Im Aktivitäten-Code-Editor erscheint in der Toolbar eine Schaltfläche "Ask Claude" / "Ask ChatGPT" mit folgenden Aktionen:
- Open KI Window — öffnet das eigenständige Chat-Fenster
- Explain code — erklärt den Code der aktuellen Aktivität
- Suggest improvement — schlägt Verbesserungen vor
- Find bugs — sucht nach Fehlern, Race Conditions, nil-Handling-Problemen
- Generate doc-comment — generiert eine Aktivitäts-Dokumentation inklusive Pin-Kommentaren und füllt den Documentation-Tab
- Custom prompt... — freier Prompt; der Aktivitäts-Code wird als Kontext mitgesendet
- Set API key... — Schlüssel des aktiven Anbieters setzen
Code-Vorschläge können mit [Apply] im Chat direkt in den
Aktivitäts-Body übernommen werden. Vom KI gelieferte Smalltalk/X
Hilfsmethoden (Form: Klasse >> selector) werden nach
Rückfrage in die genannte Klasse compiliert.
Compound (Netzwerk) Editor
Auf der Toolbar von Compound-Worksheets erscheint dieselbe Schaltfläche, beschränkt auf die für Netze sinnvollen Aktionen (Open KI Window, Generate doc-comment, Set API key).
Class Browser (ST/X)
Im Class Browser stehen die Aktionen unter dem AI-Untermenü sowie im Selektor-Kontextmenü zur Verfügung. Die Aktionen operieren auf der aktuell ausgewählten Methode (Klasse + Selektor + Quelltext werden als Kontext mitgesendet). [Apply] kann das Resultat direkt in die Methode der aktiven Klasse einbauen.
Chat-Fenster
Das eigenständige Chat-Fenster trägt den Titel AI Coding [<Produkt> / <Modell>] (z.B. "AI Coding [Claude / claude-opus-4-7]") und zeigt nach jedem Turn den Tokenverbrauch und die kumulierten Kosten — sofern Preise für das gewählte Modell hinterlegt sind. Anbieter- und Modellwechsel im Einstellungsdialog werden live übernommen.
Bilder können als Anhang versendet werden (Screenshot oder PNG/JPG-Datei). Anhänge funktionieren mit beiden Anbietern; bei OpenAI nur mit vision-fähigen Modellen (gpt-4o-Familie).
Einstellungen (AI Coding)
Im Einstellungsdialog unter Plugins → AI Coding (bzw. unter Tools → AI Coding im Smalltalk-Launcher) werden konfiguriert:
- Provider — Anthropic oder OpenAI. Beim Wechsel werden API-URL und Default-Modell entsprechend angepasst; der gespeicherte API-Schlüssel des jeweiligen Anbieters wird geladen.
- API Key — Schlüssel des aktuell gewählten Anbieters. Die Schlüssel werden pro Anbieter getrennt gespeichert (
#claudeApiKey_anthropicbzw.#claudeApiKey_openai), so dass zwischen den Anbietern ohne erneute Eingabe gewechselt werden kann. - Model — ein Modell aus der Liste des aktiven Anbieters oder ein selbst eingegebener Modellname.
- Max output tokens — maximale Antwortlänge.
- API URL — nur zu ändern für eigene Proxies / Gateways. Standard:
https://api.anthropic.com/v1/messagesbzw.https://api.openai.com/v1/chat/completions.
API-Schlüssel beschaffen
- Anthropic: console.anthropic.com, Schlüsselformat
sk-ant-.... - OpenAI: platform.openai.com/api-keys, Schlüsselformat
sk-...odersk-proj-.... Voraussetzung ist ein aufgeladenes Konto (Mindestbetrag derzeit USD 5).
Datenschutz / Datenfluss
Bei aktivem Anbieter Anthropic gehen die Anfragen direkt an
api.anthropic.com, bei OpenAI direkt an
api.openai.com. Es gibt keinen eXept-seitigen Proxy oder
Zwischenspeicher. Mit dem Aktivitäts-Quelltext bzw. den Methoden-
Quelltexten werden auch Pin-Beschreibungen und Sub-Step-Namen aus
dem Block-Description-Modell als Kontext versendet.
Bei Benutzung von Anthropic API-Tokens - wie hier der Fall - werden laut Anthropic die Daten nicht zum Training des KI-Modells genutzt (Anthropic Erkärung dazu).
Tipps
- Mehrere Konversationen: der Chat ist ein Singleton — eine neue Anfrage über ein Browser-/Editor-Menü startet jedesmal eine neue Konversation. Folge-Fragen (Klärung, Vertiefung) gehen über das Eingabefeld in derselben Konversation.
- Vorsicht: Die Größe der übertragenen Daten (auch die aus dem Chatfenster) geht in die Kostenberechnung ein. Deshalb immer eine neue Konversation starten, wenn es um ein neues Thema geht.
- Modell wechseln: Für schnelle Routine-Antworten Sonnet, für schwierige Refactorings Opus. Über Set model… im Menü oder in den Settings.
- Custom prompt eignet sich gut für „warum macht Methode X es so und nicht so?" oder „schreib mir einen ParameterizedTest dazu mit folgenden Daten: …".