Commit Graph

58 Commits

Author SHA1 Message Date
NCBM e1c857fd05 docs: record how far the command gate reaches
The destructive-confirm bullet says what the review resolves past, so it
now names remote clients: the far-end program is the one judged, `BatchMode=yes`
always asks, and an interactive remote shell — `ssh host` with no command, or
anything typed or piped into it — is outside the scan and stays a host decision.
2026-10-23 10:37:23 +08:00
NCBM d5c3f712ff docs: describe when a prompt listens for the answer
The page said a notification answer is treated like a typed one, without saying
that the prompt has to be listening before the notification exists — the grace
period is why. One paragraph says it, together with the price: a question that
offers a reply field reads in polling mode, so no Tab completion for that
prompt.
2026-10-23 10:25:40 +08:00
NCBM 8926980a02 docs: describe the image gate
`image_in` is not just the mention switch any more: the table names where each
image-carrying path is gated, and says why the gate exists — a text-only model
answers `[Unsupported Image]`, and a gateway that cannot read image blocks feeds
the model raw base64, which is easy to mistake for a delivered picture.
2026-10-21 21:39:41 +08:00
NCBM 0e8b0f8bd4 docs: describe deletes that go to the trash
A new page, `doc/trash.md`, covers what a delete does now: where a path lands on
each platform, what is still deleted outright (an explicit `permanent=true`, a
host that cleared `[trash]`, scratch paths under the OS temp dir, the
`copy_path` / `move_path` overwrite, the temporary-workspace cleanup), what
happens when a trashing is refused — the file stays and the error says how to
delete it on purpose — and the two things the trash cannot help with: a shell
`rm` and anything a plugin or MCP server does on its own.

`[trash]` joins the example config and the README snippet, the README gains the
one-paragraph version, `AGENTS.md` the tool/config notes (including the confirm
wording a delete now uses), and the default tool playbook tells the model that
`delete_path` is undoable and what `permanent=true` costs.
2026-10-21 20:25:27 +08:00
NCBM b197c98ce9 docs: describe prompt notifications
A prompt that waits on the human is announced after a grace period, and the
notification can carry the answer: allow / deny / review buttons for a
confirmation, a reply field for an `ask_user_line`. `doc/notifications.md` lays
out the two channels (the optional `desktop-notifier` extra, and OSC 777 / OSC 9
written to `/dev/tty` with no dependency), what each prompt kind offers, why the
reason line stays out by default, and the platform limits — no buttons where a
server does not render them, a reply field only under KDE, kitty left with the
bell.

The example config and the README config block gain the `[notify]` section, and
AGENTS.md documents the three prompt hooks and the rule that only the outermost
prompt of a nested read is announced.
2026-10-21 20:03:36 +08:00
NCBM 4c597274e7 docs: describe YOLO skipping YOLO-tagged confirms
Session YOLO skips the soft confirms of `YOLO`-tagged tools — interpreter runs included — while untagged tools keep prompting and a command that escalates privileges keeps its own confirm through `DangerReason(yolo_skip=False)`. A plugin now also sees that answer shape where the danger classifier is documented, and the round's aggregated prompt leaves the covered calls out.
2026-10-21 19:10:56 +08:00
NCBM 029ac47350 docs: describe image input across the three surfaces
`doc/images.md` holds the message shape, how `@path` attaches a file, the
per-surface mapping, the provider limits, what a live probe against DeepSeek
confirmed (`tool_result` and `function_call_output` images work, `detail: low`
is 3.4x cheaper, an assistant-message image is a 400), and why the Files API is
not used.

AGENTS.md gets the invariants and the mention/config keys; `doc/architecture.md`
and the example TOML point at it.
2026-10-21 18:53:47 +08:00
NCBM 729627eee9 docs: spell out the turn and round model
doc/turns-and-rounds.md defines the two nested units the loop is built on: a round is one request→response plus the tool batch it asked for, a turn is one user message through the explicit stop (0..N rounds), and a session is a stored sequence of turns. It records what bounds each unit (max_rounds, truncation continues, retries), which work is round-scoped (request assembly, context reduction, the aggregated soft confirm) and which state resets per turn (read-before-edit, yyy auto-continue, /yolo once, the todo touched flag, usage totals) versus what outlives it (rows, todo stack, grants, reminder bands).

Linked from the architecture doc, with the short version in AGENTS.md.
2026-10-17 17:37:22 +08:00
NCBM 78b764f70e docs: describe the aggregated round confirm 2026-10-17 17:32:44 +08:00
NCBM f4c0c45403 docs: describe the compact summarizer tool notice 2026-10-17 17:13:49 +08:00
NCBM eef1d3cd29 docs: describe fetch/fetch_local and the DeepSeek search default 2026-10-17 17:08:11 +08:00
NCBM 37e130a7dc docs: describe the DeepSeek Search API backend 2026-10-17 16:52:40 +08:00
NCBM 3c8ca5fcde docs: describe the truncated-round continuation 2026-10-16 22:29:35 +08:00
NCBM 3c555278d5 docs: describe the disabled-thinking fallback 2026-10-16 22:16:35 +08:00
NCBM 06a5bafab7 docs: describe the adaptive-thinking retry 2026-10-16 22:12:09 +08:00
NCBM b0afed612f docs: describe the same-file write ordering of a batch 2026-10-16 19:37:38 +08:00
NCBM ab6b5d590c docs: describe the escape error's access mode 2026-10-16 19:29:20 +08:00
NCBM a4f852eec6 docs: describe the batch command listing 2026-10-16 19:08:24 +08:00
NCBM 60dd96329d docs: describe the numbered todo listing 2026-10-16 18:53:10 +08:00
NCBM 3bc585ad3d docs: describe the write_file overwrite rule 2026-10-16 18:52:59 +08:00
NCBM 8729330120 core/skills: announce the skill tools in a notice, not a catalog 2026-10-09 21:40:45 +08:00
NCBM e72d2359d7 core/skills: read the filesystem live, drop the cache and reload 2026-10-09 21:40:38 +08:00
NCBM 1f04889449 cli/skills: open the skill directory instead of printing SKILL.md 2026-10-09 21:40:27 +08:00
NCBM 64a8cf7062 docs: drop the /clear references 2026-10-09 21:15:55 +08:00
NCBM 287b838db9 docs: drop the multi-tenant router plan 2026-10-09 21:15:07 +08:00
NCBM b0116a67c1 docs: describe the kept provider blocks 2026-10-09 20:09:43 +08:00
NCBM 6e8368c169 docs: record the complexity gate and the nested-function counting 2026-10-07 00:40:31 +08:00
NCBM 432b703b54 docs: describe what a repeated reasoning text does
The ``responses_bridge`` bullet records that ``response.reasoning_text.done`` repeats the fragments: the loop streams each part once, and the round's message still carries the whole chain of thought back to the API.
2026-10-07 00:26:53 +08:00
NCBM 933d5385b9 docs: describe the search sources
The ``web_search`` bullet lists both sources, the fallback order and the
snippet, and says the tool needs a non-empty ``search_sources``.
2026-10-07 00:09:52 +08:00
NCBM 19ab86f590 docs: say which presets ask for provider_tools
The provider-tools bullet names DeepSeek next to OpenAI, since the default and
the effective-provider gate now cover both.
2026-10-06 23:59:07 +08:00
NCBM 27a901083a docs: describe the local search tool
The tools list gains the ``web_search`` entry (what it returns, when the CLI
registers it), and the provider-tools bullet says DeepSeek's preset asks for no
hosted tool by default.
2026-10-06 23:45:41 +08:00
NCBM af232283a4 docs: describe a hosted search on the Anthropic surface
The ``messages_bridge`` bullet says a server tool is the surface's own business
(only ``tool_use`` becomes a local call), the provider-tools bullet says the
Messages surface declares its own definition, the ``anthropic/model.py`` bullet
lists the blocks that now decode, and the file map says as much.
2026-10-06 23:36:41 +08:00
NCBM 88b93a8dfe docs: describe how a DeepSeek round goes back
The DeepSeek bullet says the chat client stamps every assistant round with the
`reasoning_content` thinking mode demands, and the `responses_bridge` bullet
says a round's calls stay contiguous ahead of their outputs and that a round
which kept no chain-of-thought sends a blank line.
2026-10-06 23:23:30 +08:00
NCBM 19e247d739 docs: describe the wrapper command-line review
`env -S "…"` / `su -c "…"` hand a command line to a wrapper instead of running
a program, so the soft confirm now covers them alongside interpreters and
detached runners, with the text under its own `env -S:` label.
2026-10-06 21:54:28 +08:00
NCBM e05dc5127a docs: describe how a batch of tool calls keeps its rows
The note said a second call ends the open prefix as its own line; that row was
what made the first call of a batch print twice. Record the queued behaviour:
each call of a round prints one finished row, and only output that genuinely
takes the line still closes the prefix.
2026-10-06 21:38:13 +08:00
NCBM 66b771f87d docs: use the current DeepSeek flash id in the samples
The default catalog and the sample config still named `deepseek-v4-flash`,
which DeepSeek keeps only as a compatibility alias. Spell out the mapping
Claude-* ids get server-side (`deepseek-v4-pro` / `deepseek-flash`) instead
of the `deepseek-v4-*` glob the flash rename made stale.
2026-10-06 21:22:55 +08:00
NCBM 35dbd30328 docs: describe the thinking-strength settings 2026-10-06 21:11:28 +08:00
NCBM 0c9bb2e067 docs: describe merged todo batches 2026-10-06 20:51:13 +08:00
NCBM 4b1cb84256 docs: describe what a rolled-back turn keeps
A failed or cancelled turn drops unfinished assistant text, and tool calls
whose result already arrived stay in history (and in the store), so /retry
continues from real results instead of running those tools again.
2026-10-06 20:32:35 +08:00
NCBM 1cead73320 docs: describe argument-aware command denylist entries 2026-10-06 19:55:40 +08:00
NCBM f285848dd5 docs: describe wrapper-aware command review 2026-10-06 19:44:50 +08:00
NCBM 1a63327040 docs: describe ending an interrupted pretty line 2026-10-06 19:15:49 +08:00
NCBM 2cc5222dd3 docs: use regex_files tool name in docs 2026-09-22 23:23:11 +08:00
NCBM 76933b044c docs: describe grep_files pattern and path shapes 2026-09-22 23:17:53 +08:00
NCBM b967a000dc docs: document skills
README and the example config cover the [skills] section, the five tools, and
the read/write split; AGENTS.md gains the skills/ package, the tool family, the
config fields, and the /skills + /status surface; architecture.md lists the
package. doc/skills.md is the author guide: layout, the frontmatter subset and
how a broken one degrades, roots and shadowing, what the agent sees, the
grant story for reads and writes, and the warning that a skill is data —
third-party skill directories are untrusted input.
2026-09-22 22:58:09 +08:00
NCBM ec228e9219 docs: document the full pretty-tool coverage
Every builtin tool now prints the in-progress prefix (previously only the ones
with a renderer were named), MCP tools share one generic line, and plugin tools
keep the [tool] fallback. The parallel-batch fallback erases only its own line,
so the streamed line above it survives.
2026-09-22 22:25:43 +08:00
NCBM d697ecdaf6 docs: note that /history keeps a turn's ends expanded
The user message and the final answer print in full at every verbosity level;
only --preview collapses them.
2026-09-22 21:15:31 +08:00
NCBM 72d323d680 docs: document the turn-oriented /history
/history now works in turns (default: the last turn's user message and final
answer), with -v/-vv for intermediate rows and full bodies, and display-number
addressing (N / last [N] / --message N) that never exposes database rows.
2026-09-22 21:02:12 +08:00
NCBM bbed7c87cd docs: document SIGINT routing and MCP process-group isolation
Ctrl+C now cancels the turn (or the auto-retry countdown), cancels a poll-based
prompt read such as wait's, and is ignored with a hint for off-loop readline
prompts; it never exits the REPL and never reaches MCP servers, which spawn in
their own session. Also drop ask_into_pty's stale "Ctrl+C cancels" claim: that
prompt is readline-based and empty input is its cancel.
2026-09-22 19:44:31 +08:00
NCBM a9f77a3b96 docs: document wait shape checks and missing-argument errors 2026-09-19 09:51:25 +08:00