deepsec-tui is a terminal wizard for deepsec. It picks models and run settings from the config of the Pi coding agent.
I use deepsec to audit my repositories. deepsec uses the Pi agent as one of its backends, and it reads the models from the Pi config. A Pi config can hold many models from many providers. deepsec asks for a model, a thinking level, and run settings as command-line flags.
The flags are hard to remember, and they have real costs. One provider rejects more than two parallel sessions. One model stops with a timeout at the highest thinking level. A wrong setting wastes money or stops a run.
So I built deepsec-tui. It shows the models I actually have, the settings that matter, and the deepsec default for each field. Then it runs the command for me.
dstune is a wizard with three steps. First, you pick a model. deepsec-tui groups the models by provider and filters them with your enabledModels patterns. Second, you pick a thinking level. deepsec-tui shows only the levels that the model supports. Third, you set the run settings, for example concurrency and batch size.
deepsec-tui shows the deepsec default for each field. It also shows only the fields that your command accepts. When you start the run, deepsec-tui prints the full deepsec command. Then it runs the command and shows the output.
deepsec-tui reads the Pi config files: models.json, models-store.json, and settings.json. It applies the same model-selection rules as Pi. deepsec-tui never writes to these files.
You need Rust 1.85 or newer and an existing Pi config.
cargo install --path .
Run deepsec-tui without arguments to open the command menu. The menu lists the deepsec commands with a short description for each. Select a command, and the wizard for that command starts.
deepsec-tui has a second mode for scripts. In this mode, deepsec-tui prints flags instead of running deepsec. The --for option limits the fields to one command, and --format selects the output form.
Press ? inside deepsec-tui to see the keys for the current step.
deepsec-tui runs on Linux and macOS. The terminal handling uses crossterm and ratatui, with no platform-specific code.
MIT