经 AI Skill Hub 精选评估,AI工具监控助手 获评「推荐使用」。这款AI工具在功能完整性、社区活跃度和易用性方面表现出色,AI 评分 7.5 分,适合有一定技术背景的用户使用。
捕获、标准化和分析AI编程辅助工具的调用活动,提高开发效率和代码质量。
AI工具监控助手 是一款基于 Go 开发的开源工具,专注于 tag1、tag2、tag3 等核心功能。作为 GitHub 开源项目,它拥有活跃的社区支持和持续的版本迭代,代码完全透明可审计,支持本地部署以保护数据隐私。无论是个人使用还是集成到企业工作流,都能提供稳定可靠的解决方案。
捕获、标准化和分析AI编程辅助工具的调用活动,提高开发效率和代码质量。
AI工具监控助手 是一款基于 Go 开发的开源工具,专注于 tag1、tag2、tag3 等核心功能。作为 GitHub 开源项目,它拥有活跃的社区支持和持续的版本迭代,代码完全透明可审计,支持本地部署以保护数据隐私。无论是个人使用还是集成到企业工作流,都能提供稳定可靠的解决方案。
# 方式一:go install(推荐) go install github.com/marmutapp/superbased-observer@latest # 方式二:从源码编译 git clone https://github.com/marmutapp/superbased-observer cd superbased-observer go build -o superbased-observer . # 方式三:下载预编译二进制 # 访问 Releases 页面下载对应平台二进制文件 # https://github.com/marmutapp/superbased-observer/releases
# 查看帮助 superbased-observer --help # 基本运行 superbased-observer [options] <input> # 详细使用说明请查阅文档 # https://github.com/marmutapp/superbased-observer
# superbased-observer 配置说明 # 查看配置选项 superbased-observer --config-example > config.yml # 常见配置项 # output_dir: ./output # log_level: info # workers: 4 # 环境变量(覆盖配置文件) export SUPERBASED_OBSERVER_CONFIG="/path/to/config.yml"
One local intelligence layer for every AI coding tool you use. Captures sessions, normalizes tokens & costs, and answers the question your provider's billing dashboard can't: what did I actually spend it on?
<p align="center"> <img src="docs/assets/infographics/one-local-path.png" alt="One local path for AI coding activity" width="780"> </p>
---
<p align="center"> <img src="docs/assets/screenshots/01-overview.png" alt="Overview tab" width="900"> </p>
Four headline KPI tiles (sessions, API turns, token rows, stale re-reads — each filterable by the global Window / Tool / Project chips), cost-over-time stacked area split by billable token bucket, actions-over-time stacked by tool, top models by token volume, top tools by action count.
Pick whichever package manager fits your environment — npm and PyPI ship the same prebuilt binary from the same v* tag, version numbers kept in lock-step.
pip install superbased-observer # plain pip
uv tool install superbased-observer # uv (isolated env, fastest)
pipx install superbased-observer # pipx (isolated env)
observer --version
Wheels ship for manylinux2014_{x86_64,aarch64}, macosx_*_{x86_64,arm64}, and win_amd64. uv tool and pipx keep the install isolated from your project's Python env — generally what you want for a CLI tool.
go install github.com/marmutapp/superbased-observer/cmd/observer@latest
observer --version
observer doctor # health checks: DB integrity, hook
# registration, MCP entries, pid bridge
observer status # row counts + recent activity
observer tail # live-stream captured actions
---
git clone https://github.com/marmutapp/superbased-observer
cd superbased-observer
make build # builds bin/observer + bin/antigravity-bridge.exe
make test # full test suite (race detector enabled)
make all # fmt + vet + lint + test + build
Requirements: Go 1.22+. No CGO. SQLite via modernc.org/sqlite (pure Go). golangci-lint optional for make lint. Dashboard source under web/ (React + TypeScript + Vite + Tailwind); the compiled bundle is committed to internal/intelligence/dashboard/webapp/dist/ so a contributor who only touches Go can make build without Node.
If you edit web/src/:
```bash
make web-build git add internal/intelligence/dashboard/webapp/dist web/dist ```
make web-build regenerates both web/dist and the embedded copy. Requires Node 22 LTS.
VERSION=v1.6.21 PLAT=linux-x64 curl -L -O https://github.com/marmutapp/superbased-observer/releases/download/$VERSION/observer-$VERSION-$PLAT.tar.gz curl -L -O https://github.com/marmutapp/superbased-observer/releases/download/$VERSION/SHA256SUMS shasum -a 256 -c SHA256SUMS --ignore-missing tar -xzf observer-$VERSION-$PLAT.tar.gz ./observer --version ```
The binary is pure Go — no CGO, no external runtime dependencies. SQLite storage is pure-Go via modernc.org/sqlite. Single static binary; scp it anywhere it runs. Same artifacts ship to npm and to the Releases page (build-once-ship-everywhere CI), so the npm and direct-download paths produce byte-identical binaries.
---
observer init --all
export ANTHROPIC_BASE_URL=http://localhost:8820 export ENABLE_TOOL_SEARCH=true # ← required; without it the proxy is a net loss
<p align="center"> <img src="docs/assets/screenshots/09-settings.png" alt="Settings tab" width="900"> </p>
Pricing overrides hot-reload (no daemon restart — cost.Engine swaps the pricing table atomically). 156 baked-in default models; "Override" prompts auto-fill from the default. Backfill mode panel spawns observer backfill as a child process with live output streamed back. Watcher / Freshness / Retention / Hooks / Proxy / Compression / Intelligence sections are schema-driven forms with inline help. Restart-required banner appears when a section is saved that the daemon binds at startup.
Default location: ~/.observer/config.toml. Override with --config. A minimal config:
```toml [observer] db_path = "~/.observer/observer.db" log_level = "info"
[proxy] enabled = true port = 8820 anthropic_upstream = "https://api.anthropic.com" openai_upstream = "https://api.openai.com"
[intelligence] monthly_budget_usd = 100 # surfaces on Analysis tab; 0 hides
[compression.shell] enabled = true exclude_commands = ["curl", "playwright"]
[compression.indexing] enabled = true max_excerpt_bytes = 2048
[compression.conversation] enabled = false # opt-in; modifies request bodies in flight mode = "cache_aware" # "token" | "cache" | "cache_aware" — see "Choosing a compression mode" below target_ratio = 0.85 preserve_last_n = 5 compress_types = ["json", "logs", "code"]
The proxy is the home of three features that only exist when your AI client routes through it. None of them run on the watcher / `observer start` ingestion path — compression and stash live in the request path because that's the only place where bytes can be rewritten before they reach the upstream provider.
When you point your AI tool at http://localhost:8820, the proxy:
1. Forwards your request to your chosen upstream (Anthropic or OpenAI). The destination is the same provider URL your AI client would have called directly; no data leaves your machine that wasn't already going to that provider. Your API key is yours — the proxy reads it from the inflight headers, never stores it. 2. Records the exact token counts the provider returned (cache 5m vs 1h split, long-context tier triggers, reasoning tokens) into the api_turns table — more accurate than parsing the JSONL the AI tool wrote. 3. Compresses the conversation before forwarding (importance-scored, prefix-stable for cache alignment) — the biggest lever for keeping long sessions inside rate-limit windows. On by default as of v1.7.23 with the safe per-type set (compress_types = ["json","logs","code"]); opt out via [compression.conversation].enabled = false or compress_types = []. Compressed events land in the compression_events table and surface on the Compression dashboard tab. Empirical on Claude Code lumen rig (n=8, V7-22): −6.9% mean cost vs no-proxy, CV 7.6%, zero tail outliers. 4. Stashes large tool outputs the compressor hides, so the originals stay retrievable via the retrieve_stashed MCP tool (only registered when stash is configured). Off by default — stash markers break Anthropic's prefix cache (V7-25 n=1 measurement: +25% cost, cache_creation_input_tokens doubled). Operators who want stash on a workload should A/B before committing.
Three compression layers, each independently toggleable:
- Shell output filters — RTK-style truncation of large bash / git / go test / docker / kubectl / cargo / pytest outputs inline before they hit the LLM context. Runs on hook / observer run paths; does not require the proxy. - Tool output indexing — every tool call's output indexed into FTS5; large outputs trimmed to a 2KB excerpt cap so the index stays compact and search_past_outputs stays fast. Runs on the watcher path; does not require the proxy. - Conversation compression — proxy rewrites large tool_result blocks before forwarding upstream. Proxy-only — there is no non-proxy path for this layer, and the stash that backs retrieve_stashed is wired here too.
Trade-off if you skip the proxy: you still get full hook + JSONL ingestion, the dashboard, MCP (if registered), and shell+indexing compression. You lose proxy-grade token accuracy, conversation compression, and the stash. For rate-limited plans (Claude Teams 5h/7d windows), conversation compression is usually the difference between "finishes the task" and "hits the limit."
| Command | Purpose |
|---|---|
observer init [--all] | Register hooks + MCP server with every detected AI tool. |
observer uninstall [--all] [--purge] | Reverse of init. Refuses to touch drifted configs unless --force. --purge also deletes ~/.observer/. |
observer scan [--force] | One-time backfill — parse all known session files into the DB. --force re-walks from offset 0. |
observer watch | Live fsnotify-based watcher daemon. |
observer start | Proxy + watcher + dashboard in one foreground process. |
observer proxy start | Run only the API reverse proxy. |
observer dashboard [--port N] | Embedded dashboard + /api/* JSON on http://localhost:N (default 8081). |
observer cost [--days N] [--group-by …] | Token + USD rollup from the CLI. |
observer discover | Stale re-reads + redundant-commands report. |
observer patterns | Derive hot files, co-changes, common commands, edit→test pairs. |
observer learn | Derive correction rules from failure→recovery pairs. |
observer suggest | Compose patterns + corrections into CLAUDE.md / AGENTS.md / .cursorrules. |
observer summarize | Generate AI session summaries (uses Anthropic Haiku). |
observer score | Session quality scoring (error rate, redundancy, onboarding cost, retry cost). |
observer status | Row counts + recent activity. |
observer tail | Live-stream captured actions. |
observer doctor | Health checks: DB integrity, hook checksums, MCP drift, pid bridge. |
observer prune | Run retention now. |
observer metrics [--port N] | Prometheus /metrics endpoint. |
observer export {json\|csv\|xlsx} | Dump tables for external analysis. |
observer backfill --<mode> | Re-populate columns added by later migrations. --all runs every mode. |
observer run <command> | Run a command with its stdout streamed through the shell filter. |
observer hook <tool> <event> | Hook entrypoint (called by the AI tools after init). |
observer serve | MCP stdio server (spawned by AI tools). |
observer <command> --help for full flag listings.
---
./bin/observer dashboard --addr 127.0.0.1:8081 & cd web && npm install && npm run dev
code --install-extension superbased.superbased-observer
The VS Code extension bundles the observer binary, lifts the dashboard / sidebar / status bar / file decorations into the editor, and contributes a terminal profile that pre-exports the proxy env vars so AI CLIs launched from it route through observer automatically. Cursor, VSCodium, and Windsurf install the same VSIX via Open VSX.
After install, VS Code's Get Started page surfaces an in-editor walkthrough; the long-form user guide lives at docs/vscode-extension-user-guide.md and the command + settings reference is at docs/vscode-extension.md.
[compression.conversation].mode behaves differently per provider. Per-type tool_result compression runs in every mode; mode only changes how messages are dropped and whether an Anthropic cache_control marker is injected.
mode | What it does | Claude Code (Anthropic) | Codex / OpenAI |
|---|---|---|---|
token | Per-type compress, then drop lowest-scored messages to hit target_ratio. | ✅ Works. | ✅ Clearest choice for Codex/OpenAI. |
cache | Restrict drops to the tail half + inject a cache_control marker at the prefix boundary. | ✅ Anthropic-specific. | ⚠️ No effect beyond token. |
cache_aware *(default)* | Skip drops, narrow compression to tool_result blocks, no marker injection; keep history byte-stable across turns so Anthropic's prefix cache keeps hitting (cache_creation falls on later turns). | ✅ **Recommended for Anthropic Pro/Max** — and the shipped default. | ⚠️ No effect beyond token, so the default is harmless for Codex. |
The shipped default is cache_aware (token is just the internal fallback when mode is empty). The cache/cache_aware strategies exist for Anthropic's content-hash prefix cache (cache_control is an Anthropic Messages API concept). OpenAI/Codex prompt caching is automatic and server-side — there is nothing to mark or tune, so the proxy's OpenAI path is mode-agnostic (the default cache_aware simply behaves like token there).
Pick one of three shipped recipes based on which model you're running:
| Recipe | Use it when your model is… | Example model IDs |
|---|---|---|
**claude-code** | Anthropic Claude (via Claude Code) | claude-sonnet-4-6, claude-opus-4-7, claude-haiku-4-5, any claude-* |
**codex-variant** | OpenAI's -codex reasoning fork (running under the codex CLI) | gpt-5.3-codex, gpt-5.4-codex, gpt-5-codex-agent, anything matching *-codex* |
**codex-safe** | Plain OpenAI GPT (running under the codex CLI) | gpt-5.4, gpt-5.4-mini, gpt-5.5, gpt-4o, any non--codex GPT |
"variant" in codex-variant means the -codex model variant, not a variant of the codex CLI — both codex recipes are for the codex CLI; the split is purely about which model family it's pointed at.
```toml
该工具提供了AI编程辅助工具的调用活动监控和分析功能,提高开发效率和代码质量,但需要进一步优化和完善。
该工具使用 NOASSERTION 协议,商用场景请仔细阅读协议条款,必要时咨询法律意见。
AI Skill Hub 为第三方内容聚合平台,本页面信息基于公开数据整理,不对工具功能和质量作任何法律背书。
建议在沙箱或测试环境中充分验证后,再部署至生产环境,并做好必要的安全评估。
📄 NOASSERTION — 请查阅原始协议条款了解具体使用限制。
AI Skill Hub 点评:AI工具监控助手 的核心功能完整,质量良好。对于AI 技术爱好者来说,这是一个值得纳入个人工具库的选择。建议先在非生产环境试用,再逐步推广。
| 原始名称 | superbased-observer |
| 原始描述 | 开源AI工具:Capture, normalize, and analyze tool-call activity across AI coding assistants (。⭐6 · Go |
| Topics | tag1tag2tag3 |
| GitHub | https://github.com/marmutapp/superbased-observer |
| License | NOASSERTION |
| 语言 | Go |
收录时间:2026-06-06 · 更新时间:2026-06-06 · License:NOASSERTION · AI Skill Hub 不对第三方内容的准确性作法律背书。