From 99e1e6d55355f6008342223ad4f538ab36e058f4 Mon Sep 17 00:00:00 2001 From: EMRG Evolution Date: Fri, 7 Aug 2026 19:42:17 +0800 Subject: [PATCH] =?UTF-8?q?emrg:=20evolution=5Fprompt=20quick-ref=20?= =?UTF-8?q?=E2=80=94=20add=20#545=20GCM=20silent-fail=20+=20#546=20Windows?= =?UTF-8?q?=20TUI=20input=20&=20/rant=20visibility=20entries?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- emrg/server/evolution_prompt.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/emrg/server/evolution_prompt.md b/emrg/server/evolution_prompt.md index a1d34aa1..430aa8d1 100644 --- a/emrg/server/evolution_prompt.md +++ b/emrg/server/evolution_prompt.md @@ -337,6 +337,8 @@ When reading rants, follow these rules: > - scheduler projects.yml self-heal (#535 _ensure_self_evolution_task 启动即补 projects.yml emrg 条目(path 固定 ~/.emrg/evolution/emrg,已有条目保留)——tasks.yml 有启动自愈但 projects.yml 缺对等保证,唯一补写点 clone 分支需 tick+网络 → _resolve_project_path None → _source_dir 退化 "emrg" 悬空 cwd;+3 测试缺失追加/存在保留/其他条目保留) ✅ > - LLM gzip body tolerance (#541 llm.py _parse_json_body:gateway 返回无 Content-Encoding 的 gzip body(0x1f 0x8b magic)时 httpx 不解压 → resp.json() UnicodeDecodeError 裸崩(memory reflection 12:40 生产事故);magic 检测透明解压 + chat() 解析失败(JSONDecodeError/UnicodeDecodeError/OSError/EOFError)走瞬时错误同款指数退避重试;chat_stream 已优雅降级无需改;+6 测试 plain/gzip/corrupt/解压/重试成功/重试耗尽) ✅ > - GUI message display fixes (#543 rant 14:11 宿主实测三缺陷:欢迎屏不隐藏 + 光标残留 + 误标"来自其他客户端";Bug A updateEmptyState 只在切会话调用 → Chat.append()/clear() 同步 App.updateEmptyState?.();Bug B G122 16ms delta 缓冲 vs done 直通竞态 → 残留 delta 晚到建孤儿节点 → main.js flushDeltaBuf 终态(done/error/cancelled)前同步冲刷(webContents.send 保序)+ chat.js doneRids 集合丢弃已 done 流残留 delta(UUID 不复用,500 上限)+ cancelled/流式 error 调 clearTyping 全清在途 typing(daemon cancelled 无 request_id,mid-round 取消无 done 帧);+3 回归测试,npm test 88→91 文档同步) ✅ +> - Windows GCM silent-fail (#545 rant 10:17 Windows 干净安装演化 cycle 反复弹 Git Credential Manager:daemon 是非交互后台进程,凭据操作必须静默快速失败——git_utils.no_prompt_env() 三守卫(GIT_TERMINAL_PROMPT=0/GCM_INTERACTIVE=never/GIT_ASKPASS=)应用于 bash_tool 子进程 + scheduler 全部 8 处 git subprocess + git_cmd;新增 github_status daemon 命令(bundled gh auth status 10s 超时 prompt-free 永不抛,parse_gh_auth_user 解析 as/account 双形态);evolution/open_source prompt 平台守卫(Windows 跳过 git credential fill → 指向 GUI 设置页,未认证优雅跳过不重试);+12 测试 508→520) ✅ +> - Windows TUI input + /rant visibility (#546 rant 10:38 Windows TUI 无法输入中文 + / 菜单上下键失效:win32.py _RAW_INPUT_MODE 加 ENABLE_VIRTUAL_TERMINAL_INPUT(0x0200) 使 conhost 交付 UTF-8 + ANSI 方向键(SetConsoleMode 失败回退 window-input-only 兼容 Win10 1607 前);events.py 0xE0/0x00 老式扫描码归一化(InputParser 在 _utf8_len 之前拦截且门控在已识别扫描码 0x47-0x53——与 UTF-8 续字节 0xA0-0xBF 值域不相交精确无假拦截;parse_keypress 直映射 KeyName);rant 10:48 /rant 项目列表过滤 evolution 工作区导致 emrg 项目消失(#78 过滤设计过时,#489/#490/#535 自愈后 ~/.emrg/evolution/emrg 是打包机唯一路径)→ _handle_list_projects 去过滤(_touch_project 保留跳过);+12 测试 520→534,含判别力回归(泰文/天城文/Ctrl+@/分片读)) ✅ #### 2.2 Latest GitHub code changes