AI News HubLIVE
In-site rewrite5 min read

Show HN: Brytlog – AI logger

Brytlog is an open-source CLI tool that replaces raw terminal logs with concise AI summaries, saving developers time and reducing context bloat in agentic workflows. It supports any command, language, and LLM provider, with minimal setup and privacy-focused design.

SourceHacker News AIAuthor: guy-sela

Notifications You must be signed in to change notification settings

Fork 0

Star 0

BranchesTags

Open more actions menu

Folders and files

NameName

Last commit message

Last commit date

Latest commit

History

8 Commits

8 Commits

.github/workflows

.github/workflows

src/brytlog

src/brytlog

tests

tests

.gitignore

.gitignore

AGENTS.md

AGENTS.md

CONTRIBUTING.md

CONTRIBUTING.md

LICENSE

LICENSE

README.md

README.md

demo-no-brytlog.mp4

demo-no-brytlog.mp4

demo-with-brytlog.mp4

demo-with-brytlog.mp4

demo.py

demo.py

llms.txt

llms.txt

pyproject.toml

pyproject.toml

ruff.toml

ruff.toml

Repository files navigation

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.

Notes

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.

Features

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

How to use

Install

pip install brytlog

Configure

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.

Required fields

LLM provider (e.g. Anthropic)

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

API key (e.g. JQ.Ab9RN6W6QW7cmcnY92DIuoVtjCpKm_qfmO5T5oGzQmnwe5fjhw)

Notes

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.

Additional required field for custom model only (Optional override for Ollama/Enterprise endpoints)

Base URL (e.g. http://localhost:11434/v1)

Use

Simply prefix any command with brytlog.

Syntax: brytlog [options] .

Examples:

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

Chaining Multiple Commands

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"

Use in agentic workflow

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] (e.g., brytlog --json python run.py).

Outcome

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

Example output

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

🧠📜 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

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

CLI Flags

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)

Environment Variables

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.

How It Works

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 (exit 0, no warning-like keywords): reports success and sends nothing to the LLM.

Success with warnings (exit 0, keywords such as warning, deprecated, or skipped 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)"]

Loading

Notes

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 run brytlog --config to open it.

Logs are saved locally to brytlog-reports/ and brytlog-raw/ in the current working directory. You may want to add brytlog-*/ 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.

License

MIT

About

AI logger

Topics

python

open-source

terminal

ai

cli-tool

llm

agentic-workflow

token-optimization

Resources

Readme

License

MIT license

Contributing

Contributing

Uh oh!

There was an error while loading. Please reload this page.

Activity

Stars

0 stars

Watchers

0 watching

Forks

0 forks

Report repository

Releases 1

Initial public release on PyPI

Latest

Jun 24, 2026

Packages 0

Uh oh!

There was an error while loading. Please reload this page.

Contributors

Uh oh!

There was an error while loading. Please reload this page.

Languages

Python 100.0%