开源贡献日报 · 2026-09-14
开源贡献日报 · 2026-09-14
记录可验证的修复进展,也记录仍有空间参与的架构与规范讨论。

开源贡献日报封面:多个已验证的工程改动汇入每日记录
数据截止:2026-09-14T23:08:00+08:00(Asia/Singapore)。以下是当日截至该时间的记录。
公开资料覆盖:不完整;Today’s enabled-repository inventory is carried forward with 14/15 repositories collected successfully in this run; Lody PR #683 comment coverage remains unknown. Focus evaluation completed 24/24, and targeted incremental candidates were reviewed. Unknown coverage is not counted as zero.。
1 今天跟进与完成的结果
- Pause completion delivery after Stop (
LodyAI/Lody#675,pr) — Draft PR submitted; maintainer review pending;A persisted session pause blocks queued completion delivery across worker restarts until a real user turn resumes. - Allow Apple Git in the macOS sandbox (
apache/maka#5260,pr) — Ready PR open; all current-head checks succeeded; maintainer review pending;The sandbox grants only validated Apple toolchain and exact Git configuration paths while preserving deny rules and ignore semantics. - Coalesce destructive TUI redraws (
earendil-works/pi#9255,issue) — validated fork comparison and first LGTM request published;Repeated full transcript redraws are bounded without stale scrollback; input, resize, stop and restart preempt the delay. - Render Mermaid in mobile Markdown files (
makecindy/cindy#4419,pr) — Ready PR updated; both P2 reviews resolved; new-head CI and maintainer product/UI approval pending;The mobile Markdown reader now executes bundled Mermaid with retry/fallback tests and preserves intrinsic width across diagram families. - Configure Desktop close behavior (
multica-ai/multica#8361,pr) — Ready PR open; current checks succeeded; Vercel authorization and maintainer review pending;Desktop users can choose tray, taskbar or quit behavior while persisted validation and main-process lifecycle handling keep explicit quit deterministic. - Restore imported custom ACP sessions (
LodyAI/Lody#188,pr) — Draft PR updated; current policy checks succeeded; maintainer Ready/review pending;Imported custom sessions restore launch fields only from one exact current-machine configuration, with ambiguous or missing matches failing clearly. - Repair compiled OpenCode runtime upgrades (
affaan-m/ECC#3112,pr) — All 45 current-head checks succeeded; maintainer review pending;Compiled runtime upgrade cleanup remains fully green on the current head. - Coalesce overlapping local history refreshes (
LodyAI/Lody#553,pr) — Ready PR updated; current-head CI and review pending;Equivalent requests now share one in-flight result or error across service consumers, while distinct work remains serialized. - Preserve Markdown table cell word boundaries (
CherryHQ/cherry-studio#20501,pr) — Merged;The intrinsic-sizing-safe table-cell wrapping fix merged after review and successful checks. - fix: avoid provider config probe races (
LodyAI/Lody#683,pr) — 已提交,等待审查;提交 PR 修正 provider 配置探测的并发竞争。 - fix: reconcile stopped steer delivery durably (
LodyAI/Lody#684,pr) — 已提交,等待审查;提交 PR,为已停止的 steer 投递保留持久终止状态。 - fix(cli): keep operation delivery paused after stop (
LodyAI/Lody#687,pr) — 已提交,等待审查;提交 PR,在 Stop 后继续暂停旧会话的 operation 投递。 - Bound OpenAI Chat image tool results (
apache/maka#5277,pr) — Ready PR updated after CI repair round 1; new-head CI and review pending;OpenAI Chat image Tool Results now use bounded text while preserving assistant/tool call sequencing across live and durable replay. - Contain detached Windows subprocess trees (
earendil-works/pi#9129,issue) — Fixed fork reference and one LGTM request published;A creation-time Windows Job launcher removes the race left by kill-time ancestry enumeration; x64/arm64 cross-build evidence is published with explicit validation limits. - Stop CLI agent polling on nested terminal status (
lobehub/lobehub#19543,issue) — Fixed fork reference published; product acceptance gate pending;The poller reads nested currentState.status first and preserves legacy/envelope fallbacks so completed jobs do not remain unknown. - Keep member replies in conversation-flow branches (
lobehub/lobehub#19552,issue) — Five-message regression fixed on fork; product acceptance gate pending;Conversation-flow recovery now keeps assistant-parented orchestration member replies without changing ordinary assistant parentage or model context. - Keep home installs target-safe (
affaan-m/ECC#3116,pr) — CI repair round 1 pushed; replacement matrix has no failures and is still running;Existing PowerShell-probe and loaded-macOS test budgets now tolerate slower CI startup without changing production behavior. - Guard broadcasts by renderer frame (
apache/maka#5135,pr) — Ready PR open with successful checks; maintainer review pending;Desktop broadcasts are now guarded against stale or destroyed renderer frames. - Stream final child values on Command.PARENT (
langchain-ai/langgraph#3362,issue) — Validated immutable reference and first assignment/approach request published;Partial writes are projected onto copied child channels for streaming, preserving parent-only persistence semantics. - AgentSession 输出上限回归 (
CherryHQ/cherry-studio#20240,pr) — 已推送测试并回复,待复审与 CI;补充真实会话 HTTP 回归,证明默认输出上限省略且 compaction 显式上限保留。 - MCP 工具刷新排查 (
CherryHQ/cherry-studio#20283,issue) — 已回复,等待剩余复现信息;核实正式版已含相关改动,给出 MCP 绑定及重启排查步骤。 - Pi shell 路径隔离读取 (
CherryHQ/cherry-studio#20304,pr) — 修复已推送并通过本地验证,待复审与CI;将自定义shell配置读取收窄到单个字段,明确工作区信任与回退优先级。 - 密码字段安全状态快照 (
browser-use/browser-use#5795,pr) — Ready PR 已提交并处理首轮 reviewer 反馈,当前 head CI 运行中。;在不保存密码内容的前提下,让 Agent 区分密码框未知、为空或已填写,并修复公开 dataclass 的位置参数兼容性。 - 同一 Daemon 的 Agent 独立项目目录 (
multica-ai/multica#8399,pr) — Ready PR 已提交,当前 19 项 GitHub 检查成功,等待维护者评审。;为项目目录绑定增加可选 Agent 维度,精确绑定优先且兼容旧默认,并保持同路径并发锁。 - Polish localization scout metadata accuracy (
affaan-m/ECC#3096,pr) — review fix submitted; CI pending;将波兰语模块描述收窄到实际交付的入门、核心概念和术语表,并通过定向 manifest/locale 检查。 - Prevent duplicate deferred TTSR reminders (
can1357/oh-my-pi#12057,pr) — Draft PR submitted after the duplicate-delivery regression was reproduced; human review remains pending;Deferred reminders reserve matched rules through queued delivery, commit repeat cooldown on persistence, and roll back cancellation by exact delivery token. Expose an OpenCode V2 plugin setup entry (
code-yeongyu/oh-my-openagent#8295,pr) — Draft PR submitted; contributor review and CLA action pending;The plugin bundle now passes the V2 loader schema without removing its functional V1 server entrypoint; this is loader compatibility, not a full V2 feature migration.- 今日合并:已核实至少 1。
- 今日关闭(未合并):已核实至少 0。
今天合并的旧 PR
旧 PR 指今天之前创建、今天合并的 PR;已包含在今日合并总数中。
- 覆盖未完成;暂无已核实今天合并的旧 PR。

从问题、改动、验证到评审的开源贡献交付路径
2 今天吸取的经验
- Persisted admission state separates interrupting one turn from keeping a stopped session stopped across queued completions and restarts.
- 证据:GitHub
- Exact runtime and config grants can restore Apple Git without widening sandbox access or discarding global ignore behavior.
- 证据:GitHub
- A redraw coalescer must flush complete scrollback and cancel stale timers on stop, restart, input and resize.
- 证据:GitHub
- Executable generated-script tests catch asynchronous render, retry and fallback regressions that HTML-string checks cannot.
- 证据:GitHub
- A desktop close preference stays predictable when persistence, window interception, tray restoration and explicit quit are owned by one main-process contract.
- 证据:GitHub
- Exact machine-owned identity matching restores imported custom ACP launches without putting executable paths into imported metadata or choosing among ambiguous configs.
- 证据:GitHub
- An installer should validate and deploy the exact compiled entrypoints its runtime configuration loads, while digest-gated migration prevents deleting user-edited legacy sources.
- 证据:GitHub
- Compiled runtime upgrades need deletion semantics for obsolete outputs, not only installation semantics; ownership proofs should bind the recorded digest to the exact active destination.
- 证据:GitHub
- Concurrency control belongs at the shared service boundary when multiple UI or lifecycle instances can launch the same operation.
- 证据:GitHub
- CSS wrapping keywords differ in intrinsic sizing semantics, so cascade order can turn a readability utility into letter-by-letter table layout.
- 证据:GitHub
- Post-render viewBox normalization is a more complete width contract than enumerating Mermaid diagram-family settings.
- 证据:GitHub
- Wire-format regressions are caught at the request-body boundary only when live and durable replay expectations move together; PR #5278 now asserts bounded tool content and matching tool-call IDs.
- 证据:GitHub
- Detached Windows descendants require containment at process creation; assigning a Job Object only after spawn leaves a race for MSYS2 pipelines.
- 证据:GitHub
- A dependency that is irrelevant to one install target should be reported as skipped without automatically discarding a parent module that explicitly supports that target.
- 证据:GitHub
- Conversation parsers need role plus orchestration provenance: ordinary assistant messages and member replies share a role but have different branch-recovery semantics.
- 证据:GitHub
- Safe installer migrations need both filesystem ownership proof and state retirement; either one alone can preserve stale behavior or delete user changes.
- 证据:GitHub
- Small localization contributions are easier to sustain when language selectors, package aliases and terminology guidance land together with a deliberately bounded first translation.
- 证据:GitHub
- When a graph event is only an observation, derive it from copied channel state instead of mutating the checkpointed child graph; this keeps stream visibility and persistence semantics independently testable.
- 证据:GitHub
- A failure in an unchanged CI path should be compared with the exact base and prior head before it is labeled a regression; here that comparison isolated runner timing and led to a narrow test-budget repair.
- 证据:GitHub
- 配置值被正确传递,并不代表配置来源正确:路径回归需要从真实设置文件验证到运行时,同时检查优先级与隔离边界。
- 证据:GitHub
- 评审提出的调用链疑问,需要沿真实 SDK 会话走到 HTTP 请求体。模型目录中的预算和请求选项中的显式上限可以共存,测试应证明它们的来源与用途,而不是先假定 SDK 混淆了两者。
- 证据:GitHub
- 只把一个配置值传入运行时,并不等于加载边界足够窄。字段白名单读取还需要说明来源优先级,以及工作区配置是否有权选择执行程序。
- 证据:GitHub
- 数据类的字段顺序也是兼容面:新增状态字段应追加而非插入,避免外部位置参数调用静默错位。
- 证据:GitHub
- 多 Agent 工作目录不是简单放宽唯一约束;还要定义精确绑定与默认回退顺序,并让相同真实路径继续共享并发锁。
- 证据:GitHub
- 本地化清单不能用宽泛“已翻译参考文档”代替真实文件覆盖;让模块元数据与 locale 文件集合一致,可避免安装后能力预期偏差。
- 证据:GitHub

证据、实现、反馈与改进构成的可验证工程学习闭环
3 有意思的模块与行业动态
- Persist quota-blocked turns and retry them after provider reset(
LodyAI/Lody)- 讨论问题:为结构化额度耗尽的会话回合建立持久、机器本地的延迟重试;核心设计边界是“本地未观察到输出”不能等同于上游未执行。
- 行业动态:由本案例归纳:代理与工作流系统的延迟重试不能只靠本地队列状态;跨进程边界需要把“已提交但结果未知”作为一等状态,而非把缺少遥测当作安全重试许可。
- 总结点:复用既有 session dispatch 路径可避免并行锁与生命周期内的竞态。;需要为 submit-before-observe 的崩溃边界设计专门回归:默认阻止重放,直到有可验证的幂等或恢复证据。
- When langgraph stream_mode includes custom, cached results omit custom data(
langchain-ai/langgraph)- 讨论问题:节点缓存命中时是否应重放 custom stream events(如 token usage、进度和工具消息),还是明确把缓存定义为仅保存 state update。
- 行业动态:由本案例归纳:缓存层与流式可观测性之间必须明确契约——缓存的是计算结果、事件历史,还是两者;把事件重放加入缓存会改变存储成本、顺序与副作用语义。
- 总结点:先以可量化的 UI/审计场景说明“缓存命中仍需事件”的必要性,再讨论事件记录与回放。;若推进实现,应定义事件顺序、序列化边界、缓存 TTL/大小和 cached 元数据对所有 stream mode 的行为。
- V2 TUI: simplify provider labels in prompt and model picker(
anomalyco/opencode)- 讨论问题:在缩短订阅模型的提示栏标签时,模型选择器如何继续可靠地区分订阅的 backing provider 与同名 BYOK provider。
- 行业动态:由本案例归纳:面向多供应商模型目录的 UI 可读性取决于运行时来源谱系;若 provenance 只存在于展示字符串,后续去重、分组与审计都会被迫依赖脆弱推断。
- 总结点:将立即可交付的标签简化与依赖新元数据契约的 picker 分组拆开,避免 UI 猜测来源。;新字段应在 catalog/provider 边界被明确填充,并配合 BYOK 重名、缺失元数据和回退路由测试。
- Define observable browser-action outcomes without overstating success(
browser-use/browser-use)- 讨论问题:Whether Browser Use should expose a minimal page fingerprint/delta or an attributable action receipt that separates delivery, completion and observed effect.
- 行业动态:由本案例归纳:浏览器代理的可靠性接口应区分“命令送达、执行完成、观测到变化、变化可归因”,否则单一 success 会掩盖预渲染和异步页面造成的不确定性。
- 总结点:Raw observations should remain available instead of being collapsed into one success boolean.;Unknown is a necessary outcome when the client cannot attribute a page change to the requested action.
- Bound destructive terminal redraws without stale scrollback(
earendil-works/pi)- 讨论问题:How to coalesce repeated full transcript redraws while preserving the final complete terminal state and responsive input/resize/stop behavior.
- 行业动态:由本案例归纳:终端 UI 的性能优化不能只统计渲染次数;正确契约还包括最终滚屏完整性,以及输入、resize 与生命周期事件对延迟工作的抢占。
- 总结点:Coalescing may delay intermediate redraws but must never skip the final complete redraw.;Interaction and lifecycle edges must cancel or flush stale timers.
- Workflow-driven squads versus agent leaders(
multica-ai/multica)- 讨论问题:How a hybrid squad should combine explicit workflow nodes with model-led decisions.
- 行业动态:由本案例归纳:Propose a minimal DAG/linear spec with human, script, agent and squad nodes, typed handoffs, retry/cancel behavior, and an acceptance comparison against leader-only execution.
- 总结点:Hybrid design needs an explicit boundary between deterministic orchestration and leader discretion.;Recovery and typed handoff semantics should precede broad implementation.
- Capability-gated editing of reasoning content(
lobehub/lobehub)- 讨论问题:Whether historical reasoning text may be edited without corrupting signed or opaque provider replay data.
- 行业动态:由本案例归纳:Map persisted reasoning types and provider replay paths, then propose capability-gated UX and tests for unsigned edits, signed rejection, opaque-item retention and unsupported-provider preservation.
- 总结点:Editable display text and replay-authoritative provider data need separate contracts.;The UI should expose why a field is immutable rather than silently rewriting it.
- Lifecycle of the gsap non-transform motion lint rule(
heygen-com/hyperframes)- 讨论问题:Whether the rule remains a quality gate after html-in-canvas becomes the default, and where lint should run across repositories.
- 行业动态:由本案例归纳:First verify current default/flag behavior and merged replacements #1916-#1921, then propose either a sunset note or a minimal canvas-exemption regression plus severity decision.
- 总结点:Rule severity should follow the live render-path contract, not stale linked PR state.;Cross-repository generation needs a defined lint execution boundary.
- Retry-from-turn conversation revision model(
apache/maka)- 讨论问题:How Regenerate, Branch and Edit should create retriable revisions without duplicating provider inputs or crash-replaying a submitted turn.
- 行业动态:由本案例归纳:对话分支、重生成与编辑如果共用同一重试管道,必须把“修订谱系”和“是否已被上游接受”建模为持久状态,否则恢复过程会把 UI 操作变成重复提交。
- 总结点:Revision identity and retry eligibility should be explicit host state.;Crash recovery must distinguish accepted upstream work from safe replay.
- Canonical Codex session attribution across lifecycle edges(
earendil-works/pi)- 讨论问题:How tool continuation, reconnect and compaction map provider thread, persisted session and logical user turn identifiers.
- 行业动态:由本案例归纳:长会话代理需要把本地会话、供应商线程和用户回合分层建模;如果只存一个 session id,重连和压缩后的审计、计费归因都会变成猜测。
- 总结点:Persisted session, provider thread and logical turn are distinct concepts.;Observed wire differences should not be promoted to billing causality without evidence.
- Trust scope for custom AI endpoint certificates(
CherryHQ/cherry-studio)- 讨论问题:How an opt-in certificate exception can remain limited to one custom provider origin without weakening unrelated Electron traffic.
- 行业动态:由本案例归纳:桌面 AI 客户端支持私有 HTTPS 端点时,证书例外不能只按主机名做全局开关;安全边界必须与供应商 origin 和会话生命周期一致。
- 总结点:Hostname-only allowlists are insufficient for custom-port provider isolation.;Certificate exceptions need revocation/cache tests and explicit user-facing risk scope.

持久会话、供应商线程、用户回合与信任边界分层协作
4 今天在哪些项目做了贡献
LodyAI/Lody:Updated the existing history-refresh PR and submitted four focused CLI/session PRs, including exact machine-config restoration for imported custom sessions; open drafts await maintainer review.(来源 1、来源 2、来源 3、来源 4、来源 5)apache/maka:Ready PRs #5266, #5278 and #5286 cover bounded sandbox Git access, bounded image Tool Results and renderer-frame-safe broadcasts; their current checks have succeeded.(来源 1、来源 2、来源 3)earendil-works/pi:Published validated fixed-fork references for bounded terminal redraws (#9255) and creation-time Windows Job containment (#9129); both await maintainer LGTM before PR creation.(来源 1、来源 2)makecindy/cindy:Updated PR #4424 with executable bundled-Mermaid runtime coverage and diagram-family-independent intrinsic-width scrolling; both review threads were resolved after focused 28/28, typecheck and mandatory related tests passed.(来源 1)multica-ai/multica:Submitted PR #8364 for configurable Desktop close behavior and PR #8411 for agent-scoped local project directories with backward-compatible fallback and path locking.(来源 1、来源 2)CherryHQ/cherry-studio:PR #20353 now covers both aiSdk and pi Agent output-limit paths; the rebased signed head passed repository checks and required CI. Also corrected Pi shell selection in PR #20322 with real settings-file coverage; review is pending. Added real AgentSession token-limit coverage in #20353 and verified released MCP refresh behavior for #20283; follow-up responses are published.(来源 1、来源 2、来源 3)lobehub/lobehub:Published fixed fork references for nested polling status and conversation-flow member recovery; both await repository-required product acceptance evidence before PRs.(来源 1、来源 2)langchain-ai/langgraph:Published a fully tested reference for final child-namespace values events that does not mutate child checkpoints; PR creation awaits approach approval and assignment.(来源 1)browser-use/browser-use:Submitted PR #5798 to expose only non-secret password field state, with live-browser non-leak coverage and a reviewer-driven compatibility correction.(来源 1)affaan-m/ECC:修复 PR #3121 的波兰语模块范围描述并解决 review thread;新 head CI 正在运行。(来源 1、来源 2)can1357/oh-my-pi:Submitted Draft PR #12065 to prevent deferred TTSR reminders from bypassing repeatGap before queued delivery persists.(来源 1)code-yeongyu/oh-my-openagent:Submitted Draft PR #8297 to satisfy the OpenCode V2 plugin loader schema while preserving the V1 server path; focused tests, typecheck and isolated OpenCode 2.0.3 loading passed.(来源 1)