Skip to content

更新日志 ​

由 snowpea 核心仓库的标签自动生成。每一节对应一个版本,下面是自上一个标签以来的提交标题。

v0.2.55 ​

发布于: 2026-10-21

chore(release): bump snowpea to 0.2.55

  • chore(release): bump snowpea to 0.2.55
  • fix(providers): only the first message goes out as system on the OpenAI wire

v0.2.54 ​

发布于: 2026-10-21

chore(release): bump snowpea to 0.2.54

  • chore(release): bump snowpea to 0.2.54
  • feat(host-tools,providers): tool.invoke carries the agent-switch guard; llama.cpp timings on usage and the log (1.25.0)

v0.2.53 ​

发布于: 2026-10-21

chore(release): bump snowpea to 0.2.53

  • chore(release): bump snowpea to 0.2.53
  • feat(agents): session.setAgent {guardTurn} — a switch inside a running turn asks before every change (1.24.0)

v0.2.52 ​

发布于: 2026-10-21

chore(release): bump snowpea to 0.2.52

  • chore(release): bump snowpea to 0.2.52
  • fix(attachments): names lose control and format characters and are quoted in the marker; frames up to 160 MB

v0.2.51 ​

发布于: 2026-10-21

chore(release): bump snowpea to 0.2.51

  • chore(release): bump snowpea to 0.2.51
  • feat(security): browser profiles, keyrings and cookie stores are secret; /agent use only from the person's own turn
  • feat(attachments): byPath marks a file attached by path, recorded where it is (1.23.0)
  • feat(attachments): the agent may use what the user attached, as attached; turns wait for a reconnecting host (1.23.0)
  • feat(mcp): an MCP added by URL is global — mcp_add tool, global default for new servers
  • fix(mcp,execute_code): a server added to settings reaches the running session; frozen cores run code with a real python
  • fix(mcp): mcp.test probes the draft it is given, also under a name not saved yet
  • fix(providers): provider.configure, provider.remove and a finished loginWeb announce settings.changed
  • fix(agent): an answer with no text and no tool call is not a completion
  • fix(tools): an offset read without a limit stops near 20K chars; spills point at grep first
  • feat(scheduler): standing orders — browser-owned jobs and the job behind a tool call (1.23.0)

v0.2.50 ​

发布于: 2026-10-21

chore(release): bump snowpea to 0.2.50

  • chore(release): bump snowpea to 0.2.50
  • fix(host-tools): only the person's own words become userTurn
  • feat(host-tools): tool.invoke carries the user's own words behind the turn (1.22.0)

v0.2.49 ​

发布于: 2026-10-21

chore(release): bump snowpea to 0.2.49

  • chore(release): bump snowpea to 0.2.49
  • fix(providers): self-hosted servers get replayed reasoning as reasoning too

v0.2.48 ​

发布于: 2026-10-20

chore(release): bump snowpea to 0.2.48

  • chore(release): bump snowpea to 0.2.48
  • fix(delegation): an unnamed delegation from a plugin agent stays in its plugin
  • feat(agents): a definition shapes its own prompt; llm.sample puts the task after the page (1.21.0)
  • fix(memory): one intro over the recall block, not two
  • feat(prompt): the system prompt lists tools by name only

v0.2.47 ​

发布于: 2026-10-20

chore(release): bump snowpea to 0.2.47

  • chore(release): bump snowpea to 0.2.47
  • fix(context): every provider gets the window it actually serves
  • fix(context): a llama.cpp-style server's meta.n_ctx is its window

v0.2.46 ​

发布于: 2026-10-20

chore(release): bump snowpea to 0.2.46

  • chore(release): bump snowpea to 0.2.46
  • fix(skills): a skill edited under a running daemon is read again for the next session
  • fix(llm): the llm call line estimates reasoning a server does not report

v0.2.45 ​

发布于: 2026-10-20

chore(release): bump snowpea to 0.2.45

  • chore(release): bump snowpea to 0.2.45
  • fix(history): the message cap starts a summarising compaction
  • feat(usage): cached prompt tokens in usage events and llm call lines (1.20.0)
  • fix(memory): search_memory drops hits that share only common words
  • fix(llm): a bare array for a one-array object schema is wrapped, and vLLM/Ollama/GLM get JSON mode
  • fix(history): the message cap trims a batch, not one message a round
  • fix(update): a branch install names the new release version again

v0.2.44 ​

发布于: 2026-10-20

chore(release): bump snowpea to 0.2.44

  • chore(release): bump snowpea to 0.2.44
  • fix(agent): a compacted host snapshot fits under the default cap

v0.2.43 ​

发布于: 2026-10-20

chore(release): bump snowpea to 0.2.43

  • chore(release): bump snowpea to 0.2.43
  • fix(agent): requests only grow; old output shrinks at compaction
  • fix(compaction): older tab snapshots are stubbed a batch at a time

v0.2.42 ​

发布于: 2026-10-20

chore(release): bump snowpea to 0.2.42

  • chore(release): bump snowpea to 0.2.42
  • fix(agent): every request extends the last one, so prefix caches hit

v0.2.41 ​

发布于: 2026-10-20

chore(release): bump snowpea to 0.2.41

  • chore(release): bump snowpea to 0.2.41
  • feat(llm): sample calls route apart; every model call logs its timing
  • fix(host-tools): a call to a host that went away says so

v0.2.40 ​

发布于: 2026-10-19

chore(release): bump snowpea to 0.2.40

  • chore(release): bump snowpea to 0.2.40
  • feat(permissions): page actions may be allowed always, on every site (1.19.0)

v0.2.39 ​

发布于: 2026-10-19

chore(release): bump snowpea to 0.2.39

  • chore(release): bump snowpea to 0.2.39
  • feat(agent): a turn's thinking goes back to a vendor that reads it
  • fix(tui): keys that arrive together all reach the input

v0.2.38 ​

发布于: 2026-10-19

snowpea v0.2.38

  • chore(release): bump snowpea to 0.2.38
  • feat(host-tools): a host tool may be marked parallel-safe (1.18.0)
  • fix(agent): the parallel-call planner sees every file a batched call touches
  • feat(tools): read several files and make several edits in one round (1.17.0)

v0.2.37 ​

发布于: 2026-10-19

snowpea v0.2.37

  • chore(release): bump snowpea to 0.2.37
  • feat: frame-scoped site actions; model listings put a usable model first (1.16.0)
  • fix(providers): send X-Session-ID to a self-hosted server so rounds reuse the cached prefix

v0.2.36 ​

发布于: 2026-10-16

snowpea v0.2.36

  • chore(release): bump snowpea to 0.2.36
  • feat(site-memory): typed flow steps, recipes and site.markPart (1.15.0)
  • feat(protocol): llm.sample, superseded snapshots and read-only fast delegations (1.14.0)

v0.2.35 ​

发布于: 2026-10-15

snowpea v0.2.35

  • chore(release): bump snowpea to 0.2.35
  • fix(update): the update button works on a machine with only the desktop app
  • feat(memory): visited pages stay out of the automatic recall block
  • feat(agents): a definition's childContext: full keeps a delegated run's skills and recall

v0.2.34 ​

发布于: 2026-10-15

snowpea v0.2.34

  • chore(release): bump snowpea to 0.2.34
  • feat(setup): /setup providers adds and edits several local servers

v0.2.33 ​

发布于: 2026-10-14

snowpea v0.2.33

  • chore(release): bump snowpea to 0.2.33
  • feat(permissions): reading or attaching a tab may be allowed on every site (1.13.0)
  • feat(protocol): a onceOnly approval.ask returns the scope the person picked (1.12.0)
  • feat(protocol): web.search gives a browser host the core's search providers (1.11.0)

v0.2.32 ​

发布于: 2026-10-13

snowpea v0.2.32

  • chore(release): bump snowpea to 0.2.32
  • fix(scheduler): read short and listed weekdays; a weekly spec never falls back to once
  • feat(protocol): job.preview reads a schedule spec without saving it (1.10.0)

v0.2.31 ​

发布于: 2026-10-13

snowpea v0.2.31

  • chore(release): bump snowpea to 0.2.31
  • feat(core): host tool screenshots survive old threads and restarts

v0.2.30 ​

发布于: 2026-10-13

snowpea v0.2.30

  • chore(release): bump snowpea to 0.2.30
  • fix(tui): the full-screen transcript fills its window while scrolling

v0.2.29 ​

发布于: 2026-10-12

snowpea 0.2.29

  • chore(release): bump snowpea to 0.2.29
  • fix(tui): the key hint shares the agent panel's '↓ N more' row; clicks land on the right row
  • feat(tui): full screen is the default layout

v0.2.28 ​

发布于: 2026-10-07

snowpea 0.2.28

  • chore(release): bump snowpea to 0.2.28
  • feat(tools): memory tools are save_memory / search_memory
  • fix(tools): memory names from other agents resolve; a shell sleep gets its time

v0.2.27 ​

发布于: 2026-10-06

snowpea v0.2.27

  • chore(release): bump snowpea to 0.2.27
  • feat(install): the installer fails when the TUI does not load
  • feat(protocol 1.9.0): site memory for the browser agent
  • fix(tui): ship the ES-module marker beside the packaged bundle
  • fix(settings): an untouched default team picks up writer
  • feat(agents): a writer role for documentation, as in OMC
  • fix(ralph): the reviewer judges from the recorded checks when it has no shell
  • fix(agent): retry a model call that failed transiently instead of ending the turn

v0.2.26 ​

发布于: 2026-10-05

snowpea v0.2.26

  • chore(release): bump snowpea to 0.2.26
  • feat(plans): one current plan that /ralph, /team, /ultrawork and plain prompts carry on, and a plan-first gate
  • fix(session.continue): a call inside the 10 s guard keeps its note as a notice
  • feat(protocol 1.8.0): session.continue starts a system-initiated turn
  • fix(ralph): carry on with an unfinished PRD instead of planning "run it"
  • fix(agent): bounded child evidence, safer redaction, stall guard and cheaper persistence

v0.2.25 ​

发布于: 2026-10-04

fix(hooks): quote Windows interpreters and use portable fixtures

  • fix(hooks): quote Windows interpreters and use portable fixtures
  • fix(cli): use UTF-8 for redirected Windows output
  • chore(release): bump snowpea to 0.2.25
  • fix(cli): avoid console signals in Windows liveness probes
  • fix(ci): retain unexpected Windows smoke exceptions
  • fix(ci): publish Windows smoke errors from independent step
  • fix(ci): preserve Windows diagnostics on native stderr
  • fix(ci): annotate Windows process startup failures
  • fix(ci): run smoke checks with installed Python and explicit paths
  • fix(ci): align Windows smoke and expose failure diagnostics

v0.2.24 ​

发布于: 2026-10-04

chore(release): bump snowpea to 0.2.24

  • chore(release): bump snowpea to 0.2.24
  • feat(gateway): show detailed live subagent progress
  • fix(agent): retain round evidence and await child reports

v0.2.23 ​

发布于: 2026-10-03

snowpea 0.2.23

  • chore(release): bump snowpea to 0.2.23
  • fix(agent): make round budgets configurable

v0.2.22 ​

发布于: 2026-10-03

snowpea 0.2.22

  • fix(packaging): exclude orchestration state from releases
  • chore(release): bump snowpea to 0.2.22
  • feat(core): continue workflows across agent updates

v0.2.21 ​

发布于: 2026-10-01

snowpea v0.2.21

  • release: prepare v0.2.21
  • fix(ralph): PRD calls get room to think and are told they have no tools
  • prompts: look a console error up in the source, not the minified build
  • fix(delegate): a background run loads subagent_wait and subagent_message
  • feat(gateway): the owner's active session asks on their phone too
  • fix(permissions): a session workspace's tmp/ and artifacts/ are not snowpea config
  • fix(security): local-dev rules are loopback-only; /team workers held to the lead's root; reasonCode on allowlist rows
  • feat(browser): screenshots, console errors and key presses; a URL policy for browser sessions
  • feat(prompts,security): per-model-family prompts, a clearer five-step procedure, host hardening
  • feat(agent): the lead stays reachable mid-delegation; verify-on-stop; a procedural base prompt
  • feat(ralph,team,sessions): structured progress, sturdier PRDs and checks, locale, clean worker commits
  • docs(delegation): the lead's direct-call limit
  • feat(delegation): the lead gets three direct write/exec calls per turn, then must delegate
  • fix(sessions): concurrent resumes share one Session; requests repair unpaired tool calls
  • fix(commands): /ralph stops on an error retrying cannot fix; /init keeps the typed line and the user's language

另有 27 个提交。

v0.2.20 ​

发布于: 2026-09-30

  • release: prepare v0.2.20
  • feat(host tools): tool.invoke carries the session's project folder as workdir
  • feat(allowlist): workdir on list/add/remove; repl.files may be remembered for a project
  • fix(approvals): honour args.onceOnly — no allowlist match, no stored rule, no site from args.url
  • fix(approvals): never remember a page action globally or a site answer without a site

v0.2.19 ​

发布于: 2026-09-30

  • release: prepare v0.2.19
  • feat(allowlist): list entries with tool, origin and createdAt; approval.ask takes dotted actions
  • feat(approval.ask): forceAsk always asks a person; risk payment is never remembered
  • fix(effort): per-model effort tiers; Qwen3.8 Flash Next gets low/medium/xhigh, and a model without effort says so

v0.2.18 ​

发布于: 2026-09-29

  • release: prepare v0.2.18
  • fix(session): a page attachment stays out of message.user.text and is listed as
  • fix(protocol): -32601 only for an unknown method; a missing entity is -32004
  • docs(protocol): session.prompt event order and the approval.ask request shape
  • feat(protocol 1.7.0): task list, background delegation, auto-injected skills, workspaces, routines with host tools
  • feat(protocol 1.6.0): host tools for clients that run their own tools (snowpea-browser)

v0.2.17 ​

发布于: 2026-09-29

  • release: prepare v0.2.17
  • fix(tools): repair aliased names and stringly-typed arguments, report cut-off JSON, keep reading tools in narrowed agents
  • fix(mcp): a server added to .mcp.json mid-session is usable from the next round
  • fix(vision): a downscaled view_image capture keeps its bytes instead of reading as no longer on disk
  • fix(skills): tool_search is not refused by a skill's allowed-tools
  • fix(settings): a model profile on an unregistered vendor is refused where it is assigned
  • fix(subagents): a child whose turn errors reports the error instead of an empty success
  • fix(team): an APPROVE given on the critic's last round no longer fails the run
  • fix: a typed Other answer replaces the picked option; a delegation to an unconfigured vendor is refused with choices

v0.2.16 ​

发布于: 2026-09-28

snowpea v0.2.16

  • release: prepare v0.2.16
  • feat(agents): delegation mode — /delegation on hands the work to the team
  • fix(tui): a tool call cut off by an interrupt or a daemon restart stops pinning every later reply
  • fix(plan): plan mode asks the user before it writes the plan
  • fix(daemon): a stopping daemon removes only its own daemon.json
  • fix(daemon): one daemon per home — a slow daemon is waited for or stopped, never left running beside a new one
  • fix(update): after an update the TUI talks to the new daemon, and the banner comes down

v0.2.15 ​

发布于: 2026-09-27

snowpea v0.2.15

  • release: prepare v0.2.15
  • feat(tui): the input and every prompt you sent sit on a full-width band
  • fix(setup): every action settles its screen, Esc cancels, and nothing known is asked again
  • fix(setup): the last row says Done — keep X, and Done in a multi-select keeps the ticks
  • fix(setup): installing a voice engine selects it and moves on

v0.2.14 ​

发布于: 2026-09-23

snowpea v0.2.14

  • release: prepare v0.2.14
  • fix(tui): pasted prose that names a file is pasted, not turned into a chip or refused
  • fix(history): the opening request survives the message-count trim; the cap is 600
  • fix(mcp): daemon stop no longer waits ten seconds for a server that never connected
  • fix(daemon): the global MCP sync at start is bounded too
  • fix(session): a session opens within 5 s even when an MCP server will not start
  • fix(complete): @/abs/… and @~/… complete like a shell, outside the workdir
  • chore: the studio MCP endpoint is plain http now
  • fix(tools): a write to a file this session did not read is noted, not refused — as in Hermes
  • fix(tools): view_image reads any path like read_file; a credential location is asked for, not refused
  • feat(session): per-turn checkpoints — restore a file, or a whole turn, to before the agent touched it
  • feat(tools): execute_code — run a short Python program and return what it printed
  • feat(tui): a skill command shows as the typed line plus one folded row
  • fix(desktop): the launcher entry carries the app's icon and window class
  • fix(session): a skill's body is a folded expansion, not the typed prompt; command turns announce themselves

另有 5 个提交。

v0.2.13 ​

发布于: 2026-09-21

snowpea v0.2.13

  • release: prepare v0.2.13
  • feat(tui): /resume opens on this directory's sessions
  • test(tui): wait for the submit instead of sleeping 40 ms

v0.2.12 ​

发布于: 2026-09-21

snowpea v0.2.12

  • release: prepare v0.2.12
  • fix(tui): the session picker's window fits under the real screen chrome

v0.2.11 ​

发布于: 2026-09-21

snowpea v0.2.11

  • release: prepare v0.2.11
  • fix(tui): the session picker scrolls inside the terminal

v0.2.10 ​

发布于: 2026-09-21

snowpea v0.2.10

  • release: prepare v0.2.10
  • fix(context): a window a local server reported never decays to the table default

v0.2.9 ​

发布于: 2026-09-21

snowpea v0.2.9

  • release: prepare v0.2.9
  • fix(agents): a clashing plugin agent is <plugin>:<name>, like a skill

v0.2.8 ​

发布于: 2026-09-21

snowpea v0.2.8

  • release: prepare v0.2.8
  • fix(agents): a Claude Code agent never replaces a built-in role
  • fix(tui): the slash palette never truncates a command name
  • feat(tui): typing a skill's own name finds its plugin-qualified command

v0.2.7 ​

发布于: 2026-09-21

snowpea v0.2.7

  • release: prepare v0.2.7
  • fix(skills): a plugin skill never replaces a core command

v0.2.6 ​

发布于: 2026-09-21

snowpea v0.2.6

  • release: prepare v0.2.6
  • fix(core): pre-release defects — headless exit codes, clean interrupts, model routing, MCP result boundary
  • feat(tui): brand accent is violet; semantic green stays for success
  • feat(tui): @ file completion in the prompt editor
  • feat(tools): tool-returned images reach the vision model
  • feat(prompt): @ file references and native image input
  • fix(cli): plain renderer accepts headless warnings
  • feat(models): select across configured vendors
  • fix(agent): cancel provider streams promptly on interrupt
  • fix(audio): resolve TTS voice language from reply text
  • fix(sessions): broadcast sessions.changed on lifecycle events
  • feat(audio): voice preview params, supertonic warmup, and recorder probing
  • feat(agent): deepinit explore→write, subagent retries, and role picking
  • feat(agent): parallel tool batches, patch-first edits, and TUI refresh
  • release: prepare v0.2.5

另有 198 个提交。

v0.2.5 ​

发布于: 2026-09-17

release: prepare v0.2.5

  • release: prepare v0.2.5
  • feat(tui): reconnect HUD, stream scrollback, newer bundle wins
  • fix(agent): cap images per local VLM request
  • feat(tools): add view_image for vision models
  • feat(sdk): reconnect via daemon.json and resume sessions
  • fix(skills): Claude Code's directory is resolved from the user's home (or CLAUDE_CONFIG_DIR), not the snowpea home
  • feat(skills): plugins installed in Claude Code are visible to snowpea
  • fix(tools): a read whose result was pruned from the request can be asked for again
  • feat(agent): Esc stops everything the session runs, a steered prompt reaches its helpers, and a stop invites feedback
  • feat(agent): a prompt typed while a turn runs steers it at the next tool round (agent.busy = steer, default) instead of waiting as a separate turn
  • fix(skills): github:<owner>/<repo>/<path> installs that directory of the repo
  • fix(tui): a draft line that fills the width puts the caret on a fresh row, and rendered lines never re-wrap
  • fix(tui): a grapheme- and width-aware editor model for the prompt — multi-line edits land where the caret is

v0.2.4 ​

发布于: 2026-09-16

v0.2.4 — session.resume reports mode/model, interrupted turns keep their prompt, local context window discovery, Supertonic language from text, one install at a time, whole recent tool results, TUI voice/mouse/sessions polish

  • release: prepare v0.2.4
  • fix(context): recent tool results are sent whole — the 2 000-char head/tail trim made a read look truncated
  • fix(audio): one install at a time per engine — a second audio.install joins the running one; byte ticks no longer repeat the file name
  • fix(tui): /voice on|off works like /tts on|off, and a bare '/tts ' or '/voice ' runs on Enter instead of completing
  • test(tui): the bare / completion now lists the four surface commands too
  • feat(tui): /voice /rec /tts /mouse complete like every other command; /tts voices lists the engine's voices and /tts voice <id> [lang] picks one
  • fix(tui): the HUD names the voice engines even while they are off (dimmed), instead of a bare 'off'
  • fix(audio): Supertonic is never told 'auto' — the language comes from the text's script
  • feat(tui): the HUD says mic and speaker state — engine name when on, 'off' when set but off, red while recording
  • feat(session): session.resume answers with the restored mode, provider, model and effort; the TUI HUD adopts the mode
  • fix(session): an interrupted turn keeps its prompt in the stored history
  • fix(tui): agent origin is a colour (external magenta, named blue) not a tag; tool lines stack without blank lines; trailing blank lines trimmed
  • test(tui): transcript test imports vitest
  • fix(tui): the ◆ glyph sits on the first line of the answer, not on a blank line above it
  • fix(tui): mouse reporting is opt-in via /mouse so the terminal's drag-to-select works by default

另有 10 个提交。

v0.2.3 ​

发布于: 2026-09-16

v0.2.3 — evidence-based team verdicts and verify stage, resilient session store, gateway chat commands (Telegram/Discord/Slack) with typing and progress, live subagent tokens, token efficiency (repeat guard, tool-output pruning, deferred tools, lean child context, per-role round budgets, stage hand-offs)

  • release: prepare v0.2.3
  • feat(agents): per-role tool-round budgets with a grace call, team stage hand-offs, exploration rules, round telemetry
  • docs(manual): tools and context budget page — repeat guard, pruning, deferred tools, child context, context caps
  • feat(core): token efficiency — repeat guard, tool-output pruning, deferred tools, lean child context, context caps
  • fix(team): verdicts need evidence, a verify stage, and a resilient session store
  • Fix deterministic delegate command routing
  • feat(gateway): Slack slash commands over Socket Mode, and a manifest to declare them
  • feat(gateway): Discord registers the chat commands as application commands and answers slash interactions
  • fix(gateway): long answers are sent in pieces under the platform's limit
  • feat(gateway): chat commands, typing indicator and a progress message
  • feat(tui): agent rows show input and output tokens, the desktop's shape
  • feat(subagents): subagent.update carries the child's cumulative usage, and the TUI shows live tokens for running agents
  • fix(gateway): /start is answered with a welcome, unknown commands are answered in the chat, and Telegram errors never log the bot token

v0.2.2 ​

发布于: 2026-09-15

v0.2.2 — audio runtime venv for sherpa-onnx and Supertonic, wizard install under a running loop, Ctrl+C leaves the wizard, one install notification per event

  • release: prepare v0.2.2
  • fix(audio): sherpa-onnx and Supertonic run from a snowpea-owned audio runtime venv
  • fix(setup): Ctrl+C and Ctrl+D leave the wizard instead of declining one screen
  • fix(setup): installing a voice engine from the wizard works under a running event loop
  • fix(audio): one install notification per event (the stage payload carries the line), and voice installs tag every event and the result with engine + voice

v0.2.1 ​

发布于: 2026-09-15

snowpea agent v0.2.1 — voices per language, STT language, staged install progress

  • release: prepare v0.2.1
  • feat(audio): voices per language — audio.voices {engine} lists each engine's voices (Supertonic 3 is one multilingual model with ten styles, Piper has per-language voice files, edge-tts/espeak-ng/say/SAPI discovered at runtime, OpenAI static), audio.install {engine, voice} fetches a voice with staged progress without selecting it, audio.tts.voices maps language → voice (reply language, then *, then engine default; the old single voice reads as *); audio.stt.language (auto | bcp47) is a hint for SenseVoice/whisper/OpenAI and picks the model for sherpa Zipformers, refusing with the model to install when the language is not covered; capabilities report sttLanguage/sttLanguageSource; wizard and /setup audio gain voice and language steps

v0.2.0 ​

发布于: 2026-09-15

snowpea agent v0.2.0 — LSP integration, MCP server management, named local vendors, reasoning effort, memory scopes + project context (Hermes-style), M15 agent policies (working discipline, skills index, single-owner delegation, explore/reviewer, team pipeline, /workers), unified choice UX, installable voice engines

  • release: prepare v0.2.0
  • feat(audio): voice in/out are either Not set (off) or pinned to one engine — no auto chain; "auto" migrates to unset; installing never pins; wizard voice screens are action-first (Recommended install, other installs, choose a specific engine) and every row leads to an install or a configuration step (system command with run/re-check, validated custom command, masked OpenAI key); say/SAPI hidden off-platform; audio.install.progress carries stage/step/percent/bytes with an in-place bar; the agent's opening sentence is spoken once per turn (audio.tts.speakAck, audio.spoken.utterance); the model-invoked media tools keep a recommendation-order fallback
  • build(tui): refresh the bundled TUI
  • feat(setup): provider rows and setup.catalog show a current default model resolved at draw time — live list when credentials exist, else the newest chat flagship from the models.dev cache, else the preset — with its source; preset fallbacks refreshed from models.dev (claude-sonnet-5, gpt-6-astra, gemini-3.8-flash, grok-4.6, glm-5.3, MiniMax-M3, kimi-k3, deepseek-v4-pro, qwen3.8-max) and context-window prefixes for the new families
  • feat(providers): vision for local models — providers.<vendor>.vision / per-model override > models.dev capability > name hints > optimistic try-once on local servers (a rejected image request is remembered and retried as text in the same turn); provider model lists mark vision; plus the shared protocol/CLI/docs for the batches above
  • feat(audio): installable local voice engines — audio.install + snowpea audio install with streamed progress (faster-whisper, edge-tts, piper + a default voice, sherpa-onnx SenseVoiceSmall / Korean and English streaming Zipformer INT8 with model downloads, Supertonic 3 CPU TTS); catalog rows carry installable/installHint/recommended; SenseVoiceSmall and Supertonic are the recommended CPU defaults and lead the auto chains; the studio voice choice is gone (studio stays last in the resolution chain for media tools)
  • feat(core): unified reasoning effort — agent.effort / agent.effortBy (vendor or vendor:model) / session pin via session.setEffort, mapped per provider (OpenAI reasoning_effort with unsupported-parameter memory, Codex reasoning.effort, Anthropic thinking budget, Gemini thinkingConfig; local servers opt in), /effort command, effort + source on model.changed; TUI ⚙ segment and picker row
  • feat(core): plan mode writes documents and runs inspection — write_file/edit_file allowed for markdown/text/plan files (.snowpea/plans, docs, $SNOWPEA_HOME/plans; modes.plan.writableGlobs), every other write refused with the reason; a conservative read-only command classifier lets ls/cat/grep/git status|diff|log/tests run without asking, everything else still asks; /init in plan mode writes AGENTS.md but not settings
  • feat(providers): several named local / OpenAI-compatible vendors — any providers.<name> with preset: local is its own vendor (base_url, optional key, variant, label), model ids <name>:<model> resolve everywhere, keyless auth / model discovery / context-window probing apply, provider.list reports preset+custom, provider.remove RPC, snowpea provider add-local|remove, setup wizard lists servers with add/remove, setup.catalog includes them
  • fix(core): the tool-round checkpoint no longer pops up under a finished reply — at the budget the model gets one probe turn with its tools; a final answer with no tool call ends the turn complete, and only a model still reaching for a tool gets the report + "keep going?" question (the probe's prose doubles as the report)
  • test(prompts): stable-tier budget 3100 → 3250 for the project-questions rule (measured worst case 3185, small-local executor plan)
  • feat(prompts): 'understand the project' starts from the Project Context block, project memory and skills index — spot-check, read code only for what they do not cover, and say which parts were verified
  • fix(core): the wizard's global default team is a roster, not a whitelist — it no longer turns every session into a team session, so project agents, named agents and the built-in explore/reviewer are delegatable again from /delegate, $name completion and delegate_task (named agents stay delegatable inside an explicit team); session.deleteSaved closes an open idle thread first so an empty thread can be deleted
  • feat(core): single-owner delegation — delegate_task policy (one task one agent, disjoint files, sequence dependent steps, self-reports verified via handles), duplicate_task guard with force for best-of-N, sibling file ownership refusals, /ultrawork merges subtasks that share files, built-in read-only explore and reviewer agents, /review command, report spill with per-reason next step, opt-in team.review
  • feat(core): skills index in the system prompt (grouped project/global/plugin/builtin, "load a matching skill with skill_view and follow it"), skill_view tool with unchanged-stub, compaction replaces long skill bodies with [SKILL_PRUNED] markers that the summary preserves, MCP tools grouped per server with capability-gated resource/prompt helpers and injection warnings, memory guidance fragment (skills first, declarative facts) and digest usage header, context-file attachment dedupes by hash and stays inside the workdir

另有 25 个提交。

v0.1.17 ​

发布于: 2026-09-14

release: prepare v0.1.17

  • release: prepare v0.1.17
  • feat(core): the tool-round budget asks to continue instead of stopping the turn

v0.1.16 ​

发布于: 2026-09-14

release: prepare v0.1.16

  • release: prepare v0.1.16
  • fix(tui): a resumed session lands at once instead of re-typing its history

v0.1.15 ​

发布于: 2026-09-14

release: prepare v0.1.15

  • release: prepare v0.1.15
  • ask_user: a confirm row that sends, and tabs to walk a batch
  • fix(tui): a prompt queued mid-answer waits its turn instead of splitting the message
  • feat(core): a finished plan opens a mode picker instead of asking the user to switch
  • fix(tui): give the streaming window real headroom, and budget the hold separately
  • fix(tui): a tool call settles the prose before it, and the live region is bounded
  • ci: build the SDK before the TUI bundle
  • feat(permissions): plan mode asks before a shell command instead of refusing it

v0.1.14 ​

发布于: 2026-09-14

release: prepare v0.1.14

  • release: prepare v0.1.14
  • fix(tui): a long turn no longer flickers while the model thinks

v0.1.13 ​

发布于: 2026-09-14

release: prepare v0.1.13

  • release: prepare v0.1.13
  • fix(providers): the Codex transport no longer sends max_output_tokens

v0.1.12 ​

发布于: 2026-09-14

release: prepare v0.1.12

  • release: prepare v0.1.12
  • test(tui): the flicker test's fake client answers onQuestionRequest
  • fix(prompts): the language override no longer repeats what delegate_task does
  • ask_user: put the agent's questions to a person as a picker
  • fix(skills): interview and research in the user's language, natively
  • feat(tools): skill_search, skill_list, skill_install and skill_remove for the agent
  • reasoning deltas, a real output budget, and recovery from max_tokens stops
  • feat(lang): delegations state their output language, and the UI speaks it
  • test(tui): pin the inline height budget for the open agent transcript
  • chore(tui): npm run typecheck
  • fix(tui): a coalesced child delta carries the newest seq, not the batch's first
  • fix(tui): the open agent view no longer flickers while its delegate streams

v0.1.11 ​

发布于: 2026-09-13

snowpea v0.1.11 — /delegate and $agent run as a main-agent turn and report the outcome; agent-name completion in the TUI

  • release: prepare v0.1.11
  • feat(core): /delegate is a real command (listed in command.list) and $agent prompts are rewritten to it — both run as a main-agent turn that calls delegate_task and reports the outcome; unknown agents answered with the available names
  • chore: progress log (v0.1.10, deploys)
  • fix(tui): /delegate is submitted through session.prompt like $agent (one path into the daemon's command table)
  • fix(tui): $agent prompts go through session.prompt instead of a fire-and-forget agent.spawn, so the main agent replies after the delegate finishes
  • feat(tui): agent-name completion — inline candidate list for the $ prefix and for /delegate and /agent spawn (descriptions, model tags, ↑↓ Tab/Enter Esc)

v0.1.10 ​

发布于: 2026-09-13

snowpea v0.1.10 — arrow-key setup menus everywhere, no duplicate tags, TUI LSP surfaces and brand mark, lsp.catalog

  • release: prepare v0.1.10
  • feat(core): lsp.catalog — every registered language server with language ids, extensions, installability and disabled state (additive, protocol 1.5.0)
  • feat(tui): the brand sprout mark rendered as half-block art in front of the wordmark (offline rasteriser from shared/brand/mark.svg), ring-only compact form; sprout emoji removed
  • feat(tui): LSP surfaces — lsp N HUD segment (broken servers flagged), /lsp status table, ERROR/WARNING tones in tool output, per-file ⚠ badge on diffs held live until the turn ends; restore startup session.list/lsp.status/tool.list calls
  • fix(setup): vendor menu no longer doubles the [active] tag
  • fix(setup): authentication method, local server type and yes/no questions are arrow-key menus too (text fallback off a TTY)

v0.1.9 ​

发布于: 2026-09-13

snowpea v0.1.9 — LSP integration (protocol 1.5.0), live model listing for every vendor incl. ChatGPT accounts, federated skill search via the registry, setup wizard fixes (no flicker, real provider state, arrow-key pickers), masked-secret guard

  • release: prepare v0.1.9
  • fix(setup): arrow-key menus for model, extra-vendor, default-model and agent-assignment choices (validated text fallback: a row number or provider id, unknown ids re-asked instead of KeyError); configured vendors render as filled circles
  • chore: progress log (LSP merged, federated registry, model chain)
  • feat(core): LSP integration — diagnostics after every edit, seven lsp_* tools
  • feat(providers): one model-resolution chain for all 11 vendors — live listing per vendor/auth (ChatGPT Codex models with account header, Gemini v1beta, Anthropic, Ollama tags), settings override, last-good cache, curated + models.dev — surfaced with its source in the wizard, provider.models, snowpea provider models and the TUI /model picker; protocol artifacts regenerated
  • feat(skills): search through the registry's federated hubs (ClawHub, Claude marketplaces) with per-item source labels; install any registry-returned spec via the download proxy with github clone fallback on 501; snowpea skill sources; drop the non-existent agentskills/hermes-hub adapters
  • fix(setup): repaint list screens in place (no clear, cursor hidden) so the wizard no longer flickers; provider tags reflect real state — key-optional local vendors are active with a base_url/model, [default] shown, one helper shared by the screen, CLI and provider.list
  • fix(core): refuse masked secret placeholders in settings.set/provider.configure; team roster reaches subagent prompts; wizard uses the declared model list after a ChatGPT/Google login instead of a 401 from the vendor API; contract counts corrected
  • docs(design): m13 LSP integration contract (v0.2, ported from opencode)

v0.1.8 ​

发布于: 2026-09-13

snowpea v0.1.8 — model assignment chain, OpenAI/Gemini browser OAuth + Codex/Code Assist transports, token lifecycle, skill registry client, attachments/voice, context/compaction, prompt library, protocol 1.4.0

  • release: prepare v0.1.8
  • chore: progress log 2026-09-13
  • feat(core): per-agent model assignment chain (call override > agent assignment > session pin > project default > global default), session.setModel + model.changed, project models block, null-delete settings sentinel, subagent routing fixes; OpenAI/ChatGPT browser (PKCE) + device-code and Gemini Google OAuth + ADC login flows with Codex/Code Assist transports, token lifecycle (absolute expiry, pre-emptive and 401 refresh, AUTH_EXPIRED), authStatus, wizard auth menus, stale-key and OpenRouter key-loss fixes; skill registry client, snowpea skill publish/rate, registry token in setup; TUI /model pin via session.setModel and model.changed
  • docs(tui): queued prompts as implemented, /model picker and $agent delegation in all five languages
  • feat(tui): queued-prompt count and list from turn.queued/dequeued, dropped notice on interrupt, /model picker merging profiles and discovered models, $agent delegation hint, help updates
  • docs: fold v0.1.2–v0.1.7 work into the design contracts (m1–m8 updated, m9–m12 added, index), 11 missing deviation records, stale README/protocol statements fixed, ja/es/zh-CN manuals brought to parity with en/ko
  • feat(providers): shared OAuth loopback callback server; Codex login normalises device-code credentials to the browser-flow record
  • fix(core): v0.1.7 follow-ups — mask oauth tokens in settings.get, 0600 settings.json, interrupt flushes queued prompts (turn.queued/dequeued, protocol 1.4.0), session delete purges attachments/audio, update-safety and model-profile fixes, headless session/resume/team/model-profile commands; feat(providers): Gemini Google OAuth (gemini-cli flow) + Code Assist transport, shared loopback callback
  • feat(providers): ChatGPT browser login (authorization code + PKCE, localhost:1455 callback, refresh) and Codex Responses transport for subscription accounts
  • docs: analysis of v0.1.3–v0.1.7 commits (verification, contract deltas, cross-surface gaps)
  • fix(setup): browser login failures show the vendor's reason and re-prompt instead of crashing; login requests carry UA/Accept headers, retry once on 403/429/5xx, map transport errors; auto-speak docs
  • docs: OpenAI device-code login authenticates a ChatGPT/Codex subscription

v0.1.7 ​

发布于: 2026-09-13

snowpea v0.1.7

  • feat(setup): add OAuth choices to provider wizard

v0.1.6 ​

发布于: 2026-09-13

snowpea v0.1.6

  • feat(auth): support Gemini OAuth and remote tokens

v0.1.5 ​

发布于: 2026-09-13

snowpea v0.1.5

  • fix(schedule): deliver reminders to their source session

v0.1.4 ​

发布于: 2026-09-13

snowpea v0.1.4

  • fix(update): show release version for branch upgrades

v0.1.3 ​

发布于: 2026-09-13

snowpea v0.1.3

  • release: prepare v0.1.3
  • fix(session): queue prompts submitted during active turns
  • feat(search): use hosted Exa MCP without a key
  • feat(tui): support editable drafts and session listing
  • fix(tui): clarify mode selection and resume entries
  • feat(sessions): delete saved resume entries
  • feat(tui): select saved sessions with resume
  • fix(tui): make session resume persistent and discoverable
  • fix(tui): clarify collapsed idle agents
  • fix(tui): distinguish session agent from active team
  • fix(tui): show mode before status
  • feat(agents): add project teams and short delegation
  • fix(update): refresh checks before explicit upgrades
  • feat(tui): divide bottom regions with full-width rules
  • feat(config): assign model profiles per agent

另有 40 个提交。

v0.1.1 ​

发布于: 2026-09-11

snowpea-agent v0.1.1 — --state-dir/--token for embedded launches, protocol 1.1.0 (settings/setup RPC), setup wizard UX fixes

  • feat(setup): masked API-key input, local server URL/variant prompt, per-section setup (snowpea setup search|browser|tools|gateway|provider), summary rows revisit sections
  • build: track the TUI bundle and auto-build it in the hatch hook so git-source installs work
  • feat(protocol 1.1.0): settings.get/set and setup.catalog RPC (additive; capabilities settings, setup) for the IDE wizard
  • feat(core): --state-dir alias and --token pre-issued auth token for embedded (IDE) launches

v0.1.0 ​

发布于: 2026-09-11

snowpea-agent v0.1.0 — core + CLI

  • feat(protocol): freeze baseline — PROTOCOL_VERSION 1.0.0 (v0.2 IDE entry; further changes are minor bumps + capabilities negotiation)
  • chore: plan status DONE (v0.1)
  • refactor: deslop pass — shared test support module, single utc_now/RPC helpers, drop redundant builtin-skills fallback (-608 lines, behaviour unchanged)
  • fix(gateway): fail closed on chat approvals when the binding has no approver user id (plan risk 4); document v0.1 known limitations
  • chore: plan status — v0.1 implemented, pending final review
  • docs: empty CLI-checker allowlist (team/service are real), install page notes on --from-checkout
  • docs: Hermes-level README in 10 languages, manual (ko/en full; ja/zh-CN/es), contributing, architecture, docs CLI checker
  • feat(m8): installers (sh/ps1/brew/npm), TUI bundled into wheel, service install, release workflow, v0.1 e2e smoke
  • feat(m7): remaining subagent files — agent prompt, settings, sdk agents helper, subagent tests
  • feat(m7): team mode — worktrees per agent, shared task list, --no-ff merges, conflict re-queue with retry cap
  • feat(m6): Claude Code plugin loader — skills/agents/commands/hooks/.mcp.json, marketplace search (3 sources), skill CLI
  • feat(m7): subagents with concurrency limits, delegate_task, built-in ralph/ultrawork/deepinit, bundled deep-interview/deep-research/ralplan skills, subagent tree
  • feat(m7): named persistent agents — registry, channel/job bindings, restart restore, memory isolation
  • test: tool-contract inactive-set checks tolerate activated M5/M7 stubs
  • test: rpc roundtrip skips when no unimplemented no-arg method remains

另有 24 个提交。

MIT licensed. The manual is generated from the product repositories — see the banner on each page.