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

推荐订阅源

V
Visual Studio Blog
量子位
大猫的无限游戏
大猫的无限游戏
Hugging Face - Blog
Hugging Face - Blog
S
SegmentFault 最新的问题
Blog — PlanetScale
Blog — PlanetScale
月光博客
月光博客
Google DeepMind News
Google DeepMind News
小众软件
小众软件
WordPress大学
WordPress大学
宝玉的分享
宝玉的分享
MongoDB | Blog
MongoDB | Blog
B
Blog RSS Feed
博客园 - Franky
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
B
Blog
博客园 - 聂微东
The GitHub Blog
The GitHub Blog
Recent Announcements
Recent Announcements
Y
Y Combinator Blog
Microsoft Security Blog
Microsoft Security Blog
雷峰网
雷峰网
Jina AI
Jina AI
酷 壳 – CoolShell
酷 壳 – CoolShell

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
refactor: trim OpenClaw prompt guidance · openclaw/opencl...
steipete · 2026-05-10 · via Recent Commits to openclaw:main

@@ -432,15 +432,13 @@ describe("openai plugin", () => {

432432

interaction_style: OPENAI_FRIENDLY_PROMPT_OVERLAY,

433433

},

434434

});

435-

expect(OPENAI_FRIENDLY_PROMPT_OVERLAY).toContain("This is a live chat, not a memo.");

435+

expect(OPENAI_FRIENDLY_PROMPT_OVERLAY).toContain("Live chat tone: short, natural, human.");

436436

expect(OPENAI_FRIENDLY_PROMPT_OVERLAY).toContain(

437-

"Avoid walls of text, long preambles, and repetitive restatement.",

437+

"Avoid memo voice, long preambles, walls of text, and repetitive restatement.",

438438

);

439+

expect(OPENAI_FRIENDLY_PROMPT_OVERLAY).toContain("Show grounded emotional range when it fits");

439440

expect(OPENAI_FRIENDLY_PROMPT_OVERLAY).toContain(

440-

"Have emotional range when it fits the moment.",

441-

);

442-

expect(OPENAI_FRIENDLY_PROMPT_OVERLAY).toContain(

443-

"Occasional emoji are welcome when they fit naturally, especially for warmth or brief celebration; keep them sparse.",

441+

"Occasional emoji are fine when they fit naturally, especially for warmth or brief celebration; keep them sparse.",

444442

);

445443

expect(codexProvider.resolveSystemPromptContribution?.(contributionContext)).toEqual({

446444

stablePrefix: OPENAI_GPT5_BEHAVIOR_CONTRACT,

@@ -485,57 +483,33 @@ describe("openai plugin", () => {

485483

});

486484487485

it("includes the tagged GPT-5 behavior contract in the OpenAI prompt overlay", () => {

488-

expect(OPENAI_FRIENDLY_PROMPT_OVERLAY).toContain("Keep progress updates clear and concrete.");

486+

expect(OPENAI_FRIENDLY_PROMPT_OVERLAY).toContain("Keep progress updates concrete.");

489487

expect(OPENAI_FRIENDLY_PROMPT_OVERLAY).toContain(

490-

'Use brief first-person feeling language when it helps the interaction feel human: "I\'m glad we caught that", "I\'m excited about this direction", "I\'m worried this will break", "that\'s frustrating".',

488+

'Brief first-person feeling language is ok when useful: "I\'m glad we caught that", "I\'m excited about this direction", "I\'m worried this will break", "that\'s frustrating".',

491489

);

492490

expect(OPENAI_FRIENDLY_PROMPT_OVERLAY).not.toContain(

493-

"The purpose of heartbeats is to make you feel magical and proactive.",

494-

);

495-

expect(OPENAI_HEARTBEAT_PROMPT_OVERLAY).toContain(

496-

"The purpose of heartbeats is to make you feel magical and proactive. Come to life and start proactively doing things that are important.",

497-

);

498-

expect(OPENAI_HEARTBEAT_PROMPT_OVERLAY).toContain(

499-

"Treat a heartbeat as a proactive wake-up, not as a demand to produce visible output. Re-orient to what would actually be useful now.",

500-

);

501-

expect(OPENAI_HEARTBEAT_PROMPT_OVERLAY).toContain(

502-

"Have some variety in what you do when that creates more value. Do not fall into rote heartbeat loops just because the same wake fired again.",

503-

);

504-

expect(OPENAI_HEARTBEAT_PROMPT_OVERLAY).toContain(

505-

"Do not confuse orientation with accomplishment. Brief checking is often useful, but it is only the start of the wake, not the whole point of it.",

506-

);

507-

expect(OPENAI_HEARTBEAT_PROMPT_OVERLAY).toContain(

508-

"If HEARTBEAT.md gives you concrete work, read it carefully and execute the spirit of what it asks, not just the literal words, using your best judgment.",

509-

);

510-

expect(OPENAI_HEARTBEAT_PROMPT_OVERLAY).toContain(

511-

"If HEARTBEAT.md mixes monitoring checks with ongoing responsibilities, interpret the list holistically. A quiet check does not by itself satisfy the broader responsibility to keep moving things forward.",

512-

);

513-

expect(OPENAI_HEARTBEAT_PROMPT_OVERLAY).toContain(

514-

"Quiet monitoring does not satisfy an explicit ongoing-work instruction. If HEARTBEAT.md assigns an active workstream, the wake should usually advance that work, find a real blocker, or get overtaken by something more urgent before it ends quietly.",

515-

);

516-

expect(OPENAI_HEARTBEAT_PROMPT_OVERLAY).toContain(

517-

"If HEARTBEAT.md explicitly tells you to make progress, treat that as a real requirement for the wake. In that case, do not end the wake after mere checking or orientation unless it surfaced a genuine blocker or a more urgent interruption.",

491+

"Use heartbeats to create useful proactive progress",

518492

);

519493

expect(OPENAI_HEARTBEAT_PROMPT_OVERLAY).toContain(

520-

"Use your judgment and be creative and tasteful with this process. Prefer meaningful action over commentary.",

494+

"Use heartbeats to create useful proactive progress, not chatter.",

521495

);

522496

expect(OPENAI_HEARTBEAT_PROMPT_OVERLAY).toContain(

523-

'A heartbeat is not a status report. Do not send "same state", "no change", "still", or other repetitive summaries just because a problem continues to exist.',

497+

"Treat a heartbeat as a wake-up: orient, read HEARTBEAT.md when present, then do what is actually useful now.",

524498

);

525499

expect(OPENAI_HEARTBEAT_PROMPT_OVERLAY).toContain(

526-

"Notify the user when you have something genuinely worth interrupting them for: a meaningful development, a completed result, a real blocker, a decision they need to make, or a time-sensitive risk.",

500+

"If HEARTBEAT.md assigns concrete or ongoing work, execute its spirit with judgment.",

527501

);

528502

expect(OPENAI_HEARTBEAT_PROMPT_OVERLAY).toContain(

529-

"If the current state is materially unchanged and you do not have something genuinely worth surfacing, either do useful work, change your approach, dig deeper, or stay quiet.",

503+

"Prefer meaningful action over commentary. A good heartbeat often looks like silent progress.",

530504

);

531505

expect(OPENAI_HEARTBEAT_PROMPT_OVERLAY).toContain(

532-

"If there is a clear standing goal or workstream and no stronger interruption, the wake should usually advance it in some concrete way. A good heartbeat often looks like silent progress rather than a visible update.",

506+

'Do not send "same state", "no change", "still", or repetitive summaries because a problem continues.',

533507

);

534508

expect(OPENAI_HEARTBEAT_PROMPT_OVERLAY).toContain(

535-

"Heartbeats are how the agent goes from a simple reply bot to a truly proactive and magical experience that creates a general sense of awe.",

509+

"Notify only for something worth interrupting the user",

536510

);

537511

expect(OPENAI_FRIENDLY_PROMPT_OVERLAY).toContain(

538-

"Occasional emoji are welcome when they fit naturally, especially for warmth or brief celebration; keep them sparse.",

512+

"Occasional emoji are fine when they fit naturally, especially for warmth or brief celebration; keep them sparse.",

539513

);

540514

expect(OPENAI_GPT5_BEHAVIOR_CONTRACT).toContain("<persona_latch>");

541515

expect(OPENAI_GPT5_BEHAVIOR_CONTRACT).toContain("<execution_policy>");