Repository navigation
Adopt pi 1.0, improve the loop and compaction, and go English-only - #16
Merged
Merged
Conversation
- DeepSeek runs through llm-pi-ai on @earendil-works/pi-ai 1.0.0; the shipped deepseek-official route keeps DEEPSEEK_API_KEY and saved selections. llm-deepseek, deepseek-llm-api-extensions, plugin-package-inventory-deepseek, and session-log-deepseek are removed; the delivery event stays readable as retired vocabulary. - MCP uses @earendil-works/pi-mcp instead of the MCP SDK client. - run_code runs in a pi-codemode QuickJS sandbox; workflow scripts keep the Node runtime in their own group. - The agent loop tells the model about tool calls cut off at the output limit and continues once, and hooks or tool policies can halt a turn (ToolHalt). - Running shell commands stream their newest output to the TUI, and parallel calls are marked done as each finishes. - compaction-basic reads a live settings.yaml section with provider-wide policies and thresholdTokens; checkpoints keep read/modified files and the todo list; summary requests retry transient errors and fall back to a bounded transcript on overflow. - Chinese docs, the zh UI locale, and the translation-pairing tooling are removed. - Eval record: evals/agent-loop/versions/unreleased/2026-10-02-pi-migration-compaction
…gesWire The shipped deepseek-official route drops pi-ai's deferred-tool placeholder, strips cache_control, and merges adjacent same-role messages, matching the removed llm-deepseek adapter. Paired eval: uncached input -2.6% (flash) and -8.3% (v4-pro) against v0.3.2, down from +9.2% and +13.6%. Eval record: evals/agent-loop/versions/unreleased/2026-10-02-deepseek-messages-wire
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
llm-pi-aion@earendil-works/pi-ai1.0.0, using the shippeddeepseek-officialroute. This removesllm-deepseekand the three packages only it used:/usage, Files-API upload, request extensions, and DeepSeek image pricing are gone. MCP uses@earendil-works/pi-mcp.run_coderuns in api-codemodeQuickJS sandbox, while workflow scripts keep the Node runtime.ToolHalt, including from insiderun_code. The TUI shows the reason for a halt. A goal keeps going after a recovered turn.bashandpwshstream their newest output to the TUI through the process-local eventsagent/tool-progressandagent/tool-executed. Nothing new is persisted or shown to the model.compaction-basicsection insettings.yaml, with provider-widemodelPoliciesandthresholdTokens, so acliproxyapiroute can set its own compaction point. Checkpoints keep<read-files>,<modified-files>, and<todo-list>. When the summary request itself overflows, it falls back to a bounded transcript. Transient summary errors are retried..zh.mdand.i18n.yamlfiles, the zh UI locale andlocalesetting, and the translation-pairing tooling. Frozen history insnapshots/, archived notes, and historical formats is untouched.Session format
There is no version bump and no persistence digest moved.
session-log-deepseek/delivery-acceptedwas added to the retired vocabulary.bun scripts/persistence-changes.ts --checklistsrequest/tool-updateandsubagent/routing-decisionas unacknowledged same-version root additions. These need acknowledging before release.Eval
evals/agent-loop/versions/unreleased/2026-10-02-pi-migration-compactionhas a paired record against7428f19adb: 7 models, the standard suite, 3 trials each.cache_controlmarkers, and the prompt and runtime context sent as two separate user messages. The newllm-pi-aimessagesWireoption ondeepseek-officialrestores the old adapter's shape. A follow-up paired record,2026-10-02-deepseek-messages-wire, shows uncached input at −2.6% (flash) and −8.3% (v4-pro), within noise, with 108/108 successes and no regressions.Checks
bun run preflightpasses: 26 passed and 1 skipped, because actionlint isn't installed. This includes runtime and e2e PTY, with the newlive-outputscenario.Known follow-ups
llm-pi-ai/src/context.tsjoins multi-block text without a separator. Fixing it changes what the model sees, so it needs an eval.agent-presets/src/display.tsand its./displaysubpath are dead code.pi-codemodeis pinned exactly, because the meter uses its worker internals.