Skip to content

feat: Voice Dev Terminal — multi-turn voice-controlled terminal via Local Link - #369

Open
hassan1731996 wants to merge 1 commit into
openhome-dev:devfrom
hassan1731996:feature/voice-dev-terminal
Open

feat: Voice Dev Terminal — multi-turn voice-controlled terminal via Local Link#369
hassan1731996 wants to merge 1 commit into
openhome-dev:devfrom
hassan1731996:feature/voice-dev-terminal

Conversation

@hassan1731996

Copy link
Copy Markdown
Contributor

What This Does

A voice-native developer terminal session for OpenHome. Say "terminal", then keep talking — run git commands, check disk space, find files, tail logs — all hands-free, staying in session across multiple commands.

Why It's Unique

Every other ability in this repo is either one-shot (execute one thing, exit) or uses external APIs. This is the only ability that uses exec_local_command() via the Local Link bridge — voice → LLM-generated shell command → real terminal execution on the user's machine → spoken LLM summary of the output.

Key Differentiators vs the openhome-local-link Template

openhome-local-link template Voice Dev Terminal
Session One command, exits Stays open for multiple commands
LLM context None — single turn Full conversation history
Output Raw string spoken verbatim LLM-summarized into natural speech
Dangerous commands No guard Voice confirmation required
Inline trigger No "terminal, git status" runs immediately

UX Flow

"terminal"
→ "Terminal ready. What do you need?"

"what's my git status?"
→ "Running that now."
→ "You're on branch main, 2 files modified and not staged."

"show recent commits"
→ "Running that now."
→ "3 commits in the last day. Latest: fix auth bug, 2 hours ago."

"remove the build folder"
→ "That runs: rm -rf ./build. Confirm?"
→ [user: "yes"] → "Running that now." → "Done."

"done"
→ "Got it."

Technical Notes

  • Uses exec_local_command(cmd, timeout=30.0) — requires openhome local start running on the user's machine
  • LLM (sync text_to_text_response) used twice per turn: command generation + output summarization
  • Conversation history passed to both LLM calls so relative references ("do it again with verbose") resolve correctly
  • Danger detection: token-set intersection on {rm, rmdir, sudo, shutdown, reboot, dd, mkfs, kill, pkill}
  • No persistent storage — terminal sessions are ephemeral by design
  • resume_normal_flow() called in finally covering all exit paths

Validator

✅ All checks passed!

Foreground ability that opens a persistent terminal session over the
OpenHome Local Link bridge. Speaks into a shell command via LLM, runs it
with exec_local_command(), and summarizes raw output into natural language.
Keeps conversation history across commands for context-aware follow-ups
("do it again with verbose"). Dangerous tokens (rm, sudo, shutdown, kill
etc.) require voice confirmation before execution.
@hassan1731996
hassan1731996 requested a review from a team as a code owner August 23, 2026 12:40
@github-actions

Copy link
Copy Markdown
Contributor

🔀 Branch Merge Check

PR direction: feature/voice-dev-terminaldev

Passedfeature/voice-dev-terminaldev is a valid merge direction

@github-actions

Copy link
Copy Markdown
Contributor

✅ Community PR Path Check — Passed

All changed files are inside the community/ folder. Looks good!

@github-actions github-actions Bot added the community-ability Community-contributed ability label Aug 23, 2026
@github-actions

Copy link
Copy Markdown
Contributor

✅ Ability Validation Passed

📋 Validating: community/voice-dev-terminal
  ✅ All checks passed!

@github-actions

Copy link
Copy Markdown
Contributor

🔍 Lint Results

__init__.py — Empty as expected

Files linted: community/voice-dev-terminal/main.py

✅ Flake8 — Passed

✅ All checks passed!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

community-ability Community-contributed ability

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant