cd /news/ai-tools/show-hn-brytlog-ai-logger · home topics ai-tools article
[ARTICLE · art-41672] src=github.com ↗ pub= topic=ai-tools verified=true sentiment=↑ positive

Show HN: Brytlog – AI logger

Developer released Brytlog, an open-source AI logger that replaces raw terminal output with concise AI summaries to save developers time and money. The tool acts as a pre-processor for agentic workflows and supports multiple LLM providers while being platform-agnostic and privacy-minded.

read6 min views1 publishedJun 27, 2026
Show HN: Brytlog – AI logger
Image: source

Brytlog replaces raw logs with AI summary, thus saving developers time, trouble and money.

In agentic workflows brytlog acts as a cheap, fast pre-processor to the chief agent.

For example, Claude Opus 4.8 (chief agent) might run brytlog python run.py

, rather than the plain python run.py

. This way, instead of having to process the entire raw output on its own (slow, expensive, bloats context), it will only get a concise summary, generated by a cheaper, faster model, such as Gemini-3-flash.

  • As a fail-safe, raw logs are saved so they can be accessed by the chief agent or developer if still needed (this is a toggleable feature in config).
  • Even the cheaper model doesn't get the full raw dump, just the important parts, thus saving even more time and money.

In non-agentic, dev-driven workflows, brytlog simply saves the developer the time and trouble of analyzing raw output by himself, or copy-pasting lines into a coding assistant.

  • free
  • open source
  • platform, language and llm vendor agnostic
  • minimal setup (just bring your own key, or run locally)
  • no need to change existing code (just add a couple of lines to AGENTS.md)
  • lightweight (~50 KB, ~1,400 lines of code)
  • customizable
  • privacy-minded (brytlog doesn't collect any data, and it redacts sensitive information before passing it to the LLM)
Without brytlog With brytlog With brytlog --json

demo-no-brytlog.mp4 | #

demo-with-brytlog.mp4 | #

demo-json-output.mp4 | #

pip install brytlog

After installation either run a command using brytlog (e.g. brytlog node main.js

), which will launch an on-boarding config process in the terminal, or run brytlog --config

to open a json configuration file in your default editor.

  • LLM provider (e.g. Anthropic)

  • Model (e.g. claude-haiku-4-5)

  • API key (e.g. JQ.Ab9RN6W6QW7cmcnY92DIuoVtjCpKm_qfmO5T5oGzQmnwe5fjhw)

  • Google Gemini: Use keys from Google AI Studio ( [https://aistudio.google.com/]). Google Cloud Vertex AI is not natively supported yet.- Custom Providers: Supports OpenAI-compatible endpoints (Ollama, vLLM, etc.) via standard Authorization: Bearer

headers. Azure OpenAI is not natively supported yet.

Simply prefix any command with brytlog

.

Syntax: brytlog [options] <command>

.

Examples:

brytlog python run.py 
brytlog --api-key xyz... node build.js
brytlog --model claude-haiku-4-5 ./deploy.sh

Wrap the entire string in quotes to run multiple commands together.

brytlog "pip install -r requirements.txt && python run.py"

brytlog "node main.js
         npm run serve"

Either prompt inline at the beginning of a session or add this or similar to AGENTS.md:

brytlog replaces raw terminal output with a concise AI summary.

Use it for interpreters (e.g.`python`, `node`), compilers, build tools (e.g. `npm`, `make`), and test runners (e.g. `pytest`). Do not use it for standard OS utilities (e.g.` ls`, `cat`), version control (e.g.` git`), or interactive CLI tools (e.g.` htop`).

Syntax: `brytlog [options] <command>` (e.g., `brytlog --json python run.py`).

Instead of raw log, a short report is outputted to the terminal.

                                   ────────────────────────────────────────────────────────────

                                                     🧠📜 brytlog crash report

Problem
The program crashed due to a TypeError when attempting to divide an integer by a string. The 'items' value from the configuration is a string and needs to be converted to an integer for arithmetic operations.

Fix
Convert payload['items'] to an integer before division in /var/folders/ys/zfg72rwd661dn0cnrsqth5sh0000gn/T/tmph1e0wuse.py, line 6:
average = payload['total'] / int(payload['items'])

Full report → /path/to/project/brytlog-reports/2026-06-15T14-11-51.log
Full raw log → /path/to/project/brytlog-raw/2026-06-15T14-11-51.txt

                                   ────────────────────────────────────────────────────────────
Flag Description
--version
Show program's version number and exit
--config
Open the configuration file
--reset
Reset configuration to defaults
--upgrade
Upgrade brytlog to the latest version on PyPI
--test
Run a simulated crash to test the LLM configuration
--logs
List recent logs from the local brytlog-reports/ directory
--provider
LLM provider (google , openai , anthropic , grok , ollama , custom )
--model
LLM model to use (e.g., gpt-4o-mini )
--api-key
Pass API key inline
--api-base-url
Base URL for custom or ollama providers
--json
Output the report as JSON
--no-log
Disable writing AI reports to the local brytlog-reports/ directory
--no-raw-log
Disable writing raw logs to the local brytlog-raw/ directory
--quiet
Suppress the live stream of raw logs in the terminal (default)
--no-quiet
Display the live stream of raw logs in the terminal (override quiet default)
Variable Default Description
BRYTLOG_API_KEY
Required for crash reports (unless using local llm)
BRYTLOG_PROVIDER
LLM provider
BRYTLOG_MODEL
LLM model
BRYTLOG_API_BASE_URL
Required for custom provider
BRYTLOG_SAVE_REPORT
true
Set to false to disable AI report files
BRYTLOG_SAVE_RAW_LOG
true
Set to false to disable raw log files
BRYTLOG_QUIET
true
Set to true to mute live terminal output
BRYTLOG_MAX_INPUT
4000
Max tokens (approximate) of terminal output to keep
BRYTLOG_SYSTEM_PROMPT
(built-in) Custom system prompt for the crash report
BRYTLOG_TEMPERATURE
0.2
Model temperature
BRYTLOG_MAX_OUTPUT
1000
Max tokens for the report. Note: API token limits are automatically padded (min 2048) to accommodate reasoning models.

brytlog runs a given command as a child process, diverts its stdout

and stderr

away from the terminal by default, and instead only outputs a concise AI summary of the run.

Possible scenarios:

Clean success(exit0

, no warning-like keywords): reports success and sends nothing to the LLM.Success with warnings(exit0

, keywords such aswarning

,deprecated

, orskipped

detected): sends a sampled head / warnings / tail excerpt to the chosen LLM for a short summary of the run.Crash(non-zero exit): sends a token-bounded head-and-tail excerpt of the output to the LLM and prints a concise problem/fix report.

Because brytlog wraps the process rather than hooking into it, it works for any language or runtime with no changes to the program being run.

flowchart TD
    A[Run command] --> B[Capture output and exit code]
    B --> C{Success}

    C -- Yes --> D{Warnings detected}
    C -- No --> F[Build excerpt]

    D -- No --> E[Print success]
    D -- Yes --> F

    F --> G[Send to LLM]
    G --> H[Print AI report]

    B -.-> I["Save raw log (optional)"]
    H -.-> J["Save AI report (optional)"]
  • CLI flags take precedence over environment variables, which in turn take precedence over the config file.
  • Configuration is saved globally to ~/.brytlog.json

(C:\Users\Name\.brytlog.json

on Windows). You can edit this file directly or runbrytlog --config

to open it.- Logs are saved locally to brytlog-reports/

andbrytlog-raw/

in the current working directory. You may want to addbrytlog-*/

to your.gitignore

.- To be clear: raw command output is muted (run in quiet mode) to humans and AI agents by default to save tokens and prevent context bloat. In quiet mode, stdin

is redirected to/dev/null

, meaning any interactive prompt will instantly crash the program (e.g.EOFError

) to generate a helpful AI report rather than hanging indefinitely. Brytlog only prints the concise AI report if a command fails. To display the live stream of raw logs in the terminal as usual and answer interactive prompts, use--no-quiet

.- Reasoning models (e.g., Gemini Flash-3-Preview): These models spend a large portion of their output budget on "thinking" tokens. Brytlog automatically enforces a 2048-token floor at the API level to ensure these models have room to think, while still instructing them to keep the visible report under your MAX_OUTPUT

limit.- Enforcing agent use of brytlog, rather than relying on AGENTS.md or direct prompting, is also possible (e.g. via subprocess shim on PATH), but out of scope in this version.

MIT

── more in #ai-tools 4 stories · sorted by recency
── more on @brytlog 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
Live at https://your-agent.zahid.host
Get free account → Pricing
from €0/mo · no card required
LIVE [news/show-hn-brytlog-ai-l…] indexed:0 read:6min 2026-06-27 ·