diff --git a/agents/README.md b/agents/README.md index 4c3a396..5a6ddd4 100644 --- a/agents/README.md +++ b/agents/README.md @@ -85,7 +85,7 @@ grok --agent overlay -p "grokhunter not on PATH after overlay-only" grok --agent ship -p "Cut 1.0.10 from Unreleased" grok --agent docs -p "FAQ still says git-identity needs gh" grok --agent models -p "models=no after overlay-only" -grokhunter modeler -p "Install V9 pickers" +grokhunter modeler -p "Refresh grok-4.6 profile" grok --agent ci -p "ci-unit failed on git-identity help" grok --agent aider -p "aider-grok missing on Kali 3.13" grok --agent session -p "Termux killed grok" diff --git a/agents/models.md b/agents/models.md index 963ff8e..c71145e 100644 --- a/agents/models.md +++ b/agents/models.md @@ -1,24 +1,26 @@ --- name: models description: >- - Models — Grok 4.6 catalog and V9 /model pickers for GrokHunter. Use for - "models=no", chat-expert/multi/auto, grok-4.5 leftovers, or profile merge. + Models — Grok 4.6 catalog default and NetHunter profile for GrokHunter. + Use for "models=no", legacy V9 picker cleanup, or profile merge. prompt_mode: full model: inherit permission_mode: default agents_md: true --- -You are Models, the Grok Build catalog and V9 picker specialist for GrokHunter. +You are Models, the Grok Build catalog / profile specialist for GrokHunter. -You own **`grokhunter models`**, `scripts/install_v9_grok_models.sh`, and the NetHunter profile merge. Binary missing/old is `grokhunter ensure` (skill `grokhunter`) — do not reimplement ensure. +You own **`grokhunter models`**, `scripts/install_v9_grok_models.sh` (cleanup only), +and the NetHunter profile merge. Binary missing/old is `grokhunter ensure` +(skill `grokhunter`) — do not reimplement ensure. ## Domain | Topic | Home | |-------|------| -| Pickers | `grokhunter models status\|install\|force` | -| Script | `scripts/install_v9_grok_models.sh` | +| Status / cleanup | `grokhunter models status\|clean\|install\|force` | +| Script | `scripts/install_v9_grok_models.sh` (removes retired V9 pickers) | | Profile | `scripts/install_grok_profile.sh` · `config/grok-build.nethunter.toml` | | Docs | `docs/GROK-46.md`, `docs/GROK-BUILD-1.0.md` | | Default | `grok-4.6` · min binary **1.0.5** | @@ -35,36 +37,28 @@ You own **`grokhunter models`**, `scripts/install_v9_grok_models.sh`, and the Ne ## Process 1. `grokhunter models status` and `grok --version` -2. Smallest fix: `models install` or `models force` or profile `--force` -3. Verify in-session `/model` IDs (chat-expert · multi · auto · grok-v9) +2. Smallest fix: `models clean` (if legacy V9) or profile `--force` +3. Confirm default remains **`grok-4.6`** (do not re-install V9 pickers) ## Common failures | Symptom | Fix | |---------|-----| -| `models=no` after overlay-only | `grokhunter models install` | +| `models=no` after overlay-only | `grokhunter ensure` / profile install | +| legacy V9 pickers present | `grokhunter models clean` | | channel=alpha / 4.5 leftovers | `bash scripts/install_grok_profile.sh --force` | | Binary < 1.0.5 | `grokhunter ensure` (not this agent) | ## Required output — Models card -```markdown -## Symptom -## Binary / profile / pickers -## Commands -## Verify -``` +State default model, whether legacy pickers were cleaned, and next verify step. -## References +## Binary / profile / cleanup -- Skill: `grok-models` -- Docs: `docs/GROK-46.md`, `docs/GROK-BUILD-1.0.md` -- Templates: `agents/HANDOFF-TEMPLATES.md` -- Cross-index: `agents/REFERENCES.md` -- Role: `models` +- Prefer `grokhunter ensure` for binary + profile. +- `grokhunter models install|force` are **cleanup aliases** — they do not install pickers. +- Imagine (`grok-imagine-*`) is out of scope unless the user asks. -## Activation +> Models online — grok-4.6 profile. -> Models online — grok-4.6 / V9 pickers. - -Ask whether they need pickers, profile, or binary if not given. +Ask whether they need profile, cleanup, or binary if not given. diff --git a/bin/grokhunter b/bin/grokhunter index 62816b9..f0de2b7 100755 --- a/bin/grokhunter +++ b/bin/grokhunter @@ -161,7 +161,7 @@ Usage: grokhunter setup [opts] One-shot lab sync (ensure + skills + optional models) grokhunter menu [install|remove] Kali/XFCE Applications → GrokHunter submenu grokhunter ensure Install/upgrade Grok Build binary - grokhunter models [cmd] V9 / 4.6 model pickers (install|status|force) + grokhunter models [cmd] Model profile status / clean legacy pickers (status|clean|install|force) grokhunter skills [cmd] Install/status lab skills under ~/.grok/skills grokhunter agents [cmd] List/status Coding Team agents grokhunter team [prompt] Launch coding-team agent (TUI or -p headless) @@ -172,7 +172,7 @@ Usage: grokhunter overlay [prompt] Launch overlay/install agent grokhunter ship [prompt] Launch release/ship agent grokhunter docs [prompt] Launch docs agent - grokhunter modeler [prompt] Launch models/V9 agent (grok --agent models) + grokhunter modeler [prompt] Launch models agent (grok --agent models · grok-4.6 profile) grokhunter ci [prompt] Launch CI agent grokhunter aider [prompt] Launch aider-grok agent grokhunter session [prompt] Launch tmux / grok-resume agent @@ -262,9 +262,7 @@ cmd_status() { fi local models="no" local cfg="${GROK_CONFIG:-${HOME}/.grok/config.toml}" - local marker="# --- GrokHunter: v9 specialist models" - local marker_legacy="# --- Grok Imagine Cinematic Studio: v9-4p5 specialist models" - if [[ -f "${cfg}" ]] && { grep -qF "${marker}" "${cfg}" 2>/dev/null || grep -qF "${marker_legacy}" "${cfg}" 2>/dev/null; }; then + if [[ -f "${cfg}" ]] && grep -qE 'default\s*=\s*"grok-4\.6"|^\[models\]' "${cfg}" 2>/dev/null; then models="yes" fi local skills core_n @@ -301,13 +299,13 @@ Usage: grokhunter setup [options] One-shot lab sync for an existing clone / overlay: 1. grokhunter ensure (Grok Build ≥ 1.0.5 + NetHunter profile) 2. grokhunter skills install - 3. optional: models install / Aider install + 3. optional: models clean (legacy V9 pickers) / Aider install 4. git-identity set (if still placeholder) 5. grokhunter doctor (unless --no-doctor) Options: --force-grok Reinstall Grok even if present - --with-models Install V9 /model pickers + --with-models Clean legacy V9 /model pickers (no-op if already clean) --with-aider Run scripts/install_aider.sh --no-doctor Skip doctor summary --yes Non-interactive (default) @@ -350,16 +348,16 @@ EOF echo if [[ "${with_models}" -eq 1 ]]; then - echo "→ [3/4] V9 model pickers…" + echo "→ [3/4] clean legacy V9 /model pickers…" local script if script="$(_v9_script)"; then - bash "${script}" || echo " WARN: models install reported issues" >&2 + bash "${script}" || echo " WARN: models clean reported issues" >&2 else echo " WARN: install_v9_grok_models.sh missing" >&2 fi echo else - echo "→ [3/4] models skipped (pass --with-models)" + echo "→ [3/4] models skipped (pass --with-models to clean legacy pickers)" echo fi @@ -715,17 +713,31 @@ cmd_models_status() { local marker_legacy="# --- Grok Imagine Cinematic Studio: v9-4p5 specialist models" echo "config: ${cfg}" if [[ ! -f "${cfg}" ]]; then - echo "status: missing (no config.toml — run grok once, then: grokhunter models install)" + echo "status: missing (no config.toml — run: grokhunter ensure)" return 1 fi - if { grep -qF "${marker}" "${cfg}" 2>/dev/null || grep -qF "${marker_legacy}" "${cfg}" 2>/dev/null; } \ - && grep -qE '^\[model\.(chat-expert|multi|auto|"chat-expert")' "${cfg}" 2>/dev/null; then - echo "status: installed (V9 / 4.6 picker surface present)" - echo " switch: /model chat-expert · multi · auto · grok-v9" + local has_default=0 has_legacy=0 + if grep -qE 'default\s*=\s*"grok-4\.6"' "${cfg}" 2>/dev/null \ + || grep -qE '^\[models\]' "${cfg}" 2>/dev/null; then + has_default=1 + fi + if grep -qF "${marker}" "${cfg}" 2>/dev/null \ + || grep -qF "${marker_legacy}" "${cfg}" 2>/dev/null \ + || grep -qE '^\[model\.(chat-expert|multi|auto|grok-v9)' "${cfg}" 2>/dev/null; then + has_legacy=1 + fi + if [[ "${has_legacy}" -eq 1 ]]; then + echo "status: legacy V9 pickers present — run: grokhunter models clean" + echo " (or: grokhunter models install — now cleans)" + [[ "${has_default}" -eq 1 ]] && echo " default: grok-4.6 (or [models] section) present" + return 1 + fi + if [[ "${has_default}" -eq 1 ]]; then + echo "status: ok (default grok-4.6 / [models] present; V9 pickers retired)" return 0 fi - echo "status: incomplete or missing V9 pickers" - echo " fix: grokhunter models install" + echo "status: no grok-4.6 default yet" + echo " fix: grokhunter ensure # or: bash scripts/install_grok_profile.sh" return 1 } @@ -736,13 +748,15 @@ cmd_models() { case "${sub}" in help|-h|--help) cat <<'EOF' -Usage: grokhunter models [install|status|force] +Usage: grokhunter models [status|clean|install|force] - install Write V9 / 4.6 model pickers into ~/.grok/config.toml - status Report whether pickers are present (default) - force Re-install pickers even if already complete + status Report grok-4.6 default / legacy V9 picker leftovers (default) + clean Remove legacy V9 /model pickers from ~/.grok/config.toml + install Alias for clean (pickers are retired; no longer installs them) + force Alias for clean -Script: scripts/install_v9_grok_models.sh +Default catalog model remains grok-4.6 (grokhunter ensure / profile). +Script: scripts/install_v9_grok_models.sh (cleanup only) EOF return 0 ;; @@ -750,29 +764,23 @@ EOF cmd_models_status return $? ;; - install) + clean|install|force|--force|--clean) if ! script="$(_v9_script)"; then echo "scripts/install_v9_grok_models.sh not found under ${GROKHUNTER_HOME}" >&2 exit 1 fi - exec bash "${script}" "$@" - ;; - force|--force) - if ! script="$(_v9_script)"; then - echo "scripts/install_v9_grok_models.sh not found under ${GROKHUNTER_HOME}" >&2 - exit 1 - fi - exec bash "${script}" --force "$@" + exec bash "${script}" --clean "$@" ;; *) echo "Unknown models subcommand: ${sub}" >&2 - echo "Usage: grokhunter models [install|status|force]" >&2 + echo "Usage: grokhunter models [status|clean|install|force]" >&2 exit 2 ;; esac } + cmd_git_identity() { local sub="${1:-show}" shift || true diff --git a/bin/grokhunter-doctor b/bin/grokhunter-doctor index ccc8168..3ee3625 100644 --- a/bin/grokhunter-doctor +++ b/bin/grokhunter-doctor @@ -464,13 +464,19 @@ if [[ -f "${HOME}/.grok/config.toml" ]]; then else warn "compact_mode not true (optional UX)" fi + if grep -qE 'default\s*=\s*"grok-4\.6"' "${HOME}/.grok/config.toml" 2>/dev/null \ + || grep -qE '^\[models\]' "${HOME}/.grok/config.toml" 2>/dev/null; then + ok "models default grok-4.6 / [models] present (grokhunter models status)" + else + warn "No grok-4.6 models default yet — grokhunter ensure" + WARN=1 + fi v9_marker="# --- GrokHunter: v9 specialist models" v9_legacy="# --- Grok Imagine Cinematic Studio: v9-4p5 specialist models" if grep -qF "${v9_marker}" "${HOME}/.grok/config.toml" 2>/dev/null \ - || grep -qF "${v9_legacy}" "${HOME}/.grok/config.toml" 2>/dev/null; then - ok "V9 / 4.6 model pickers present (grokhunter models status)" - else - warn "V9 pickers not installed — grokhunter models install" + || grep -qF "${v9_legacy}" "${HOME}/.grok/config.toml" 2>/dev/null \ + || grep -qE '^\[model\.(chat-expert|multi|auto|grok-v9)' "${HOME}/.grok/config.toml" 2>/dev/null; then + warn "legacy V9 pickers present — grokhunter models clean" WARN=1 fi else diff --git a/config/completions/bash/grokhunter.bash b/config/completions/bash/grokhunter.bash index 9a3de1b..22b7a01 100644 --- a/config/completions/bash/grokhunter.bash +++ b/config/completions/bash/grokhunter.bash @@ -8,7 +8,7 @@ _grokhunter_completions() { prev="${COMP_WORDS[COMP_CWORD-1]}" local cmds="status doctor binds proot-binds setup sync boot ensure models skills agents team coding-team scout benjamin lucas harper review fix desktop overlay ship docs modeler ci aider session host mcp plugin flow storage editor hook shell github secrets toolchain tls net tookie menu git-identity credits ai-smoke smoke install plan help version" - local model_sub="install status force --force help" + local model_sub="status clean install force --force --clean help" local skills_sub="install status help" local agents_sub="status list help" local identity_sub="show set help --name --email --local --global" diff --git a/config/completions/zsh/_grokhunter b/config/completions/zsh/_grokhunter index 2b4c2a0..162cbf3 100644 --- a/config/completions/zsh/_grokhunter +++ b/config/completions/zsh/_grokhunter @@ -15,7 +15,7 @@ _grokhunter() { 'sync:Alias for setup' 'boot:Alias for setup' 'ensure:Install or upgrade Grok Build binary' - 'models:V9 / 4.5 model pickers' + 'models:grok-4.6 profile / clean legacy V9 pickers' 'skills:Install/status lab skills (~/.grok/skills)' 'agents:List Coding Team agents' 'team:Launch coding-team agent' @@ -26,7 +26,7 @@ _grokhunter() { 'overlay:Launch overlay/install agent' 'ship:Launch release/ship agent' 'docs:Launch docs agent' - 'modeler:Launch models/V9 agent' + 'modeler:Launch models agent (grok-4.6 profile)' 'ci:Launch CI agent' 'aider:Launch aider-grok agent' 'session:Launch tmux / grok-resume agent' @@ -60,9 +60,10 @@ _grokhunter() { local -a model_cmds model_cmds=( - 'install:Write V9 pickers into ~/.grok/config.toml' - 'status:Show whether V9 pickers are installed' - 'force:Force refresh of V9 pickers' + 'status:Show grok-4.6 default / legacy V9 leftovers' + 'clean:Remove legacy V9 /model pickers' + 'install:Alias for clean (pickers retired)' + 'force:Alias for clean' 'help:Models help' ) @@ -99,7 +100,7 @@ _grokhunter() { local -a setup_opts setup_opts=( '--force-grok[Reinstall Grok]' - '--with-models[Install V9 pickers]' + '--with-models[Clean legacy V9 pickers]' '--with-aider[Install Aider]' '--no-doctor[Skip doctor]' '--yes[Non-interactive]' @@ -120,8 +121,8 @@ _grokhunter() { '--no-x11[Skip Termux:X11]' '--with-aider[Install Aider]' '--no-aider[Skip Aider]' - '--with-v9-models[Install V9 model pickers]' - '--no-v9-models[Skip V9 pickers]' + '--with-v9-models[Deprecated no-op (V9 pickers removed)]' + '--no-v9-models[Deprecated no-op (V9 pickers removed)]' '--with-completions[Install shell completions]' '--no-completions[Skip shell completions]' '--overlay-only[Optional overlays only; no rootfs download]' diff --git a/config/grok-build-v9-models.example.toml b/config/grok-build-v9-models.example.toml index 74c2d23..5af8c23 100644 --- a/config/grok-build-v9-models.example.toml +++ b/config/grok-build-v9-models.example.toml @@ -1,174 +1,15 @@ -# GrokHunter / Cinematic Studio — V9 Model Layer picker surface -# Compatible with Grok Build 1.0.5+ (stable). -# All aliases route to base model grok-4.6 (catalog id). -# Native product slugs may differ; these are picker IDs for /model … -# See: docs.x.ai/developers/models · grok models · /model - -[model.grok-v9-4p6-chat-expert] -name = "Grok V9 4.6 Chat Expert" -model = "grok-4.6" -temperature = 0.7 -description = "Chat-expert profile on grok-4.6" - -[model.grok-v9] -name = "Grok V9" -model = "grok-4.6" -temperature = 0.7 -description = "V9 family alias → grok-4.6" - -[model.grok-v9-4p6] -name = "Grok V9 4.6" -model = "grok-4.6" -temperature = 0.7 -description = "V9 family alias → grok-4.6" - -[model.v9] -name = "V9 short" -model = "grok-4.6" -temperature = 0.7 -description = "V9 family alias → grok-4.6" - -[model.v9-4p6] -name = "V9 4.6 short" -model = "grok-4.6" -temperature = 0.7 -description = "V9 family alias → grok-4.6" - -[model.chat-expert] -name = "Chat Expert" -model = "grok-4.6" -temperature = 0.7 -description = "Chat-expert profile on grok-4.6" - -[model.v9-4p6-chat-expert] -name = "V9 4.6 Chat Expert" -model = "grok-4.6" -temperature = 0.7 -description = "Chat-expert profile on grok-4.6" - -[model.4p6-expert] -name = "4.6 Expert" -model = "grok-4.6" -temperature = 0.7 -description = "Chat-expert profile on grok-4.6" - -[model."grok-4.6-expert"] -name = "Grok 4.6 Expert" -model = "grok-4.6" -temperature = 0.7 -description = "Chat-expert profile on grok-4.6" - -[model.grok-v9-4p6-multi] -name = "Grok V9 4.6 Multi" -model = "grok-4.6" -temperature = 0.7 -description = "Multi/agent-oriented profile on grok-4.6" - -[model.multi] -name = "Multi" -model = "grok-4.6" -temperature = 0.7 -description = "Multi/agent-oriented profile on grok-4.6" - -[model.v9-4p6-multi] -name = "V9 4.6 Multi" -model = "grok-4.6" -temperature = 0.7 -description = "Multi/agent-oriented profile on grok-4.6" - -[model.4p6-multi] -name = "4.6 Multi" -model = "grok-4.6" -temperature = 0.7 -description = "Multi/agent-oriented profile on grok-4.6" - -[model."grok-4.6-multi"] -name = "Grok 4.6 Multi" -model = "grok-4.6" -temperature = 0.7 -description = "Multi/agent-oriented profile on grok-4.6" - -[model.grok-4-auto] -name = "Grok 4 Auto" -model = "grok-4.6" -temperature = 0.7 -description = "Auto router profile on grok-4.6" - -[model.auto] -name = "Auto" -model = "grok-4.6" -temperature = 0.7 -description = "Auto router profile on grok-4.6" - -[model.4-auto] -name = "4 Auto" -model = "grok-4.6" -temperature = 0.7 -description = "Auto router profile on grok-4.6" - -[model.grok-auto] -name = "Grok Auto" -model = "grok-4.6" -temperature = 0.7 -description = "Auto router profile on grok-4.6" - -# Compat: former 4.5 picker IDs still work; they now wrap grok-4.6 -[model.grok-v9-4p5-chat-expert] -name = "Grok V9 4.5 Chat Expert (→ 4.6)" -model = "grok-4.6" -temperature = 0.7 -description = "Compat alias → grok-4.6" - -[model.grok-v9-4p5] -name = "Grok V9 4.5 (→ 4.6)" -model = "grok-4.6" -temperature = 0.7 -description = "Compat alias → grok-4.6" - -[model.v9-4p5] -name = "V9 4.5 short (→ 4.6)" -model = "grok-4.6" -temperature = 0.7 -description = "Compat alias → grok-4.6" - -[model.v9-4p5-chat-expert] -name = "V9 4.5 Chat Expert (→ 4.6)" -model = "grok-4.6" -temperature = 0.7 -description = "Compat alias → grok-4.6" - -[model.4p5-expert] -name = "4.5 Expert (→ 4.6)" -model = "grok-4.6" -temperature = 0.7 -description = "Compat alias → grok-4.6" - -[model."grok-4.5-expert"] -name = "Grok 4.5 Expert (→ 4.6)" -model = "grok-4.6" -temperature = 0.7 -description = "Compat alias → grok-4.6" - -[model.grok-v9-4p5-multi] -name = "Grok V9 4.5 Multi (→ 4.6)" -model = "grok-4.6" -temperature = 0.7 -description = "Compat alias → grok-4.6" - -[model.v9-4p5-multi] -name = "V9 4.5 Multi (→ 4.6)" -model = "grok-4.6" -temperature = 0.7 -description = "Compat alias → grok-4.6" - -[model.4p5-multi] -name = "4.5 Multi (→ 4.6)" -model = "grok-4.6" -temperature = 0.7 -description = "Compat alias → grok-4.6" - -[model."grok-4.5-multi"] -name = "Grok 4.5 Multi (→ 4.6)" -model = "grok-4.6" -temperature = 0.7 -description = "Compat alias → grok-4.6" +# GrokHunter — V9 /model pickers removed +# +# The former V9 specialist picker surface (chat-expert, multi, auto, grok-v9, …) +# has been retired. This file is kept as a stub so old paths/docs do not 404. +# +# Default catalog model: grok-4.6 +# Install / refresh profile: +# grokhunter ensure +# bash scripts/install_grok_profile.sh +# +# Clean legacy pickers from ~/.grok/config.toml: +# grokhunter models clean +# # or: bash scripts/install_v9_grok_models.sh +# +# Imagine (grok-imagine-*) is separate and unchanged. diff --git a/docs/ARCHITECTURE.md b/docs/ARCHITECTURE.md index c37233e..f96e507 100644 --- a/docs/ARCHITECTURE.md +++ b/docs/ARCHITECTURE.md @@ -45,7 +45,7 @@ GrokHunter does **not** require Magisk, custom recovery, HID, or firmware module 6. Optional: Grok Build via `scripts/ensure_grok.sh` 7. Optional: Termux:X11 + `nh-x11` + `/tmp` bind 8. Optional: Aider (`--with-aider` → uv + Python 3.12, `aider-grok`) -9. Optional: V9 / 4.6 model pickers + shell completions (`~/.grok/profile.sh`; does not edit rc files) +9. Optional: shell completions (`~/.grok/profile.sh`; does not edit rc files). Default model: grok-4.6 ## Upstream foundation (required credit) diff --git a/docs/CODING-TEAM.md b/docs/CODING-TEAM.md index 4c54a29..ca5204e 100644 --- a/docs/CODING-TEAM.md +++ b/docs/CODING-TEAM.md @@ -71,7 +71,7 @@ Clarify goal + constraints | Termux host vs Kali guest | `host` | | VERSION / changelog / tag | `ship` | | README / FAQ / site copy | `docs` | -| V9 pickers / grok-4.6 profile | `models` | +| grok-4.6 profile / legacy V9 cleanup | `models` | | ci-unit / Smoke | `ci` | | Aider install / uv 3.12 | `aider` | | tmux / `grok --resume` | `session` | diff --git a/docs/FAQ.md b/docs/FAQ.md index 0adca8c..cd9872a 100644 --- a/docs/FAQ.md +++ b/docs/FAQ.md @@ -120,7 +120,7 @@ Yes — **overlay-only** (no rootfs / termux-distro): ```bash bash install.sh --overlay-only --with-x11 --with-aider -bash install.sh --overlay-only --with-grok --with-v9-models --with-completions +bash install.sh --overlay-only --with-grok --with-completions # refreshes CLI wrappers + skills under ~/.local/bin and ~/.grok/skills ``` @@ -141,13 +141,13 @@ bash ~/GrokHunter/scripts/install_grok_statusline.sh ## How should I split Grok chat vs Grok Build? -See [GROK-46-WORKFLOW.md](GROK-46-WORKFLOW.md) — chat for think, Build for code, Bot for glue; V9 `/model` aliases all wrap `grok-4.6`. +See [GROK-46-WORKFLOW.md](GROK-46-WORKFLOW.md) — chat for think, Build for code, Bot for glue; catalog default **`grok-4.6`**. -## How do I check V9 model pickers / API key? +## How do I check the models profile / API key? ```bash -grokhunter models status -grokhunter models install +grokhunter models status # grok-4.6 default; warns if legacy V9 pickers remain +grokhunter models clean # remove retired V9 /model pickers grokhunter ai-smoke # SpaceXAI Responses smoke (needs XAI_API_KEY) bash scripts/ci-unit.sh # local unit checks (no network) ``` diff --git a/docs/GROK-46-WORKFLOW.md b/docs/GROK-46-WORKFLOW.md index 3bcb4e9..9529020 100644 --- a/docs/GROK-46-WORKFLOW.md +++ b/docs/GROK-46-WORKFLOW.md @@ -15,26 +15,20 @@ See also: [GROK-46.md](GROK-46.md) · [GROK-BUILD-1.0.md](GROK-BUILD-1.0.md) · | **Coding Team** (Benjamin → Lucas → Harper) | Design → ship → harden | Same `grok-4.6` via `~/.grok/agents/` | | **Aider** (`aider-grok`) | Focused diffs when the Build TUI is heavy | `AIDER_MODEL=grok-4.6` | -## Grok Build `/model` pickers (V9) +## Grok Build model -Install with `grokhunter models install` (or `bash scripts/install_v9_grok_models.sh`). -All coding aliases wrap **`grok-4.6`** (4.5 names are legacy): - -| `/model` alias | Use when | -|----------------|----------| -| `chat-expert` / `grok-v9` | Hard reasoning, architecture, threat notes | -| `multi` | Broader exploration / multi-angle | -| `auto` | Everyday “pick something sensible” coding | -| *(default, no switch)* | Normal pair-program / implement | +Use the catalog default **`grok-4.6`** (no V9 `/model` pickers). Former aliases +(`chat-expert`, `multi`, `auto`, `grok-v9`, …) are retired — clean with +`grokhunter models clean` if they linger in `~/.grok/config.toml`. **Imagine** stills/video stay on `grok-imagine-*` — do not use those for coding sessions. ## Day-to-day routing 1. **Decide / research** → Grok chat 4.6 (or Bot for “what should we do?”). -2. **Plan a change** → `grok` + `/model chat-expert`, or `grokhunter plan "…"`. +2. **Plan a change** → `grok` (default `grok-4.6`), or `grokhunter plan "…"`. 3. **Implement** → default `grok-4.6` (or Coding Team Lucas); keep turns small. -4. **Harden / review** → Harper, or `/model chat-expert` on the diff. +4. **Harden / review** → Harper, or another `grok` turn on the diff. 5. **Bot** → install, tunnels, GitHub, connectors — glue, not primary editor on phone. ## Lab checklist (Termux / desktop) @@ -42,12 +36,11 @@ All coding aliases wrap **`grok-4.6`** (4.5 names are legacy): ```bash grokhunter ensure grokhunter models status -grokhunter models install # if models=no or pickers missing +grokhunter models clean # if legacy V9 pickers remain bash scripts/install_grok_profile.sh --force # if still on 4.5 / channel=alpha ``` -In `grok`, confirm `/model` lists `chat-expert`, `multi`, `auto`, `grok-v9`, and the -default coding model remains **`grok-4.6`**. +Confirm the default coding model remains **`grok-4.6`**. ## Success criteria @@ -59,4 +52,4 @@ default coding model remains **`grok-4.6`**. - [pair-programming](../skills/pair-programming/SKILL.md) - [CODING-TEAM.md](CODING-TEAM.md) -- [FAQ.md](FAQ.md) — V9 pickers / API key +- [FAQ.md](FAQ.md) — models default / API key diff --git a/docs/GROK-46.md b/docs/GROK-46.md index f81696f..bece939 100644 --- a/docs/GROK-46.md +++ b/docs/GROK-46.md @@ -69,20 +69,18 @@ grokhunter doctor Confirms Grok binary, auth, and lab readiness before long sessions. -## V9 / specialist model pickers (optional) +## Model default (grok-4.6) -Register `/model chat-expert`, `/model multi`, `/model auto`, etc. in Grok Build: +Catalog default remains **`grok-4.6`** via the NetHunter profile (`grokhunter ensure` / +`bash scripts/install_grok_profile.sh`). Former V9 `/model` pickers (`chat-expert`, +`multi`, `auto`, `grok-v9`, …) are **retired** — clean leftovers with: ```bash -git clone https://github.com/FineComputer14451/GrokHunter.git -cd GrokHunter -bash scripts/install_v9_grok_models.sh -# force refresh: -bash scripts/install_v9_grok_models.sh --force +grokhunter models clean +# or: bash scripts/install_v9_grok_models.sh ``` -Template: `config/grok-build-v9-models.example.toml` -All aliases wrap **grok-4.6**. Imagine stills/video stay on `grok-imagine-*`. +Imagine stills/video stay on `grok-imagine-*` (unchanged). ## Related diff --git a/docs/GROK-BUILD-1.0.md b/docs/GROK-BUILD-1.0.md index b01427c..4d479b5 100644 --- a/docs/GROK-BUILD-1.0.md +++ b/docs/GROK-BUILD-1.0.md @@ -34,10 +34,8 @@ bash ~/GrokHunter/scripts/install_grok_profile.sh --force # 3) Lab skills + Coding Team agents grokhunter skills install -# 4) Optional V9 /model aliases (map to grok-4.6) -grokhunter models install -# or force refresh from 4.5 pickers: -grokhunter models force +# 4) Clean legacy V9 pickers if present (optional; default is already grok-4.6) +grokhunter models clean # 5) Health grokhunter doctor @@ -72,5 +70,5 @@ cat ~/.grok/config.toml | head -40 ## Notes - Session auth (SuperGrok / X Premium+) and `XAI_API_KEY` both work; prefer secrets in `~/.grok/secrets.env`. -- V9 picker aliases are **local** `[model.*]` names that still call **grok-4.6**. Former 4.5 picker IDs remain as compat aliases. +- Former V9 `/model` pickers are **removed**. Default remains **grok-4.6**; clean leftovers with `grokhunter models clean`. - `grok-build` as a **model id** is not the lab default — use `grok-4.6` (agent type `plan` is separate from model id). diff --git a/docs/INSTALL.md b/docs/INSTALL.md index 1274f11..7e5480f 100644 --- a/docs/INSTALL.md +++ b/docs/INSTALL.md @@ -72,8 +72,8 @@ bash install.sh --full --de xfce --with-grok --with-x11 --no-x11 Skip Termux:X11 --with-aider Install Aider (venv + xAI helper) --no-aider Skip Aider ---with-v9-models Install Grok V9 / 4.6 model pickers into config.toml ---no-v9-models Skip V9 model pickers +--with-v9-models Deprecated no-op (V9 pickers removed; accepted for old scripts) +--no-v9-models Deprecated no-op (V9 pickers removed; accepted for old scripts) --with-completions Copy completions + ~/.grok/profile.sh (does not edit .zshrc/.bashrc) --no-completions Skip shell completions --overlay-only Skip rootfs / termux-distro; only run optional overlays @@ -87,9 +87,9 @@ When Kali is already installed, add optional pieces without running termux-distr ```bash bash install.sh --overlay-only --with-x11 --with-aider -bash install.sh --overlay-only --with-grok --with-v9-models --with-completions +bash install.sh --overlay-only --with-grok --with-completions # or: -grokhunter install --overlay-only --with-v9-models +grokhunter install --overlay-only --with-grok --with-completions ``` Requires at least one `--with-*` flag. Does **not** install DE/browser or pull a new rootfs. diff --git a/docs/superpowers/plans/2026-08-27-grokhunter-install-tui.md b/docs/superpowers/plans/2026-08-27-grokhunter-install-tui.md index 6397ad1..b2b3bbb 100644 --- a/docs/superpowers/plans/2026-08-27-grokhunter-install-tui.md +++ b/docs/superpowers/plans/2026-08-27-grokhunter-install-tui.md @@ -1,5 +1,7 @@ # GrokHunter first-run installer TUI +> **Note (historical):** V9 pickers removed; coding/desktop presets no longer emit `--with-v9-models`. + > **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking. **Goal:** On Termux, bare `install.sh` (TTY, no size/feature flags) opens a numbered checklist wizard, then `exec`s the existing installer with explicit flags. Default is a coding-only nano lab. diff --git a/docs/superpowers/specs/2026-08-27-grokhunter-install-tui-design.md b/docs/superpowers/specs/2026-08-27-grokhunter-install-tui-design.md index 0ccdf04..fca2f6d 100644 --- a/docs/superpowers/specs/2026-08-27-grokhunter-install-tui-design.md +++ b/docs/superpowers/specs/2026-08-27-grokhunter-install-tui-design.md @@ -1,5 +1,7 @@ # Design: Termux first-run installer TUI +> **Note (historical):** V9 pickers removed; coding/desktop presets no longer emit `--with-v9-models`. + **Date:** 2026-08-27 **Status:** Approved **Product:** GrokHunter Rootless (coding lab) diff --git a/install.sh b/install.sh index 87f8120..adb23a9 100755 --- a/install.sh +++ b/install.sh @@ -412,7 +412,7 @@ if [[ "${OVERLAY_ONLY:-0}" -eq 1 ]]; then && "${FEATURE_COMPLETIONS}" == "auto" ]]; then die_with_help "Overlay-only needs at least one --with-* flag." \ "Example: bash install.sh --overlay-only --with-x11 --with-aider" \ - "Example: bash install.sh --overlay-only --with-grok --with-v9-models --with-completions" + "Example: bash install.sh --overlay-only --with-grok --with-completions" fi run_optional_features echo diff --git a/lib/actions.sh b/lib/actions.sh index c16f690..d84e1be 100644 --- a/lib/actions.sh +++ b/lib/actions.sh @@ -96,7 +96,7 @@ post_config_actions() { } # Resolve FEATURE_*=yes|no|auto into a concrete install decision. -# Completions: non-interactive auto follows sibling --with-grok|v9|aider. +# Completions: non-interactive auto follows sibling --with-grok|aider (v9 deprecated). maybe_install() { local want="${1:-auto}" local prompt="$2" @@ -154,8 +154,9 @@ run_optional_features() { maybe_install "${FEATURE_AIDER:-auto}" \ "Also install Aider (git-native pair-programmer)?" \ install_aider + # V9 pickers retired: --with-v9-models only runs cleanup (or skips when auto/no). maybe_install "${FEATURE_V9:-auto}" \ - "Also install Grok V9 / 4.6 model pickers (/model chat-expert, multi, auto)?" \ + "Clean legacy V9 /model pickers from config.toml? (pickers retired)" \ install_v9_models maybe_install "$(_completions_want)" \ "Install zsh/bash completions for grokhunter (recommended)?" \ diff --git a/lib/cli.sh b/lib/cli.sh index 55f6688..382f096 100644 --- a/lib/cli.sh +++ b/lib/cli.sh @@ -31,6 +31,14 @@ SKIP_V9=0 INSTALL_COMPLETIONS=0 SKIP_COMPLETIONS=0 +# Warn once when deprecated --with/--no-v9-models is seen +_V9_FLAG_WARNED=0 +_warn_v9_deprecated() { + [[ "${_V9_FLAG_WARNED}" -eq 1 ]] && return 0 + _V9_FLAG_WARNED=1 + echo "[GrokHunter] WARN: --with-v9-models / --no-v9-models are deprecated no-ops (V9 pickers retired; default remains grok-4.6)." >&2 +} + show_help() { local ec="${1:-0}" cat <<'HELP' @@ -51,8 +59,8 @@ Options: --no-x11 Skip Termux:X11 setup --with-aider Install Aider pair-programmer (venv + xAI-ready) --no-aider Skip Aider installation - --with-v9-models Install Grok V9 / 4.6 model pickers into config.toml - --no-v9-models Skip V9 model pickers + --with-v9-models Deprecated no-op (V9 pickers removed; kept for old scripts) + --no-v9-models Deprecated no-op (V9 pickers removed; kept for old scripts) --with-completions Copy completions + ~/.grok/profile.sh (does not edit .zshrc/.bashrc) --no-completions Skip shell completions --overlay-only Skip rootfs / termux-distro; only run optional overlays @@ -66,7 +74,7 @@ Examples: install.sh --full --de xfce --with-grok --with-x11 --with-aider --with-completions install.sh -m install.sh --nano --no-de --with-grok - install.sh --overlay-only --with-x11 --with-aider --with-v9-models + install.sh --overlay-only --with-x11 --with-aider --with-completions Env: GROKHUNTER_REFRESH=1 Bypass module + engine cache @@ -138,8 +146,8 @@ parse_cli() { --no-x11) _feature_no x11; NON_INTERACTIVE=1; shift ;; --with-aider) _feature_yes aider; NON_INTERACTIVE=1; shift ;; --no-aider) _feature_no aider; NON_INTERACTIVE=1; shift ;; - --with-v9-models) _feature_yes v9; NON_INTERACTIVE=1; shift ;; - --no-v9-models) _feature_no v9; NON_INTERACTIVE=1; shift ;; + --with-v9-models) _warn_v9_deprecated; _feature_yes v9; NON_INTERACTIVE=1; shift ;; + --no-v9-models) _warn_v9_deprecated; _feature_no v9; NON_INTERACTIVE=1; shift ;; --with-completions) _feature_yes completions; NON_INTERACTIVE=1; shift ;; --no-completions) _feature_no completions; NON_INTERACTIVE=1; shift ;; --overlay-only) OVERLAY_ONLY=1; NON_INTERACTIVE=1; shift ;; diff --git a/lib/grok.sh b/lib/grok.sh index 8eebcdd..666cc3d 100644 --- a/lib/grok.sh +++ b/lib/grok.sh @@ -574,22 +574,22 @@ install_aider() { } # --------------------------------------------------------------------------- -# V9 / 4.6 model pickers +# Legacy V9 /model picker cleanup (pickers retired; default remains grok-4.6) # --------------------------------------------------------------------------- install_v9_models() { - msg -t "Installing Grok V9 / 4.6 model pickers" + msg -t "Cleaning legacy V9 /model pickers (retired)" local script="" script="$(_gh_resolve "scripts/install_v9_grok_models.sh" || true)" if [[ -n "${script}" && -f "${script}" ]]; then - msg -tn "Running install_v9_grok_models.sh…" + msg -tn "Running install_v9_grok_models.sh (cleanup)…" if bash "${script}"; then cursor -u1 - msg -ts "V9 / 4.6 model pickers installed" + msg -ts "V9 pickers cleaned / already absent (default: grok-4.6)" else cursor -u1 - msg -tw "V9 picker install reported issues — try: bash scripts/install_v9_grok_models.sh --force" + msg -tw "V9 cleanup reported issues — try: bash scripts/install_v9_grok_models.sh" fi else msg -tw "scripts/install_v9_grok_models.sh not found — skip or clone the repo" diff --git a/lib/install-tui.sh b/lib/install-tui.sh index 9df0737..0293311 100644 --- a/lib/install-tui.sh +++ b/lib/install-tui.sh @@ -7,7 +7,6 @@ install_tui_defaults() { INSTALL_TUI_GROK=yes INSTALL_TUI_COMPLETIONS=yes INSTALL_TUI_AIDER=no - INSTALL_TUI_V9=no } install_tui_set_preset() { @@ -23,7 +22,6 @@ install_tui_toggle() { grok) var=INSTALL_TUI_GROK ;; completions) var=INSTALL_TUI_COMPLETIONS ;; aider) var=INSTALL_TUI_AIDER ;; - v9) var=INSTALL_TUI_V9 ;; *) return 1 ;; esac if [[ "${!var}" == yes ]]; then @@ -52,7 +50,6 @@ install_tui_argv() { args=(--nano --no-de "$g" "$c") fi [[ "${INSTALL_TUI_AIDER:-no}" == yes ]] && args+=(--with-aider) - [[ "${INSTALL_TUI_V9:-no}" == yes ]] && args+=(--with-v9-models) printf '%s\n' "${args[*]}" } @@ -105,16 +102,14 @@ GrokHunter install Grok: ${INSTALL_TUI_GROK} Completions: ${INSTALL_TUI_COMPLETIONS} Aider: ${INSTALL_TUI_AIDER} - V9 pickers: ${INSTALL_TUI_V9} 1) Install 2) ${item2} 3) Toggle Grok 4) Toggle completions 5) Toggle Aider - 6) Toggle V9 pickers - 7) Show command - 8) Quit + 6) Show command + 7) Quit EOF } @@ -190,9 +185,8 @@ install_tui_main() { 3) install_tui_toggle grok ;; 4) install_tui_toggle completions ;; 5) install_tui_toggle aider ;; - 6) install_tui_toggle v9 ;; - 7) install_tui_show_cmd ;; - 8|q|Q) exit 0 ;; + 6) install_tui_show_cmd ;; + 7|q|Q) exit 0 ;; esac done } diff --git a/plugins/grokhunter-full/agents/models.md b/plugins/grokhunter-full/agents/models.md index 8fba6c8..c71145e 100644 --- a/plugins/grokhunter-full/agents/models.md +++ b/plugins/grokhunter-full/agents/models.md @@ -1,24 +1,26 @@ --- name: models description: >- - Models — Grok 4.6 catalog and V9 /model pickers for GrokHunter. Use for - "models=no", chat-expert/multi/auto, grok-4.5 leftovers, or profile merge. + Models — Grok 4.6 catalog default and NetHunter profile for GrokHunter. + Use for "models=no", legacy V9 picker cleanup, or profile merge. prompt_mode: full model: inherit permission_mode: default agents_md: true --- -You are Models, the Grok Build catalog and V9 picker specialist for GrokHunter. +You are Models, the Grok Build catalog / profile specialist for GrokHunter. -You own **`grokhunter models`**, `scripts/install_v9_grok_models.sh`, and the NetHunter profile merge. Binary missing/old is `grokhunter ensure` (skill `grokhunter`) — do not reimplement ensure. +You own **`grokhunter models`**, `scripts/install_v9_grok_models.sh` (cleanup only), +and the NetHunter profile merge. Binary missing/old is `grokhunter ensure` +(skill `grokhunter`) — do not reimplement ensure. ## Domain | Topic | Home | |-------|------| -| Pickers | `grokhunter models status\|install\|force` | -| Script | `scripts/install_v9_grok_models.sh` | +| Status / cleanup | `grokhunter models status\|clean\|install\|force` | +| Script | `scripts/install_v9_grok_models.sh` (removes retired V9 pickers) | | Profile | `scripts/install_grok_profile.sh` · `config/grok-build.nethunter.toml` | | Docs | `docs/GROK-46.md`, `docs/GROK-BUILD-1.0.md` | | Default | `grok-4.6` · min binary **1.0.5** | @@ -35,42 +37,28 @@ You own **`grokhunter models`**, `scripts/install_v9_grok_models.sh`, and the Ne ## Process 1. `grokhunter models status` and `grok --version` -2. Smallest fix: `models install` or `models force` or profile `--force` -3. Verify in-session `/model` IDs (chat-expert · multi · auto · grok-v9) +2. Smallest fix: `models clean` (if legacy V9) or profile `--force` +3. Confirm default remains **`grok-4.6`** (do not re-install V9 pickers) ## Common failures | Symptom | Fix | |---------|-----| -| `models=no` after overlay-only | `grokhunter models install` | +| `models=no` after overlay-only | `grokhunter ensure` / profile install | +| legacy V9 pickers present | `grokhunter models clean` | | channel=alpha / 4.5 leftovers | `bash scripts/install_grok_profile.sh --force` | | Binary < 1.0.5 | `grokhunter ensure` (not this agent) | ## Required output — Models card -```markdown -## Symptom -## Binary / profile / pickers -## Commands -## Verify -``` +State default model, whether legacy pickers were cleaned, and next verify step. -## References +## Binary / profile / cleanup -- Skill: `grok-models` -- Docs: `docs/GROK-46.md`, `docs/GROK-BUILD-1.0.md` -- Templates: `agents/HANDOFF-TEMPLATES.md` -- Cross-index: `agents/REFERENCES.md` -- Role: `models` +- Prefer `grokhunter ensure` for binary + profile. +- `grokhunter models install|force` are **cleanup aliases** — they do not install pickers. +- Imagine (`grok-imagine-*`) is out of scope unless the user asks. -## Activation - -> Models online — grok-4.6 / V9 pickers. - -Ask whether they need pickers, profile, or binary if not given. - -## Hard rules -- Never print secrets -- Coding lab only; no unauthorized offensive activity -- Credit jorexdeveloper, Termux, Kali/OffSec, xAI; not affiliated +> Models online — grok-4.6 profile. +Ask whether they need profile, cleanup, or binary if not given. diff --git a/plugins/grokhunter-full/skills/grok-models/SKILL.md b/plugins/grokhunter-full/skills/grok-models/SKILL.md index f8f73a4..fcb1e92 100644 --- a/plugins/grokhunter-full/skills/grok-models/SKILL.md +++ b/plugins/grokhunter-full/skills/grok-models/SKILL.md @@ -1,49 +1,38 @@ --- name: grok-models description: >- - Use when GrokHunter V9 /model pickers are missing, models=no, wrong model - selected, or grok-4.6 profile needs a refresh. + Use when GrokHunter models=no, wrong default, grok-4.6 profile needs a + refresh, or legacy V9 /model pickers remain. --- # Source -Ported from FineComputer14451/GrokHunter `skills/grok-models` (v1.0.10). +Ported from FineComputer14451/GrokHunter `skills/grok-models`. Hard rules: never print secrets; coding lab mission; credit jorexdeveloper, Termux, Kali/OffSec, xAI. -# Grok models (optional) +# Grok models -You keep **Grok 4.6** as the catalog default and V9 pickers working. Binary install is `grokhunter ensure` (skill `grokhunter`) — this skill is **pickers + profile**. +You keep **Grok 4.6** as the catalog default. Binary install is `grokhunter ensure` +(skill `grokhunter`) — this skill is **profile + legacy picker cleanup**. ## When to activate -- `/model` aliases missing - `status` shows `models=no` -- User asks for chat-expert / multi / auto / grok-v9 - Profile still on grok-4.5 or channel=alpha +- Legacy V9 pickers linger in config.toml ## Commands ```bash grokhunter models status -grokhunter models install -grokhunter models force +grokhunter models clean grokhunter ensure bash scripts/install_grok_profile.sh --force ``` -In-session: `/model chat-expert` · `/model multi` · `/model auto` · `/model grok-v9` - -Canonical installer: `scripts/install_v9_grok_models.sh`. Docs: `docs/GROK-46.md`, `docs/GROK-BUILD-1.0.md`. +Default: **`grok-4.6`**. Cleanup script: `scripts/install_v9_grok_models.sh`. +Docs: `docs/GROK-46.md`, `docs/GROK-BUILD-1.0.md`. ## Facts - Min Grok Build **1.0.5** - Default catalog **`grok-4.6`** -- Former 4.5 picker IDs wrap 4.6 -- Config: `~/.grok/config.toml` (never print secrets) - -## Common failures - -| Symptom | First step | -|---------|------------| -| `models=no` / pickers missing | `grokhunter models install` | -| Still grok-4.5 / channel=alpha | `bash scripts/install_grok_profile.sh --force` | -| Binary too old | `grokhunter ensure` | +- V9 `/model` pickers are **retired** diff --git a/plugins/grokhunter-models/agents/models.md b/plugins/grokhunter-models/agents/models.md index 8fba6c8..c71145e 100644 --- a/plugins/grokhunter-models/agents/models.md +++ b/plugins/grokhunter-models/agents/models.md @@ -1,24 +1,26 @@ --- name: models description: >- - Models — Grok 4.6 catalog and V9 /model pickers for GrokHunter. Use for - "models=no", chat-expert/multi/auto, grok-4.5 leftovers, or profile merge. + Models — Grok 4.6 catalog default and NetHunter profile for GrokHunter. + Use for "models=no", legacy V9 picker cleanup, or profile merge. prompt_mode: full model: inherit permission_mode: default agents_md: true --- -You are Models, the Grok Build catalog and V9 picker specialist for GrokHunter. +You are Models, the Grok Build catalog / profile specialist for GrokHunter. -You own **`grokhunter models`**, `scripts/install_v9_grok_models.sh`, and the NetHunter profile merge. Binary missing/old is `grokhunter ensure` (skill `grokhunter`) — do not reimplement ensure. +You own **`grokhunter models`**, `scripts/install_v9_grok_models.sh` (cleanup only), +and the NetHunter profile merge. Binary missing/old is `grokhunter ensure` +(skill `grokhunter`) — do not reimplement ensure. ## Domain | Topic | Home | |-------|------| -| Pickers | `grokhunter models status\|install\|force` | -| Script | `scripts/install_v9_grok_models.sh` | +| Status / cleanup | `grokhunter models status\|clean\|install\|force` | +| Script | `scripts/install_v9_grok_models.sh` (removes retired V9 pickers) | | Profile | `scripts/install_grok_profile.sh` · `config/grok-build.nethunter.toml` | | Docs | `docs/GROK-46.md`, `docs/GROK-BUILD-1.0.md` | | Default | `grok-4.6` · min binary **1.0.5** | @@ -35,42 +37,28 @@ You own **`grokhunter models`**, `scripts/install_v9_grok_models.sh`, and the Ne ## Process 1. `grokhunter models status` and `grok --version` -2. Smallest fix: `models install` or `models force` or profile `--force` -3. Verify in-session `/model` IDs (chat-expert · multi · auto · grok-v9) +2. Smallest fix: `models clean` (if legacy V9) or profile `--force` +3. Confirm default remains **`grok-4.6`** (do not re-install V9 pickers) ## Common failures | Symptom | Fix | |---------|-----| -| `models=no` after overlay-only | `grokhunter models install` | +| `models=no` after overlay-only | `grokhunter ensure` / profile install | +| legacy V9 pickers present | `grokhunter models clean` | | channel=alpha / 4.5 leftovers | `bash scripts/install_grok_profile.sh --force` | | Binary < 1.0.5 | `grokhunter ensure` (not this agent) | ## Required output — Models card -```markdown -## Symptom -## Binary / profile / pickers -## Commands -## Verify -``` +State default model, whether legacy pickers were cleaned, and next verify step. -## References +## Binary / profile / cleanup -- Skill: `grok-models` -- Docs: `docs/GROK-46.md`, `docs/GROK-BUILD-1.0.md` -- Templates: `agents/HANDOFF-TEMPLATES.md` -- Cross-index: `agents/REFERENCES.md` -- Role: `models` +- Prefer `grokhunter ensure` for binary + profile. +- `grokhunter models install|force` are **cleanup aliases** — they do not install pickers. +- Imagine (`grok-imagine-*`) is out of scope unless the user asks. -## Activation - -> Models online — grok-4.6 / V9 pickers. - -Ask whether they need pickers, profile, or binary if not given. - -## Hard rules -- Never print secrets -- Coding lab only; no unauthorized offensive activity -- Credit jorexdeveloper, Termux, Kali/OffSec, xAI; not affiliated +> Models online — grok-4.6 profile. +Ask whether they need profile, cleanup, or binary if not given. diff --git a/plugins/grokhunter-models/skills/grok-models/SKILL.md b/plugins/grokhunter-models/skills/grok-models/SKILL.md index f8f73a4..fcb1e92 100644 --- a/plugins/grokhunter-models/skills/grok-models/SKILL.md +++ b/plugins/grokhunter-models/skills/grok-models/SKILL.md @@ -1,49 +1,38 @@ --- name: grok-models description: >- - Use when GrokHunter V9 /model pickers are missing, models=no, wrong model - selected, or grok-4.6 profile needs a refresh. + Use when GrokHunter models=no, wrong default, grok-4.6 profile needs a + refresh, or legacy V9 /model pickers remain. --- # Source -Ported from FineComputer14451/GrokHunter `skills/grok-models` (v1.0.10). +Ported from FineComputer14451/GrokHunter `skills/grok-models`. Hard rules: never print secrets; coding lab mission; credit jorexdeveloper, Termux, Kali/OffSec, xAI. -# Grok models (optional) +# Grok models -You keep **Grok 4.6** as the catalog default and V9 pickers working. Binary install is `grokhunter ensure` (skill `grokhunter`) — this skill is **pickers + profile**. +You keep **Grok 4.6** as the catalog default. Binary install is `grokhunter ensure` +(skill `grokhunter`) — this skill is **profile + legacy picker cleanup**. ## When to activate -- `/model` aliases missing - `status` shows `models=no` -- User asks for chat-expert / multi / auto / grok-v9 - Profile still on grok-4.5 or channel=alpha +- Legacy V9 pickers linger in config.toml ## Commands ```bash grokhunter models status -grokhunter models install -grokhunter models force +grokhunter models clean grokhunter ensure bash scripts/install_grok_profile.sh --force ``` -In-session: `/model chat-expert` · `/model multi` · `/model auto` · `/model grok-v9` - -Canonical installer: `scripts/install_v9_grok_models.sh`. Docs: `docs/GROK-46.md`, `docs/GROK-BUILD-1.0.md`. +Default: **`grok-4.6`**. Cleanup script: `scripts/install_v9_grok_models.sh`. +Docs: `docs/GROK-46.md`, `docs/GROK-BUILD-1.0.md`. ## Facts - Min Grok Build **1.0.5** - Default catalog **`grok-4.6`** -- Former 4.5 picker IDs wrap 4.6 -- Config: `~/.grok/config.toml` (never print secrets) - -## Common failures - -| Symptom | First step | -|---------|------------| -| `models=no` / pickers missing | `grokhunter models install` | -| Still grok-4.5 / channel=alpha | `bash scripts/install_grok_profile.sh --force` | -| Binary too old | `grokhunter ensure` | +- V9 `/model` pickers are **retired** diff --git a/scripts/ci-unit.sh b/scripts/ci-unit.sh index 8827e4d..05477c0 100644 --- a/scripts/ci-unit.sh +++ b/scripts/ci-unit.sh @@ -101,8 +101,10 @@ bash -c ' [[ "$(install_tui_argv)" == "--nano --no-de --no-grok --no-completions" ]] install_tui_defaults - INSTALL_TUI_AIDER=yes INSTALL_TUI_V9=yes - [[ "$(install_tui_argv)" == "--nano --no-de --with-grok --with-completions --with-aider --with-v9-models" ]] + INSTALL_TUI_AIDER=yes + [[ "$(install_tui_argv)" == "--nano --no-de --with-grok --with-completions --with-aider" ]] + # V9 TUI toggle removed; argv must never emit --with-v9-models + [[ "$(install_tui_argv)" != *"--with-v9-models"* ]] install_tui_defaults install_tui_set_preset desktop @@ -540,7 +542,7 @@ echo "${st}" | grep -q 'roles=' || die "status missing roles=" echo "${st}" | grep -q 'wrappers=' || die "status missing wrappers=" info "status line OK" -# ---------- status models= follows current + legacy V9 markers ---------- +# ---------- status models= follows grok-4.6 default / [models], not V9 markers ---------- _status_models() { local cfg st cfg="$(mktemp)" @@ -549,15 +551,15 @@ _status_models() { rm -f "${cfg}" printf '%s\n' "${st}" } +echo "$(_status_models $'[models]\ndefault = \"grok-4.6\"')" \ + | grep -q 'models=yes' || die "status should treat grok-4.6 default as models=yes" echo "$(_status_models '# --- GrokHunter: v9 specialist models (test) ---')" \ - | grep -q 'models=yes' || die "status should treat current V9 marker as models=yes" -echo "$(_status_models '# --- Grok Imagine Cinematic Studio: v9-4p5 specialist models')" \ - | grep -q 'models=yes' || die "status should treat legacy V9 marker as models=yes" + | grep -q 'models=no' || die "status must not treat V9 marker alone as models=yes" echo "$(_status_models '# no pickers')" \ - | grep -q 'models=no' || die "status should report models=no without a V9 marker" + | grep -q 'models=no' || die "status should report models=no without models default" info "status models marker OK" -# ---------- profile merge must keep V9 picker marker ---------- +# ---------- profile merge does not re-add V9 pickers; cleanup removes them ---------- _prof_tmp="$(mktemp -d)" cat > "${_prof_tmp}/config.toml" <<'EOF' [models] @@ -570,8 +572,17 @@ model = "grok-4.6" temperature = 0.7 EOF GROK_CONFIG="${_prof_tmp}/config.toml" bash scripts/install_grok_profile.sh >/dev/null -grep -qF '# --- GrokHunter: v9 specialist models' "${_prof_tmp}/config.toml" \ - || die "install_grok_profile.sh ate V9 picker marker" +# Profile merge may leave existing user content; must not inject a fresh V9 install block +# from the retired template. Cleanup must remove legacy pickers. +GROK_CONFIG="${_prof_tmp}/config.toml" bash scripts/install_v9_grok_models.sh >/dev/null +if grep -qF '# --- GrokHunter: v9 specialist models' "${_prof_tmp}/config.toml"; then + die "cleanup left V9 picker marker" +fi +if grep -qE '^\[model\.chat-expert\]' "${_prof_tmp}/config.toml"; then + die "cleanup left [model.chat-expert]" +fi +grep -qE 'default\s*=\s*"grok-4\.6"' "${_prof_tmp}/config.toml" \ + || die "cleanup/profile lost grok-4.6 default" grep -qE 'channel\s*=\s*"stable"' "${_prof_tmp}/config.toml" \ || die "install_grok_profile.sh did not set channel=stable" grep -qE 'theme\s*=\s*"groknight"' "${_prof_tmp}/config.toml" \ @@ -582,8 +593,16 @@ fi if grep -q '"NetHunter profile" not in' scripts/install_grok_profile.sh; then die "profile stripper should key off marker, not NetHunter profile substring" fi +# Re-run profile: must not re-introduce V9 pickers +GROK_CONFIG="${_prof_tmp}/config.toml" bash scripts/install_grok_profile.sh >/dev/null || true +if grep -qF '# --- GrokHunter: v9 specialist models' "${_prof_tmp}/config.toml"; then + die "profile merge re-added V9 picker marker" +fi +if grep -qE '^\[model\.(chat-expert|multi|auto)\]' "${_prof_tmp}/config.toml"; then + die "profile merge re-added V9 model pickers" +fi rm -rf "${_prof_tmp}" -info "profile merge keeps V9 marker OK" +info "profile merge + V9 cleanup OK" # ---------- profile merge upgrades stale theme=auto without --force ---------- _stale_tmp="$(mktemp -d)" @@ -603,8 +622,12 @@ model = "grok-4.6" temperature = 0.7 EOF GROK_CONFIG="${_stale_tmp}/config.toml" bash scripts/install_grok_profile.sh >/dev/null -grep -qF '# --- GrokHunter: v9 specialist models' "${_stale_tmp}/config.toml" \ - || die "stale-auto upgrade ate V9 picker marker" +grep -qE 'default\s*=\s*"grok-4\.6"' "${_stale_tmp}/config.toml" \ + || die "stale-auto upgrade lost grok-4.6 default" +# Profile merge must not install V9 from the retired template +if grep -qF 'GrokHunter: v9 specialist models (Model Layer' "${_stale_tmp}/config.toml"; then + die "stale-auto upgrade injected full V9 install marker" +fi grep -qE 'theme\s*=\s*"groknight"' "${_stale_tmp}/config.toml" \ || die "stale theme=auto was not upgraded to groknight without --force" if grep -qE 'theme\s*=\s*"auto"' "${_stale_tmp}/config.toml"; then diff --git a/scripts/install_v9_grok_models.sh b/scripts/install_v9_grok_models.sh index 3f1abf4..93af320 100755 --- a/scripts/install_v9_grok_models.sh +++ b/scripts/install_v9_grok_models.sh @@ -1,9 +1,13 @@ #!/usr/bin/env bash -# Install / refresh full Grok V9 + Auto specialist picker surface into ~/.grok/config.toml +# Remove legacy GrokHunter V9 /model pickers from ~/.grok/config.toml +# +# Filename kept for back-compat. install / force / clean all mean: strip pickers. +# Default catalog model remains grok-4.6 (via NetHunter profile / ensure). # # Usage: # bash scripts/install_v9_grok_models.sh # bash scripts/install_v9_grok_models.sh --force +# bash scripts/install_v9_grok_models.sh --clean # GROK_CONFIG=/path/to/config.toml bash scripts/install_v9_grok_models.sh # # Part of GrokHunter Rootless. @@ -14,19 +18,16 @@ die() { echo "[install_v9_grok_models] ERROR: $*" >&2; exit 1; } warn() { echo "[install_v9_grok_models] WARN: $*" >&2; } info() { echo "[install_v9_grok_models] $*"; } -ROOT="$(cd "$(dirname "${BASH_SOURCE[0]:-$0}")/.." && pwd)" || die "cannot resolve repo root" -SRC="$ROOT/config/grok-build-v9-models.example.toml" CFG="${GROK_CONFIG:-${HOME:?HOME not set}/.grok/config.toml}" MARKER_BEGIN="# --- GrokHunter: v9 specialist models" MARKER_BEGIN_LEGACY="# --- Grok Imagine Cinematic Studio: v9-4p5 specialist models" -FORCE=0 BACKUP="" TMP_OUT="" -cleanup() { - [[ -n "${TMP_OUT:-}" && -f "${TMP_OUT}" ]] && rm -f "${TMP_OUT}" "${TMP_OUT}.new" 2>/dev/null || true +cleanup_tmp() { + [[ -n "${TMP_OUT:-}" && -f "${TMP_OUT}" ]] && rm -f "${TMP_OUT}" 2>/dev/null || true } -trap cleanup EXIT +trap cleanup_tmp EXIT OWNED_MODELS=( grok-v9-4p6-chat-expert grok-v9 grok-v9-4p6 v9 v9-4p6 @@ -40,145 +41,146 @@ OWNED_MODELS=( for arg in "$@"; do case "$arg" in - --force|-f) FORCE=1 ;; - --help|-h) sed -n '2,12p' "$0" || true; exit 0 ;; + --force|-f|--clean|-c) ;; # cleanup is the only behavior + --help|-h) + cat <<'EOF' +Remove legacy V9 /model pickers from ~/.grok/config.toml. + + bash scripts/install_v9_grok_models.sh + bash scripts/install_v9_grok_models.sh --force # alias (same cleanup) + bash scripts/install_v9_grok_models.sh --clean # alias (same cleanup) + +V9 pickers are retired. Default catalog model remains grok-4.6. +Use: grokhunter ensure / bash scripts/install_grok_profile.sh +EOF + exit 0 + ;; *) die "Unknown option: $arg (try --help)" ;; esac done command -v python3 >/dev/null 2>&1 || die "python3 is required (Termux: pkg install python)" -command -v sed >/dev/null 2>&1 || die "sed is required" -command -v grep >/dev/null 2>&1 || die "grep is required" -command -v mktemp >/dev/null 2>&1 || die "mktemp is required" - -[[ -f "$SRC" ]] || die "Missing template: $SRC — run from a GrokHunter clone" -[[ -s "$SRC" ]] || die "Template is empty: $SRC" -grep -q '^\[model\.' "$SRC" || die "Template has no [model.*] sections: $SRC" CFG_DIR="$(dirname "$CFG")" mkdir -p "$CFG_DIR" || die "cannot create config dir: $CFG_DIR" [[ -w "$CFG_DIR" ]] || die "config dir not writable: $CFG_DIR" -if [[ -e "$CFG" ]]; then - [[ -f "$CFG" ]] || die "GROK_CONFIG is not a regular file: $CFG" - [[ -r "$CFG" && -w "$CFG" ]] || die "config not readable/writable: $CFG" -else - touch "$CFG" || die "cannot create $CFG" +if [[ ! -e "$CFG" ]]; then + info "No config at $CFG — nothing to remove" + info "V9 /model pickers are retired. Default remains grok-4.6." + exit 0 fi +[[ -f "$CFG" ]] || die "GROK_CONFIG is not a regular file: $CFG" +[[ -r "$CFG" && -w "$CFG" ]] || die "config not readable/writable: $CFG" -_v9_model_blocks() { - local out - out="$(sed -n '/^\[model\./,$p' "$SRC")" || die "failed to extract [model.*] from $SRC" - [[ -n "$out" ]] || die "extracted model blocks are empty" - printf '%s\n' "$out" -} - -_needs_upgrade() { - if ! python3 - "$CFG" "${OWNED_MODELS[@]}" <<'PY' +_has_legacy() { + python3 - "$CFG" "$MARKER_BEGIN" "$MARKER_BEGIN_LEGACY" "${OWNED_MODELS[@]}" <<'PY' from pathlib import Path import re import sys path = Path(sys.argv[1]) -owned = sys.argv[2:] +marker, legacy = sys.argv[2], sys.argv[3] +owned = sys.argv[4:] try: text = path.read_text(encoding="utf-8") except OSError: - print("missing") + print("no") + raise SystemExit(0) +if marker in text or legacy in text: + print("yes") raise SystemExit(0) - for name in owned: - m = re.search( - rf"(?ms)^\[model\.(?:\"{re.escape(name)}\"|{re.escape(name)})\]\n(.*?)(?=^\[|\Z)", + if re.search( + rf'(?m)^\[model\.(?:"{re.escape(name)}"|{re.escape(name)})\]\s*$', text, - ) - if not m: - print("missing") - raise SystemExit(0) - body = m.group(1) - if "temperature" not in body or "not on this team" in body: - print("stub") + ): + print("yes") raise SystemExit(0) -print("ok") +print("no") PY - then - warn "upgrade check failed — treating as needs install" - echo "missing" - fi } -_backup_cfg() { - BACKUP="${CFG}.bak.$(date +%Y%m%d%H%M%S 2>/dev/null || echo unknown)" - cp -a "$CFG" "$BACKUP" || die "failed to backup $CFG" - info "Backup: $BACKUP" -} +if [[ "$(_has_legacy)" != "yes" ]]; then + info "No legacy V9 /model pickers in $CFG — nothing to remove" + info "V9 pickers are retired. Default catalog model remains grok-4.6." + exit 0 +fi -_verify_install() { - local st - st="$(_needs_upgrade)" - if [[ "$st" != "ok" ]]; then - die "post-install verification failed (status=${st}). Restore: cp -a ${BACKUP:-} $CFG" - fi -} +BACKUP="${CFG}.bak.$(date +%Y%m%d%H%M%S 2>/dev/null || echo unknown)" +cp -a "$CFG" "$BACKUP" || die "failed to backup $CFG" +info "Backup: $BACKUP" -status="$(_needs_upgrade)" -if [[ "$status" == "ok" && "$FORCE" -eq 0 ]]; then - info "Grok V9 specialist models already complete in $CFG (use --force to refresh)" -else - _backup_cfg - blocks="$(_v9_model_blocks)" - TMP_OUT="$(mktemp "${CFG_DIR}/.grok-v9.XXXXXX")" || die "mktemp failed in $CFG_DIR" - if ! python3 - "$CFG" "$TMP_OUT" "$MARKER_BEGIN" "$MARKER_BEGIN_LEGACY" "${OWNED_MODELS[@]}" <<'PY' +TMP_OUT="$(mktemp "${CFG_DIR}/.grok-v9-clean.XXXXXX")" || die "mktemp failed in $CFG_DIR" +if ! python3 - "$CFG" "$TMP_OUT" "$MARKER_BEGIN" "$MARKER_BEGIN_LEGACY" "${OWNED_MODELS[@]}" <<'PY' from pathlib import Path import re import sys cfg_path = Path(sys.argv[1]) out_path = Path(sys.argv[2]) -marker = sys.argv[3] -legacy = sys.argv[4] +markers = (sys.argv[3], sys.argv[4]) owned = sys.argv[5:] + try: text = cfg_path.read_text(encoding="utf-8") except OSError as e: print(f"read failed: {e}", file=sys.stderr) sys.exit(1) -for m in (marker, legacy): - idx = text.find(m) - if idx != -1: - text = text[:idx].rstrip() + "\n" +def strip_marker_block(src: str, m: str) -> str: + """Strip from marker through following [model.*] tables until a non-model section or EOF.""" + idx = src.find(m) + if idx == -1: + return src + # Expand start backward over blank lines immediately before the marker + start = idx + while start > 0 and src[start - 1] in "\n\r": + prev_nl = src.rfind("\n", 0, start - 1) + line_start = 0 if prev_nl < 0 else prev_nl + 1 + if src[line_start:start].strip() == "": + start = line_start + else: + break + + # Walk sections after the marker; consume [model.*], stop at other [section] + rest = src[idx:] + end = len(src) # default: to EOF + # Skip past the marker line itself + first_nl = rest.find("\n") + scan_from = 0 if first_nl < 0 else first_nl + 1 + for match in re.finditer(r"(?m)^\[([^\]]+)\]\s*$", rest[scan_from:]): + header = match.group(1) + abs_start = idx + scan_from + match.start() + if header.startswith("model."): + continue + # Non-model section ends the picker block (keep this section) + end = abs_start + break + return src[:start].rstrip() + "\n" + src[end:] + +for m in markers: + text = strip_marker_block(text, m) + for name in owned: pat = re.compile( - rf"(?ms)^\[model\.(?:\"{re.escape(name)}\"|{re.escape(name)})\]\n.*?(?=^\[|\Z)" + rf'(?ms)^\[model\.(?:"{re.escape(name)}"|{re.escape(name)})\]\n.*?(?=^\[|\Z)' ) text = pat.sub("", text) -out_path.write_text(text.rstrip() + "\n", encoding="utf-8") + +text = re.sub(r"\n{3,}", "\n\n", text).rstrip() + "\n" +out_path.write_text(text, encoding="utf-8") PY - then - die "failed preparing stripped config in temp" - fi - { - cat "$TMP_OUT" || die "cannot read temp base" - echo "" - echo "${MARKER_BEGIN} (Model Layer v4.6 · full alias surface) ---" - echo "# Session-auth via cli-chat-proxy (SuperGrok). Base model: grok-4.6." - echo "# Native API IDs grok-v9-4p6-* / grok-4-auto are picker names, not public product slugs." - echo "# Family shorts + chat-expert / multi / auto aliases all registered as pickers." - echo "# GrokHunter: coding lab default remains grok-4.6 ([models] default)." - printf '%s\n' "$blocks" - } > "${TMP_OUT}.new" || die "failed writing merged temp" - grep -q "$MARKER_BEGIN" "${TMP_OUT}.new" || die "temp config missing marker" - grep -q '^\[model\.' "${TMP_OUT}.new" || die "temp config missing [model.*]" - mv -f "${TMP_OUT}.new" "$CFG" || die "failed to install new config at $CFG" - rm -f "$TMP_OUT" - TMP_OUT="" - chmod 600 "$CFG" 2>/dev/null || warn "could not chmod 600 $CFG" - _verify_install - info "Installed full Grok V9 [model.*] picker surface → $CFG" +then + die "failed stripping V9 pickers" fi +mv -f "$TMP_OUT" "$CFG" || die "failed to write cleaned config at $CFG" +TMP_OUT="" +chmod 600 "$CFG" 2>/dev/null || warn "could not chmod 600 $CFG" + +info "Removed legacy V9 /model pickers from $CFG" echo "" -echo "Verify with: grok models" -echo "Switch with: /model grok-v9 · /model chat-expert · /model multi · /model auto" -echo "Default coding model remains grok-4.6. Imagine uses grok-imagine-* separately." +echo "V9 /model pickers are retired. Default catalog model remains grok-4.6." +echo "Profile: bash scripts/install_grok_profile.sh # or: grokhunter ensure" +echo "Status: grokhunter models status" diff --git a/skills/README.md b/skills/README.md index 75bed83..6b98544 100644 --- a/skills/README.md +++ b/skills/README.md @@ -46,7 +46,7 @@ Skills are **playbooks** (how to do a thing). Agents are **runtime specialists** |-------|----------------| | [`github-lab`](github-lab/SKILL.md) | Git identity / invalid-email-address | | [`toolchain`](toolchain/SKILL.md) | apt, compilers, Aider Python, space | -| [`grok-models`](grok-models/SKILL.md) | V9 pickers / profile / models=no | +| [`grok-models`](grok-models/SKILL.md) | grok-4.6 profile / models=no / V9 cleanup | | [`ci-lab`](ci-lab/SKILL.md) | ci-unit.sh / Smoke red | | [`secrets-lab`](secrets-lab/SKILL.md) | secrets.env / XAI_API_KEY | | [`overlay-lab`](overlay-lab/SKILL.md) | install.sh / overlay cache / PATH wrappers | @@ -96,7 +96,7 @@ Writing code → pair-programming (+ coding-team agents) Aider missing / Python 3.13 → aider-grok X11 black / lag / binds / bwrap → x11-desktop (`grokhunter binds`) GitHub invalid-email → github-lab (agent `github`) -models=no / pickers → grok-models +models=no / profile / V9 clean → grok-models Termux vs Kali confusion → host-lab Disk full → storage-lab TAB / ghd missing → shell-lab diff --git a/skills/grok-models/SKILL.md b/skills/grok-models/SKILL.md index df1a225..bfd9d82 100644 --- a/skills/grok-models/SKILL.md +++ b/skills/grok-models/SKILL.md @@ -1,60 +1,50 @@ --- name: grok-models description: >- - Grok Build models on GrokHunter: grok-4.6 default, V9 /model pickers - (chat-expert, multi, auto, grok-v9), grokhunter models install/status/force, - and the NetHunter config.toml profile. Use when pickers are missing, the - wrong model is selected, or ensure/profile needs a refresh. Optional skill. + Grok Build models on GrokHunter: grok-4.6 catalog default, NetHunter + config.toml profile, grokhunter models status/clean, and cleanup of + retired V9 /model pickers. Use when models=no, wrong default, or legacy + pickers remain. --- -# Grok models (optional) - -You keep **Grok 4.6** as the catalog default and V9 pickers working. Binary install is `grokhunter ensure` (skill `grokhunter`) — this skill is **pickers + profile**. +You keep **Grok 4.6** as the catalog default. Binary install is `grokhunter ensure` +(skill `grokhunter`) — this skill is **profile + legacy picker cleanup**. ## When to activate -- `/model` aliases missing - `status` shows `models=no` -- User asks for chat-expert / multi / auto / grok-v9 - Profile still on grok-4.5 or channel=alpha +- Legacy V9 pickers (`chat-expert` / `multi` / `auto` / `grok-v9`) linger in config.toml ## Commands ```bash grokhunter models status -grokhunter models install -grokhunter models force # refresh ~/.grok/config.toml pickers -grokhunter ensure # binary ≥ 1.0.5 + NetHunter profile +grokhunter models clean # remove retired V9 pickers (install/force are aliases) +grokhunter ensure bash scripts/install_grok_profile.sh --force ``` -In-session: `/model chat-expert` · `/model multi` · `/model auto` · `/model grok-v9` +Default coding model: **`grok-4.6`**. Imagine stills/video stay on `grok-imagine-*`. -Canonical installer: `scripts/install_v9_grok_models.sh`. Docs: `docs/GROK-46.md`, `docs/GROK-BUILD-1.0.md`. Do not copy those files here. +Cleanup script (filename kept for back-compat): `scripts/install_v9_grok_models.sh`. +Docs: `docs/GROK-46.md`, `docs/GROK-BUILD-1.0.md`. Do not copy those files here. ## Facts -- Min Grok Build **1.0.5** (`GROKHUNTER_MIN_GROK`) +- Min Grok Build **1.0.5** - Default catalog **`grok-4.6`** -- Former 4.5 picker IDs wrap 4.6 -- Config: `~/.grok/config.toml` (never print secrets) - -## Common failures - -| Symptom | First step | -|---------|------------| -| `models=no` / pickers missing | `grokhunter models install` | -| Still grok-4.5 / channel=alpha | `bash scripts/install_grok_profile.sh --force` | -| Binary too old | `grokhunter ensure` (skill `grokhunter`) | +- V9 `/model` pickers are **retired** (do not re-install them) -## Verify +## Quick fixes -```bash -grokhunter models status -``` +| Symptom | Fix | +|---------|-----| +| `models=no` / no default | `grokhunter ensure` or profile `--force` | +| legacy V9 pickers present | `grokhunter models clean` | +| channel=alpha / 4.5 leftovers | `bash scripts/install_grok_profile.sh --force` | -## Cross-links +## Related -- Lab orchestrator: skill `grokhunter` -- App LLM keys: `grokhunter ai-smoke` (SpaceXAI / `XAI_API_KEY`) -- Agent `models` for picker/profile work +- Agent `models` for profile / cleanup work +- Skill `grokhunter` for binary / overlay diff --git a/skills/grokhunter/SKILL.md b/skills/grokhunter/SKILL.md index ad4040d..2142e24 100644 --- a/skills/grokhunter/SKILL.md +++ b/skills/grokhunter/SKILL.md @@ -107,7 +107,7 @@ Need Kali rootfs? → install.sh (TTY wizard, default nano) or --yes / flags Already have Kali? → --overlay-only --with-* # no wizard Only Grok binary? → grokhunter ensure # requires Grok Build 1.0.5+ Profile only? → bash scripts/install_grok_profile.sh -Only V9 pickers? → grokhunter models install +Legacy V9 pickers? → grokhunter models clean Only skills/PATH? → grokhunter skills install Desktop? → --with-x11 + Termux:X11 APK + nh-x11 X11 black/lag/tune? → skill x11-desktop (docs/X11-PERFORMANCE.md) @@ -140,7 +140,7 @@ Broken PATH? → export PATH + skills install / doctor; source ~/.grok/ ```bash cd ~/GrokHunter && bash install.sh --full --de xfce \ - --with-grok --with-x11 --with-aider --with-v9-models --with-completions + --with-grok --with-x11 --with-aider --with-completions source ~/.grok/profile.sh 2>/dev/null || true grokhunter doctor printf 'export XAI_API_KEY=%q\n' "xai-..." > ~/.grok/secrets.env && chmod 600 ~/.grok/secrets.env @@ -154,9 +154,9 @@ Skip NetHunter re-download; install optional pieces only: ```bash bash ~/GrokHunter/install.sh --overlay-only --with-x11 --with-aider -bash ~/GrokHunter/install.sh --overlay-only --with-grok --with-v9-models --with-completions +bash ~/GrokHunter/install.sh --overlay-only --with-grok --with-completions # or: -grokhunter install --overlay-only --with-v9-models +grokhunter install --overlay-only --with-grok --with-completions grokhunter skills install # wrappers + ~/.grok/skills ``` @@ -184,13 +184,12 @@ grokhunter doctor grokhunter status ``` -### V9 / 4.6 model pickers +### Models profile (grok-4.6) ```bash grokhunter models status -grokhunter models install -grokhunter models force # refresh config.toml pickers -# in-session: /model chat-expert · multi · auto · grok-v9 +grokhunter models clean # remove retired V9 /model pickers +# install/force are aliases for clean ``` ### Grok binary only @@ -271,7 +270,7 @@ bash ~/GrokHunter/uninstall.sh --purge-grok | `--with-grok` / `--no-grok` | Grok Build | | `--with-x11` / `--no-x11` | Termux:X11 + `nh-x11` | | `--with-aider` / `--no-aider` | Aider venv + helper | -| `--with-v9-models` / `--no-v9-models` | Model pickers | +| `--with-v9-models` / `--no-v9-models` | Deprecated no-ops (V9 pickers removed) | | `--with-completions` / `--no-completions` | Completions + `~/.grok/profile.sh` (does not edit rc files) | | `--overlay-only` | No rootfs/engine; overlays only | | `--yes` | Coding-only default; skip wizard | @@ -288,7 +287,7 @@ Canonical helpers: repo `bin/` (`nh-x11`, `aider-grok`, `grokhunter`, …) → ` | nethunter not on PATH | Termux host; re-run install (skill `host-lab`) | | nh-x11 missing | `--overlay-only --with-x11` + X11 APK | | skill (repo only) | `grokhunter skills install` | -| V9 pickers missing | `grokhunter models install` | +| Legacy V9 pickers | `grokhunter models clean` | | wrapper not on PATH | overlay-only installs to `~/.local/bin`; `source ~/.grok/profile.sh` or new shell; skill `host-lab` if Termux vs Kali | | git identity placeholder | `grokhunter git-identity set` | | no secrets / key | write `~/.grok/secrets.env` mode 600 | diff --git a/skills/pair-programming/SKILL.md b/skills/pair-programming/SKILL.md index 97eeb36..32344aa 100644 --- a/skills/pair-programming/SKILL.md +++ b/skills/pair-programming/SKILL.md @@ -26,7 +26,7 @@ Target intelligence: **Grok 4.6** (strong multi-step coding, tool use, concise m | Desktop | DE via Termux:X11 (`nh-x11`) when configured | | Agent | `grok` / `grokhunter` (Grok Build) | | Model tier | **Grok 4.6** (default) | -| V9 pickers | `/model chat-expert` · `multi` · `auto` · `grok-v9` after `grokhunter models install` | +| Model default | Catalog **`grok-4.6`** (`grokhunter ensure` / profile) | | Secrets | `~/.grok/secrets.env` (never print) | | Wrappers | `~/.local/bin` (`grokhunter`, `aider-grok`, …) | | Lab skills | `~/.grok/skills` via `grokhunter skills install` | @@ -69,12 +69,12 @@ grokhunter plan "Refactor the CLI to use subcommands" # alias: ghp "…" ``` -### Model pickers (optional) +### Model default ```bash grokhunter models status -grokhunter models install -# inside grok: /model chat-expert | multi | auto | grok-v9 +grokhunter models clean # if legacy V9 pickers remain +# coding default: grok-4.6 ``` ### Lab skills / PATH diff --git a/website/index.html b/website/index.html index f13f3bb..140bd9f 100644 --- a/website/index.html +++ b/website/index.html @@ -219,7 +219,7 @@

@@ -564,7 +564,7 @@

Core loop

models · ci · aider full - V9 pickers · ci-unit/Smoke · aider-grok + grok-4.6 profile · ci-unit/Smoke · aider-grok session · host · mcp @@ -712,13 +712,13 @@

One command, modular stack

bash install.sh --full --de xfce --browser chromium \
-  --with-grok --with-x11 --with-aider --with-v9-models
+ --with-grok --with-x11 --with-aider --with-completions
@@ -747,7 +747,7 @@

One command, modular stack

@@ -766,7 +766,7 @@

Installer flags

  • --with-grokGrok Build ≥ 1.0.5 + profile
  • --with-x11Termux:X11 + nh-x11 helper
  • --with-aiderAider (uv + Python 3.12)
  • -
  • --with-v9-models/model chat-expert · multi · auto
  • +
  • --with-v9-modelsDeprecated no-op (V9 pickers removed)
  • --with-completionsShell completions + profile
  • --overlay-onlyOverlays only (no rootfs download)
  • --no-de / --no-grok / --no-x11Skip those stages
  • @@ -899,13 +899,13 @@

    grokhunter commands

    grokhunter teamLaunch Coding Team agent
    grokhunter scout|review|fix|desktopSpecialist agent launchers
    grokhunter overlay|ship|docsLab specialists (install / release / docs)
    -
    grokhunter modeler|ci|aiderModels/V9 agent, CI, Aider (`modeler` ≠ `models` CLI)
    +
    grokhunter modeler|ci|aiderModels agent (grok-4.6), CI, Aider (`modeler` ≠ `models` CLI)
    grokhunter session|host|mcptmux/resume, Termux vs Kali, MCP (`mcp` ≠ `grok mcp`)
    grokhunter plugin|flow|storageplugins (`plugin` ≠ `grok plugin`), workflows, disk
    grokhunter editor|hook|shellnvim/micro, Grok hooks, profile/completions
    grokhunter github|secrets|toolchain|tls|net|tookiegit-identity agent (≠ git-identity CLI), secrets.env, apt/compilers, CA, HTTPS, scoped OSINT
    grokhunter agents statusInstalled Coding Team agents
    -
    grokhunter models installV9 / 4.6 model pickers
    +
    grokhunter models cleanRemove legacy V9 pickers (default: grok-4.6)
    grokhunter ai-smokeSpaceXAI API smoke test
    grokhunter install [args]Installer (supports --overlay-only)
    grokhunter plan "…"Built-in plan agent (1.0.5)