惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Blog — PlanetScale
Blog — PlanetScale
Y
Y Combinator Blog
G
Google Developers Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
L
LangChain Blog
S
SegmentFault 最新的问题
J
Java Code Geeks
V
Visual Studio Blog
H
Help Net Security
Stack Overflow Blog
Stack Overflow Blog
aimingoo的专栏
aimingoo的专栏
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
T
Tailwind CSS Blog
Microsoft Azure Blog
Microsoft Azure Blog
博客园_首页
H
Hackread – Cybersecurity News, Data Breaches, AI and More
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
博客园 - Franky
B
Blog RSS Feed
The Cloudflare Blog
MyScale Blog
MyScale Blog
月光博客
月光博客
Microsoft Security Blog
Microsoft Security Blog
美团技术团队

Recent Commits to openclaw:main

test: merge chat side-result checks · openclaw/openclaw@ddd2c2a test: merge cron history checks · openclaw/openclaw@f7eb746 test: merge responsive navigation shell checks · openclaw/openclaw@c2e4b47 docs(changelog): add codex oauth fixes · openclaw/openclaw@628e6cd test: merge navigation routing cases · openclaw/openclaw@5d8cecb Tests: mock channel registry bundled fallback · openclaw/openclaw@2b08233 Secrets: avoid broad web search discovery for single plugin config · openclaw/openclaw@a464f59 test: merge config view browser checks · openclaw/openclaw@20cf511 fix(status): align oauth health with runtime · openclaw/openclaw@eed7116 feat: add macOS screen snapshots for monitor preview (#67954) thanks … · openclaw/openclaw@f377db1 fix: report shared auth scopes in hello-ok (#67810) thanks @BunsDev · openclaw/openclaw@0b6c39b Auto-reply: avoid eager bundled route fallback · openclaw/openclaw@3ea1bf4 Tests: narrow session binding contract setup · openclaw/openclaw@54e4e16 fix(macOS): enable undo/redo in webchat composer text input (#34962) · openclaw/openclaw@00951dc Tests: speed up channel setup promotion · openclaw/openclaw@82b529a Docs: refresh agent instructions · openclaw/openclaw@5775fe2 fix(auth): serialize OAuth refresh across agents to fix #26322 (#67876) · openclaw/openclaw@8e79080 test: allow ollama public surface boundary test · openclaw/openclaw@7d4f1a6 Docs: add test performance guardrails · openclaw/openclaw@89706d3 Tests: restore context-engine usage proof · openclaw/openclaw@e4c4f95 Tests: slim context engine runtime coverage · openclaw/openclaw@74c198f ci: retry failed custom checkouts · openclaw/openclaw@0ee5baf test: trim duplicate provider auth onboarding cases · openclaw/openclaw@1ffc02e matrix: fix sessions_spawn --thread subagent session spawning (#67643) · openclaw/openclaw@1ce2596 test: reduce auth choice fixture churn · openclaw/openclaw@857b9cd test: mock health status config boundaries · openclaw/openclaw@9d5ab4a test: mock onboard config io boundary · openclaw/openclaw@299694d test: mock legacy state plugin boundaries · openclaw/openclaw@2713089 test: mock channel install boundaries · openclaw/openclaw@b945248 test: mock doctor preview channel boundaries · openclaw/openclaw@b1a3ad4
feat(codex): bind context-engine projections to codex thr...
jalehman · 2026-05-16 · via Recent Commits to openclaw:main
Original file line numberDiff line numberDiff line change

@@ -12,6 +12,7 @@ Docs: https://docs.openclaw.ai

1212

- CLI/onboarding: localize the setup wizard and bundled channel setup flows for English, Simplified Chinese, and Traditional Chinese. (#80645) Thanks @GaosCode.

1313

- Agents/skills: cache hydrated `resolvedSkills` across warm gateway turns while keying reuse by the redacted effective config, reducing redundant skill snapshot rebuilds without crossing config-gated skill boundaries. (#81451) Thanks @solodmd.

1414

- Telegram/group chat: add opt-in `messages.groupChat.ambientTurns: "room_event"` handling so always-on ambient chatter can run as quiet room context and speak visibly only via the message tool. (#81317) Thanks @obviyus.

15+

- Codex/context engines: bind thread-bootstrap projection epochs to Codex app-server threads, carry redacted tool-result context into fresh threads, and rotate backend threads when projection state changes. (#82351) Thanks @jalehman.

1516
1617

### Fixes

1718
Original file line numberDiff line numberDiff line change

@@ -1,2 +1,2 @@

1-

eed14a427f34d1531d63e5f1065ef2325b46f77e5a16ce809e5e845cd6700769 plugin-sdk-api-baseline.json

2-

d8d090e4858f8d619b2151d69b8dc992132bc8930e04b990e4a69a433fb19d41 plugin-sdk-api-baseline.jsonl

1+

ae6b95dffe88496aadee03e49b6b6db2db74d4bbd9b984be94a39d81df449f93 plugin-sdk-api-baseline.json

2+

08da4f6d26afff58fc1accb2f1b12c2d0ef740a0abf60cbdef43a32f422a4382 plugin-sdk-api-baseline.jsonl

Original file line numberDiff line numberDiff line change

@@ -1057,6 +1057,16 @@ export default function (api) {

10571057

The factory `ctx` exposes optional `config`, `agentDir`, and `workspaceDir`

10581058

values for construction-time initialization.

10591059
1060+

`assemble()` may return `contextProjection` when the active harness has a

1061+

persistent backend thread. Omit it for legacy per-turn projection. Return

1062+

`{ mode: "thread_bootstrap", epoch }` when the assembled context should be

1063+

injected once into a backend thread and reused until the epoch changes. Change

1064+

the epoch after the engine's semantic context changes, such as after an

1065+

engine-owned compaction pass. Hosts may preserve tool-call metadata, input

1066+

shape, and redacted tool results in a thread-bootstrap projection so fresh

1067+

backend threads retain tool continuity without copying raw secret-bearing

1068+

payloads.

1069+
10601070

If your engine does **not** own the compaction algorithm, keep `compact()`

10611071

implemented and delegate it explicitly:

10621072
Original file line numberDiff line numberDiff line change

@@ -20,7 +20,8 @@ diagnostic surfaces around that boundary.

2020

OpenClaw still owns channel routing, session files, visible message delivery,

2121

OpenClaw dynamic tools, approvals, media delivery, and a transcript mirror.

2222

Codex owns the canonical native thread, native model loop, native tool

23-

continuation, and native compaction.

23+

continuation, and native compaction unless the active OpenClaw context engine

24+

declares that it owns compaction.

2425
2526

## Thread bindings and model changes

2627

@@ -184,8 +185,17 @@ diagnostics bundle.

184185

## Compaction and transcript mirror

185186
186187

When the selected model uses the Codex harness, native thread compaction is

187-

delegated to Codex app-server. OpenClaw keeps a transcript mirror for channel

188-

history, search, `/new`, `/reset`, and future model or harness switching.

188+

delegated to Codex app-server unless an active context engine declares

189+

`ownsCompaction: true`. Owning context engines compact first and cause OpenClaw

190+

to abandon the old Codex backend thread so the next turn can rehydrate a fresh

191+

thread from engine-managed context. OpenClaw keeps a transcript mirror for

192+

channel history, search, `/new`, `/reset`, and future model or harness

193+

switching.

194+
195+

When a context engine requests Codex thread-bootstrap projection, OpenClaw

196+

projects tool-call names and ids, input shapes, and redacted tool-result content

197+

into the fresh Codex thread. It does not copy raw tool-call argument values into

198+

that projection.

189199
190200

The mirror includes the user prompt, final assistant text, and lightweight Codex

191201

reasoning or plan records when the app-server emits them. Today, OpenClaw only

Original file line numberDiff line numberDiff line change

@@ -119,8 +119,9 @@ Use `openai/gpt-*` model refs for Codex-backed OpenAI agent turns. Prefer

119119

`openai-codex:*` auth profiles and `auth.order.openai-codex` remain valid, but

120120

do not write new `openai-codex/gpt-*` model refs.

121121
122-

Do not set `compaction.model` or `compaction.provider` on Codex-backed agents.

123-

Codex owns compaction through its native app-server thread state, so OpenClaw

122+

Do not set `compaction.model` or `compaction.provider` on Codex-backed agents

123+

unless a selected context engine owns compaction. Without an owning context

124+

engine, Codex compacts through its native app-server thread state, so OpenClaw

124125

ignores those local summarizer overrides at runtime and `openclaw doctor --fix`

125126

removes them when the agent uses Codex.

126127

@@ -131,6 +132,12 @@ Lossless remains supported as a context engine. Configure it through

131132

`compaction.provider: "lossless-claw"` shape to the Lossless context-engine slot

132133

when Codex is the active runtime.

133134
135+

When the active context engine reports `ownsCompaction: true`, `/compact` runs

136+

that engine's compaction lifecycle and invalidates the bound Codex app-server

137+

thread. The next Codex turn starts a fresh backend thread and rehydrates it from

138+

the context engine instead of layering Codex native compaction on top of the

139+

engine-owned semantic summary.

140+
134141

```json5

135142

{

136143

auth: {

@@ -625,8 +632,10 @@ The Codex harness changes the low-level embedded agent executor only.

625632

- Codex-native shell, patch, MCP, and native app tools are owned by Codex.

626633

OpenClaw can observe or block selected native events through the supported

627634

relay, but it does not rewrite native tool arguments.

628-

- Codex owns native compaction. OpenClaw keeps a transcript mirror for channel

629-

history, search, `/new`, `/reset`, and future model or harness switching.

635+

- Codex owns native compaction unless the active OpenClaw context engine

636+

declares `ownsCompaction: true`. OpenClaw keeps a transcript mirror for

637+

channel history, search, `/new`, `/reset`, and future model or harness

638+

switching.

630639

- Media generation, media understanding, TTS, approvals, and messaging-tool

631640

output continue through the matching OpenClaw provider/model settings.

632641

- `tool_result_persist` applies to OpenClaw-owned transcript tool results, not