Ai! Jack!v2026.04.01-f12
← 홈GitHub 라이징

OnlyTerp/opengrok

원문 보기
★ 43453 forksJavaScript미국

AI 분석

•기존 Grok Bot에 붙이는 모델 설정 보조 도구 → 에이전트별 모델 선택과 대화 중 전환 지원
•앱 내부 선택 패널에 전환 검증·지연 시간·토큰 흐름 관측을 결합한 구성이 특징
•독립 실행 제품이 아니며, 앱 번들 주입 방식의 업데이트 호환성과 키 처리 경로 검토 필요

Run any model in Grok Bot — one-command setup, model picker UI, evidence-based provider wire maps, and an update-proof doctor. Not farming you, arming you.

검증 정보

출처
github.com
피드
GitHub 라이징
수집/분석 기준
2026. 9. 8. 오전 9:00
원문 확인
원문 열기

본문

Pick a model per agent. Save. It talks native and survives Grok Bot updates.

Keys never leave your machine. Every wire claim in this repo is probe-verified, not vibed.


## ✨ The LiquidGlass Observatory

The old picker was a dropdown. This is the deck it grew into — a frosted-glass

mission-control panel that lives inside the Grok Bot window itself:

•Swap the brain mid-chat. Pick any bound model from the glass dropdown —

Claude, GLM, Qwen, Gemini — and the agent's next reply rides the new lane. No restart.

•VERIFIED HOP. Every switch is confirmed end-to-end through the hop proxy

before it counts; Copy Proof hands you the receipt.

•Live telemetry per bot. Throughput, TTFT latency, token flow and prompt-cache

hit rate, refreshed while the agent works.

•Context Guardian. Live bar against the 256k window so long marathons never

clip mid-run.

•28 bots on one deck. Show All Bots walks the whole fleet; Diagnostics &

Logs digs into the hop, Reset Chat clears a stuck thread.

•Zero install into Grok. Injected into the app bundle by opengrok, rides

silent Grok updates, MIT.

## ⚡ Quick start

What this repo is — and is not. opengrok is a **config sidecar for an
existing Grok Bot install**: it writes model bindings, wire maps, and a
health doctor next to your Grok Bot. It does not host or emulate Grok
Bot, does not control your machine, and does not ship auth shims — your
Grok Bot (desktop + optional cloud computer) stays exactly what it is; we
only tell it which model to talk to. A "hop" here simply means any
OpenAI-compatible base URL (the "OpenAI-compatible base URL" you'd paste in
other tools).

Prerequisites: a working Grok Bot install (desktop app), Python 3.9+,

Node 18+ (for the picker/maps), and API keys for any provider you bind.

git clone https://github.com/OnlyTerp/opengrok
cd opengrok
python setup.py

That's the whole install: it detects your Grok Bot install and live services,

adopts existing bindings or asks 3 questions, writes its config, baselines your

machine, and opens the picker. Then:

1.pick a model for each agent in the dropdown
2.test it live (one click, real request)
3.save — done
python tools/doctor.py        # anytime: is everything still healthy?
python tools/qa.py            # repo self-check: leaks, refs, tests

## 🤖 What it gives each model

Dropping a foreign model into Grok Bot usually "works" and feels off — slower,

dumber, token-hungry. That's harness mismatch: the model was RL-trained on its

own harness's wire shape, and gets a generic prompt shape plus wrong reasoning

knobs. opengrok fixes the wire:

Model familyWhat goes wrong vanillaWhat opengrok does
Grok (xAI)effort knob is xhigh, not max; fast has no fieldliteral token mapping, always-on reasoning documented
GLM (Zhipu)thinks by default — silence is expensive; max is realverified token table + true off-switch via thinking:disabled
Claudethinking is owned by the auth shim; body-painting it 400sshim-owned thinking, effort passes clean
Gemini"fast" was decorative — the knob is the slug, not a fieldfast lane rerouting, measured 1.5s → 0.9s first token
DeepSeekthinking lives in the model slug, not the bodyslug-owns-thinking mapping
local modelscontext/recovery edgesdedicated route, fail-closed

Every row of that table is backed by a capture in wire-captures/

(see [glm-5.3-flash](wire-captures/glm-5.3-flash/) for the full ladder —

bare request thinks by default, disabled really switches it off, max is a

real token).

## 🧩 How it fits together

 Grok Bot agent
      │  modelId + parameters (thinking/effort/fast)
      ▼
 provider-maps ──► per-provider wire truth (verified, versioned, tested)
      │
      ▼
 upstream (xAI / Zhipu / Anthropic / Google / DeepSeek / local llama.cpp)

Two contracts, one story:

•provider-maps.cjs — Contract A: direct body maps (client-side lanes)
•provider-maps-hop.cjs — Contract B: applyHarnessControls() for hop lanes — this is what ships on the box

Cloud agents need one more step. Stock Grok Bot cloud hosts do not read

model-bindings.json — a saved binding is ignored until you install the

binding consumer into the host. tools/apply-box-patch.py does that (anchored,

idempotent, backs up first), and tools/file-relay.py is the box-side file

relay the picker pushes bindings to. See [CLOUD-HOST](docs/CLOUD-HOST.md) for

the full local → push → patch → bounce → verify flow.

## 🛡️ Update-proof by design

Grok Bot updates silently rewrite its bundle. Instead of hoping:

•doctor.py baselines your machine on setup and watches files, services,

and caches — after any update it tells you exactly what moved

•--quiet mode stays silent when clean (cron-friendly), complains only on drift

관련 아이템