lazyagent
Health Uyari
- No license — Repository has no license file
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Low visibility — Only 6 GitHub stars
Code Basarisiz
- process.env — Environment variable access in cmd/lazyagent/opencode_plugin.ts
- process.env — Environment variable access in plugins/opencode/src/index.ts
- rm -rf — Recursive force deletion command in scripts/install.sh
Permissions Gecti
- Permissions — No dangerous permissions requested
This is a terminal user interface (TUI) tool designed to monitor and observe AI agent sessions (such as Claude and Codex) in real-time. It captures runtime events, stores them locally in an SQLite database, and presents them in a structured format for easy inspection.
Security Assessment
Overall risk: Medium. The tool inherently accesses sensitive data by design, as it intercepts and logs AI agent tool usage, prompts, and session outputs. The scan flagged a `rm -rf` recursive force deletion command inside the `scripts/install.sh` file, which is a common but potentially dangerous pattern if the script is modified by a malicious actor. Environment variable access was detected in the plugin files, which is expected for locating the binary but warrants a quick manual check. No hardcoded secrets were found, and it does not request dangerous system permissions. Because it automatically modifies core configuration files (like Claude's `settings.json`) to register its hooks, users should verify exactly what changes it makes to their environment.
Quality Assessment
The project appears actively maintained, with its last push occurring very recently. However, community trust and visibility are currently quite low, as evidenced by only 6 GitHub stars. A significant concern for enterprise or open-source use is the complete lack of a defined software license in the repository, which means the legal terms for usage, modification, and distribution are strictly ambiguous.
Verdict
Use with caution—inspect the installation script and understand that it logs sensitive AI session data, while noting the lack of a formal license.
Observe your ai agents and sessions from the terminal
lazyagent
lazyagent is a terminal TUI app for watching what Claude, Codex, and OpenCode sessions are doing.
It collects runtime events, stores them in SQLite, and shows them in a structured interface so you can inspect projects, sessions, agents, subagents, tools, prompts, outputs, and status changes without digging through raw hook payloads.
The TUI is built for day to day observability. You can see which session belongs to which project, which agent or subagent is active, what tool ran, and what happened next.
Installation
Homebrew
Install from the Homebrew tap with:
brew tap chojs23/homebrew-tap
brew install --cask lazyagent
Go install
go install github.com/chojs23/lazyagent/cmd/lazyagent@latest
Nix flake
Run directly:
nix run github:chojs23/lazyagent
Install into your profile:
nix profile install github:chojs23/lazyagent
Release install script
Install the latest release asset into ~/.local/bin:
curl -fsSL https://raw.githubusercontent.com/chojs23/lazyagent/main/scripts/install.sh | sh
Install a specific release into a custom directory:
curl -fsSL https://raw.githubusercontent.com/chojs23/lazyagent/main/scripts/install.sh | \
sh -s -- --version v0.1.0 --bin-dir /usr/local/bin
Installer options:
--version <tag>orVERSION=<tag>to install a specific release--bin-dir <dir>orBIN_DIR=<dir>to choose the install directory
Build from source
go build -o ./bin/lazyagent ./cmd/lazyagent
Claude, Codex, and OpenCode setup
lazyagent is usually used through runtime hooks and plugins.
Claude
lazyagent init claude
This updates:
~/.claude/settings.json
It registers lazyagent ingest --runtime claude for these Claude hook events:
PreToolUsePostToolUseSessionStartSessionEndStopSubagentStopNotificationUserPromptSubmit
Existing non lazyagent hooks are preserved.
Codex
lazyagent init codex
This updates:
~/.codex/config.toml
~/.codex/hooks.json
It enables features.codex_hooks = true and registers lazyagent ingest --runtime codex --quiet for supported Codex hook events.
OpenCode
lazyagent init opencode
This writes the OpenCode plugin to:
~/.config/opencode/plugins/lazyagent.ts
Set an environment variable for the plugin if you want:
LAZYAGENT_BINto point at a specificlazyagentbinary
Build and test
Build the Go binary:
go build -o ./bin/lazyagent ./cmd/lazyagent
Run the Go test suite:
go test ./...
If you need to work on the maintained OpenCode plugin source directly:
cd plugins/opencode
npm install
npm run build
The shipping plugin is embedded into the Go binary, so keep the maintained source and embedded copy in sync when you change it.
Keybindings
Lazyagent has five panes:
- Projects and root sessions
- Session summary
- Agents and subagents
- Events
- Event detail
Main keys:
tab,shift+tabmove between panes1,2,3,4,5jump to a specific panej,kmove through listsg,Gjump to top or bottomctrl+u,ctrl+dmove by half a pageenter,spaceselect the current item/opens searchtcycles event type filtersaclears the current agent filter when the agent pane is focusedddeletes the selected project or session from the projects paneDclears events for the selected session treeFtoggles auto follow in the events panerrefreshes data?toggles helpqquits
When a non panic internal app error happens, the TUI shows a small toast in the
bottom right for about 5 seconds while also writing the error tolazyagent.log.
Detail pane keys:
Jtoggles raw JSONeexpands long content blocks
Usage
Run the lazyagent:
lazyagent
Project grouping is automatic. lazyagent first tries to match sessions by working directory such as cwd or project_dir, then falls back to transcript path information when needed. That means Claude, Codex, and OpenCode sessions from the same worktree are usually grouped under the same project in the TUI.
Commands
lazyagent init <claude|opencode|codex>
Install or refresh runtime hooks and plugins.
Examples:
lazyagent init claude
lazyagent init codex
lazyagent init opencode
lazyagent ingest
Read runtime event payloads from stdin and store them in the database.
This command is normally called by hooks and plugins, not manually.
Examples:
lazyagent ingest --runtime claude
lazyagent ingest --runtime opencode
lazyagent ingest --runtime codex --quiet
lazyagent health
Check whether the SQLite database can be opened.
lazyagent health
lazyagent version
Show build and release metadata.
lazyagent version
lazyagent version --json
lazyagent --version
DB and log information
By default, lazyagent stores data under:
~/.lazyagent
Default database path:
~/.lazyagent/observe.db
Default log path:
~/.lazyagent/lazyagent.log
Supported environment variables:
LAZYAGENT_DATA_DIR- overrides the base data directory
LAZYAGENT_DB_PATH- overrides the database path
- when set, its parent directory also becomes the active data directory for logs
The TUI refresh interval defaults to 1 second.
Contribution
Bug reports, feature requests, and pull requests are all welcome.
Please see CONTRIBUTING.md for contribution guidance.
Yorumlar (0)
Yorum birakmak icin giris yap.
Yorum birakSonuc bulunamadi