Add web terminal, git credentials, OpenSCAD, review loops, automations

- Web terminal (PTY over WebSocket, xterm.js, sandboxed, reattach with replay)
- Per-user git credentials and commit identity (credential store in the user's home)
- OpenSCAD tool (STL/3MF + preview renders, bounding box) and cad skill; 3D model card
- Craft phase inferred from tool activity when the agent does not report it
- Configurable review loop per mode (rounds, reviewer model, criteria)
- Delete config and Markdown agents from the agent editor
- Automations: cron-scheduled agents from Markdown job files, schedule tool, page
- change_directory tool (only on the user's request)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Richard ZinkandClaude Opus 5.5 committed 2026-11-08 22:00:38 +01:00
1 parent a0d0e707f2
commit df1924b0a1
41 files changed
+2809 -34

No files matched your search

+57
View File
@@ -277,6 +277,63 @@ export const en = {
"rename.title": "Rename session",
"rename.generateWith": "Suggest a name with",
"rename.generate": "Generate",
"nav.terminal": "Terminal",
"terminal.new": "New terminal",
"terminal.close": "Close terminal",
"terminal.here": "Open a terminal in this folder",
"terminal.connecting": "Connecting…",
"terminal.reconnecting": "Connection lost – reconnecting…",
"terminal.keys": "Extra keys",
"gitcred.title": "Git",
"gitcred.hint": "Used by your agents, the terminal and the git client to pull and push (e.g. Gitea/GitHub/GitLab access tokens). Stored in your home folder as git credential store – only your sessions can use them.",
"gitcred.name": "Commit name",
"gitcred.email": "Commit email",
"gitcred.credentials": "Credentials",
"gitcred.none": "No credentials yet.",
"gitcred.host": "Host",
"gitcred.user": "Username",
"gitcred.token": "Password or token",
"gitcred.add": "Add host",
"gitcred.saved": "Git settings saved",
"wizard.task.cad": "3D model for printing",
"wizard.task.cadDesc": "From a description or a hand-drawn sketch – OpenSCAD, STL/3MF",
"wizard.placeholder.cad": "Describe the part and its dimensions – or attach a photo of your sketch (with measurements).",
"wizard.idea.cadBox": "A box with a snap-on lid, inner size 80 × 50 × 30 mm",
"wizard.idea.cadBracket": "A wall bracket for a 25 mm pipe with two M4 screw holes",
"activity.reviewing": "Reviewing the result (round {round})…",
"chat.reviewRound": "Review {round}: changes requested",
"agents.refine": "Review loop",
"agents.refineRounds": "Review rounds per task",
"agents.refineOff": "0 = off",
"agents.refineModel": "Reviewer model",
"agents.refineCriteria": "Review criteria",
"agents.refineCriteriaHint": "Empty = default criteria of this mode. After each finished task a reviewer checks the result against your request; with findings the agent continues, up to the number of rounds.",
"agents.refineShort": "Review ×{n}",
"agents.deleteFile": "Delete agent file {path}?",
"nav.jobs": "Automations",
"jobs.intro": "Agents that start on a schedule. Each automation is a Markdown file (prompt + schedule in the frontmatter) – ask an agent in any chat to create one (tool “schedule”) or register a file below. Every run appears as a normal chat; if it needs permission you get a push notification.",
"jobs.none": "No automations yet.",
"jobs.schedule": "Schedule",
"jobs.next": "Next run",
"jobs.last": "Last run",
"jobs.mode": "Runs as",
"jobs.on": "On",
"jobs.off": "Off",
"jobs.enable": "Enable",
"jobs.disable": "Disable",
"jobs.runNow": "Run now",
"jobs.editFile": "Edit file",
"jobs.remove": "Remove",
"jobs.deleteConfirm": "Remove the automation “{name}”? The job file stays.",
"jobs.openRun": "Open run",
"jobs.prompt": "Instructions",
"jobs.register": "Register a job file",
"jobs.registerHint": "Path to a Markdown file with a schedule in its frontmatter:",
"jobs.registerBtn": "Register",
"jobs.status.running": "running",
"jobs.status.done": "done",
"jobs.status.timeout": "timed out",
"jobs.status.error": "error",
"new.title": "New session",
"new.directory": "Project directory",
"new.up": "Up",