Claude Code engine, image viewer, colour tags, checks per turn and more
- Claude Code as an engine: chats on a "claude-code/<alias>" model run through the claude CLI (stream-json); tool approvals go through our permission system. Sign in from the web UI (URL + pasted code), CLI version and update from Settings; the Docker image contains the CLI. - Small models (8k context) for side tasks: input is cut to the model's context window; one-line chat status, "What does this do?" on approvals, "Plan as automation" (job draft from a chat). - Mobile: top bar no longer widens the page, image viewer (zoom, swipe, mark up, use in message), jump to previous own message, message menu, time under every message. - Approvals: push actions (allow/reject), "always allow in this project" (never for dangerous commands) with revoke. - Per turn: changed files with diffs and rollback; project check command with a green/red badge and "let the agent fix it". - Colour tags for chats in the colours of the active theme. - Project defaults for new chats, project page (timeline), offline queue. Tested in a throwaway container with a mock model (8k small model): 26 API checks passed (permissions, diffs, checks, defaults, job draft, side-task budget, Claude Code status/login URL, unsigned-in chat). Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
084452abf6
commit
62fe5bf467
42 files changed
+3734
-55
No files matched your search
@@ -366,6 +366,98 @@ export const de: Messages = {
|
||||
"media.showInChat": "Im Chat zeigen",
|
||||
"media.open": "Öffnen",
|
||||
"media.prev": "Vorheriges",
|
||||
"msg.actions": "Nachrichtenaktionen",
|
||||
"msg.copy": "Text kopieren",
|
||||
"msg.copied": "Kopiert",
|
||||
"msg.copyFailed": "Kopieren ist hier nicht möglich",
|
||||
"msg.quote": "In Antwort zitieren",
|
||||
"msg.forkHere": "Ab hier abzweigen",
|
||||
"chat.jumpPrevOwn": "Vorherige eigene Nachricht",
|
||||
"viewer.annotate": "Markieren",
|
||||
"viewer.annotateFailed": "Dieses Bild lässt sich nicht bearbeiten",
|
||||
"viewer.attach": "An Nachricht anhängen",
|
||||
"viewer.undo": "Rückgängig",
|
||||
"viewer.tool.pen": "Stift",
|
||||
"viewer.tool.arrow": "Pfeil",
|
||||
"viewer.tool.rect": "Rechteck",
|
||||
"viewer.useInChat": "In Nachricht verwenden",
|
||||
"viewer.attached": "Bild an die Nachricht angehängt",
|
||||
"turn.changes": "{n} Datei(en) geändert",
|
||||
"turn.noChanges": "Für diesen Schritt wurden keine Dateiänderungen gefunden.",
|
||||
"turn.noDiff": "Kein Text-Diff verfügbar.",
|
||||
"turn.truncated": "Der Diff ist gekürzt.",
|
||||
"turn.new": "neu",
|
||||
"turn.deleted": "gelöscht",
|
||||
"turn.rollback": "Auf den Stand vor diesem Schritt zurücksetzen",
|
||||
"job.plan": "Als Automatisierung planen",
|
||||
"job.planHint": "Macht aus diesem Chat Anweisungen für eine wiederkehrende Automatisierung (aus, bis du den Zeitplan setzt)",
|
||||
"job.drafting": "Automatisierung wird aus diesem Chat entworfen …",
|
||||
"color.label": "Farbe dieses Chats",
|
||||
"color.red": "Rot",
|
||||
"color.orange": "Orange",
|
||||
"color.yellow": "Gelb",
|
||||
"color.green": "Grün",
|
||||
"color.aqua": "Türkis",
|
||||
"color.blue": "Blau",
|
||||
"color.purple": "Violett",
|
||||
"claude.title": "Claude Code",
|
||||
"claude.intro": "Chats mit einem „Claude Code“-Modell führt die Claude-Code-CLI auf dem Server aus – mit deinem Claude-Abo oder Anthropic-Console-Konto. Einmal hier anmelden; Freigaben, Push und Sandbox funktionieren wie gewohnt.",
|
||||
"claude.notInstalled": "Claude Code ist auf dem Server nicht installiert.",
|
||||
"claude.console": "Anthropic Console (API-Abrechnung) statt Claude-Abo",
|
||||
"claude.signIn": "Anmelden",
|
||||
"claude.openLogin": "Anmeldeseite öffnen",
|
||||
"claude.step1": "Bei Anthropic in einem beliebigen Browser (auch auf einem anderen Gerät) anmelden und den Zugriff erlauben.",
|
||||
"claude.step2": "Den Code einfügen, den die Seite danach anzeigt:",
|
||||
"claude.codePlaceholder": "Code von der Anmeldeseite",
|
||||
"claude.confirm": "Bestätigen",
|
||||
"claude.signedIn": "Bei Claude Code angemeldet",
|
||||
"claude.signedInAs": "Angemeldet: {who}",
|
||||
"claude.expires": "gültig bis {date}",
|
||||
"claude.logout": "Abmelden",
|
||||
"claude.logoutConfirm": "Auf dem Server von Claude Code abmelden?",
|
||||
"claude.version": "CLI {version}",
|
||||
"claude.updateAvailable": "Update verfügbar: {version}",
|
||||
"claude.upToDate": "aktuell",
|
||||
"claude.update": "Update installieren",
|
||||
"claude.updating": "Installiere …",
|
||||
"claude.updated": "Claude Code auf {version} aktualisiert",
|
||||
"claude.updateFailed": "Das Update ist fehlgeschlagen (Details unten)",
|
||||
"claude.updateAdmin": "Ein Administrator kann es installieren.",
|
||||
"claude.checkNow": "Nach Updates suchen",
|
||||
"claude.updateLog": "Ausgabe des Updates",
|
||||
"check.menu": "Prüfung nach jedem Schritt …",
|
||||
"check.title": "Prüfung nach jedem Schritt",
|
||||
"check.hint": "Befehl, der in {project} nach jedem Schritt mit Dateiänderungen läuft (z. B. cargo test, npm test). Das Ergebnis erscheint als Badge am Schritt. Leer = aus.",
|
||||
"check.saved": "Prüfung gespeichert",
|
||||
"check.removed": "Prüfung entfernt",
|
||||
"check.running": "Prüfung läuft …",
|
||||
"check.passed": "Prüfung bestanden",
|
||||
"check.failed": "Prüfung fehlgeschlagen",
|
||||
"check.timeout": "Prüfung: Zeitüberschreitung",
|
||||
"check.noOutput": "(keine Ausgabe)",
|
||||
"check.fix": "Vom Agenten beheben lassen",
|
||||
"check.fixPrompt": "Die Prüfung des Projekts ist nach deiner letzten Änderung fehlgeschlagen. Bitte beheben und erneut ausführen. Ausgabe:",
|
||||
"projectDefaults.save": "Als Projekt-Standard verwenden",
|
||||
"projectDefaults.remove": "Projekt-Standard entfernen",
|
||||
"projectDefaults.hint": "Neue Chats in diesem Projektordner starten mit Modell, Modus, Farbe, Anweisungen und Ordner dieses Chats",
|
||||
"projectDefaults.saved": "Neue Chats in diesem Projekt starten wie dieser",
|
||||
"projectDefaults.removed": "Projekt-Standard entfernt",
|
||||
"outbox.waiting": "{n} Nachricht(en) warten auf eine Verbindung",
|
||||
"outbox.sendNow": "Jetzt senden",
|
||||
"outbox.discard": "Verwerfen",
|
||||
"outbox.saved": "Keine Verbindung – die Nachricht ist gespeichert und wird gesendet, sobald du wieder online bist",
|
||||
"project.open": "Projektübersicht",
|
||||
"project.newChat": "Neuer Chat",
|
||||
"project.today": "Heute",
|
||||
"project.yesterday": "Gestern",
|
||||
"project.chats": "{n} Chat(s)",
|
||||
"project.files": "{n} Datei(en) geändert",
|
||||
"project.archived": "{n} archiviert",
|
||||
"project.checksFailed": "{n} Prüfung(en) fehlgeschlagen",
|
||||
"project.empty": "In diesem Ordner gibt es noch keine Chats.",
|
||||
"viewer.title": "Bildbetrachter",
|
||||
"viewer.open": "In neuem Tab öffnen",
|
||||
"viewer.download": "Herunterladen",
|
||||
"media.next": "Nächstes",
|
||||
"media.back": "Zurück zur Übersicht",
|
||||
"chat.turnUsageHint": "Alle {n} Anfragen dieser Antwort (Tokens gesendet/empfangen, Kosten)",
|
||||
@@ -724,6 +816,16 @@ export const de: Messages = {
|
||||
|
||||
"permission.title": "Freigabe erforderlich",
|
||||
"permission.allowOnce": "Einmal erlauben",
|
||||
"permission.projectCommand": "„{prefix}“ in diesem Projekt immer erlauben",
|
||||
"permission.projectTool": "{tool} in diesem Projekt immer erlauben",
|
||||
"permission.projectHint": "Wird für diesen Projektordner gemerkt: in allen Chats, auch nach einem Neustart. Widerrufen im ⋯-Menü.",
|
||||
"permission.explain": "Was macht das?",
|
||||
"permission.explaining": "Erkläre …",
|
||||
"permProject.title": "Projekt-Freigaben",
|
||||
"permProject.intro": "In diesem Projektordner ohne Rückfrage erlaubt (alle Chats):",
|
||||
"permProject.empty": "Für dieses Projekt ist noch nichts freigegeben. Der Knopf „… in diesem Projekt immer erlauben“ bei einer Freigabe-Anfrage legt hier Einträge an.",
|
||||
"permProject.revoke": "Widerrufen",
|
||||
"permProject.menu": "Projekt-Freigaben",
|
||||
"permission.alwaysTool": "{tool} in dieser Session immer erlauben",
|
||||
"permission.alwaysCommand": "„{prefix}“ in dieser Session immer erlauben",
|
||||
"permission.reject": "Ablehnen",
|
||||
|
||||
Reference in new issue
Block a user