You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat: show model-written tool intent in the working indicator
Inject a required first field "i" (concise intent) into tool schemas
sent to providers, gated by the tool_intent experimental flag (default
on). The runtime strips the field before validation, hooks, execution,
and persistence, and carries it on the tool.call.started event. The TUI
shows the intent live in the spinner label, streamed from partial
tool-call arguments, and falls back to the rotating verbs without it.
Show what the agent is doing in the working indicator: each tool call now carries a short model-written intent, streamed live into the spinner label (for example "check failing test…") instead of a random verb; disable with `PYTHINKER_CODE_EXPERIMENTAL_TOOL_INTENT=0`.
Copy file name to clipboardExpand all lines: docs/configuration/config-files.md
+2-1Lines changed: 2 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -187,11 +187,12 @@ You can also switch models temporarily without touching the config file — by s
187
187
188
188
## `experimental`
189
189
190
-
`experimental` stores persistent overrides for experimental-feature flags. Currently, `micro_compaction` is the only user-facing entry and defaults to `true`; set it to `false` only when you need to disable automatic trimming of older large tool results.
190
+
`experimental` stores persistent overrides for experimental-feature flags.
191
191
192
192
| Field | Type | Default | Description |
193
193
| --- | --- | --- | --- |
194
194
|`micro_compaction`|`boolean`|`true`| Trim older large tool results from context while preserving recent conversation |
195
+
|`tool_intent`|`boolean`|`true`| Ask the model to state a concise intent with each tool call and show it live in the working indicator; set `false` to return to the rotating label |
Copy file name to clipboardExpand all lines: docs/configuration/env-vars.md
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -135,6 +135,7 @@ Switches that control the behavior of subsystems such as telemetry, background t
135
135
|`PYTHINKER_CODE_WORKFLOW_SIZE_GUIDELINE`| Override the advisory Dynamic Workflow size guideline injected into the tool guidance; takes higher priority than `config.toml`|`small`, `medium`, `large`, `unrestricted`|
136
136
|`PYTHINKER_CODE_EXPERIMENTAL_FLAG`| Enable all registered experimental features for this process; `micro_compaction` is already enabled by default |`1`, `true`, `yes`, `on`|
137
137
|`PYTHINKER_CODE_EXPERIMENTAL_MICRO_COMPACTION`| Override [`[experimental].micro_compaction`](./config-files.md#experimental) for this process | Truthy or falsy |
138
+
|`PYTHINKER_CODE_EXPERIMENTAL_TOOL_INTENT`| Override [`[experimental].tool_intent`](./config-files.md#experimental) for this process. When on (the default), each tool call carries a short model-written intent that the working indicator shows live; set a falsy value to turn it off | Truthy or falsy |
138
139
|`PYTHINKER_SHELL_PATH`| Override the Git Bash path on Windows (used when auto-detection fails) | Absolute path |
139
140
|`PYTHINKER_MODEL_MAX_COMPLETION_TOKENS`| Hard cap on `max_completion_tokens` per LLM step; applies to the `pythinker` provider only | Positive integer; `0` or negative disables clamping |
140
141
|`PYTHINKER_MODEL_TEMPERATURE`| Sampling temperature for every request; applies to the `pythinker` provider only (global — independent of `PYTHINKER_MODEL_NAME`) | Number, e.g. `0.3`|
0 commit comments