diff --git a/plugins/crew/plugin.json b/plugins/crew/plugin.json index 76250e7..af6f409 100644 --- a/plugins/crew/plugin.json +++ b/plugins/crew/plugin.json @@ -1,7 +1,7 @@ { "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json", "name": "crew", - "version": "0.14.0", + "version": "0.15.0", "description": "Another vendor's agent CLI as an isolated subagent, from any host: ask a read-only question or hold a multi-turn conversation (agy, opencode, Codex, Grok, Hermes, Copilot, Cursor, Muse, Kimi, or Claude Code from another host), get a second opinion on a diff, or delegate one coding slice to agy, opencode, Copilot, Codex, Grok or Cursor under the worker CLI's own hooks and a mechanical gate. Tiers (cheap, mid, top) map to a model and effort per backend. The verdict never reads the CLI's exit 0 as success.", "author": { "name": "4nrry", diff --git a/plugins/crew/skills/crew/references/cursor.md b/plugins/crew/skills/crew/references/cursor.md index 6bdbe2c..896a766 100644 --- a/plugins/crew/skills/crew/references/cursor.md +++ b/plugins/crew/skills/crew/references/cursor.md @@ -48,7 +48,7 @@ ComputerUse, shell stdin) is denied by the allowlist. | Field | Meaning | |---|---| -| `model` | default `grok-4.7[context=500k,reasoning_effort=xhigh,fast=false]` (Grok 4.7, xhigh, 500k window); `auto`, a flat id from `cursor-agent models` (`grok-4.7-xhigh`), or a full bracket variant with every parameter in the CLI's order (`grok-4.7[context=500k,reasoning_effort=xhigh,fast=false]` for Grok's 500k window) | +| `model` | default `grok-4.7[context=500k,reasoning_effort=medium,fast=false]` (Grok 4.7, medium, 500k window); `auto`, a flat id from `cursor-agent models` (`grok-4.7-xhigh`), or a full bracket variant with every parameter in the CLI's order (`grok-4.7[context=500k,reasoning_effort=xhigh,fast=false]` for Grok's 500k window) | | `effort` | appended to a flat id (`grok-4.7` + `xhigh` = `grok-4.7-xhigh`); ignored with `auto`; refused with a bracket variant, which carries its own | | `scope` | must not cover `.cursor/hooks.json` | diff --git a/plugins/crew/skills/crew/references/grok.md b/plugins/crew/skills/crew/references/grok.md index 15846da..09ea1fa 100644 --- a/plugins/crew/skills/crew/references/grok.md +++ b/plugins/crew/skills/crew/references/grok.md @@ -47,7 +47,7 @@ and, with `"effort"` in the task, `--reasoning-effort`. | Field | Meaning | |---|---| | `model` | default `grok-4.7`; `grok models` lists the others | -| `effort` | default `xhigh`; `low` to `xhigh`, as the model offers | +| `effort` | default `medium`; `low` to `xhigh`, as the model offers | **Long context.** Grok Build has no flag for its 500k window (the TUI's `/context-window`). `[model."grok-4.7"]` with `context_window = 500000` in diff --git a/plugins/crew/skills/crew/scripts/backends.py b/plugins/crew/skills/crew/scripts/backends.py index 687c1ca..16ed7fc 100644 --- a/plugins/crew/skills/crew/scripts/backends.py +++ b/plugins/crew/skills/crew/scripts/backends.py @@ -359,9 +359,9 @@ def b_kimi(s, prompt, model, effort, session, cwd, opts=None): efforts=EFFORTS, models=OPENCODE_MODELS, read_only="OPENCODE_CONFIG_CONTENT denies edit, bash, execute, task"), "grok": dict(web=True, native_schema=True, vendor="xai", bins=("grok",), build=b_grok, parse=p_grok, - # The user's choice (2026-10-26): Grok runs as grok-4.7 at xhigh, never a fast - # variant; --effort lowers it. Its 500k window comes from ~/.grok/config.toml. - tiers={t: ("grok-4.7", "xhigh") for t in TIERS}, + # The user's choice (2026-10-27): Grok runs as grok-4.7 at medium, never a fast + # variant; --effort raises it. Its 500k window comes from ~/.grok/config.toml. + tiers={t: ("grok-4.7", "medium") for t in TIERS}, efforts=("low", "medium", "high", "xhigh"), read_only="--permission-mode plan, no MCP, no subagents"), "codex": dict(web=True, native_schema=False, vendor="openai", bins=("codex",), build=b_codex, parse=p_codex, @@ -370,8 +370,8 @@ def b_kimi(s, prompt, model, effort, session, cwd, opts=None): efforts=("low", "medium", "high", "xhigh", "max", "ultra"), read_only="sandbox_mode read-only, on every turn"), "hermes": dict(web=True, native_schema=False, vendor="nous", bins=("hermes",), build=b_hermes, parse=p_hermes, - # grok-4.7 at xhigh, as for grok; Hermes reads its 500k window from api.x.ai. - tiers={t: ("xai-oauth:grok-4.7", "xhigh") for t in TIERS}, + # grok-4.7 at medium, as for grok; Hermes reads its 500k window from api.x.ai. + tiers={t: ("xai-oauth:grok-4.7", "medium") for t in TIERS}, efforts=EFFORTS, read_only="-t web,x_search: no file or terminal tools, so put the code in the prompt"), "copilot": dict(web=False, native_schema=False, vendor="github", bins=("~/.local/bin/copilot", "copilot"), build=b_copilot, @@ -379,8 +379,8 @@ def b_kimi(s, prompt, model, effort, session, cwd, opts=None): efforts=("none", "minimal", "low", "medium", "high", "xhigh", "max"), read_only="headless denies tools needing approval; write tools excluded"), "cursor": dict(web=False, native_schema=False, vendor="cursor", bins=("cursor-agent",), build=b_cursor, parse=p_generic, - # Grok 4.7 at xhigh with its 500k window, as a full variant (see cursor_model). - tiers={t: ("grok-4.7[context=500k,reasoning_effort=xhigh,fast=false]", None) for t in TIERS}, efforts=EFFORTS, + # Grok 4.7 at medium with its 500k window, as a full variant (see cursor_model). + tiers={t: ("grok-4.7[context=500k,reasoning_effort=medium,fast=false]", None) for t in TIERS}, efforts=EFFORTS, read_only="--mode ask"), "muse": dict(web=False, native_schema=False, vendor="muse", bins=("muse",), build=b_muse, parse=p_generic, tiers={"cheap": ("muse-spark-1.3", "low"), "mid": ("muse-spark-1.3", "medium"), diff --git a/plugins/crew/skills/crew/scripts/crew.py b/plugins/crew/skills/crew/scripts/crew.py index 54064cd..3b8a9b3 100755 --- a/plugins/crew/skills/crew/scripts/crew.py +++ b/plugins/crew/skills/crew/scripts/crew.py @@ -152,7 +152,7 @@ # Under `--sandbox workspace` the worker cannot write ~/.grok/hooks. TESTED_GROK_VERSION = "1.0.70" GROK_DEFAULT_MODEL = "grok-4.7" -GROK_DEFAULT_EFFORT = "xhigh" +GROK_DEFAULT_EFFORT = "medium" GROK_HOOK_DIR = os.path.expanduser("~/.grok/hooks") GROK_TOOLS = "run_terminal_command,read_file,search_replace,list_dir,grep,write,todo_write" GK_TOOLS = { @@ -171,7 +171,7 @@ # opencode. Its sandbox does not start on this machine (AppArmor), so the run # uses `--sandbox disabled` and the hooks are the only limit. TESTED_CURSOR_VERSION = "2026.10.22-27dcf5f" -CURSOR_DEFAULT_MODEL = "grok-4.7[context=500k,reasoning_effort=xhigh,fast=false]" +CURSOR_DEFAULT_MODEL = "grok-4.7[context=500k,reasoning_effort=medium,fast=false]" CURSOR_HOOK_FILE = ".cursor/hooks.json" CU_TOOLS = { "Read": ("view_file", {"file_path": "AbsolutePath"}),