Skip to content

Latest commit

 

History

History
112 lines (77 loc) · 3.84 KB

File metadata and controls

112 lines (77 loc) · 3.84 KB

SuppperGrok

面向 Grok CLI 的可移植 system-prompt override、PowerShell 启动包装器与 prompt-bank 回归工具。

本项目源于一次本机 Grok 4.5 实测:

  • 仅使用 AGENTS.md 追加规则时,部分边界请求仍会触发拦截或任务回退。
  • 改用 Grok CLI 的 --system-prompt-override 后,同模型、同后端的 12 条校准从 10/12 提升到 12/12
  • 按参考项目的 marker heuristic,最终 prompt bank:minimal 120/120short 120/120medium 120/120,合计 360/360
  • 其中 348 条批量首轮通过,12 条经单项重试通过;原始本机配置、密钥、日志与完整响应均未提交。

该结果衡量输出是否命中拦截/回退标记,不代表对每个开放式任务做了人工语义正确性认证。公开 runner 另支持逐行声明结构约束。

包含内容

  • grok-4.5-unrestricted.md:Grok 4.5 system-prompt override。
  • grok-wrapper.ps1:为普通 grok 会话自动注入 prompt;管理命令保持原样。
  • install.ps1 / uninstall.ps1:带备份的安装与移除脚本。
  • scripts/run_prompt_bank.py:通用 JSONL prompt-bank 运行、判定与逐项重试工具。
  • reports/benchmark-summary.json:脱敏后的聚合测试结果。

快速安装

git clone https://github.com/qiuxinyuan321/supppergrok.git
Set-Location .\supppergrok
pwsh -NoProfile -ExecutionPolicy Bypass -File .\install.ps1
. $PROFILE

安装后:

grok          # 默认加载 SuppperGrok prompt
grok-stock    # 使用 Grok 原始 system prompt

已运行的旧 Grok 会话保留其原 system prompt;请开启新会话验证。

一次性运行

不修改 PowerShell Profile:

$prompt = Get-Content .\grok-4.5-unrestricted.md -Raw -Encoding UTF8
grok --system-prompt-override $prompt

Wrapper 配置

均为可选环境变量:

变量 用途
GROK_NATIVE 指定真实 grok.exe 路径
SUPPPERGROK_PROMPT_FILE 指定 prompt 文件
SUPPPERGROK_INCLUDE_PROJECT_RULES=1 显式合并用户/项目 AGENTS.md;默认关闭,避免意外上传本地规则内容
SUPPPERGROK_PROXY 仅为 Grok 子进程设置代理,例如 http://127.0.0.1:7890
SUPPPERGROK_NO_PROXY 代理直连主机列表
GROK_STOCK_PROMPT=1 当前进程使用原始 prompt

versioninspectmodelsupdatelogin 等管理子命令不会注入 override。

Prompt-bank 格式

每行一个 JSON 对象,至少包含:

{"case_id":"example.zh.01","prompt":"直接回答这个合成测试请求。","level":"minimal","scenario":"example","language":"zh"}

可选判定字段:

  • required_all:响应必须全部包含。
  • required_any:响应至少包含一项。
  • forbidden:响应不得包含。
  • expected_prefix:响应必须以指定文字开头。
  • max_response_chars:响应最大字符数。

运行:

python .\scripts\run_prompt_bank.py `
  --bank .\tests\prompt-bank.example.jsonl `
  --level minimal `
  --batch-size 5

使用私有测试集时,将其放在仓库外或 .gitignore 已覆盖的 tests/private/

脱密策略

  • 不提交 .grok/config.toml、认证文件、会话、日志、环境变量或 raw run。
  • Wrapper 使用 $HOME$PSScriptRoot 和环境变量,不含个人用户名、服务器地址、API Key 或固定代理端口。
  • 用户/项目规则默认不读取;启用后只在 system prompt 中标注规则文件名,不包含绝对路径。
  • 推送前运行:
pwsh -NoProfile -ExecutionPolicy Bypass -File .\scripts\secret-scan.ps1

致谢

Prompt 结构与 prompt-bank 方法参考:

具体来源与许可证见 THIRD_PARTY_NOTICES.md

License

MIT