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

推荐订阅源

F
Fox-IT International blog
Recent Announcements
Recent Announcements
D
Docker
IT之家
IT之家
B
Blog
Jina AI
Jina AI
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
博客园 - 【当耐特】
Google DeepMind News
Google DeepMind News
F
Fortinet All Blogs
量子位
C
Check Point Blog
Microsoft Azure Blog
Microsoft Azure Blog
罗磊的独立博客
博客园 - 司徒正美
李成银的技术随笔
美团技术团队
Blog — PlanetScale
Blog — PlanetScale
雷峰网
雷峰网
The GitHub Blog
The GitHub Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
J
Java Code Geeks
T
The Blog of Author Tim Ferriss
酷 壳 – CoolShell
酷 壳 – CoolShell
MongoDB | Blog
MongoDB | Blog
P
Proofpoint News Feed
L
LangChain Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Y
Y Combinator Blog
大猫的无限游戏
大猫的无限游戏
有赞技术团队
有赞技术团队
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
V
Visual Studio Blog
T
Tailwind CSS Blog
H
Help Net Security
Engineering at Meta
Engineering at Meta
小众软件
小众软件
B
Blog RSS Feed
Stack Overflow Blog
Stack Overflow Blog
月光博客
月光博客
M
Microsoft Research Blog - Microsoft Research
宝玉的分享
宝玉的分享
人人都是产品经理
人人都是产品经理
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
GbyAI
GbyAI
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Last Week in AI
Last Week in AI
Martin Fowler
Martin Fowler
Stack Overflow Blog
Stack Overflow Blog

Recent Commits to openclaw:main

fix: simplify testbox changed-check delegation · openclaw/openclaw@e20b8d7 fix(mac): require packaged app resources · openclaw/openclaw@198d0a5 test: update docker stats helper expectations · openclaw/openclaw@11512b1 fix(e2e): time out live Docker runs · openclaw/openclaw@d1f2eb0 fix(mac): remove unused codesign entitlements · openclaw/openclaw@e8cb2b5 fix(docker): time out setup image pulls · openclaw/openclaw@dcf0941 fix(mac): fail closed on missing staple app · openclaw/openclaw@da16a96 fix(qa-slack): preserve failure debug artifacts · openclaw/openclaw@4ebc13a fix(e2e): time out standalone Docker smokes · openclaw/openclaw@f1ceed9 fix(mac): clean codesign entitlement temps · openclaw/openclaw@68f877e fix(e2e): time out install smoke Docker copies · openclaw/openclaw@1c5b835 fix(mac): fail closed on dmg plist reads · openclaw/openclaw@7aedff8 fix(e2e): route gateway network client through Docker helper · openclaw/openclaw@f2ad94e fix(mac): fail closed on dist plist reads · openclaw/openclaw@8e110a2 test(codex): widen app-server wait timeout type fix(e2e): time out Docker image reuse probes docs: clarify compatibility defaults · openclaw/openclaw@4f1cd8e fix(e2e): route named container cleanup through helper · openclaw/openclaw@e295c86 fix(mac): fail closed on plist stamp errors · openclaw/openclaw@91080fd fix(e2e): route focused docker smokes through run helper · openclaw/openclaw@4838e70 fix(mattermost): tag typed text slash control commands · openclaw/openclaw@21aebd5 fix(e2e): route sampled docker runs through helpers fix(e2e): clean package docker artifacts on setup failure · openclaw/openclaw@90bcec9 ci(release): include performance run in validation manifest · openclaw/openclaw@0e73379 test(e2e): harden release media memory smoke · openclaw/openclaw@99032f0 fix(e2e): clean package onboarding artifacts · openclaw/openclaw@f63754b fix(e2e): honor Docker harness run timeouts · openclaw/openclaw@b34e1b3 fix(imessage): dedupe accounts sharing the local Messages source (#86… · openclaw/openclaw@9434228 fix(scripts): detect shell-wrapped changed gates fix(codex): preserve sandbox bootstrap path style · openclaw/openclaw@3f6b63a perf: skip canonical session migration parses · openclaw/openclaw@c5530c7 fix(e2e): clean skill install package mounts · openclaw/openclaw@d3bbfa1 fix(e2e): clean Codex plugin live artifacts · openclaw/openclaw@a5653c0 fix(e2e): clean sampled Docker logs on failure · openclaw/openclaw@b93cee4 refactor: migrate validators to TypeBox (#86639) · openclaw/openclaw@3548cff fix(e2e): clean package mount tarballs · openclaw/openclaw@b377618 fix(scripts): format auth expiries on macos · openclaw/openclaw@437a9e9 fix(e2e): clean functional Docker build inputs Fix iMessage image attachment roots (#86569) · openclaw/openclaw@2e17003 chore(release): refresh plugin sdk api baseline · openclaw/openclaw@918472a fix(e2e): fail on invalid test state payloads · openclaw/openclaw@4a1d772 ci(release): apply exact extension batch excludes fix(installer): reject invalid shell options ci(release): pass vitest batch options before roots ci(release): exclude codex app-server integration from plugin prerelease · openclaw/openclaw@a3cd90f fix(imessage): send group media via attachment command (#86770) · openclaw/openclaw@17f7ef5 test(e2e): assert release upgrade installs candidate · openclaw/openclaw@41eef4a ci(release): serialize plugin prerelease extension batch · openclaw/openclaw@a46556a fix(scripts): add docker e2e scheduler help · openclaw/openclaw@81f62a6 test(codex): wait for diagnostic event locally · openclaw/openclaw@083377a test(e2e): assert release plugin uninstall removes files · openclaw/openclaw@4b03e07 test(telegram): use platform temp path in bot harness · openclaw/openclaw@16d137d fix(imessage): seed direct DM history (#86706) · openclaw/openclaw@3452382 test(codex): complete diagnostic turn explicitly · openclaw/openclaw@11b1b7c test(scripts): make run-vitest test Windows-safe · openclaw/openclaw@5c3fb1f test: restore auth regression coverage · openclaw/openclaw@c04c03f fix(test): reject missing explicit vitest files · openclaw/openclaw@505aca9 test(plugins): canonicalize plugin install assertion paths · openclaw/openclaw@5174d97 fix(diagnostics): track model stream progress (#86757) · openclaw/openclaw@23e9bc8 Preserve runtime external auth snapshots (#85558) · openclaw/openclaw@711e963 fix(test): prepare macos runner tmpdir · openclaw/openclaw@7db4b3d test(agents): stabilize yielded exec timeout test · openclaw/openclaw@c14c043 test: stabilize media fallback and background timeout tests · openclaw/openclaw@3bb4be2 fix(whatsapp): warn once when group inbound dropped for missing chann… chore(release): refresh plugin sdk api baseline · openclaw/openclaw@e752f9b test(whatsapp): stabilize media format expectations · openclaw/openclaw@c43ed9e test(qqbot): make OPENCLAW_HOME media test Windows-safe · openclaw/openclaw@1e9b6b7 fix(test): forward installer smoke controls test: align image fast path expectations · openclaw/openclaw@21aefb8 test: align pnpm cache workflow assertion · openclaw/openclaw@c4f0682 test: enforce per-test ci threshold · openclaw/openclaw@4118a32 ci(mantis): pass crabbox capacity regions · openclaw/openclaw@4fdf617 ci: disable pnpm action cache on Windows · openclaw/openclaw@bc3d6ba fix(agents): skip wildcard catalog metadata refs (#86524) fix(test): bootstrap macos script stdin test(codex): avoid app-server diagnostic notification race fix(embedded-runner): preserve provider errors on cleanup takeover (#… · openclaw/openclaw@7fbca96 fix(agents): handle preflight compaction no-op budgets (#86709) · openclaw/openclaw@bcde7b1 fix: make QQ Bot media paths respect `OPENCLAW_HOME` configuration (#… · openclaw/openclaw@0d23c3b fix(tooling): skip gauntlet declaration prebuild fix(control-ui): support raw edits from editable config (#86726) · openclaw/openclaw@c9d0464 revert: iMessage group media attachment command (#86734) · openclaw/openclaw@5a33378 fix(release): stabilize beta validation after rebase · openclaw/openclaw@609d70d fix(test): measure kitchen sink gateway children · openclaw/openclaw@4738d0a fix(whatsapp): restore ack emoji identity fallback (#86697) · openclaw/openclaw@34d862d fix(imessage): send group media via attachment command · openclaw/openclaw@f322732 fix(test): harden plugin gauntlet proof · openclaw/openclaw@eab8d29 fix(release): stabilize beta validation after main rebase · openclaw/openclaw@9301598 refactor: use Rastermill for image processing (#86621) perf(discord): use libopus-wasm for voice opus fix(build): pin synthetic auth runtime dist entry (#86714) · openclaw/openclaw@3d06594 fix(plugin-sdk): preserve string-const unions as flat enum for deepse… · openclaw/openclaw@fddca99 fix(perf): bound session transcript stat fanout · openclaw/openclaw@2e6ba44 fix(test): bound plugin gauntlet prebuilds · openclaw/openclaw@6984a82 perf: speed up usage cost lookups · openclaw/openclaw@743bce2 Add OpenTelemetry LLM content spans (#86191) · openclaw/openclaw@f824e15 chore: remove unused tracked assets · openclaw/openclaw@592f192 fix(perf): tolerate passing filtered release gates · openclaw/openclaw@c410658 fix(release): accept optional Discord voice decoder · openclaw/openclaw@8f1f790 fix(release): stabilize beta validation tests · openclaw/openclaw@e049105
fix(dreaming): default storage.mode to "separate" so phase blocks sto… · openclaw/openclaw@8c392f0
2026-04-16 · via Recent Commits to openclaw:main

File tree

  • extensions/memory-core/src

  • src/memory-host-sdk

Original file line numberDiff line numberDiff line change

@@ -20,6 +20,8 @@ Docs: https://docs.openclaw.ai

2020

- Agents/context + Memory: trim default startup/skills prompt budgets, cap `memory_get` excerpts by default with explicit continuation metadata, and keep QMD reads aligned with the same bounded excerpt contract so long sessions pull less context by default without losing deterministic follow-up reads.

2121

- Matrix/commands: skip DM pairing-store reads on room traffic now that room control-command authorization ignores pairing-store entries, keeping the room path narrower without changing room auth behavior. (#67325) Thanks @gumadeiras.

2222

- Memory-core/dreaming: skip dreaming narrative transcripts from session-store metadata before bootstrap records land so dream diary prompt/prose lines do not pollute session ingestion. (#67315) thanks @jalehman.

23+

- Agents/local models: clarify low-context preflight hints for self-hosted models, point config-backed caps at the relevant OpenClaw setting, and stop suggesting larger models when `agents.defaults.contextTokens` is the real limit. (#66236) Thanks @ImLukeF.

24+

- Dreaming/memory-core: change the default `dreaming.storage.mode` from `inline` to `separate` so Dreaming phase blocks (`## Light Sleep`, `## REM Sleep`) land in `memory/dreaming/{phase}/YYYY-MM-DD.md` instead of being injected into `memory/YYYY-MM-DD.md`. Daily memory files no longer get dominated by structured candidate output, and the daily-ingestion scanner that already strips dream marker blocks no longer has to compete with hundreds of phase-block lines on every run. Operators who want the previous behavior can opt in by setting `plugins.entries.memory-core.config.dreaming.storage.mode: "inline"`. (#66412) Thanks @mjamiv.

2325
2426

## 2026.4.15-beta.1

2527
Original file line numberDiff line numberDiff line change

@@ -27,6 +27,11 @@ const LIGHT_DREAMING_TEST_CONFIG: OpenClawConfig = {

2727

dreaming: {

2828

enabled: true,

2929

timezone: "UTC",

30+

// The existing tests in this file were written when "inline" was the

31+

// default storage mode and assert against `memory/<day>.md` directly.

32+

// Pin the storage mode explicitly so they keep covering inline mode

33+

// after the default flipped to "separate" in #66328.

34+

storage: { mode: "inline", separateReports: false },

3035

phases: {

3136

light: {

3237

enabled: true,

@@ -305,6 +310,10 @@ describe("memory-core dreaming phases", () => {

305310

config: {

306311

dreaming: {

307312

enabled: true,

313+

// This test asserts inline-mode side effects on the daily

314+

// file; pin storage explicitly after the default flipped to

315+

// "separate" in #66328.

316+

storage: { mode: "inline", separateReports: false },

308317

phases: {

309318

light: {

310319

enabled: true,

Original file line numberDiff line numberDiff line change

@@ -184,7 +184,7 @@ describe("short-term dreaming config", () => {

184184

maxAgeDays: 30,

185185

verboseLogging: false,

186186

storage: {

187-

mode: "inline",

187+

mode: "separate",

188188

separateReports: false,

189189

},

190190

});

@@ -223,7 +223,7 @@ describe("short-term dreaming config", () => {

223223

maxAgeDays: 30,

224224

verboseLogging: true,

225225

storage: {

226-

mode: "inline",

226+

mode: "separate",

227227

separateReports: false,

228228

},

229229

});

@@ -259,7 +259,7 @@ describe("short-term dreaming config", () => {

259259

maxAgeDays: 45,

260260

verboseLogging: false,

261261

storage: {

262-

mode: "inline",

262+

mode: "separate",

263263

separateReports: false,

264264

},

265265

});

@@ -294,7 +294,7 @@ describe("short-term dreaming config", () => {

294294

maxAgeDays: 30,

295295

verboseLogging: false,

296296

storage: {

297-

mode: "inline",

297+

mode: "separate",

298298

separateReports: false,

299299

},

300300

});

Original file line numberDiff line numberDiff line change

@@ -615,7 +615,7 @@ export async function runShortTermDreamingPromotionIfTriggered(params: {

615615

bodyLines: reportLines,

616616

nowMs: sweepNowMs,

617617

timezone: params.config.timezone,

618-

storage: params.config.storage ?? { mode: "inline", separateReports: false },

618+

storage: params.config.storage ?? { mode: "separate", separateReports: false },

619619

});

620620

// Generate dream diary narrative from promoted memories.

621621

if (params.subagent && (candidates.length > 0 || applied.applied > 0)) {

Original file line numberDiff line numberDiff line change

@@ -90,6 +90,31 @@ describe("memory dreaming host helpers", () => {

9090

});

9191

});

9292
93+

it("defaults storage mode to separate so phase blocks do not pollute daily memory files", () => {

94+

const resolved = resolveMemoryDreamingConfig({

95+

pluginConfig: {},

96+

});

97+
98+

expect(resolved.storage).toEqual({

99+

mode: "separate",

100+

separateReports: false,

101+

});

102+

});

103+
104+

it("preserves explicit inline storage mode for callers that opt in", () => {

105+

const resolved = resolveMemoryDreamingConfig({

106+

pluginConfig: {

107+

dreaming: {

108+

storage: {

109+

mode: "inline",

110+

},

111+

},

112+

},

113+

});

114+
115+

expect(resolved.storage.mode).toBe("inline");

116+

});

117+
93118

it("applies top-level dreaming frequency across all phases", () => {

94119

const resolved = resolveMemoryDreamingConfig({

95120

pluginConfig: {

Original file line numberDiff line numberDiff line change

@@ -12,7 +12,7 @@ import {

1212

export const DEFAULT_MEMORY_DREAMING_ENABLED = false;

1313

export const DEFAULT_MEMORY_DREAMING_TIMEZONE = undefined;

1414

export const DEFAULT_MEMORY_DREAMING_VERBOSE_LOGGING = false;

15-

export const DEFAULT_MEMORY_DREAMING_STORAGE_MODE = "inline";

15+

export const DEFAULT_MEMORY_DREAMING_STORAGE_MODE = "separate";

1616

export const DEFAULT_MEMORY_DREAMING_SEPARATE_REPORTS = false;

1717

export const DEFAULT_MEMORY_DREAMING_FREQUENCY = "0 3 * * *";

1818

export const DEFAULT_MEMORY_DREAMING_PLUGIN_ID = "memory-core";