Releases
v1.0.0
Compare
Sorry, something went wrong.
No results found
Changelog
Features
9554dcb : feat(agent): add public SDK package + examples (#554) (presence presence@MacBook-Air-5.local )
662dd2f : feat(agent): expose structured events and custom tools (#563) (zyhdf5 zyhdf5@163.com )
70f06dd : feat(agentcore): add SubAgentProgressEvent + progress emitter ctx carrier (#453) (#460) (smallnest smallnest@gmail.com )
3bc5b14 : feat(agenttool): memory_search tool over persistent memory (#477) (#494) (smallnest smallnest@gmail.com )
e8fc543 : feat(agenttool,provider): view_image with tool-result image transport (quant quant@proton )
d9b7dc9 : feat(bash): add run_in_background with bash_output/kill_bash (smallnest smallnest@gmail.com )
c31f427 : feat(bash,execsess): unified shell sessions with write_stdin and PTY (quant quant@proton )
f09f63c : feat(cli): --prompt-template and --no-prompt-templates flags (#339) (#351) (smallnest smallnest@gmail.com )
5f05951 : feat(cli): /memory command + memstatus report (#484) (#496) (smallnest smallnest@gmail.com )
4f919af : feat(cli): add --cwd/-C to run in a given working directory (smallnest smallnest@gmail.com )
da9c47e : feat(cli): add --thinking-level flag with layered config resolution (#246) (smallnest smallnest@gmail.com )
dd10114 : feat(cli): add /think slash command to switch reasoning effort at runtime (smallnest smallnest@gmail.com )
71945c0 : feat(cli): establish internal/cli skeleton and Host contract (#357) (#370) (smallnest smallnest@gmail.com )
b02d78b : feat(cli): migrate /btw to internal/cli/btw (#365) (#379) (smallnest smallnest@gmail.com )
fdef085 : feat(cli): migrate run-assembly layer to internal/cli/run (#362) (#375) (smallnest smallnest@gmail.com )
2ca3fd7 : feat(cli): route no-arg pigo update to self-update (#468) (#472) (smallnest smallnest@gmail.com )
1537688 : feat(cli/ui): migrate color, markdown and imageref helpers to internal/cli/ui (#358) (#371) (smallnest smallnest@gmail.com )
d0bce3a : feat(config): honor ~/.config/pigo/config.toml over built-in defaults (smallnest smallnest@gmail.com )
e31e27a : feat(config): nested [memory]/[checkpoint] tables + compaction.max_context (#479) (#486) (smallnest smallnest@gmail.com )
3440881 : feat(config): settings-tier prompts from config.toml prompts array (#338) (#350) (smallnest smallnest@gmail.com )
643958e : feat(contextbudget): model-visible context budget with get_context_remaining and new_context (quant quant@proton )
40fc791 : feat(dream): --dream subprocess entry + Runner skeleton + dry-run (#522) (#531) (smallnest smallnest@gmail.com )
7a82975 : feat(dream): LLM apply — real Consolidator (merge/prune) + writeback + Reconcile (#523) (#532) (smallnest smallnest@gmail.com )
7ea905b : feat(dream): [dream] config table + state + due-check (#519) (#528) (smallnest smallnest@gmail.com )
c68ef82 : feat(dream): deterministic consolidation plan + Report (#521) (#530) (smallnest smallnest@gmail.com )
35ade2e : feat(dream): distill new memories from recent session JSONL (#524) (#534) (smallnest smallnest@gmail.com )
6286af0 : feat(dream): dream.lock single-instance mutex with stale takeover (#520) (#529) (smallnest smallnest@gmail.com )
2f89e55 : feat(dream): startup background auto-consolidation trigger (#536) (smallnest smallnest@gmail.com )
d496ce9 : feat(edit): render colored diff for edit tool results (#560) (smallnest smallnest@gmail.com )
8a38aca : feat(execsess): evict sessions at capacity instead of rejecting spawns (quant quant@proton )
cb17cfc : feat(fork): TUI double-press quit, session resume, strict read gating (quant quant@proton )
151f094 : feat(fork): codex-style tool rows, user gutter, resume picker (quant quant@proton )
a85b33b : feat(fork): content-anchored mouse selection with edge autoscroll (quant quant@proton )
f079161 : feat(fork): hosted web_search one-class + search loop guards (quant quant@proton )
8d1d69b : feat(fork): interactive /model picker, drop /models, fix chat driver name (quant quant@proton )
c5b5968 : feat(fork): opencode-go defaults, family protocol routing, session header, forced proxy (quant quant@proton )
7a5398f : feat(headless): print sub-agent progress to stderr (#457) (#463) (smallnest smallnest@gmail.com )
a711626 : feat(hooks): UserPromptSubmit dispatch with block + one-shot injection (#421) (#431) (smallnest smallnest@gmail.com )
2b835b8 : feat(hooks): add HookNotifier for observer events (#424) (#434) (smallnest smallnest@gmail.com )
0bf6685 : feat(hooks): add InstallHooks assembly helper + seam combinators (#419) (#429) (smallnest smallnest@gmail.com )
a8f04d5 : feat(hooks): add internal/hooks core infrastructure (#417) (#427) (smallnest smallnest@gmail.com )
0dadf24 : feat(hooks): add layered ConfigLayer.Hooks with append-merge (#418) (#428) (smallnest smallnest@gmail.com )
48efc40 : feat(hooks): wire PreToolUse + PostToolUse into tool execution (#420) (#430) (smallnest smallnest@gmail.com )
3b1ed08 : feat(hooks): wire SessionStart with synchronous run-start injection (#423) (#433) (smallnest smallnest@gmail.com )
b7c3e9f : feat(hooks): wire Stop + SubagentStop with force-stop ceiling (#422) (#432) (smallnest smallnest@gmail.com )
81436f3 : feat(judge): risk judge + macOS seatbelt sandbox (quant quant@proton )
adf0694 : feat(judge,bash): announce side-effect verdicts, stream delta partials (quant quant@proton )
0138a31 : feat(judge,permissions): replace JevJudge with LLMJudge + permission modes (quant quant@proton )
7b69a0d : feat(memory): BM25 search + buildFtsQuery + relative score floor (#476) (#492) (smallnest smallnest@gmail.com )
2e12ba1 : feat(memory): path resolution + scope/type + traversal guard (#474) (#487) (smallnest smallnest@gmail.com )
0e8d9a7 : feat(memory): reconcile lazy sync + size-mtime fingerprints (#475) (#490) (smallnest smallnest@gmail.com )
178b829 : feat(memory): storage layer schema + Store.Open + FTS5 smoke test (#473) (#485) (smallnest smallnest@gmail.com )
78ad9f0 : feat(pkgmgr): install prompt packages to ~/.pigo/prompts, prefer prompts/ (#342) (#355) (smallnest smallnest@gmail.com )
42082a5 : feat(prompt): advertise task tool fan-out in system prompt (#458) (#461) (smallnest smallnest@gmail.com )
a55fe7d : feat(provider): OpenAI Responses API driver — non-streaming text (#539) (#547) (smallnest smallnest@gmail.com )
1c24f8c : feat(provider): Responses API driver — streaming text (#540) (#548) (smallnest smallnest@gmail.com )
e5b6cd1 : feat(provider): add Fable 5 / GLM-5.3 / DeepSeek Flash presets (smallnest smallnest@gmail.com )
3df6a9c : feat(provider): add Google Gemini preset section (smallnest smallnest@gmail.com )
ef2c447 : feat(provider): add Novita AI as a built-in provider (#556) (jax-novita jax.zhang@novita.ai )
6457697 : feat(provider): add OpenAI GPT-6/5.6 presets and MiMo/Grok updates (smallnest smallnest@gmail.com )
2995505 : feat(provider): default deepseek to openai/resp_api protocol (smallnest smallnest@gmail.com )
38f52ab : feat(provider): parse extended openai protocol variants (#538) (#546) (smallnest smallnest@gmail.com )
c24b1a4 : feat(provider): route openai/resp_api to the Responses driver (#543) (#551) (smallnest smallnest@gmail.com )
99eb753 : feat(provider): share one reasoning-effort table across both wires (quant quant@proton )
7bb095e : feat(provider,tui): live model catalogs, /provider command, effective protocol display (quant quant@proton )
1c6f2da : feat(provider,tui): per-provider proxy selection via /proxy and effective base URLs (quant quant@proton )
e5a9e87 : feat(remote-control): wire bridge into REPL + server hardening (#443, #445) (#452) (smallnest smallnest@gmail.com )
2152177 : feat(remotecontrol): HTTP + WebSocket server (#441) (#449) (smallnest smallnest@gmail.com )
6ee769c : feat(remotecontrol): LAN address & free-port resolver (#439) (#447) (smallnest smallnest@gmail.com )
006a6a7 : feat(remotecontrol): REPL Bridge seam (#442) (#450) (smallnest smallnest@gmail.com )
61922c0 : feat(remotecontrol): pairing token & session credential store (#438) (#446) (smallnest smallnest@gmail.com )
f3e0f42 : feat(remotecontrol): responsive web SPA (#444) (#451) (smallnest smallnest@gmail.com )
57abf7b : feat(remotecontrol): terminal Unicode QR renderer (#440) (#448) (smallnest smallnest@gmail.com )
b33576c : feat(repl): /dream manual command + report rendering (#525) (#533) (smallnest smallnest@gmail.com )
910fb41 : feat(repl): /help lists templates with argument-hint and source tier (#341) (#354) (smallnest smallnest@gmail.com )
2ca8d7a : feat(repl): add /effect as an alias of /think (smallnest smallnest@gmail.com )
e6c4d55 : feat(repl): load ~/.pigo/prompts alongside legacy ~/.pigo/commands (#336) (#347) (smallnest smallnest@gmail.com )
d668ab5 : feat(repl): project-level .pigo/prompts loaded when trusted (#337) (#352) (smallnest smallnest@gmail.com )
2db365d : feat(repl): show argument-hint + description in slash-command autocomplete (#340) (#353) (smallnest smallnest@gmail.com )
d3e5261 : feat(responses): image input + reasoning for Responses driver (#542) (#550) (smallnest smallnest@gmail.com )
223dc07 : feat(responses): tool/function calls for Responses driver (#541) (#549) (smallnest smallnest@gmail.com )
7aab290 : feat(rewind): add /rewind edit checkpoint (files + conversation) (smallnest smallnest@gmail.com )
b4ce694 : feat(runtime): add generic task tool with semaphore + nesting guard (#454) (#459) (smallnest smallnest@gmail.com )
6bcf3c6 : feat(runtime): argument-hint frontmatter + description fallback (#334) (#349) (smallnest smallnest@gmail.com )
de6c384 : feat(runtime): checkpoint persistence + watermark (#480) (#488) (smallnest smallnest@gmail.com )
f703399 : feat(runtime): context rebuild from checkpoint + /rebuild + fallback (#482) (#491) (smallnest smallnest@gmail.com )
f54715d : feat(runtime): drop the tool-turn cap; close cards when a run ends (quant quant@proton )
10b406b : feat(runtime): memory injection reminder provider + budget (#478) (#493) (smallnest smallnest@gmail.com )
bac907e : feat(runtime): prompt-template expansion engine (#332) (#346) (smallnest smallnest@gmail.com )
fcd1ecf : feat(runtime): shell-style arg tokenizer for prompt templates (#344) (smallnest smallnest@gmail.com )
51cc439 : feat(runtime): sub-agent progress reporting via loop-injected emitter (#455) (#462) (smallnest smallnest@gmail.com )
041ee11 : feat(runtime): tiered priority for slash-command registry (#335) (#345) (smallnest smallnest@gmail.com )
6c17ec4 : feat(runtime): wire ParseUserCommand to the expansion engine (#333) (#348) (smallnest smallnest@gmail.com )
a06cf65 : feat(runtime): wire persistent memory + checkpoint recall into loop (#481) (#495) (smallnest smallnest@gmail.com )
834adec : feat(seatbelt): bubblewrap sandbox runner for Linux (quant quant@proton )
f17f3cb : feat(selfupdate): built-in self-replace for pigo update (#466) (#470) (smallnest smallnest@gmail.com )
8a5b06a : feat(selfupdate): version compare + GitHub latest-release query (#465) (#469) (smallnest smallnest@gmail.com )
39e09ad : feat(session): context inheritance via contextFrom/contextWatermark (#483) (#489) (smallnest smallnest@gmail.com )
d369ef4 : feat(site): static site skeleton — shared CSS + bilingual i18n (#497) (#507) (smallnest smallnest@gmail.com )
5be6400 : feat(thinking): add "max" reasoning level above xhigh (smallnest smallnest@gmail.com )
84c9c50 : feat(tools): add websearch tool with auto-detected backend (smallnest smallnest@gmail.com )
34a9424 : feat(tools): replace write/edit with a codex-style apply_patch (quant quant@proton )
07e4552 : feat(trust,judge): interruptible confirmation prompts (quant quant@proton )
15c7c6d : feat(tui): /status and /session slash commands, turn-error surfacing (smallnest smallnest@gmail.com )
eaa2bf5 : feat(tui): add full-screen TUI skeleton and default entry gating (#384) (#394) (smallnest smallnest@gmail.com )
632268a : feat(tui): add persistent bottom status bar (#386) (#397) (smallnest smallnest@gmail.com )
8374bd3 : feat(tui): add theme layer and width-aware rendering helpers (#385) (#395) (smallnest smallnest@gmail.com )
0745850 : feat(tui): banner shows concrete OpenAI wire variant (#544) (#552) (smallnest smallnest@gmail.com )
abb431b : feat(tui): banner version row + cached update hint (#467) (#471) (smallnest smallnest@gmail.com )
97cf163 : feat(tui): bind real run seam + session resume/persistence (#392) (#400) (smallnest smallnest@gmail.com )
c127a9a : feat(tui): bridge AgentEvent stream to tea.Msg (#387) (#396) (smallnest smallnest@gmail.com )
3479560 : feat(tui): clickable tool cards with preview and wrapped headline (quant quant@proton )
f0cf2cc : feat(tui): codex-parity tool headline palette and cyan inline code (quant quant@proton )
338a4d7 : feat(tui): codex-style diff cards, and resume rebuilds real cards (quant quant@proton )
03d1c39 : feat(tui): codex-style user bar spacing (quant quant@proton )
f8fb0a9 : feat(tui): collapse multi-line pastes into a summary placeholder (smallnest smallnest@gmail.com )
d3100e8 : feat(tui): compacting indicator + /exit,/quit quit the TUI (smallnest smallnest@gmail.com )
cf92f24 : feat(tui): highlight shell options maroon italic like codex (quant quant@proton )
9eec320 : feat(tui): mouse selection copy, clipboard paste, and a working spinner (smallnest smallnest@gmail.com )
9399a59 : feat(tui): multi-line input, CJK editing, two-stage interrupt (#390) (#401) (smallnest smallnest@gmail.com )
c23bc08 : feat(tui): multi-line subagent status panel (#456) (#464) (smallnest smallnest@gmail.com )
d26de13 : feat(tui): prompt history nav + subagent panel/credential fixes (smallnest smallnest@gmail.com )
3cd9d11 : feat(tui): render todo tool call as checklist rows, not Go map dump (quant quant@proton )
b7c3cc5 : feat(tui): replace the spinning G with an animated golder wordmark (quant quant@proton )
46aefdd : feat(tui): request Kitty flag 8 so Shift+Enter works on ghostty (#408) (smallnest smallnest@gmail.com )
8f6c237 : feat(tui): rich tool-call cards (#389) (#399) (smallnest smallnest@gmail.com )
d830b0d : feat(tui): separate consecutive turns with a blank line (#416) (smallnest smallnest@gmail.com )
48e3a37 : feat(tui): show a colored logo + config splash at startup (smallnest smallnest@gmail.com )
09125aa : feat(tui): show tool arguments in tool card header (smallnest smallnest@gmail.com )
eae0089 : feat(tui): slash commands + autocomplete popup (#391) (#402) (smallnest smallnest@gmail.com )
c9692a7 : feat(tui): streaming transcript with viewport scrolling (#388) (#398) (smallnest smallnest@gmail.com )
9d022c2 : feat(tui): support Ctrl+V/Cmd+V image paste (smallnest smallnest@gmail.com )
429cb47 : feat(tui): syntax-highlight bash headlines with chroma Catppuccin (quant quant@proton )
44f8fd7 : feat(tui): user turn full-width bar like codex (quant quant@proton )
b239f1b : feat(web): architecture doc page (#505) (#515) (smallnest smallnest@gmail.com )
2a678ea : feat(web): configuration doc page (#503) (#513) (smallnest smallnest@gmail.com )
2d3dcae : feat(web): features doc page (#502) (#512) (smallnest smallnest@gmail.com )
71fb48e : feat(web): homepage feature sections (#499) (#509) (smallnest smallnest@gmail.com )
6ac98ab : feat(web): installation doc page (#501) (#511) (smallnest smallnest@gmail.com )
1ab3c09 : feat(web): marketing homepage hero + nav + footer (#498) (#508) (smallnest smallnest@gmail.com )
ca4cb46 : feat(web): quickstart doc page (#500) (#510) (smallnest smallnest@gmail.com )
2553b42 : feat(web): slash commands doc page (#504) (#514) (smallnest smallnest@gmail.com )
a23aff8 : feat(websearch,tui,docs): Exa backend, bold menu headers, bilingual README (quant quant@proton )
c1be22a : feat: /btw model/thinking override config (#282) (#288) (smallnest smallnest@gmail.com )
ebaf040 : feat: /btw side-thread command skeleton (#279) (#285) (smallnest smallnest@gmail.com )
7f438a9 : feat: /btw 侧线程多轮追问与退出交互 (#280) (#286) (smallnest smallnest@gmail.com )
1dcdc12 : feat: /goal autonomous mode (对标 pi-goal / Claude Code goal) (#278) (smallnest smallnest@gmail.com )
df7b09a : feat: /status env/credentials/telemetry sections (#293, #294) (#298) (smallnest smallnest@gmail.com )
484a774 : feat: EventStream 事件流机制 (#18) (#46) (smallnest smallnest@gmail.com )
59ce2e9 : feat: GitHub ready-for-review webhook creates read-only review sessions (#567) (#575) (smallnest smallnest@gmail.com )
d14ec79 : feat: Plugin.CallCommand 与 Manager.Commands 聚合插件命令 (#262) (#269) (smallnest smallnest@gmail.com )
8dcea75 : feat: REPL 下按 Markdown 渲染助手回复 (#276) (smallnest smallnest@gmail.com )
a83814c : feat: add FormatSkillsForPrompt to render <available_skills> block (#302) (#308) (smallnest smallnest@gmail.com )
c73b0d8 : feat: browse prior REPL inputs with up/down arrows on a blank line (chaoyuepan chaoyuepan@baidu.com )
b18ba97 : feat: bundle built-in skills and install them on first run (#277) (chaoyuepan chaoyuepan@baidu.com )
4a0994d : feat: credential reference mode and child-process env scrubbing (#568) (#576) (smallnest smallnest@gmail.com )
1ad81d4 : feat: cycle REPL suggestions with up/down arrows (#275) (smallnest smallnest@gmail.com )
8c0456c : feat: inject <available_skills> into BuildSystemPrompt (#303) (#309) (smallnest smallnest@gmail.com )
c11a675 : feat: online model discovery via /models fetch (#566) (#574) (smallnest smallnest@gmail.com )
8ccb084 : feat: route pi-extension launchers through the embedded Node host (#264) (#271) (smallnest smallnest@gmail.com )
3a5808c : feat: session export and sharing (pigo session export) (#570) (#578) (smallnest smallnest@gmail.com )
1ff99d8 : feat: session-local reminder scheduler (schedule_create/list/delete) (#565) (#573) (smallnest smallnest@gmail.com )
b26fe2a : feat: tool executor 层统一工具结果裁剪预算 (#250) (#257) (smallnest smallnest@gmail.com )
48aaba9 : feat: validate skill name/description and add disable-model-invocation (#301) (#307) (smallnest smallnest@gmail.com )
d998cc6 : feat: versioned telemetry export schema with golden conformance tests (#569) (#577) (smallnest smallnest@gmail.com )
67263d7 : feat: 内嵌 Node host pihost.mjs 承载 pi 扩展 (#263) (#270) (smallnest smallnest@gmail.com )
947a72f : feat: 工具执行失败的分类与有限重试 (#252) (#259) (smallnest smallnest@gmail.com )
b099e4e : feat: 工具注册表 + JSON Schema 校验 (#19) (#47) (smallnest smallnest@gmail.com )
1fd174c : feat: 插件命令注册为 slash 命令并注入 prompt (#265) (#272) (smallnest smallnest@gmail.com )
c8fa36b : feat: 添加工具策略和允许列表配置功能 (#555) (beeta zrc199021@163.com )
6f254ff : feat: 结构化 harness 遥测采集 (#251) (#258) (smallnest smallnest@gmail.com )
2582193 : feat: 裸 /btw 重开最近侧线程 (#281) (#287) (smallnest smallnest@gmail.com )
3c1c5a7 : feat: 通用 system-reminder 动态上下文注入机制 (#248) (#256) (smallnest smallnest@gmail.com )
Bug fixes
1e88232 : Revert "fix(tui): drop custom scrollbar, use full width + wheel/PgUp scrolling (#406)" (#409) (smallnest smallnest@gmail.com )
c362dcf : fix(bash): kill process group on cancel/timeout (quant quant@proton )
7aa6423 : fix(bash): platform-aware shell resolution on Windows (#518) (#537) (smallnest smallnest@gmail.com )
0276838 : fix(ci): platform-aware remote-seam test, bump actions to Node 24 majors (quant quant@proton )
015d045 : fix(fork): real cursor for IME candidate anchoring (quant quant@proton )
3a43640 : fix(hooks): bound runner timeout with WaitDelay so orphaned grandchildren don't block Run (#437) (smallnest smallnest@gmail.com )
61ee874 : fix(judge): let Sandbox-tier calls run isolated (quant quant@proton )
eb1ae01 : fix(judge,agenttool): actually route sandbox-tier verdicts to the sandbox (quant quant@proton )
d7ad542 : fix(judge,seatbelt): probe evidence before hard deny; contain shaky calls (quant quant@proton )
76ba286 : fix(provider): include model in Anthropic Messages request body (smallnest smallnest@gmail.com )
8960ace : fix(provider): normalize --protocol before named-provider conflict check (smallnest smallnest@gmail.com )
09b912d : fix(provider): treat bare provider names as that provider's default model (smallnest smallnest@gmail.com )
bab0d18 : fix(remotecontrol): wire /remote-control into TUI + robust LAN IP selection (smallnest smallnest@gmail.com )
c835ca3 : fix(repl): align cursor with wide CJK runes in the line editor (smallnest smallnest@gmail.com )
2348e03 : fix(repl): handle Ctrl+D/Ctrl+C as CSI-u reports (#329) (#330) (smallnest smallnest@gmail.com )
7a5c87c : fix(repl): surface provider errors and empty responses in interactive loop (smallnest smallnest@gmail.com )
00903bd : fix(runtime): heal unanswered tool calls when a run starts (quant quant@proton )
ad9c8b5 : fix(tui): auto-scroll to newest output on submit (smallnest smallnest@gmail.com )
65b6341 : fix(tui): avoid slice panic when persisting after compaction (smallnest smallnest@gmail.com )
bad39c2 : fix(tui): bottom status bar, Enter-submit multi-line input, markdown, scrollbar, tool args (#403) (smallnest smallnest@gmail.com )
f3581f5 : fix(tui): drop custom scrollbar, use full width + wheel/PgUp scrolling (#406) (smallnest smallnest@gmail.com )
57fad66 : fix(tui): enable mouse-wheel scrolling of transcript history (#404) (smallnest smallnest@gmail.com )
10d37e6 : fix(tui): frame input with top/bottom rules, drop background fill (#405) (smallnest smallnest@gmail.com )
934ca04 : fix(tui): keep scrollbar aligned after markdown render (#414) (smallnest smallnest@gmail.com )
66cca66 : fix(tui): keep the /permissions picker English-only (quant quant@proton )
d00da08 : fix(tui): light-gray scrollbar thumb, gutter only while scrolling (#410) (smallnest smallnest@gmail.com )
44f8436 : fix(tui): lock transcript horizontal scroll to stop sideways swipe drift (quant quant@proton )
41a2792 : fix(tui): make transcript scrollbar visible with shaded track (#412) (smallnest smallnest@gmail.com )
c7bae44 : fix(tui): persistent vertical scrollbar always visible on the right (#413) (smallnest smallnest@gmail.com )
8ab3acc : fix(tui): reliable Shift+Enter newline with Ctrl+J/Alt+Enter fallbacks (#407) (smallnest smallnest@gmail.com )
f844fb6 : fix(tui): revert Kitty flag 8 to fix CJK/IME input; newline is Alt+Enter only (#411) (smallnest smallnest@gmail.com )
8a3d1ab : fix(tui): show scrollbar only while overflowing, decided per reflow (smallnest smallnest@gmail.com )
0255289 : fix(tui): stop duplicating sealed narration below tool cards (quant quant@proton )
56dffca : fix(tui): stop terminal query reply leaking into the input box (#415) (smallnest smallnest@gmail.com )
9dd295d : fix: allow file tools to reach the advertised skills dir (#327) (#328) (smallnest smallnest@gmail.com )
Others
8ac577c : /compact 命令 + loop 自动压缩接入 (#120) (#140) (smallnest smallnest@gmail.com )
2be26a4 : /copy 与 /session 命令:剪贴板复制 + 会话统计 (#125) (#145) (smallnest smallnest@gmail.com )
dc48a11 : /tree 分支导航:文件内分支存储 + 纯文本树渲染 (#123) (#143) (smallnest smallnest@gmail.com )
894ba9b : Add --provider flag to select a built-in provider (#184) (#193) (smallnest smallnest@gmail.com )
16af03b : Add Anthropic Messages API streaming decoder (#63) (smallnest smallnest@gmail.com )
5f374f4 : Add Gemini provider decoder (#30) (#65) (smallnest smallnest@gmail.com )
5dec471 : Add OAuth and API key resolution (#32) (#55) (smallnest smallnest@gmail.com )
0d7bf81 : Add OpenAI-compatible provider decoder (#29) (#64) (smallnest smallnest@gmail.com )
cfe8f3a : Add PRD for removing full-screen TUI (chaoyuepan chaoyuepan@baidu.com )
5c285b2 : Add PRD for splitting internal/agent into sub-packages (chaoyuepan chaoyuepan@baidu.com )
6c9cde9 : Add action slash-commands (/model, /help) to the TUI (#103) (smallnest smallnest@gmail.com )
f9105fd : Add base_url override precedence for selected providers (#185) (#194) (smallnest smallnest@gmail.com )
9c182a4 : Add bash tool with streaming, timeout, cancellation (#37) (#59) (smallnest smallnest@gmail.com )
a7d5b8c : Add batch tool execution: parallel & sequential (#22) (#51) (smallnest smallnest@gmail.com )
808267d : Add central provider registry as single source of truth (#182) (#191) (smallnest smallnest@gmail.com )
f3116f5 : Add commands/call wire types to plugin protocol (#268) (smallnest smallnest@gmail.com )
9094a4f : Add disable-model-invocation coexistence test (#305) (#311) (smallnest smallnest@gmail.com )
91e1939 : Add edit tool with diff (#36) (#58) (smallnest smallnest@gmail.com )
41bf758 : Add first concrete providers: Bedrock/OpenRouter/Ollama (#33) (#66) (smallnest smallnest@gmail.com )
7868410 : Add free-tier OpenRouter and NVIDIA models to preset catalog (#105) (smallnest smallnest@gmail.com )
ef6b8eb : Add grep/find/ls search tools honoring .gitignore (#38) (#60) (smallnest smallnest@gmail.com )
59957c5 : Add headless/stdio run mode and pigo CLI entry (#39) (#68) (smallnest smallnest@gmail.com )
95f8f97 : Add in-process sandbox gate and secret redaction (#44) (#61) (smallnest smallnest@gmail.com )
a2f2573 : Add interactive TUI with bubbletea v2 (#41) (#71) (smallnest smallnest@gmail.com )
2e50015 : Add layered configuration system (#42) (#70) (smallnest smallnest@gmail.com )
858c18f : Add local JSONL session persistence and resume (#43) (#72) (smallnest smallnest@gmail.com )
3aad93e : Add model registry and provider directory (#31) (#54) (smallnest smallnest@gmail.com )
3458efe : Add model-name → provider inference table (#234) (#237) (smallnest smallnest@gmail.com )
4b279fe : Add preset provider/model catalog with NVIDIA support (#104) (smallnest smallnest@gmail.com )
f26301a : Add read tool (#34) (#56) (smallnest smallnest@gmail.com )
ddb5cc9 : Add shared transport driver: SSE + retry + dual watchdogs (#26) (#52) (smallnest smallnest@gmail.com )
4b9af6c : Add slash-command autocomplete menu and model picker to TUI (chaoyuepan chaoyuepan@baidu.com )
249f88e : Add streamAssistantResponse streaming backfill (#20) (#48) (smallnest smallnest@gmail.com )
1644cc6 : Add sub-agent orchestration, skills, and slash-commands (#45) (#73) (smallnest smallnest@gmail.com )
b9548ff : Add system-prompt assembly with AGENTS.md injection (#40) (#69) (smallnest smallnest@gmail.com )
7203bb1 : Add thinking three-stage normalization (#27) (#53) (smallnest smallnest@gmail.com )
2044c54 : Add three-phase tool execution prepare/execute/finalize (#21) (#49) (smallnest smallnest@gmail.com )
88cd8c2 : Add todo task-tracking tool (#127) (#147) (smallnest smallnest@gmail.com )
56177ab : Add unified Provider interface with dual failure model (#25) (#50) (smallnest smallnest@gmail.com )
7d7aedb : Add webfetch tool (#128) (#148) (smallnest smallnest@gmail.com )
8cc630b : Add write tool (#35) (#57) (smallnest smallnest@gmail.com )
4d90a5b : Change default model to openrouter/free (#86) (smallnest smallnest@gmail.com )
fe554d5 : Continue input on a trailing unescaped backslash, submit otherwise (#317) (#324) (smallnest smallnest@gmail.com )
3f38c8f : Converge hook wiring across all six drivers (#425) (#435) (smallnest smallnest@gmail.com )
e86da2e : Create CNAME (smallnest smallnest@gmail.com )
ce884bb : Create CNAME (smallnest smallnest@gmail.com )
0447ef5 : Delete CNAME (smallnest smallnest@gmail.com )
9392cf5 : Derive API-key resolution from provider registry (#183) (#192) (smallnest smallnest@gmail.com )
de4074d : Document model-invoked skills and disable-model-invocation (#306) (#312) (smallnest smallnest@gmail.com )
aac77a3 : Document model-name auto-inference in README & --help (#236) (#239) (smallnest smallnest@gmail.com )
5541593 : Extract agentcore leaf package from internal/agent (#74) (#80) (smallnest smallnest@gmail.com )
95556ee : Extract internal/agenttool package (#76) (#82) (smallnest smallnest@gmail.com )
ad12e0f : Extract internal/runtime package (#77) (#83) (smallnest smallnest@gmail.com )
4798241 : Extract provider package from internal/agent (#75) (#81) (smallnest smallnest@gmail.com )
313a710 : Fix CJK input & rune-level editing with bubbles textinput (#90) (#97) (smallnest smallnest@gmail.com )
4e41e3f : Fix skill loading: tolerate scalar allowed-tools, don't abort on bad file (chaoyuepan chaoyuepan@baidu.com )
d879f9b : Implement two-layer agent loop runLoop (#23) (#62) (smallnest smallnest@gmail.com )
ddc802e : Initial commit (smallnest smallnest@gmail.com )
3ec6407 : Insert a newline on Shift+Enter, submit on plain Enter (#314) (#321) (smallnest smallnest@gmail.com )
459d0c3 : Lock multi-line submit, history record and restore with tests (#319) (#326) (smallnest smallnest@gmail.com )
c85538e : Merge lines on line-start backspace; edit at any cursor position (#316) (#323) (smallnest smallnest@gmail.com )
7256645 : Migrate /status to internal/cli/status (#380) (smallnest smallnest@gmail.com )
27fc737 : Migrate config loading to internal/cli/config (#360) (#373) (smallnest smallnest@gmail.com )
db5b978 : Migrate external callers off agent.* and delete internal/agent (#78) (#84) (smallnest smallnest@gmail.com )
a5df2fa : Model REPL input as a multi-line buffer with a cursor (#313) (#320) (smallnest smallnest@gmail.com )
70d13ac : Move provider resolution to internal/provider (#361) (#374) (smallnest smallnest@gmail.com )
ce32803 : Move the cursor across lines with arrows, Home/End, Ctrl+A/E (#315) (#322) (smallnest smallnest@gmail.com )
fdc26f2 : Move trust interactive glue into internal/trust (#359) (#372) (smallnest smallnest@gmail.com )
e4095c9 : README 增加架构总览章节,引用统一 Provider 架构图 (chaoyuepan chaoyuepan@baidu.com )
ef382b7 : README 增加电子书下载地址;为第3/4/5/9章补充配图 (chaoyuepan chaoyuepan@baidu.com )
a590ef0 : README 架构图改用 fig1-1.svg(运行时分层架构) (chaoyuepan chaoyuepan@baidu.com )
f05ab88 : REPL 会话持久化与恢复验收测试 (#108) (#113) (smallnest smallnest@gmail.com )
e391308 : REPL 工具状态行着色:成功绿色,失败红色 (chaoyuepan chaoyuepan@baidu.com )
f94c352 : REPL 斜杠命令、技能与模型切换验收测试 (#112) (smallnest smallnest@gmail.com )
6f0a7a0 : REPL:显示工具调用参数,补全 /exit /quit,/help 彩色高亮 (chaoyuepan chaoyuepan@baidu.com )
023541e : Register /status and render runtime config + context sections (#297) (smallnest smallnest@gmail.com )
65c1d22 : Render all input lines and reposition the cursor to the logical row/col (#318) (#325) (smallnest smallnest@gmail.com )
af597d0 : Replace stdlib flag with spf13/pflag (#87) (#88) (smallnest smallnest@gmail.com )
71a74b4 : Retain telemetry across runs on REPL state (closes #291) (#296) (smallnest smallnest@gmail.com )
246fd94 : TUI: render assistant output as Markdown (#94) (#101) (smallnest smallnest@gmail.com )
5bef487 : TUI: role-styled transcript rendering (#95) (#102) (smallnest smallnest@gmail.com )
3e917b5 : TUI: streaming status spinner and tool-call cards (#93) (#100) (smallnest smallnest@gmail.com )
efc2dad : TUI: viewport scrolling for long transcripts (#92) (#99) (smallnest smallnest@gmail.com )
ee52264 : TUI: width-aware rendering and alignment (#91) (#98) (smallnest smallnest@gmail.com )
61a85b2 : TUI: 引入 lipgloss 主题层 (#89) (#96) (smallnest smallnest@gmail.com )
73119c9 : Use html-to-markdown/v2 library for webfetch (#149) (smallnest smallnest@gmail.com )
6f5e549 : Verify layering DAG and no import cycle (#79) (#85) (smallnest smallnest@gmail.com )
6e19096 : Wire Anthropic-Messages protocol providers via --provider (#187) (#196) (smallnest smallnest@gmail.com )
1dccc96 : Wire all OpenAI-protocol providers via --provider + restore key aliases (#186) (#195) (smallnest smallnest@gmail.com )
b0c8408 : Wire model-name inference into resolveProvider (#235) (#238) (smallnest smallnest@gmail.com )
0cfa49a : Wire skills into system prompt at run assembly (#304) (#310) (smallnest smallnest@gmail.com )
97a8a8a : add recent input suggestions (#274) (Ender enderromantic@gmail.com )
2df12cf : add snapshot in README (chaoyuepan chaoyuepan@baidu.com )
c858b94 : book: PDF 改双面版式,章节强制从右页起(twoside + openright) (chaoyuepan chaoyuepan@baidu.com )
6a48076 : book: 为第 2-10 章插入小土拨鼠配图引用与生图 prompt (chaoyuepan chaoyuepan@baidu.com )
1f7b96d : book: 代码高亮改用 tango 风格 + 修复图注重复编号 (chaoyuepan chaoyuepan@baidu.com )
8e10313 : book: 修复 PDF 构建、美化封面并校正章节编号 (chaoyuepan chaoyuepan@baidu.com )
1521330 : book: 后记纳入章节编号(第11章),图注统一为数字格式 (chaoyuepan chaoyuepan@baidu.com )
c2b2361 : book: 生成第2-11章及后记配图,为后记补生图提示词 (chaoyuepan chaoyuepan@baidu.com )
30465c2 : book: 详写第 4 章《Provider 层与传输》 (#214) (#225) (smallnest smallnest@gmail.com )
6c4b091 : book: 详写第 6 章《上下文压缩》 (#216) (#229) (smallnest smallnest@gmail.com )
0f99970 : chore(web): verify docs navigation & homepage linkage (#506) (#516) (smallnest smallnest@gmail.com )
9b68d59 : ci: build macOS and Linux binaries into release/ (quant quant@proton )
7a99da7 : compaction: 实现 FindCutPoint 会话切点计算 (#118) (#138) (smallnest smallnest@gmail.com )
939d392 : deps: lipgloss v2 upgrade + sink slash-command registry into internal/cli/prompts (#393) (smallnest smallnest@gmail.com )
b547c06 : docs(#190): --help 与 README 列出内置 provider 环境变量 (chaoyuepan chaoyuepan@baidu.com )
f4ce969 : docs(#213): 详写第 3 章《两层 Agent 循环》 (#224) (smallnest smallnest@gmail.com )
5db78c5 : docs(book): sync chapters with the refactored cli layout (smallnest smallnest@gmail.com )
26a2a2f : docs(book): 撰写全书 10 章大纲并映射 pigo 源码 (#201) (#208) (smallnest smallnest@gmail.com )
e54a17f : docs(dream): reconcile validation test + bilingual /dream docs (#527) (#535) (smallnest smallnest@gmail.com )
fcfd882 : docs(hooks): add PRD and SPEC for user-extensible hook system (smallnest smallnest@gmail.com )
755694a : docs(hooks): add README Hooks section, runnable examples, security notes (#426) (#436) (smallnest smallnest@gmail.com )
9eb9b16 : docs(hooks): add runnable hook examples under examples/hooks (smallnest smallnest@gmail.com )
0032149 : docs(runtime): guide model to grep/find tools before raw rg via bash (quant quant@proton )
66a59ae : docs(tasks): add PRD/SPEC planning notes for website and persistent memory (smallnest smallnest@gmail.com )
ebb0a5e : docs(toolpolicy): clarify deny-wins across tiers; warn on --no-tools + policy (presence presence@MacBook-Air-5.local )
b91657d : headless/stream-json 运行携带 session id 并支持续跑 (#176) (#177) (smallnest smallnest@gmail.com )
9e97bc8 : i18n: translate Chinese strings and comments to English (smallnest smallnest@gmail.com )
07c6f35 : migrate pkgcmd to internal/cli/pkgcmd (#368) (#376) (smallnest smallnest@gmail.com )
9688f7c : pigo install 端到端命令 (#162) (#173) (smallnest smallnest@gmail.com )
b570862 : pigo list + uninstall 命令 (#163) (#174) (smallnest smallnest@gmail.com )
3793ae8 : pigo update 更新包到最新版本 (#164) (#175) (smallnest smallnest@gmail.com )
879990e : rebrand: pigo → golder (quant quant@proton )
b361780 : refactor(agent): address PR #563 review follow-ups (smallnest smallnest@gmail.com )
bdc9071 : refactor(cli): converge cmd/pigo/main.go to thin entry (#369) (#382) (smallnest smallnest@gmail.com )
9a26548 : refactor(cli): migrate /goal to internal/cli/goal (#364) (#378) (smallnest smallnest@gmail.com )
8482468 : refactor(cli): migrate REPL to internal/cli/repl (#367) (#381) (smallnest smallnest@gmail.com )
ce00c34 : refactor(cli): migrate headless/subagent run paths to internal/cli/headless (#363) (#377) (smallnest smallnest@gmail.com )
befaf57 : refactor(cli,tui): categorised command surface, TUI parity, merge /rebuild into /compact (quant quant@proton )
bfa9089 : refactor(search): delegate grep and find to ripgrep binary (quant quant@proton )
f5c44ac : 为 bash 工具增加输出字节上限与 head/tail 预览截断 (#249) (#255) (smallnest smallnest@gmail.com )
91503e0 : 会话导出/导入 /export /import:JSONL 无损往返 + 自包含 HTML (#124) (#144) (smallnest smallnest@gmail.com )
e2d9d6b : 会话树 id/parentId 结构与 v3 迁移 (#121) (#141) (smallnest smallnest@gmail.com )
4c58ea0 : 修复调用大模型降智与严格网关兼容问题 (#240 #241 #242 #243 #244) (#245) (smallnest smallnest@gmail.com )
7af4ba6 : 分发 extension/MCP 适配器到 plugins 目录 (#158) (#169) (smallnest smallnest@gmail.com )
39a5327 : 分发 prompt/command 到 commands 目录 (#160) (#171) (smallnest smallnest@gmail.com )
3a3ff72 : 分发 skill 到 skills 目录 (#159) (#170) (smallnest smallnest@gmail.com )
856c7d5 : 分发 theme(仅存储)到 themes 目录 (#161) (#172) (smallnest smallnest@gmail.com )
4d1de1b : 图像输入:Content 块 + 两家 provider 编码 (#126) (#146) (smallnest smallnest@gmail.com )
213862a : 增加 CI GitHub Action (chaoyuepan chaoyuepan@baidu.com )
f269fb4 : 增加 goreleaser 支持 (chaoyuepan chaoyuepan@baidu.com )
06b9f15 : 增加一键安装脚本 install.sh (chaoyuepan chaoyuepan@baidu.com )
265148c : 子 agent process 隔离模式 (US-019, #135) (#153) (smallnest smallnest@gmail.com )
ae9793f : 完善 README:新增使用说明与示例 (chaoyuepan chaoyuepan@baidu.com )
2490c9b : 定义 pi 包清单 lockfile 与安装目录约定 (#154) (#165) (smallnest smallnest@gmail.com )
c6211e7 : 实现行式 REPL 并替换 TUI 交互入口 (#106) (#111) (smallnest smallnest@gmail.com )
ebfda20 : 插件系统:子进程 JSON-RPC 协议 (#132) (#150) (smallnest smallnest@gmail.com )
0e326e3 : 插件系统:生命周期事件订阅 (US-017, #133) (#151) (smallnest smallnest@gmail.com )
e795b3c : 搭建 book/ 目录与 pandoc+xelatex+ElegantBook 构建管线 (#200) (#206) (smallnest smallnest@gmail.com )
66dc12b : 摘要生成与 CompactionEntry 落盘 (#119) (#139) (smallnest smallnest@gmail.com )
43191b3 : 撰写后记《解牛之后》 (#221) (#230) (smallnest smallnest@gmail.com )
b5915a8 : 撰写引言 introduction.md (#202) (#207) (smallnest smallnest@gmail.com )
9d296a8 : 撰写第 10 章《可扩展性生态(Skills / Plugins / 包管理)》 (#220) (#231) (smallnest smallnest@gmail.com )
43765c2 : 撰写第 2 章《agentcore 抽象》 (#212) (#222) (smallnest smallnest@gmail.com )
a5befce : 撰写第 7 章《会话持久化》 (#217) (#228) (smallnest smallnest@gmail.com )
22d691b : 撰写第 8 章《项目信任与安全》 (#218) (#226) (smallnest smallnest@gmail.com )
a4c9b3f : 撰写第 9 章《子 Agent 编排》 (#219) (#227) (smallnest smallnest@gmail.com )
7af2c85 : 支持 --api-key/--protocol 指定自建 provider,flag 补全短名 (chaoyuepan chaoyuepan@baidu.com )
8ac15f4 : 支持 --system-prompt / --append-system-prompt (对标 pi) (#180) (#181) (smallnest smallnest@gmail.com )
b341079 : 支持 /fork 与 /clone 命令:从历史消息分叉出独立会话 (#122) (#142) (smallnest smallnest@gmail.com )
4743e4b : 新增 internal/compaction:上下文 token 会计与压缩触发判定 (#117) (#137) (smallnest smallnest@gmail.com )
7a2247f : 新增 internal/jsonrpc:子进程 stdio JSON-RPC 2.0 客户端 (#136) (smallnest smallnest@gmail.com )
6d29f51 : 新增主线导读章节,润色各章语句去 AI 味,封面加版本号 (chaoyuepan chaoyuepan@baidu.com )
b9e32c8 : 新增国内大模型 Provider:千帆/火山方舟/百炼/混元 (#232) (#233) (smallnest smallnest@gmail.com )
161a8df : 构建 PDF 管线:健康引擎探测 + rsvg SVG 嵌入 (#205) (#211) (smallnest smallnest@gmail.com )
45524ed : 架构 smell 报告修复:共享路径守卫、gitignore 预编译、provider 工厂、decodeArgs 泛型、core-type 测试 (chaoyuepan chaoyuepan@baidu.com )
c8f9962 : 样章配图:新增 pigo 高层运行架构 SVG (#203) (#209) (smallnest smallnest@gmail.com )
27acc4a : 检测本机 npm 并从 npm 拉取包内容 (#156) (#167) (smallnest smallnest@gmail.com )
c62457a : 特殊鉴权 provider 参数校验与端点构造 (#188) (#197) (smallnest smallnest@gmail.com )
20897e7 : 精选模型目录扩展:新增 11 个 provider 及精选模型 (node #189) (#198) (smallnest smallnest@gmail.com )
575f7f2 : 补充 #109 实现笔记:internal/tui 已随 #106 删除,验证收尾 (#114) (smallnest smallnest@gmail.com )
62befa5 : 补充 #110 实现笔记:TUI 依赖已随 #106 go mod tidy 清除,验证收尾 (#115) (smallnest smallnest@gmail.com )
4254447 : 补齐 pi 的 --approve / --no-skills 命令行参数 (#178) (#179) (smallnest smallnest@gmail.com )
666a8d4 : 解析并校验 npm: 包引用 (#155) (#166) (smallnest smallnest@gmail.com )
c71ce37 : 识别 pi 包类型 classify (#157) (#168) (smallnest smallnest@gmail.com )
94f5343 : 详写第 1 章《全景与骨架:从 main() 到一次对话》 (#204) (#210) (smallnest smallnest@gmail.com )
ad9bdbd : 详写第 5 章《工具系统》 (#215) (#223) (smallnest smallnest@gmail.com )
823ff6a : 项目信任 Project Trust (US-018, #134) (#152) (smallnest smallnest@gmail.com )
You can’t perform that action at this time.