Cyberdeck Terminal

Nov 4, 2026

A terminal development environment for Python scripts, built around one rule:

Pane 1 fixes. Panes 3 and 4 verify.

The agent never declares success. After it stops, the terminal runs the tests itself, then runs the script itself. A green verdict comes from the terminal, not the model.

The four panes

PanePurpose
1 · DEV CHATTalk to the agent. Ask for refactors, explanations, new modules.
2 · CODE + NEW CODELive source with line numbers, plus a unified diff of the last change.
3 · TEST RUNTIMEStructured pytest results: counts, failing test names, messages.
4 · READY RUNTIMEIndependent execution of the script itself.

Requirements

  • Python 3.10+
  • Node.js ^22.19.0 || >=24.0.0
  • dsh on PATH (or npx available)
  • A DeepSeek API key
  • pytest

Pages

  • Installation — from a clean Ubuntu install to a working loop.
  • Commands — every slash command and what it guarantees.
  • Architecture — how the loop, the adapter, and the verifier fit together.
  • Source code — the complete implementation.
  • Troubleshooting — the failures that cost the most time, and their fixes.

Two verbs, two guarantees

CommandRequiresVerdict means
/fixa failing testa test passed, re-run independently by the terminal
/donothingthe file changed and the script still runs — nothing more

/do is safe only when paired with git. Commit before every run; git checkout -- file.py is the undo that a test contract would otherwise provide.

Safety

  • The harness can read and modify the workspace. Run it against a git-tracked directory.
  • Keep DSH_HOME isolated per environment.
  • The fix loop is capped (--max-attempts, default 4) and always re-verifies independently.
  • Never point the ready-pane at production credentials during iteration.

dsh is in developer preview and will make compatibility-breaking changes. Pin your version; the adapter parses output defensively and degrades to plain text if the event format shifts.