跳到主要内容
    ↑↓ 选择↵ 打开esc 关闭
    VincentHardouin

    Snip

    opencode-snip·v3.0.0·工具与命令

    OpenCode plugin that prefixes shell commands with snip to reduce LLM token consumption

    GitHub 星标

    150

    近 30 天 +7

    月装机量

    2,199

    近 7 天 475

    综合评分

    63.1

    生态多维模型

    最近提交

    2 天前

    2026-10-18

    快速安装与配置

    opencode.json

    写入当前项目的 opencode.json,只对这个仓库生效。

    opencode.json

    {
      "$schema": "https://opencode.ai/config.json",
      "plugin": ["opencode-snip@3.0.0"]
    }

    OpenCode 启动时会通过内嵌运行时自动加载 npm 依赖并缓存至本地目录,无需手动在全局环境执行安装。

    OpenCode plugin that automatically prefixes shell commands with snip to reduce LLM token consumption by 60-90%.

    What is snip?

    snip is a CLI proxy that filters shell output before it reaches your LLM context window.

    Command Before After Savings
    go test ./... 689 tokens 16 tokens 97.7%
    git log 371 tokens 53 tokens 85.7%
    cargo test 591 tokens 5 tokens 99.2%

    Installation

    1. Install snip

    brew install edouard-claude/tap/snip
    # or
    go install github.com/edouard-claude/snip/cmd/snip@latest
    

    2. Configure OpenCode

    Add the plugin to your OpenCode config (~/.config/opencode/opencode.json):

    {
      "$schema": "https://opencode.ai/config.json",
      "plugins": ["opencode-snip@latest"]
    }
    

    The plugin targets OpenCode v2. On OpenCode v1, use opencode-snip@2.

    How It Works

    The plugin uses the tool execute.before hook to forward each shell command to snip hook, the same rewrite engine snip uses for Claude Code and other agents (tested with snip v0.25.2):

    • only commands snip has a filter for are rewritten to snip run -- <command>, each segment of &&, ||, ; chains separately
    • commands whose output feeds a pipe or a file redirection, heredocs, shell blocks and command substitutions are left untouched
    • if snip hook fails, the command runs unchanged

    Development

    This package uses semantic-release for automated releases. Commit messages should follow the Conventional Commits format:

    • fix: → patch release
    • feat: → minor release
    • feat!:, fix!: → major release

    License

    MIT

    同类生态推荐