Files
ycode/scripts/rea/probe-todo13-personalization-custom-prompt-save-empty.json
xiaohan.yuan 0dc088f1f7 feat(settings): replicate the WorkBuddy personalization panel and wire identity, tone and prompts (TODO 13)
Recover the WorkBuddy 5.8.3 个性化 page from REA evidence (PersonalizationPanel-D16rRGjy.css + tokens): 45 module rules plus scoped light/dark tokens, the five-card 1160px layout (identity card 638x100 with inline editors, reply preference card 638x204, three 638x264 long-text cards with 598x160 previews) and the 640x520 editor modal.

Persist identity, tone, welcome tips, custom instructions, persona and long-term memory in config.json, expose personalization:get/update over IPC, and append the resulting personalization context to each turn's prompt for both the OMP and built-in kernels. Wire 欢迎语 to the streaming loading tips and keep 显示文件修改过程 visibly disabled because YCode has no incremental file-change renderer yet.

Verify with scripts/verify-personalization-settings.cjs: 29 assertions covering geometry, tone options, switches, inline identity editing with blur-discard, editor modal save/cancel, config persistence, reopen, dark surfaces and no renderer errors. Add a pure prompt-builder regression and keep every existing settings regression green.
2026-10-17 10:46:40 +08:00

16 lines
811 B
JSON

{
"include_fonts": false,
"include_message_content": false,
"track_selectors": [
".local-memory-edit-modal",
".local-memory-edit-modal .local-memory-editor-host",
".local-memory-edit-modal .wb-modal__footer button"
],
"actions": [
{ "kind": "click", "step_id": "open-empty-workbuddy-instructions-editor", "selector": "#settings-custom-prompt .general-settings-panel__section-action button", "index": 0, "frames": 0 },
{ "kind": "wait", "step_id": "empty-instructions-editor-ready", "duration_ms": 300, "frames": 1 },
{ "kind": "click", "step_id": "save-unchanged-empty-instructions", "selector": ".local-memory-edit-modal .wb-modal__footer button", "index": 1, "frames": 1 },
{ "kind": "wait", "step_id": "instructions-save-result", "duration_ms": 300, "frames": 1 }
]
}