惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

小众软件
小众软件
C
Check Point Blog
Vercel News
Vercel News
Y
Y Combinator Blog
G
Google Developers Blog
P
Proofpoint News Feed
WordPress大学
WordPress大学
MongoDB | Blog
MongoDB | Blog
博客园 - 司徒正美
Last Week in AI
Last Week in AI
博客园 - 【当耐特】
N
Netflix TechBlog - Medium
L
LangChain Blog
V
V2EX
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
大猫的无限游戏
大猫的无限游戏
D
DataBreaches.Net
博客园_首页
B
Blog RSS Feed
The Cloudflare Blog
MyScale Blog
MyScale Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Microsoft Security Blog
Microsoft Security Blog

Show HN

Show HN: AI agents for UK GDAD PCF roles and their skills The Two Pillars: Mixer Mode and Meta-Software in the Reorganization of Software Work After AI GitHub - JaiCode08/teleport-env What 1,000+ Harness Experiments Taught Me About Self-Improving Agents Show HN: Liiists, a Markdown-first, iOS and CLI list app SwiperTab – Get this Extension for 🦊 Firefox (en-US) GitHub - kouhxp/fftext: Summarize, explain, fact-check, or translate any text, URL, or file. No GPU. No cloud. One command GitHub - sweetpad-dev/sweetpad: Develop Swift/iOS projects using VSCode GitHub - dogmaticdev/IRON: IRON a.k.a. Intermediate Representation Object Notation is a Interpreter/Database that is used to create Programming Languages. GitHub - sjhalani7/vaen: Package your AI coding harness into a portable .agent file, and share it across repos, teams, & the community without ever having to copy-paste instructions, skills, MCP config, or secrets. Show HN: Gandalf the Grader Show HN: Citadeld – replay any CI failure locally from a single file GitHub - tdortman/cuSBF: High-Performance GPU Super Bloom Filter coral-ai/claude-code-token-xray at main · Coral-Bricks-AI/coral-ai GitHub - ulyssestenn/funes: Funes is a Git-based framework for LLM-managed knowledge work: an AI Librarian ingests raw sources, builds an interlinked Markdown knowledge base, and uses it to produce cited reports, analyses, and other outputs. GitHub - ThatXliner/gah: Git Add Hunk, built for agents to use GitHub - harmont-dev/harmont-cli: Command-line client for the Harmont CI platform GitHub - brooksmcmillin/mcp-authflow: OAuth 2.0 Authorization Server framework for MCP servers GitHub - javaid-codes/audit-supply-chain-agents GitHub - amorey/gochan: A small library of common channel architectures for Go, inspired by Rust GitHub - arifozgun/OpenGem: Free, Open-Source AI API Gateway with Gemini, OpenAI & Anthropic Compatibility in 1 file GitHub - Pranesh950/BioPetals: 🌸 Run BIOxAI models at home, BitTorrent-style. Fine-tuning and inference up to 10x faster than offloading GitHub - cnguyen14/bounty-doctor: Diagnose a GitHub bounty issue before you waste hours: detects honeypot scam repos, AI-bot attempt swarms, and stale contests. Show HN: CoreMCP – MCP Server for On-Prem DBs Show HN: KittyHTML – Render HTML/CSS as an inline image in your terminal GitHub - bingud/filemat: Web-based file manager Show HN: TruthLens – Free multi-signal deepfake image detector GitHub - apexlocal-jz/claude-usage-tray: Windows system-tray app showing your Claude Code rate-limit usage at a glance. Zero deps, ~300 lines of PowerShell. Cross-IDE (works regardless of VS Code, Cursor, plain terminal). Release v0.1.2.1 · kouhxp/yapsnap GitHub - noopolis/moltnet: Self-hostable chat network for AI agents. Pre-built bridges for Claude Code, Codex, and the Claws. Rooms, DMs, history. No Slack bots, no Matrix, no glue code.
Talking to My Terminal with Local Speech-to-text and Pi C...
Prashant Anand · 2026-06-18 · via Show HN

I set up two terminal commands I can talk to, , and q. I enter , in terminal, hit Enter, say what I want, it gives me back the shell command. With q command, I ask a question out loud, and an LLM answers it (and can read files on disk to do so).

This is what it looks like in practice:

I saw this post by Python Monty about wiring up these two terminal commands:

  • , <description> to get a shell command based on your description

  • q <question> to have an LLM answer your question

This setup uses the Pi coding agent under the hood. After configuring these commands, we can do things like the following:

, find the 5 largest files in the current directory

q read run-qwen36-q8.sh and summarize what it does in 3 bullet points

I immediately found this useful for quick shell commands and questions cause I didn't have to launch a full coding-agent session in Pi or Claude or open a web UI.

Now, I'm a big fan of speech-to-text and I use voice typing for all my interactions with LLMs and coding agents. I have built this hns CLI tool for speech-to-text in the terminal. hns writes the transcription to stdout so it integrates well with other CLI tools.

So, of course, I wanted to adapt the workflow suggested by Python Monty so that I don't have to type anything after entering , or q. Instead, I can just speak out loud my request or question.

The transcription part of this setup runs locally on your machine. You can use local LLMs with Pi to keep the end-to-end setup on-device, or you can use remote LLMs.

Setting It Up on macOS

1. Install hns

Install hns by running uv tool install hns. By default, hns uses the base whisper model, about 145 MB in size, which is good enough for this kind of use case. So you don't need to do any other setup for hns. During the first transcription, hns automatically downloads the base model from Hugging Face. After that, transcription happens locally on your machine.

2. Install and Configure Pi

Install Pi coding agent by following the quickstart guide, then configure a provider and model. You can use a local LLM with Pi to keep your entire setup on-device. Or you can set up cloud LLM through a ChatGPT or GitHub Copilot subscription, or an API key.

3. Configure Comma Command

The , command helps you get a shell command for your use case. After setting this up, you just need to type , in the terminal, hit Enter, and start saying what you want the command to do in plain English.

Hit Enter again after you're done speaking and you'll soon see your request and then the shell command in your terminal. The shell command is also copied to the clipboard automatically, so you just need to press Cmd+V and hit Enter to execute the command.

If you're using bash or zsh, add this to your ~/.bashrc or ~/.zshrc file:

,() {
    local prompt command
    prompt=$(hns)
    printf '%s\n' "$prompt"

    command=$(pi --print --no-tools --thinking off \
        --system-prompt "Output exactly one shell command,
        the best one, with no numbering, no explanation,
        no markdown, and no backticks. Output only the raw command
        on a single line." "$prompt" 2>/dev/null)

    printf '%s' "$command" | pbcopy
    printf '%s\n' "$command"
}

If you're using fish, add this to ~/.config/fish/config.fish file:

function ,
    set -l prompt (hns | string collect)
    printf '%s\n' $prompt

    set -l command (pi --print --no-tools --thinking off \
        --system-prompt "Output exactly one shell command,
        the best one, with no numbering, no explanation,
        no markdown, and no backticks. Output only the raw command
        on a single line." $prompt 2>/dev/null | string collect)

    printf '%s' $command | pbcopy
    printf '%s\n' $command
end

Restart your terminal or source the config file, and the , command should be available in your shell.

4. Configure Question Command

The q command helps you get quick answers. I give Pi access to the read, grep, find, and ls tools for this command, so the model can answer questions based on existing knowledge or by reading and searching files on disk. Pi doesn't have a built-in web_search tool but you can configure a web-search tool yourself and make this command more capable.

After setting up this command, you can type q in the terminal, hit Enter, and then say your question aloud in plain English. Hit Enter again after you're done speaking and you'll soon see your question followed by the answer in your terminal.

If you're using bash or zsh, add this to your ~/.bashrc or ~/.zshrc file:

q() {
    local prompt
    prompt=$(hns)
    printf '%s\n' "$prompt"

    pi --print \
        --system-prompt "You are a helpful, concise assistant
        running in a macOS terminal. Answer clearly and accurately.
        You can read files from disk.
        Use this ability for file-specific information." \
        --tools "read,grep,find,ls" \
        "$prompt"
}

If you're using fish, add this to ~/.config/fish/config.fish file:

function q
    set -l prompt (hns | string collect)
    printf '%s\n' $prompt

    pi --print \
        --system-prompt "You are a helpful, concise assistant
        running in a macOS terminal. Answer clearly and accurately.
        You can read files from disk.
        Use this ability for file-specific information." \
        --tools "read,grep,find,ls" \
        $prompt
end

Restart your terminal or source the config file, and the q command should be available in your shell.

If this was useful, and you want workflows like these in your inbox, subscribe below. Thanks!