AI Skill Hub 强烈推荐:智能工作流 是一款优质的Agent工作流。AI 综合评分 8.0 分,在同类工具中表现稳健。如果你正在寻找可靠的Agent工作流解决方案,这是一个值得深入了解的选择。
智能工作流 是一套完整的 AI Agent 自动化工作流方案。通过可视化的节点编排,将复杂的多步骤任务拆解为清晰的自动化流程,实现全程无人值守的智能处理。支持与数百种外部服务和 API 无缝集成,适合构建数据处理管线、业务自动化和 AI 辅助决策系统。
智能工作流 是一套完整的 AI Agent 自动化工作流方案。通过可视化的节点编排,将复杂的多步骤任务拆解为清晰的自动化流程,实现全程无人值守的智能处理。支持与数百种外部服务和 API 无缝集成,适合构建数据处理管线、业务自动化和 AI 辅助决策系统。
# 方式一:cargo install(推荐) cargo install homebrew-pandafilter # 方式二:从源码编译 git clone https://github.com/AssafWoo/homebrew-pandafilter cd homebrew-pandafilter cargo build --release # 二进制在 ./target/release/homebrew-pandafilter
# 查看帮助 homebrew-pandafilter --help # 基本运行 homebrew-pandafilter [options] <input> # 详细使用说明请查阅文档 # https://github.com/AssafWoo/homebrew-pandafilter
# homebrew-pandafilter 配置说明 # 查看配置选项 homebrew-pandafilter --config-example > config.yml # 常见配置项 # output_dir: ./output # log_level: info # workers: 4 # 环境变量(覆盖配置文件) export HOMEBREW_PANDAFILTER_CONFIG="/path/to/config.yml"
<p align="center"> <img src="assets/logo.png" alt="PandaFilter" width="160" /> </p>
<p align="center"><strong>The context intelligence layer for AI coding agents.</strong></p>
<p align="center">The layer between your tools and your AI. PandaFilter understands what's noise and what matters — compressing, routing, and preserving the right context so your agent thinks faster, costs less, and never loses its place.</p>
<p align="center"> <a href="https://github.com/AssafWoo/PandaFilter/stargazers"> <img src="https://img.shields.io/github/stars/AssafWoo/PandaFilter?style=for-the-badge&logo=github&logoColor=white&label=Star%20the%20panda%20%F0%9F%90%BC%E2%AD%90&labelColor=4b4b4b&color=7c3aed" alt="Star PandaFilter on GitHub"> </a> </p>
<p align="center"> <a href="https://discord.com/invite/FFQC3bxYQ"><img src="https://img.shields.io/badge/Discord-Join-5865F2?style=for-the-badge&logo=discord&logoColor=white" alt="Discord"></a> <a href="LICENSE"><img src="https://img.shields.io/badge/License-MIT-yellow.svg?style=for-the-badge" alt="License: MIT"></a> <a href="https://github.com/AssafWoo/PandaFilter/releases/latest"><img src="https://img.shields.io/github/v/release/AssafWoo/PandaFilter?style=for-the-badge" alt="Latest Release"></a> </p>
<p align="center"> <img src="https://img.shields.io/badge/Claude_Code-supported-8b5cf6?style=flat-square&logo=anthropic&logoColor=white" alt="Claude Code"> <img src="https://img.shields.io/badge/Cursor-supported-0ea5e9?style=flat-square" alt="Cursor"> <img src="https://img.shields.io/badge/Windsurf-supported-06b6d4?style=flat-square" alt="Windsurf"> <img src="https://img.shields.io/badge/Gemini_CLI-supported-4285F4?style=flat-square&logo=google&logoColor=white" alt="Gemini CLI"> <img src="https://img.shields.io/badge/Codex-supported-10b981?style=flat-square&logo=openai&logoColor=white" alt="Codex"> <img src="https://img.shields.io/badge/Cline-supported-f59e0b?style=flat-square" alt="Cline"> <img src="https://img.shields.io/badge/VS_Code_Copilot-supported-007ACC?style=flat-square&logo=visualstudiocode&logoColor=white" alt="VS Code Copilot"> <img src="https://img.shields.io/badge/OpenClaw-supported-ef4444?style=flat-square" alt="OpenClaw"> </p>
---
| Feature | Before | After (PandaFilter v1.3.0) |
|---|---|---|
| Bash output | Full output | Compressed by type (error-focus, dedup, stats, etc.) |
| File re-reads | Full file every time | Delta diff or structural digest |
| Context compaction | 60–70% conversation lost | Session digest preserved and restored |
| Filtering strategy | Fixed pipeline always | Adaptive router — right expert per content type |
| Quality visibility | Token savings only | Multi-signal quality score in panda gain |
| Agent support | 7 agents | 8 agents — OpenClaw added |
---
brew tap AssafWoo/pandafilter
brew install pandafilter
Linux / any platform:
curl -fsSL https://raw.githubusercontent.com/AssafWoo/homebrew-pandafilter/main/install.sh | bash
First run: PandaFilter downloads the BERT model (~90 MB,all-MiniLM-L6-v2) from HuggingFace and caches it at~/.cache/huggingface/. Subsequent runs are instant.
Then wire it in — one command installs for every AI agent you have:
panda init --agent all
Auto-detects Claude Code, Cursor, Gemini CLI, Codex, Windsurf, Cline, OpenClaw, and VS Code Copilot. Skips anything that isn't installed. Or target one specifically:
panda init # Claude Code (default)
panda init --agent cursor # Cursor
panda init --agent gemini # Gemini CLI
panda init --agent codex # Codex (CLI + VS Code extension)
panda init --agent windsurf # Windsurf
panda init --agent cline # Cline
panda init --agent openclaw # OpenClaw
panda init --agent copilot # VS Code Copilot
---
rm -rf ~/.local/share/panda # analytics + sessions rm -rf ~/.cache/huggingface/hub/models--sentence-transformers--all-MiniLM-L6-v2 ```
</details>
---
[focus] enabled = false # disabled by default — enable with panda focus --enable after testing min_files = 25 # skip for repos smaller than this min_lines = 2000 # skip for repos with fewer source lines
[commands.git] patterns = [ { regex = "^(Counting|Compressing|Receiving|Resolving) objects:.*", action = "Remove" }, ]
[commands.cargo] patterns = [ { regex = "^\\s+Compiling \\S+ v[\\d.]+", action = "Collapse" }, { regex = "^\\s+Downloaded \\S+ v[\\d.]+", action = "Remove" }, ]
Pattern actions: `Remove`, `Collapse`, `ReplaceWith = "text"`, `TruncateLinesAt = N`, `HeadLines = N`, `TailLines = N`, `MatchOutput = "msg"`, `OnEmpty = "msg"`.
Pricing uses `cost_per_million_tokens` from `panda.toml` if set, otherwise `ANTHROPIC_MODEL` env var (Opus 4.6: $15, Sonnet 4.6: $3, Haiku 4.5: $0.80), otherwise $3.00.
</details>
<details>
<summary><strong>User-defined filters</strong></summary>
Place `filters.toml` at `.panda/filters.toml` (project-local) or `~/.config/panda/filters.toml` (global). Project-local overrides global for the same key. Runs before any built-in handler.
toml [commands.myapp] patterns = [ { regex = "^DEBUG:", action = "Remove" }, { regex = "^\\S+\\.ts\\(", action = "TruncateLinesAt", max_chars = 120 }, ] on_empty = "(no relevant output)"
[commands.myapp.match_output] pattern = "Server started" message = "ok — server ready" unless_pattern = "error"
</details>
<details>
<summary><strong>Session intelligence</strong></summary>
State tracked via `PANDA_SESSION_ID=$PPID`, stored at `~/.local/share/panda/sessions/<id>.json`.
- **Result cache** — post-pipeline bytes frozen per input hash; returned identically on repeat calls to prevent prompt cache busts.
- **Semantic delta** — repeated commands emit only new/changed lines: `[Δ from turn N: +M new, K repeated — ~T tokens saved]`.
- **Cross-turn dedup** — identical outputs (cosine > 0.92) collapse to `[same output as turn 4 (3m ago) — 1.2k tokens saved]`.
- **Elastic context** — pipeline pressure scales with session size. At >80% pressure: `[⚠ context near full — run panda compress --scan-session]`.
- **Intent-aware query** — reads the agent's last message from the live session JSONL and uses it as the BERT query.
- **File delta re-reads** *(v1.3.0)* — re-reading a changed file sends a unified diff instead of the full content. Unchanged re-reads send a structural digest (function/class signatures). Both save 60–95% of re-read tokens automatically.
- **Compaction digest** *(v1.3.0, Claude Code only)* — before Claude auto-compacts, PandaFilter serializes edited files, error signatures, and top commands to `~/.local/share/panda/compacts/`. On the next session start, the digest is injected into context so the agent resumes oriented.
</details>
<details>
<summary><strong>Supported agents (7)</strong></summary>
All agents share the same binary and filtering pipeline. `panda init --agent all` installs for everything detected on your machine in one shot.
| Agent | Install | Config |
|-------|---------|--------|
| Claude Code | `panda init` | `~/.claude/settings.json` |
| Cursor | `panda init --agent cursor` | `~/.cursor/hooks.json` |
| Gemini CLI | `panda init --agent gemini` | `~/.gemini/settings.json` |
| Codex (CLI + VS Code) | `panda init --agent codex` | `~/.codex/hooks.json` |
| Windsurf | `panda init --agent windsurf` | `~/.codeium/windsurf/hooks.json` |
| Cline | `panda init --agent cline` | `.clinerules` (project dir) |
| VS Code Copilot | `panda init --agent copilot` | `.github/hooks/` (project dir) |
**Hook-based agents** (Claude Code, Cursor, Gemini, Codex, Windsurf) intercept every command before and after execution via the agent's native hook system.
**Rules-based agents** (Cline, Copilot) inject `panda run <cmd>` directives into the agent's context file, relying on the model to follow them.
**PreToolUse:** known handler → rewrites to `panda run <cmd>`; unknown → no-op; already wrapped → no double-wrap; compound commands → each segment rewritten independently.
**PostToolUse:** Bash → full pipeline; Read → BERT + session dedup; Glob → grouped by directory; Grep → compact paths.
**UserPromptSubmit:** Context Focusing module → queries file graph → injects guidance (recommended + excluded files).
**Hook integrity:** `panda init` writes SHA-256 baselines (chmod 0o444). PandaFilter verifies at every invocation and exits 1 with a warning if tampered. `panda verify` checks all installed agents.
</details>
<details>
<summary><strong>Crate overview</strong></summary>
ccr/ CLI binary (panda) — handlers, hooks, session state, commands ccr-core/ Core library (no I/O) — pipeline, BERT summarizer, config, analytics ccr-sdk/ Conversation compression — tiered compressor, deduplicator, Ollama ccr-eval/ Evaluation suite — fixtures against Claude API config/ Embedded default filter patterns
</details>
<details>
<summary><strong>Uninstall</strong></summary>
bash panda init --uninstall # Claude Code panda init --agent cursor --uninstall # Cursor panda init --agent gemini --uninstall # Gemini CLI panda init --agent codex --uninstall # Codex panda init --agent windsurf --uninstall # Windsurf panda init --agent cline --uninstall # Cline panda init --agent copilot --uninstall # VS Code Copilot
brew uninstall pandafilter && brew untap AssafWoo/pandafilter # Homebrew
Does PandaFilter change what the agent can see? It removes noise — build progress, passing test lines, module download logs. Errors, file paths, and results are always kept.
What if I don't want a specific command filtered? Add a rule to .panda/filters.toml to customize or override any handler. See the User-defined filters section. You can also use panda proxy <cmd> to run a command raw with no filtering.
What about commands PandaFilter doesn't know? Output passes through unchanged. PandaFilter never silently drops output from unknown commands.
How do I verify it's working? Run panda gain after a session. To see exactly what the agent received from a specific command: panda run git log --oneline -20.
Does PandaFilter send any data outside my machine? No. All processing is fully local. BERT runs on-device.
What is Context Focusing? An opt-in feature that tells the agent which files are relevant for the current prompt, preventing it from reading unrelated files. Enable with panda focus --enable after running panda doctor to confirm the index is ready.
---
高质量的AI工作流智能层
AI Skill Hub 为第三方内容聚合平台,本页面信息基于公开数据整理,不对工具功能和质量作任何法律背书。
建议在沙箱或测试环境中充分验证后,再部署至生产环境,并做好必要的安全评估。
✅ MIT 协议 — 最宽松的开源协议之一,可自由商用、修改、分发,仅需保留版权声明。
总体来看,智能工作流 是一款质量优秀的Agent工作流,在同类工具中具备一定竞争力。AI Skill Hub 将持续追踪其更新动态,建议收藏备用,结合自身场景选择合适时机引入使用。
| 原始名称 | homebrew-pandafilter |
| 原始描述 | 开源AI工作流:The context intelligence layer for AI coding agents. Compressing noise, routing 。⭐97 · Rust |
| Topics | ai-codingrustagentic-coding |
| GitHub | https://github.com/AssafWoo/homebrew-pandafilter |
| License | MIT |
| 语言 | Rust |
收录时间:2026-05-30 · 更新时间:2026-05-30 · License:MIT · AI Skill Hub 不对第三方内容的准确性作法律背书。
选择 Agent 类型,复制安装指令后粘贴到对应客户端