$ git clone https://github.com/can1357/oh-my-pi.git
@oh-my-pi/pi-agent-core
Added
- Anthropic server-side compaction as a
remotecompaction backend: model lines the beta supports (compat.supportsServerCompaction, rule-owned in the catalog: Opus 4.6+, Sonnet 4.6+, Fable/Mythos 5) on the official endpoint, resolved the way the provider routes requests, plus Anthropic-compatible routes withremoteCompaction.enabled, compact by re-issuing the live turn's own request — same system prompt, tools, and history, so it reads the prompt cache the last turn wrote — with thecompact_20260112edit paused after the summary and the harness summary prompt asinstructions. The instructions name where the retained tail begins so the summary covers only the history the rebuilt context drops. The API's summary is stored as the entry text and aspreserveData.anthropicCompaction, replayed natively on later Anthropic requests and read as plain text by every other provider; the retained tail comes from session entries as with a local summary. Contexts below 55k tokens (the API trigger floor plus margin) keep summarizing locally, and a response without a summary is a native failure, like the OpenAI lanes. An aborted compaction response is the abort (a cancellation, never a native failure) and an error response keeps its HTTP status, so auth and timeout classification match the OpenAI lanes; the block's opaqueencrypted_contentis persisted aspreserveData.anthropicCompaction.encryptedContentand replayed verbatim.
Fixed
compact()now forwards the caller'soneshotRetryopt-out to every summarization oneshot; auto-compaction's outer retry loop no longer multiplies with the inner transient-failure retries.
@oh-my-pi/pi-ai
Added
- Anthropic server-side compaction (
compact-2026-01-12beta):anthropicCompactiononStreamOptionssends thecompact_20260112context-management edit, the streamedcompactionblock is surfaced as ananthropicCompactionprovider payload, thecompactionstop reason is a normal stop tagged instopDetails(exempt from the empty-completion retry), and usage sumsusage.iterationswhenever a compaction iteration ran. A user-role compaction summary carrying that payload replays as a leading assistantcompactionblock — folded into the retained assistant turn when one follows — with the beta and a never-firing strategy attached automatically; other providers keep reading the summary text. Everything compaction-related is gated on the model line (compat.supportsServerCompaction, rule-owned in the catalog) and on the endpoint the request actually reaches (supportsAnthropicCompaction: the official API for the first-party provider, resolved through Foundry /ANTHROPIC_BASE_URLreroutes, or an explicitremoteCompaction.enabledopt-in), so a rerouted session or an older model line falls back to the text summary instead of sending a block the API rejects. Caller-owned clients are gated on their own endpoint (the client'sbaseURL, or an explicitremoteCompaction.enabledopt-in when it exposes none) and receive the compaction beta per request, like the effort and control betas. A block held by its originating assistant message — a caller that appends the compacting response itself — replays at the head of that turn. The block's opaqueencrypted_contentis captured from the stream, kept on the payload asencryptedContent, and replayed verbatim. A compacting turn is priced per sampling iteration (like a server-side fallback turn), so a long-context tier applies only to an iteration whose own prompt crosses the threshold, never to the summed totals. - Added historical decimation prompt-cache breakpoints every 15 user turns on Anthropic requests, so long conversations retain stable cached prefixes during branching, rewinds, and session resume ().
Changed
- Defaulted Anthropic OAuth requests to 1h prompt-cache retention where supported, matching Claude Code subscriber behavior and preventing cache expiry during idle intervals ().
Fixed
- Fixed Codex HTTP response-body transport failures forwarded through Anthropic-compatible proxies being treated as terminal errors; replay-safe turns now use the existing transient recovery without re-executing completed tools.
- GitHub Copilot Enterprise requests keep the Copilot CLI identity accepted by private Enterprise endpoints, and Business requests denied with HTTP 400
model_not_supportednow retry once as the Copilot CLI (matching the existing 403 fallback), restoring models that 18.1.17 rejected as unsupported (). - GitHub Copilot streams remember the working
Copilot-Integration-Idper credential after a denied chat identity retries as the Copilot CLI, so later streams start at the working shape instead of replaying the denial ( by ).
@oh-my-pi/pi-catalog
Added
supports-server-compactioncompat axis (compat.supportsServerCompaction): whether a model line accepts Anthropic server-side compaction (compact-2026-01-12). Class rules enable it for Opus 4.6+, Sonnet 4.6+, and Fable/Mythos 5 on every Anthropic-messages host; the default isfalse.
Fixed
- OpenCode Go's DeepSeek Flash lanes (
deepseek-flash,deepseek-v4.1-flash) now declare image input. The gateway serves them with vision despite the IDs carrying no vision suffix, so the class-widestrip-image-inputrule was dropping attachments the endpoint reads; the modality is declared too, since live discovery seeds these lanes text-only (). - Amazon Bedrock OpenAI models, plus unclassified profiles such as opaque application-inference-profile ARNs, now carry the compatibility policy required to preserve image-bearing tool results ().
@oh-my-pi/pi-coding-agent
Added
- Enable
tui.mouseto focus live subagent cards and jump-list rows by clicking them, with a hover highlight on the target; native selection becomes Shift+drag while on (). - The pinned
Subagentsblock now lists every live agent, collapsed to a few rows with a click expander by default;display.pinnedAgentsswitches it tofulloroff(). - The
remotecompaction method now covers Claude: Anthropic server-side compaction (compact-2026-01-12beta) runs behind the existingcompaction.methodOrder/compaction.remoteEnabledgates for first-party Anthropic models, persists its plain-text summary with a native replay payload that later Anthropic turns send back as acompactionblock, and falls through to the next configured method on failure like OpenAI server compaction.
Changed
- The
providers.cacheRetentionautosetting now keeps Anthropic OAuth subscriber sessions on 1h prompt-cache retention and API keys on 5m, instead of 5m for both ().
Fixed
- Provider-native compaction (OpenAI Responses compact, Anthropic server-side compaction) re-issues the system prompt the live turn actually sent — a per-turn
before_agent_startoverride included — instead of the rebuilt base prompt, and advisor compaction sends the advisor's own prompt instead of the generic summarizer prompt, so the request reads the live request's cached prefix. - The
set_steering_mode,set_follow_up_mode, andset_interrupt_modeRPC commands are now session-scoped, so a short-lived RPC client no longer silently writes queue-mode fields to the machine-globalconfig.yml. The setters still persist by default, so the settings panel and existing callers are unaffected (). models.ymlnow validates the per-modelcompat.stripImageInputopt-out, so a wrong-typed value is rejected like every other declared compat key instead of being silently accepted ().- Fixed isolated tasks dropping nested-repo work: nested diffs persist as
<agent>.nested-*.patchbefore cleanup,apply=falselists each file, isolated agents report as non-resumable, and runs needing manual recovery report failed (). - Fixed the Windows PowerShell installer (
install.ps1) aborting on Windows PowerShell 5.1 when bun or git wrote normal progress to stderr: native commands now run with$ErrorActionPreferencescoped toContinueand success is gated on the process exit code, so$ErrorActionPreference = "Stop"'s stderr-as-terminating-error behavior no longer kills the install (). - Models whose images are stripped on the wire (
compat.stripImageInput) now trigger thedescribeForTextModelsvision fallback and are skipped when resolving the vision model, instead of silently dropping images (). - A malformed project
.claude/settings.jsonnow produces a warning instead of being silently ignored ( in in in in in in ) by - fix(browser): guard abort sends during worker recycling by
- fix(install): stop native stderr aborting install.ps1 on PowerShell 5.1 by
- feat(ai): default Anthropic OAuth requests to 1h prompt-cache retention by
- feat(tui): mark the live session in the /resume picker by
- fix(mcp): reported pending servers during reload by
- fix(config): validate compat.stripImageInput in models.yml schema by
- fix(edit): allow hand-authored openapi specs by
- fix(session): scope RPC queue-mode setters to the session by
- fix(task): persist nested-repo patches before isolation teardown; stop advertising isolated agents as resumable by
- fix(settings): log dropped .claude/settings.json parse warnings by
- test(ai): align OAuth cache_control assertions with 1h retention default by
- test(natives): force plain diff driver in vcs test git helper by
- fix(tui): correct Nerd Font pi icon by
- docs: document camelCase session-entry role vocabulary by
- fix(tui): restore pending steering block after focus attach by
- fix(catalog): stop caching an empty catalog on LiteLLM discovery timeout by
- fix(ai): restored Copilot Enterprise request identity by
- docs(context-files): describe RULES.md system-prefix placement accurately by
- fix(coding-agent): make
freea searchable model fact by - fix(ai): cache working Copilot integration identity per credential by
- feat(compaction): add Anthropic server-side compaction backend by
- fix(ai): restore abort signal on OpenAI stream requests by
- feat(coding-agent): add prewalk restart command by
- fix(ai): classify bare stream truncations as transient by
- fix(catalog): honor DeepSeek Flash output limits by
- fix(ai): exercise DeepSeek KDL rule in output-cap test by
- fix(ai): recover Codex response-body transport failures by
- fix(catalog): keep image input on OpenCode Go DeepSeek Flash lanes by
- feat(coding-agent): mouse-driven subagent interaction by
- fix(ci): run workspace typechecks sequentially to avoid OOM by
New Contributors
Full Changelog: v18.1.17...v18.1.18
Vollständiger Original-Bericht
Ausführliche Details, Code-Beispiele & Hersteller-Stellungnahme auf github.com.
Wie bewertest du diesen Beitrag?
1 Klick Feedback Teilen mit Netzwerk & Team:
Hat Ihnen dieser Tipp / Anleitung geholfen?
Community-Analysen & Experten-Meinungen 0
Verfasse deine eigene Analyse, teile Workarounds oder diskutiere diesen Vorfall im Blog.
Noch keine Community-Analyse verfasst. Markiere einen Textabschnitt oder klicke oben auf „ Eigene Analyse verfassen“!
Community Pulse: Relevanz-Einschätzung
1 Klick Experten-Votum 🔴 Akute Relevanz 0%
🟡 In Evaluierung 0%
🟢 Keine Auswirkung 0%
Spannende Innovation 0%
Verwandte Story-Cluster & Quellen (Vektor-KI)
Tipp: Mit Pfeiltasten [ ← ] und [ → ] blättern
SOCIAL SHARE CARD GENERATOR