慣性聚合 高效追讀感興趣之博客、新聞、科技資訊
閱原文 以慣性聚合開啟

推薦訂閱源

博客园 - 司徒正美
V
V2EX
T
Tailwind CSS Blog
有赞技术团队
有赞技术团队
aimingoo的专栏
aimingoo的专栏
Apple Machine Learning Research
Apple Machine Learning Research
IT之家
IT之家
Blog — PlanetScale
Blog — PlanetScale
A
About on SuperTechFans
月光博客
月光博客
T
The Blog of Author Tim Ferriss
宝玉的分享
宝玉的分享
Martin Fowler
Martin Fowler
博客园 - 聂微东
The GitHub Blog
The GitHub Blog
V
Visual Studio Blog
WordPress大学
WordPress大学
酷 壳 – CoolShell
酷 壳 – CoolShell
Engineering at Meta
Engineering at Meta
GbyAI
GbyAI

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 test: trim doctor command hotspots · openclaw/openclaw@c66f16a test: isolate agent auth and spawn hotspots · openclaw/openclaw@9285935 test: stabilize MCP startup disposal race · openclaw/openclaw@dd9d2eb test: merge browser contract server suites · openclaw/openclaw@5817a76 test: narrow ollama provider discovery setup · openclaw/openclaw@a0d9598 build: declare qa-lab aimock runtime dependency · openclaw/openclaw@24431e5 test: speed up safe-bins exec harness · openclaw/openclaw@ee856ab test: preserve tool helpers in embedded runner mocks · openclaw/openclaw@acd86a0 refactor: move memory embeddings into provider plugins · openclaw/openclaw@77e6e4c test: reuse system-run temp fixtures · openclaw/openclaw@7e9ff0f test: trim hotspot wait overhead · openclaw/openclaw@12a59b0 Check: avoid duplicate boundary prep · openclaw/openclaw@baf11b8 test: reduce hotspot fixture overhead · openclaw/openclaw@3a59edd feat(ui): overhaul settings and slash command UX (#67819) thanks @Bun… · openclaw/openclaw@2cfb660 QA Matrix: exit cleanly on failure · openclaw/openclaw@42805d2 QA Matrix: isolate scenario coverage · openclaw/openclaw@7e659e1 Matrix: refresh crypto bootstrap state · openclaw/openclaw@94081d8 QA Lab: add provider registry · openclaw/openclaw@bb7e982 Matrix: add plugin changelog · openclaw/openclaw@4acab55 test: trim more hotspot overhead · openclaw/openclaw@f485311
修(codex):保(codex)之次代理(subagent)之初始化(bootstrap)与(pi)次代理(subagent)之均等(parity)… · openclaw/openclaw@7b3be04
lastguru-net · 2026-05-24 · via Recent Commits to openclaw:main

@@ -1169,9 +1169,10 @@ describe("runCodexAppServerAttempt", () => {

11691169

});

1170117011711171

it("starts active OpenClaw sandbox turns with Codex native execution disabled", async () => {

1172+

const runtimeId = `codex-test-runtime-${path.basename(tempDir)}`;

11721173

const restoreSandboxBackend = registerSandboxBackend("codex-test-sandbox", async () => ({

11731174

id: "codex-test-sandbox",

1174-

runtimeId: "codex-test-runtime",

1175+

runtimeId,

11751176

runtimeLabel: "Codex Test Sandbox",

11761177

workdir: "/workspace",

11771178

buildExecSpec: async () => ({

@@ -1203,6 +1204,8 @@ describe("runCodexAppServerAttempt", () => {

12031204

mode: "all",

12041205

backend: "codex-test-sandbox",

12051206

scope: "session",

1207+

workspaceAccess: "rw",

1208+

prune: { idleHours: 0, maxAgeDays: 0 },

12061209

},

12071210

},

12081211

},

@@ -1234,9 +1237,10 @@ describe("runCodexAppServerAttempt", () => {

12341237

});

1235123812361239

it("routes native Codex execution through an OpenClaw sandbox exec-server when opted in", async () => {

1240+

const runtimeId = `codex-test-runtime-${path.basename(tempDir)}`;

12371241

const restoreSandboxBackend = registerSandboxBackend("codex-test-sandbox", async () => ({

12381242

id: "codex-test-sandbox",

1239-

runtimeId: "codex-test-runtime",

1243+

runtimeId,

12401244

runtimeLabel: "Codex Test Sandbox",

12411245

workdir: "/workspace",

12421246

buildExecSpec: async () => ({

@@ -1268,6 +1272,8 @@ describe("runCodexAppServerAttempt", () => {

12681272

mode: "all",

12691273

backend: "codex-test-sandbox",

12701274

scope: "session",

1275+

workspaceAccess: "rw",

1276+

prune: { idleHours: 0, maxAgeDays: 0 },

12711277

},

12721278

},

12731279

},

@@ -6073,14 +6079,11 @@ describe("runCodexAppServerAttempt", () => {

60736079

};

60746080

const config = threadStartParams.config;

607560816076-

expect(threadStartParams.developerInstructions).toContain("OpenClaw Agent Soul");

6077-

expect(threadStartParams.developerInstructions).toContain(

6078-

"They define who you are, how you work",

6079-

);

6080-

expect(threadStartParams.developerInstructions).toContain(soulGuidance);

6081-

expect(threadStartParams.developerInstructions).toContain(identityGuidance);

6082+

expect(threadStartParams.developerInstructions).toContain("OpenClaw Workspace Instructions");

6083+

expect(threadStartParams.developerInstructions).not.toContain(soulGuidance);

6084+

expect(threadStartParams.developerInstructions).not.toContain(identityGuidance);

60826085

expect(threadStartParams.developerInstructions).toContain(toolGuidance);

6083-

expect(threadStartParams.developerInstructions).toContain(userProfile);

6086+

expect(threadStartParams.developerInstructions).not.toContain(userProfile);

60846087

expect(threadStartParams.developerInstructions).not.toContain(heartbeatChecklist);

60856088

expect(threadStartParams.developerInstructions).not.toContain(memorySummary);

60866089

expect(threadStartParams.developerInstructions).not.toContain("Codex loads AGENTS.md natively");

@@ -6090,7 +6093,23 @@ describe("runCodexAppServerAttempt", () => {

60906093

const turnStart = harness.requests.find((request) => request.method === "turn/start");

60916094

const turnStartParams = turnStart?.params as {

60926095

input?: Array<{ text?: string }>;

6096+

collaborationMode?: {

6097+

settings?: {

6098+

developer_instructions?: string | null;

6099+

};

6100+

};

60936101

};

6102+

const collaborationInstructions =

6103+

turnStartParams.collaborationMode?.settings?.developer_instructions ?? "";

6104+

expect(collaborationInstructions).toContain("# Collaboration Mode: Default");

6105+

expect(collaborationInstructions).toContain("request_user_input availability");

6106+

expect(collaborationInstructions).toContain("OpenClaw Agent Soul");

6107+

expect(collaborationInstructions).toContain(soulGuidance);

6108+

expect(collaborationInstructions).toContain(identityGuidance);

6109+

expect(collaborationInstructions).not.toContain(toolGuidance);

6110+

expect(collaborationInstructions).toContain(userProfile);

6111+

expect(collaborationInstructions).not.toContain(heartbeatChecklist);

6112+

expect(collaborationInstructions).not.toContain(memorySummary);

60946113

const inputText = turnStartParams.input?.[0]?.text ?? "";

60956114

expect(inputText).toContain("OpenClaw runtime context for this turn:");

60966115

expect(inputText).not.toContain("does not override Codex system/developer instructions");

@@ -6104,6 +6123,10 @@ describe("runCodexAppServerAttempt", () => {

61046123

expect(inputText).toContain("Codex loads AGENTS.md natively");

61056124

expect(inputText).not.toContain(agentsGuidance);

61066125

expect(inputText).toContain("Current user request:\nhello");

6126+

expect(result.systemPromptReport?.systemPrompt.chars).toBe(

6127+

[threadStartParams.developerInstructions ?? "", collaborationInstructions].join("\n\n")

6128+

.length,

6129+

);

6107613061086131

const fileStats = new Map(

61096132

result.systemPromptReport?.injectedWorkspaceFiles.map((file) => [file.name, file]) ?? [],

@@ -11038,17 +11061,25 @@ describe("runCodexAppServerAttempt", () => {

1103811061

params.trigger = "user";

1103911062

expect(

1104011063

buildTurnCollaborationMode(params, {

11064+

turnScopedDeveloperInstructions: "Turn-only workspace instructions.",

1104111065

heartbeatCollaborationInstructions:

1104211066

"HEARTBEAT.md exists at /tmp/workspace/HEARTBEAT.md. Read it before proceeding.",

1104311067

}).settings.developer_instructions,

11044-

).toBeNull();

11068+

).toContain("Turn-only workspace instructions.");

11069+

expect(

11070+

buildTurnCollaborationMode(params, {

11071+

turnScopedDeveloperInstructions: "Turn-only workspace instructions.",

11072+

}).settings.developer_instructions,

11073+

).toContain("# Collaboration Mode: Default");

1104511074

});

11046110751104711076

it("uses turn-scoped collaboration instructions for cron Codex turns", () => {

1104811077

const params = createParams("/tmp/session.jsonl", "/tmp/workspace");

1104911078

params.trigger = "cron";

110501107911051-

const cronCollaborationMode = buildTurnCollaborationMode(params);

11080+

const cronCollaborationMode = buildTurnCollaborationMode(params, {

11081+

turnScopedDeveloperInstructions: "Turn-only workspace instructions.",

11082+

});

1105211083

expect(cronCollaborationMode.mode).toBe("default");

1105311084

expect(cronCollaborationMode.settings.model).toBe("gpt-5.4-codex");

1105411085

expect(cronCollaborationMode.settings.reasoning_effort).toBe("medium");

@@ -11061,6 +11092,9 @@ describe("runCodexAppServerAttempt", () => {

1106111092

expect(cronCollaborationMode.settings.developer_instructions).toContain(

1106211093

"Use context already provided by the runtime",

1106311094

);

11095+

expect(cronCollaborationMode.settings.developer_instructions).toContain(

11096+

"Turn-only workspace instructions.",

11097+

);

1106411098

});

11065110991106611100

it("preserves the bound auth profile when resume params omit authProfileId", async () => {