Skip to main content

What you need

  • Go installed locally
  • an OpenAI-compatible chat completion endpoint
  • a model name that your provider accepts

1. Install hrns

You can install the binary from a local checkout or directly from GitHub.

Install from source

From the repository root:
go install .

Install from GitHub

go install github.com/mishankov/hrns@latest
This puts the hrns binary in your Go bin directory.

2. Start the TUI

If you installed the binary:
hrns
If you are running from a checkout instead:
go run .
On the first run, hrns checks for ~/.config/hrns/config.json. If the file does not exist, it starts interactive onboarding and asks for:
  • provider name
  • provider API URL
  • provider API key
  • default model
  • whether to skip TLS verification
The saved config is reused on later launches. On the first run, the session starts with onboarding prompts:
config file not found, running onboarding now
Input new provider name:
> my-provider
Input provider API URL:
> https://your-provider.example/v1
Input provider API key:
> your-api-key
Input default model:
> your-model
Skip SSL verify? (y/n)
> n
After onboarding completes, the normal TUI banner appears:
HRNS loop. dev
Provider: my-provider
Model: my-model
> 

3. Adjust settings from inside the TUI

To change the saved model for the current provider:
/model <your-model>
Other built-in commands:
  • /new resets the conversation history
  • /help prints the command list
  • /providers lists saved providers
  • /connect adds another provider to the config file
The current implementation saves new providers through /connect, but it does not rebuild the active client for the same session. Restart the app to use the newly connected provider.

4. Send a prompt that can use tools

Try something that encourages tool use:
List the Go files in this repository, then read main.go and summarize how the app boots.
When the model decides to call tools, the TUI prints tool-call notices inline. Assistant text and reasoning text stream as chunks.

5. Know the current defaults

The bundled app is intentionally opinionated and minimal:
  • The system prompt is hardcoded in main.go.
  • Provider configuration is stored in ~/.config/hrns/config.json.
  • Skills are loaded automatically from the default roots if present.
  • There is no non-interactive CLI mode yet.
If you want control over those pieces, the usual path is to embed the packages in your own Go program. See Embed hrns in your Go code.