返回 CodeWhale
CONTRIBUTORS.md
根目录 / docs / CONTRIBUTORS.md
1 # Contributors
2
3 Codewhale is built in the open with a growing community of contributors. Every
4 issue report and pull request is real project work — welcome at any experience
5 level. This is the full per-PR contributor record, grouped into release/time
6 bands with the newest band first so it stays scannable. Expand any band to see
7 everyone.
8
9 For the live list, see the
10 [GitHub contributors page](https://github.com/Hmbown/CodeWhale/graphs/contributors),
11 [`AUTHOR_MAP`](https://github.com/Hmbown/CodeWhale/blob/main/.github/AUTHOR_MAP),
12 and [CHANGELOG.md](../CHANGELOG.md).
13
14 ## Organizational thanks
15
16 - **[DeepSeek](https://github.com/deepseek-ai)** — the models and support that got this project started. 感谢 DeepSeek 提供模型与支持。
17 - **[DataWhale](https://github.com/datawhalechina)** 🐋 — for the support and for welcoming us into the Whale Brother family. 感谢 DataWhale 的支持。
18 - **[OpenWarp](https://github.com/zerx-lab/warp)** — for prioritizing Codewhale support and collaborating on a better terminal-agent experience.
19 - **[Open Design](https://github.com/nexu-io/open-design)** — for support and collaboration around design-forward agent workflows.
20
21 The maintainer rule: reports and PRs are real project work, even when the final
22 patch has to be narrowed, delayed, or harvested into a maintainer branch.
23 Harvested PRs keep visible credit in the commit/PR body, changelog or release
24 notes, and relevant issue/PR comments.
25
26 ---
27
28 ## Contributors by time
29
30 <details open>
31 <summary><strong>v0.9.4 — calmer output, recovery, and release hardening</strong></summary>
32
33 **Merged or adapted contributions**
34
35 - **[Sh1Zuku / SparkofSpike](https://github.com/SparkofSpike)** — LaTeX
36 rendering in PR #4981, circled-digit and keycap width handling in PR #5001,
37 and actionable File-edit recovery in PR #5008; sub-agent checkpoint resume
38 in PR #5242, real shell wait elapsed time in PR #5240, and keeping
39 alternate-scroll off while mouse capture is active in PR #5234
40 - **[XhesicaFrost](https://github.com/XhesicaFrost)** — long Windows user-PATH
41 preservation in PR #5006
42 - **[Paulo Aboim Pinto / aboimpinto](https://github.com/aboimpinto)** — the
43 user-command dispatch acceptance contract in PR #4992
44 - **[shenjackyuanjie](https://github.com/shenjackyuanjie)** — Windows
45 OpenHarmony linker re-quoting for spaced SDK paths in PR #5095
46 - **[bistack](https://github.com/bistack)** — MCP Registry discovery with
47 Registry-first tool selection in PR #5238
48 - **[vFONGv](https://github.com/vFONGv)** — the zh-CN Windows beginner guide
49 with screenshots in PR #5229
50
51 **Reports, reproductions, and verification**
52
53 - **[DracheTek](https://github.com/DracheTek)** — the multilingual, CRLF-heavy
54 File-edit failure report in issue #5003
55 - **[An Ziwu / MuRongMoQing](https://github.com/MuRongMoQing)** — the Windows
56 PATH-overwrite defect report in issue #4685
57
58 </details>
59
60 <details>
61 <summary><strong>v0.9.3 — DeepSeek Responses, canonical tools, and runtime hardening</strong></summary>
62
63 - **[greyfreedom](https://github.com/greyfreedom)** (Turisla) — the documented
64 and tested authorization-order contract from PR #4980
65 - **[nightt5879](https://github.com/nightt5879)** (Nightt) — foreground shell
66 detachment before steering from PR #4979
67 - **[Watcher24](https://github.com/Watcher24)** — the macOS File Provider
68 sandbox report and reproduction in #4085
69 - **[Fred Leitz / fleitz](https://github.com/fleitz)** — required
70 source-candidate credit for the canonical `Bash` no-`cwd` workspace fix and
71 regression in PR #4673 (issue #4674)
72
73 </details>
74
75 <details>
76 <summary><strong>v0.9.2 — routing, workflow, localization, and inspectability</strong></summary>
77
78 - **[greyfreedom](https://github.com/greyfreedom)** — exact repository-scoped
79 allow grants and the cross-platform path-semantics repairs from PR #4761
80 - **[nightt5879](https://github.com/nightt5879)** — off-event-loop terminal
81 clipboard writes (PR #4896), complete locale exposure in settings (PR #4856),
82 CRLF-safe edits (PR #4942), and automatic-routing reasoning preservation
83 (PR #4961)
84 - **[XhesicaFrost](https://github.com/XhesicaFrost)** — the configurable
85 session-token header from PR #4610 and context-menu hover alignment in PR #4897
86 - **[cyq1017](https://github.com/cyq1017)** — the hooks configuration/executor
87 split from PR #4087
88 - **[snail-vs](https://github.com/snail-vs)** (snailoniu) — OpenCode Zen's
89 model-aware route, authentication, documentation, and test-isolation work
90 from closed PR #4467, whose contributor commits are preserved in the
91 candidate
92 - **[Sh1Zuku / SparkofSpike](https://github.com/SparkofSpike)** — the zh-Hans
93 translation quality review harvested from PR #4908, duplicate-session fix in
94 PR #4963, LaTeX implementation from PR #4973 landed through #4974, and the
95 context-menu reproduction in #4803
96 - **[GTC2080](https://github.com/GTC2080)** (TaoMu) — the `dryrun` concept
97 behind `/preview-request`: preview the next outbound request from the real
98 request-building seam rather than a hand-rolled summary (PR #1099,
99 harvested)
100 - **[h3c-hexin](https://github.com/h3c-hexin)** — the non-UTF-8 `fetch_url`
101 report and implementation direction harvested from PR #4909
102 - **[Fred Leitz / fleitz](https://github.com/fleitz)** — required
103 source-candidate credit for the canonical `Bash` no-`cwd` workspace fix and
104 regression in PR #4673 (issue #4674)
105 - **[LmeSzinc](https://github.com/LmeSzinc)** — the Windows CRLF `edit_file`
106 reproduction, root-cause analysis, and affected-code anchors in issue #4764
107 - **[atmosuwiryo](https://github.com/atmosuwiryo)** — ACP numeric-id
108 compatibility (PR #4929) and the Indonesian documentation and website locale
109 (PRs #4962 and #4972)
110 - **[M-Maciej](https://github.com/M-Maciej)** — the expanded-by-default
111 reasoning setting and report (PR #4928, issue #4925)
112 - **[raphamorim](https://github.com/raphamorim)** — migration of the QA PTY
113 frame parser to `rio-vt` (PR #4931)
114 - **[LI-Jialu](https://github.com/LI-Jialu)** — truthful finalization of stale
115 restored shell cells (PR #4937)
116 - **[kobihikri](https://github.com/kobihikri)** — release-container SBOM and
117 explicit provenance mode (PR #4958)
118 - **[EvanProgramming](https://github.com/EvanProgramming)**,
119 **[adity982](https://github.com/adity982)**, and
120 **[vibecoding-skills](https://github.com/vibecoding-skills)** — equivalent
121 fix direction for effective-home resolution (#4760), MCP call-once behavior
122 (#4756), and streaming/non-streaming timeout separation (#4743)
123 - **[antarikshraya](https://github.com/antarikshraya)** — the LaTeX transcript
124 rendering report in #4957
125 - **[eugenicum](https://github.com/eugenicum)** — the token-header request and
126 output-presentation measurements in #4520 and #4468
127 - **[whp233](https://github.com/whp233)** — the StepFun/OpenCode subscription
128 route request in #4526
129 - **[redjade75723](https://github.com/redjade75723)** — stale resumed-workspace
130 diagnosis input from #4100
131 - **[hardy922](https://github.com/hardy922)** — the native DeepSeek tool-token
132 visibility report in #3880
133 - **[JayBeest](https://github.com/JayBeest)** — contributor-onboarding product
134 direction in #4227
135 - **[elijahchan2019](https://github.com/elijahchan2019)** — the optional
136 reasoning-highlight request in #4089
137 - **[cy2311](https://github.com/cy2311)** — sessions rail, archive, and
138 auto-resume direction in #2934
139 - **[wywsoor](https://github.com/wywsoor)** — export/restore correlation
140 direction in #2494
141
142 </details>
143
144 <details open>
145 <summary><strong>v0.9.1 — provider and runtime hardening</strong></summary>
146
147 - **[h3c-hexin](https://github.com/h3c-hexin)** — calendar-anchored hourly
148 automation recurrence across DST and lifecycle transitions (PR #4381),
149 explicit limits for unknown local models (PR #4656 / #4655), and
150 idle-timeout progress telemetry (PR #4657)
151 - **[gaord](https://github.com/gaord)** — Runtime API provider registry and
152 atomic provider-switch endpoints (PR #4658)
153 - **[SamhandsomeLee](https://github.com/SamhandsomeLee)** — the unified
154 `/skills` root catalog, audit/provenance model, validated mutations, manager
155 UI, and acceptance coverage (PR #4679), plus Enter-send lag diagnosis and
156 fix direction for #4605 (PR #4654; landed through the release-lane
157 async-dispatch split)
158 - **[Paulo Aboim Pinto / aboimpinto](https://github.com/aboimpinto)** — the
159 Layer 5.1 user-command registry boundary from PR #3278; the exact authored
160 evidence commit from PR #4046, preserved intact in the integration graph;
161 and the #2870 follow-up audit whose metadata and malformed-sibling gaps
162 shaped the final corrections. Paulo also provided the structured, redacted
163 Agent Details and `current_activity` design direction preserved from
164 #2694/#2889 and the real-PTY lifecycle acceptance direction from #2886
165 - **[baendlorel](https://github.com/baendlorel)** — TelecomJS TokenHub provider
166 and key-scoped live-catalog direction, source-partitioned refresh behavior,
167 and both refresh-order regressions from PR #4370, harvested into the current
168 provider architecture with co-authorship preserved
169 - **[zhangweiii](https://github.com/zhangweiii)** and
170 **[Sterne Lee / sternelee](https://github.com/sternelee)** — the original
171 first-class OpenCode Go implementations in PRs #773 and #1050, harvested
172 into the current provider architecture with co-authorship preserved in the
173 landing commit
174 - **[Sean Tse / seanthefuturegorilla](https://github.com/seanthefuturegorilla)**
175 — the canonical OpenCode Go/Zen provider request and acceptance direction in
176 #1481
177 - **[nightt5879](https://github.com/nightt5879)** — `/debt` compatibility
178 aliases with dispatch-consistent user-command shadowing across help and
179 slash discovery (PR #4680), plus the Solarized Light background preservation
180 fix for the underwater shell (PR #4471)
181 - **[AiurArtanis](https://github.com/AiurArtanis)** — the Solarized Light
182 v0.9.0 regression report and reproduction (#4457)
183 - **[shenjackyuanjie](https://github.com/shenjackyuanjie)** — the HarmonyOS
184 workflow-js bindgen, portable-pty gating, and SDK environment work
185 (PR #4470)
186 - **[shenyongqing](https://github.com/shenyongqing)** — the original HarmonyOS
187 workflow-js bindgen approach (PR #4384), carried into the landed
188 implementation with credit
189 - **[Luis Mateus Vargas / luismateusvargas](https://github.com/luismateusvargas)**
190 — the Windows hook-process leak reproduction, process-tree analysis, and EOF
191 fix direction (#4489)
192 - **[redjade75723](https://github.com/redjade75723)** — the persistent Windows
193 PTY failure report that exposed lossy high-bit exit-status handling (#4100)
194 - **[w1w218](https://github.com/w1w218)** — the Windows ARM64 release request
195 and cross-compilation report that led to native release, npm, updater, and
196 archive support (#4267)
197 - **[Sh1Zuku / SparkofSpike](https://github.com/SparkofSpike)** — the Windows
198 Ctrl+O reproduction that exposed pre-pager result truncation and conflicting
199 composer shortcut routing (#4482)
200 - **[Lu Shihan / Angel-Hair](https://github.com/Angel-Hair)** — session-owned
201 read-before-edit tracking and the explicit, backwards-compatible
202 `apply_patch` replacement contract (PRs #4475 and #4476)
203 - **[dmitri-0](https://github.com/dmitri-0)** — configurable cache-hit
204 visibility in the phase strip (PR #4474)
205 - **[Fred Leitz / fleitz](https://github.com/fleitz)** — canonical `Bash`
206 no-`cwd` workspace resolution and its regression test, keeping isolated
207 sub-agent commands inside their selected worktree (PR #4673; issue #4674)
208 - **[Sh1Zuku / SparkofSpike](https://github.com/SparkofSpike)** — exact
209 Vim-space regression reproduction and verification that the v0.9.1 input
210 path already contains the needed global binding (PR #4477)
211
212 </details>
213
214 <details open>
215 <summary><strong>v0.9.0 — underwater shell, runtime persistence &amp; release evidence</strong></summary>
216
217 The v0.9.0 lane grew from a maintenance sweep into the underwater shell,
218 message-first Operate, broader Fleet and Workflow behavior, runtime-thread
219 persistence, terminal selection, UTF-8 handling, internationalization, and
220 release evidence. The reports and pull requests below materially shaped it.
221
222 - **[Amuthan / amuthantamil](https://github.com/amuthantamil)** — approval-time
223 transcript review report that led to live Page Up/Down, modified-arrow,
224 Home/End, and mouse-wheel navigation while the decision card stays active
225 (#4371)
226 - **[Angel-Hair](https://github.com/Angel-Hair)** — reports that restored the
227 opt-in `remember` tool to the first-turn catalog, made required user
228 confirmation a real goal blocker, and added a clear recovery notice for
229 cached approval denials (#4373, #4374, #4375)
230 - **[Bruce / bruce6135](https://github.com/bruce6135)** — Kimi Coding Plan
231 reproduction that exposed the false 1K emergency-compaction budget (#4368)
232 - **[Matt Van Horn / mvanhorn](https://github.com/mvanhorn)** — first-turn
233 `remember` regression coverage and the Kimi output-budget correction that
234 prevents false emergency compaction (#4377, #4378)
235 - **[郝某人BH / hmr-BH](https://github.com/hmr-BH)** — native Simplified
236 Chinese review that replaced literal legal/doctrinal metaphors with clear
237 collaboration terminology across setup and `/constitution` (#4369)
238 - **[WavesMan](https://github.com/WavesMan)** — large-tree `@` completion
239 reproduction that led to bounded background discovery and exact-path
240 resolution on send (#4365)
241 - **[SamhandsomeLee](https://github.com/SamhandsomeLee)** — input-budget-aware
242 compaction work harvested from PR #4293 with co-authorship preserved
243 - **[idling11](https://github.com/idling11)** — keyboard-driven keyword search
244 for the docs and FAQ surfaces (PR #4364)
245 - **[LeoLin990405](https://github.com/LeoLin990405)** — initial bounded
246 workspace-walk approach and root-cause analysis for large-tree `@` mention
247 discovery (PR #4367), harvested into the final fail-soft background
248 implementation for #4365
249 - **[octo-patch](https://github.com/octo-patch)** — MiniMax Messages provider
250 support for MiniMax-M3 and MiniMax-M2.7 across OpenAI-compatible and Messages
251 routes, regional endpoints, catalog metadata, pricing, and request coverage
252 (PR #4354)
253 - **[Wenshan Deng / findshan](https://github.com/findshan)** — original offline
254 token/cache/cost scorecard and regression gate (#3388), extended with
255 provider-aware provenance in #4335
256 - **[hongqitai](https://github.com/hongqitai)** — localization extraction and
257 English-locale enforcement that keep UI copy on the typed translation path
258 (#4225, #4194)
259 - **[nsfoxer](https://github.com/nsfoxer)** — bounded, fail-soft MCP capability
260 discovery with advertised/legacy `tools/list` handling and Unicode-safe
261 description formatting (#4308, harvested with co-authorship)
262 - **[maple / yekern](https://github.com/yekern)** — root-cause analysis and fix
263 direction for age-evicting terminal worker records from long-lived
264 sub-agent state ledgers (#4217)
265 - **[moduvoice](https://github.com/moduvoice)** — Korean (ko) UI locale with
266 full key parity and onboarding/setup wiring (PR #4347)
267 - **[qinlinwang](https://github.com/qinlinwang)** — Anthropic tool-schema
268 sanitization for top-level oneOf/anyOf/allOf failures (PR #4346)
269 - **[knqiufan](https://github.com/knqiufan)** — Anthropic cache-write token
270 pricing at published rates (PR #4348, #4318)
271 - **[Chavdar Ivanov / ci4ic4](https://github.com/ci4ic4)** — NetBSD QuickJS
272 bindgen support for codewhale-workflow-js (PR #4349)
273 - **[eugenicum](https://github.com/eugenicum)** — copy-paste rail-pollution
274 report with code-aware fix direction (#4208)
275 - **[JayBeest](https://github.com/JayBeest)** — parent
276 `--disallowed-tools` inheritance through sub-agents and Fleet workers,
277 harvested from PR #4096 with authorship preserved (#4042)
278 - **[wuisabel-gif](https://github.com/wuisabel-gif)** — move runtime-thread
279 coordination onto `parking_lot::Mutex` to remove async lock contention
280 (#4243, #4149)
281 - **[cyq1017](https://github.com/cyq1017)** — Windows Python stdio UTF-8
282 handling and richer active-tool summaries (#4281/#4202, #3818)
283
284 - **[Jeffrey Luna / Mr-Moon121](https://github.com/Mr-Moon121)** — anti-polling
285 constitution for sub-agent waiting (harvested into #4097 / PR #4229 from
286 PR #4098)
287
288 - **[MXAntian](https://github.com/MXAntian)** — persist compaction summaries
289 into thread records so `/v1` engine reloads keep compacted context (#4091)
290 - **[nightt5879](https://github.com/nightt5879)** — keep native terminal
291 selection usable when mouse capture is disabled, and advance fuzzy edit
292 matches on UTF-8 character boundaries; preserve inline skill task text in
293 PR #4372 (#4088, #4045, #3915)
294 - **[gaord](https://github.com/gaord)** — add the community-maintained
295 CodeWhale for VS Code GUI frontend to the English and Chinese READMEs (#4035)
296 - **[Darrell Thomas](https://github.com/DarrellThomas)** — remove the unused
297 whale route taxonomy module and its dead tests (#4041)
298 - **[Taixin Guo](https://github.com/taixinguo)** — CJK fuzzy-edit panic report
299 and fix direction credited in the UTF-8 boundary patch (#3971, #4045)
300 - **[CCChisato](https://github.com/CCChisato)** — preserve task text when
301 sending dollar, unified-slash, and explicit skill invocations (#3915,
302 co-authored)
303 - **[Sun Zhenyuan / bistack](https://github.com/bistack)** — dynamic MCP server
304 infrastructure and approval-gated model-started MCP servers from chat
305 context (#3869, #3866, harvested with authorship preserved)
306
307 </details>
308
309 <details>
310 <summary><strong>v0.8.66 — release readiness, provider intake &amp; UI hardening</strong></summary>
311
312 The v0.8.66 release prepared the 0.8.66 package lane, hardened provider/model
313 routing and modal surfaces, advanced Hotbar/sub-agent UI reliability, and pulled
314 in several community provider and bridge contributions with release credit.
315
316 - **[lerugray](https://github.com/lerugray)** — Sakana AI Fugu provider
317 support across config, CLI, TUI provider picker, docs, and model completions
318 (#3748, harvested)
319 - **[greyfreedom](https://github.com/greyfreedom)** — read-only `/config
320 ask-rules` view for resolved ask-rule paths, status, and configured
321 tool/command/path rules (#3569, merged)
322 - **[noaft](https://github.com/noaft)** — `/links` provider docs fallback
323 update, including the current CodeWhale docs URL and a Baidu Qianfan docs
324 link (#3621, harvested)
325 - **[noaft](https://github.com/noaft)** — OpenModel provider support across
326 config, CLI, TUI provider picker, docs, and registry checks (#3585,
327 harvested)
328 - **[pkeging](https://github.com/pkeging)** — original plugin manifest,
329 discovery, CLI, and MCP foundation (#3708, #3709, #3710, merged), plus WeCom
330 Bridge deployment and security documentation, including the approval-timeout
331 configuration surface (#3640, harvested)
332 - **[codepgq](https://github.com/codepgq)** — cross-client plugin-workflow
333 migration request that shaped the explicit compatibility and trust boundary
334 (#1172)
335 - **[Wenshan Deng / findshan](https://github.com/findshan)** — original offline
336 token/cache/cost scorecard and regression gate (#3388), extended with
337 provider-aware provenance in #4335
338 - **[buko](https://github.com/buko)** — precise Ctrl+O external-editor freeze
339 reproduction that shaped the terminal input-pump fix (#3657)
340 - **[cyq1017](https://github.com/cyq1017)** — sub-agent progress-event
341 headroom report that shaped the fanout reliability hardening (#3783)
342
343 </details>
344
345 <details>
346 <summary><strong>v0.8.63 — sub-agent budgets, command extraction &amp; reliability</strong></summary>
347
348
349 The v0.8.63 release hardened sub-agent fanout with token-budget governance and
350 queue-and-drain admission, split the TUI command surface into focused modules,
351 and landed reliability fixes for app-server teardown, JavaScript-execution
352 proxying, and DeepSeek thinking tool calls — alongside community contributions.
353
354 - **[donglovejava](https://github.com/donglovejava)** — per-worker sub-agent
355 token-budget enforcement, so a `token_budget`/`max_tokens` on an individual
356 `agent` call bounds that worker mid-run with a clean `budget_exhausted` stop
357 (#3321, harvested)
358 - **[cyq1017](https://github.com/cyq1017)** — `js_execution` proxy-environment
359 handling (#3331), Hugging Face API-key env in the auth probe (#3329), and Codex
360 Responses request retry (#3344) — harvested into the train
361 - **[aboimpinto](https://github.com/aboimpinto)** — FEAT-005 command extraction:
362 core/session command groups split into focused modules via `RegisterCommand`,
363 `/swarm` migration, and Gherkin acceptance coverage (#3330, merged literally
364 with authorship preserved)
365 - **[wuisabel-gif](https://github.com/wuisabel-gif)** — tear down the delegated
366 serve/app-server child process when the dispatcher exits (#3259 / #3317)
367 - **[nightt5879](https://github.com/nightt5879)** — keep the onboarding marker in
368 the codewhale home view (#3302) and branch-hygiene check hardening (#3348)
369 - **[gaord](https://github.com/gaord)** — preserve thinking/tool blocks when
370 seeding a thread from a saved session, plus Hugging Face provider env (#3329)
371 - **[greyfreedom](https://github.com/greyfreedom)** — persist ask-permission rules
372 from approvals and stabilize the CI verifier/provider-registry checks
373 - Reports that shaped fixes: **[lordwedggie](https://github.com/lordwedggie)**
374 (#3331 proxy env), **[Final527](https://github.com/Final527)** (#3240 legacy
375 state migration), **[dxfq](https://github.com/dxfq)** (#3228 sidebar default)
376
377 </details>
378
379 <details>
380 <summary><strong>v0.8.62 — provider/model routing, TOML comment preservation &amp; community closeout</strong></summary>
381
382
383 The v0.8.62 release retuned provider/model routing (GLM-5.2 as the default direct
384 Z.AI model, `type: "explore"` sub-agents defaulting to the cheaper same-family
385 sibling), added TOML comment preservation and the CodeWhale-only skill discovery
386 gate, and shipped the static Linux x64 musl binary — alongside a broad community
387 closeout and a retroactive credit reconciliation pass.
388
389 - **[zlh124](https://github.com/zlh124)** — preserve user comments and formatting
390 when rewriting `config.toml`/`settings.toml`/`tui.toml` (with a malformed-file
391 fallback) and Linux build deps in the cargo install guides (#3270)
392 - **[idling11](https://github.com/idling11)** — Kimi `type:object` schema root for
393 all parameter shapes (#3281), `approval_mode` restore on Plan→Agent with a
394 wait-for-user guard (#3279), and workroom metadata draft types
395 - **[LeoLin990405](https://github.com/LeoLin990405)** — Poppler `pdftotext -v`
396 detection (#1667), session persistence before stall/cancel recovery (#2739),
397 and debounced thinking-stream re-renders (#1620)
398 - **[nightt5879](https://github.com/nightt5879)** — CodeWhale-only skill discovery
399 gate (`[skills].scan_codewhale_only`) ignoring cross-tool directories (#3296) and
400 app-server no-auth loopback docs
401 - **[reidliu41](https://github.com/reidliu41)** — slash commands exposed as hotbar
402 actions (#3269)
403 - **[wavezhang](https://github.com/wavezhang)** — static Linux x64 (musl) release
404 binaries
405 - **[wuisabel-gif](https://github.com/wuisabel-gif)** — per-tool snapshot gate
406 respecting `[snapshots].enabled` (#3292) and composer history written under
407 `.codewhale`
408 - **[gaord](https://github.com/gaord)** — `workspace_follow_symlinks` setting for
409 symlink-aware tool operations with hardened path handling
410 - **[greyfreedom](https://github.com/greyfreedom)** — ask-permission rules honored
411 at runtime (#3295)
412 - **[aboimpinto](https://github.com/aboimpinto)** — EPIC-001 command-boundary
413 replay and user-registry review feedback
414 - **[h3c-hexin](https://github.com/h3c-hexin)** — volatile workspace path moved
415 out of the static system prefix (prefix-cache hygiene)
416 - **[hongchen1993](https://github.com/hongchen1993)** — heuristic-only auto routing
417 when the flash router is unavailable
418 - **[lucaszhu-hue](https://github.com/lucaszhu-hue)** — Atlas Cloud provider setup
419 docs
420 - Retroactive reconciliation (shipped earlier, credited now):
421 **[manaskarra](https://github.com/manaskarra)** / **[xfy6238](https://github.com/xfy6238)** (#1157),
422 **[djairjr](https://github.com/djairjr)** (#1309 alongside reidliu41),
423 **[Geallier](https://github.com/Geallier)** (#1470),
424 **[quentin-lian](https://github.com/quentin-lian)** / **[k0tran](https://github.com/k0tran)** (#1531 / #1992),
425 **[F1LT3R](https://github.com/F1LT3R)** (#1656),
426 **[cmyyy](https://github.com/cmyyy)** (#1842),
427 **[Final527](https://github.com/Final527)** (#3058)
428
429 </details>
430
431 <details>
432 <summary><strong>v0.8.61 — runtime control plane &amp; community closeout</strong></summary>
433
434
435 The v0.8.61 release was a community closeout: the runtime control plane, provider
436 patches, and TUI fixes landed alongside first-time and returning contributor work.
437
438 - **[idling11](https://github.com/idling11)** — DeepInfra provider support with
439 OpenAI-compatible routing and model registry entries (#3235, closes #3231)
440 - **[greyfreedom](https://github.com/greyfreedom)** — atomic ask-only
441 permission-rule persistence so an execution-policy rule survives the write
442 that triggered the prompt (#3233)
443 - **[VincentCorleone](https://github.com/VincentCorleone)** — WeChat bridge
444 (`integrations/weixin-bridge`) leveraging Feishu + Tencent OpenClaw (#3206)
445 - **[nightt5879](https://github.com/nightt5879)** — whale-accent rename (#3197)
446 and `$skillname` aliases for `/skill` activation (#3241)
447 - **[mvanhorn](https://github.com/mvanhorn)** — non-DeepSeek model pricing
448 coverage (#3201)
449 - **[cyq1017](https://github.com/cyq1017)** — Telegram polling transport
450 (#3195) and VS Code read-only API documentation (#3013)
451 - **[RobertEmprechtinger](https://github.com/RobertEmprechtinger)** — mobile
452 event history (#3220)
453 - **[gaord](https://github.com/gaord)** — runtime-API session save (#3199)
454 - **[hongchen1993](https://github.com/hongchen1993)** — `DEEPSEEK_BASE_URL` /
455 `MODEL` honored in `exec` (#3221)
456
457 </details>
458
459 <details>
460 <summary><strong>Forward track — recent v0.9 work (newest)</strong></summary>
461
462
463 - **[xyuai](https://github.com/xyuai)** — canonical CodeWhale settings path,
464 provider persistence, provider picker, logout-scope, and MiMo auth cleanup
465 work (#2730, #2714, #2715, #2717, #2718)
466 - **[shenjackyuanjie](https://github.com/shenjackyuanjie)** — HarmonyOS /
467 OpenHarmony porting work and MatePad Edge validation trail (#2634)
468 - **[ousamabenyounes](https://github.com/ousamabenyounes)** — AZERTY/AltGr
469 composer shortcut fix for Windows keyboard layouts (#2863, #2867)
470 - **[reidliu41](https://github.com/reidliu41)** — hotbar action-registry
471 foundation and Ollama model-completion cleanup for the forward track (#2866,
472 #2742)
473 - **[ljm3790865](https://github.com/ljm3790865)** — multi-tab
474 core/persistence foundation and broader tab collaboration direction (#2864,
475 #2753)
476 - **[sximelon](https://github.com/sximelon)** — saved-session resume footer
477 hint work plus provider-trait metadata registry direction reviewed and
478 harvested for the forward track (#2758, #2760, #2479)
479 - **[aboimpinto](https://github.com/aboimpinto)** — sidebar command polish and
480 pausable custom-command lifecycle direction harvested into the forward track,
481 plus the directly merged command-support boundary cleanup and broader command
482 layer design direction (#2788, #2732, #2871, #2851, #2791)
483 - **[AdityaVG13](https://github.com/AdityaVG13)** — Workflow orchestration
484 and cost-tracking drafts that shaped the maintained workflow IR and
485 TraceStore foundation (#2482, #2486)
486 - **[lbcheng888](https://github.com/lbcheng888)**,
487 **[AiurArtanis](https://github.com/AiurArtanis)**, and
488 **[nasus9527](https://github.com/nasus9527)** — VS Code extension scaffold
489 direction, Agent View request, and IDE plugin request that shaped the
490 official Phase 0 extension (#1022, #1584, #2580)
491 - **[HUQIANTAO](https://github.com/HUQIANTAO)** — `web_run` cache-state
492 lock-splitting, turn-metadata prefix-cache stability, and project-context
493 cache work (#2502, #2517, #2636)
494 - **[idling11](https://github.com/idling11)** — PlanArtifact continuity,
495 dense tool-call transcript collapse, sidebar detail popovers, and
496 HarnessPosture provider/model policy direction (#2733, #2738, #2734,
497 #2741, #2692, #2694, #2693)
498 - **[h3c-hexin](https://github.com/h3c-hexin)** — sub-agent model inheritance,
499 configured `skills_dir` discovery, prompt-environment stability, and static
500 prompt composer direction (#2736, #2737, #2786)
501 - **[gaord](https://github.com/gaord)** — runtime thread workspace updates and
502 completed-thread saved-session API work (#2640, #2639)
503 - **[cyq1017](https://github.com/cyq1017)** — trusted workspace MCP config,
504 provider auth rollback, custom search endpoint, custom completion sound,
505 restore-listing, and pending-input delivery-mode label work (#2751, #2755,
506 #2510, #2512, #2513, #2532, #2054)
507 - **[yusufgurdogan](https://github.com/yusufgurdogan)** — Sofya search
508 provider implementation harvested as a non-default search backend (#2790)
509 - **[LeoAlex0](https://github.com/LeoAlex0)** — runtime prompt metadata cache
510 direction harvested into the maintained prompt/cache path (#2687);
511 `allow_shell` prefix-cache decoupling and `visibility="internal"`
512 explanation for mode-flip stability (#2949, #2951)
513 - **[hongchen1993](https://github.com/hongchen1993)** — Volcengine provider
514 in TUI dispatcher and dispatcher API-key preference (#2923, #2928)
515 - **[NASLXTO](https://github.com/NASLXTO)** and
516 **[wuxixing](https://github.com/wuxixing)** — large-workspace startup
517 reports that shaped the bounded project-context fallback (#697, #1827)
518 - **[shuxiangxuebiancheng](https://github.com/shuxiangxuebiancheng)**,
519 **[hongqitai](https://github.com/hongqitai)**, and
520 **[cyq1017](https://github.com/cyq1017)** — third-party
521 OpenAI-compatible path-suffix report and follow-up review trail (#1874,
522 #2508, #2506)
523
524
525 </details>
526
527 <details>
528 <summary><strong>Recurring &amp; historical contributors</strong></summary>
529
530
531 - **[merchloubna70-dot](https://github.com/merchloubna70-dot)** — 28 PRs spanning features, fixes, and VS Code extension scaffolding (#645–#681)
532 - **[WyxBUPT-22](https://github.com/WyxBUPT-22)** — Markdown rendering for tables, bold/italic, and horizontal rules (#579)
533 - **[loongmiaow-pixel](https://github.com/loongmiaow-pixel)** — Windows + China install documentation (#578)
534 - **[20bytes](https://github.com/20bytes)** — User memory docs and help polish (#569)
535 - **[staryxchen](https://github.com/staryxchen)** — glibc compatibility preflight (#556)
536 - **[Vishnu1837](https://github.com/Vishnu1837)** — glibc compatibility improvements and terminal restoration on SIGINT/SIGTERM (#565, #1586)
537 - **[shentoumengxin](https://github.com/shentoumengxin)** — Shell `cwd` boundary validation (#524)
538 - **[toi500](https://github.com/toi500)** — Windows paste fix report
539 - **[xsstomy](https://github.com/xsstomy)** — Terminal startup repaint report
540 - **[melody0709](https://github.com/melody0709)** — Slash-prefix Enter activation report
541 - **[lloydzhou](https://github.com/lloydzhou)** and **[jeoor](https://github.com/jeoor)** — Compaction cost reports; lloydzhou also contributed deterministic environment context (#813, #922) and KV prefix-cache stabilisation (#1080)
542 - **[Agent-Skill-007](https://github.com/Agent-Skill-007)** — README clarity pass (#685)
543 - **[woyxiang](https://github.com/woyxiang)** — Windows install documentation (#696)
544 - **[wangfeng](mailto:wangfengcsu@qq.com)** — Pricing/discount info update (#692)
545 - **[zichen0116](https://github.com/zichen0116)** — CODE_OF_CONDUCT.md (#686)
546 - **[dfwqdyl-ui](https://github.com/dfwqdyl-ui)** — model ID case-sensitivity compatibility report (#729)
547 - **[Oliver-ZPLiu](https://github.com/Oliver-ZPLiu)** — stale `working...` state bug report, Windows clipboard fallback, MCP Streamable HTTP session fixes, and Homebrew tap automation (#738, #850, #1643, #1631)
548 - **[reidliu41](https://github.com/reidliu41)** — resume hint, workspace trust persistence, Ollama provider support, thinking-block stream finalization, CI cache hardening, streaming wrap, and DeepSeek model completions (#863, #870, #921, #1078, #1603, #1628, #1601)
549 - **[xieshutao](https://github.com/xieshutao)** — plain Markdown skill fallback (#869)
550 - **[GK012](https://github.com/GK012)** — npm wrapper `--version` fallback (#885)
551 - **[y0sif](https://github.com/y0sif)** — parent turn-loop wakeup after direct child sub-agent completion (#901)
552 - **[mac119](https://github.com/mac119)** and **[leo119](https://github.com/leo119)** — `codewhale update` command documentation (#838, #917)
553 - **[dumbjack](https://github.com/dumbjack)** / **浩淼的mac** — command-safety null-byte hardening (#706, #918)
554 - **macworkers** — fork confirmation with the new session id (#600, #919)
555 - **zero** and **[zerx-lab](https://github.com/zerx-lab)** — notification condition config and richer OSC 9 notification body (#820, #920)
556 - **[chnjames](https://github.com/chnjames)** — cached @mention completions, config recovery polish, and Windows UTF-8 shell output (#849, #927, #982, #1018)
557 - **[angziii](https://github.com/angziii)** — config safety, async cleanup, Docker hardening, and command-safety fixes (#822, #824, #827, #831, #833, #835, #837)
558 - **[elowen53](https://github.com/elowen53)** — UTF-8 decoding and deterministic test coverage (#825, #840)
559 - **[wdw8276](https://github.com/wdw8276)** — `/rename` command for custom session titles (#836)
560 - **[banqii](https://github.com/banqii)** — `.cursor/skills` discovery path support (#817)
561 - **[junskyeed](https://github.com/junskyeed)** — dynamic `max_tokens` calculation for API requests (#826)
562 - **Hafeez Pizofreude** — SSRF protection in `fetch_url` and Star History chart
563 - **Unic (YuniqueUnic)** — Schema-driven config UI (TUI + web)
564 - **Jason** — SSRF security hardening
565 - **[axobase001](https://github.com/axobase001)** — snapshot orphan cleanup, npm install guards, session telemetry fixes, model-scope cache clear, symlinked skill support, npm mirror-escape-hatch guidance, proxy preservation for child tasks, mobile runtime control, Docker toolbox docs, large-output receipts, and activity detail context (#975, #1032, #1047, #1049, #1052, #1019, #1051, #1056, #1608, #1968, #2296, #2297, #2298)
566 - **[MengZ-super](https://github.com/MengZ-super)** — `/theme` command foundation and SSE gzip/brotli decompression (#1057, #1061)
567 - **[DI-HUO-MING-YI](https://github.com/DI-HUO-MING-YI)** — Plan-mode read-only sandbox safety fix (#1077)
568 - **[bevis-wong](https://github.com/bevis-wong)** — precise paste-Enter auto-submit reproducer (#1073)
569 - **[Duducoco](https://github.com/Duducoco)** and **[AlphaGogoo](https://github.com/AlphaGogoo)** — skills slash-menu and `/skills` coverage fix (#1068, #1083)
570 - **[ArronAI007](https://github.com/ArronAI007)** — window-resize artifact fix for macOS Terminal.app and ConHost (#993)
571 - **[THINKER-ONLY](https://github.com/THINKER-ONLY)** — OpenRouter and custom-endpoint model-ID preservation (#1066)
572 - **[Jefsky](https://github.com/Jefsky)** — DeepSeek endpoint correction report (#1079, #1084)
573 - **[wlon](https://github.com/wlon)** — NVIDIA NIM provider API-key preference diagnosis (#1081)
574 - **[Horace Liu](https://github.com/liuhq)** — Nix package support and install documentation (#1173)
575 - **[jieshu666](https://github.com/jieshu666)** — terminal repaint flicker reduction (#1563)
576 - **[gordonlu](https://github.com/gordonlu)** — Windows Enter / CSI-u input fix, status picker localization (7 MessageIds), approval dialog localization across 7 locales, and mode picker + composer Vim indicator localization across 7 locales (#1612, #2896, #2891, #2239)
577 - **[mdrkrg](https://github.com/mdrkrg)** — first-run onboarding crash fix when the API key is missing (#1598)
578 - **[Aitensa](https://github.com/Aitensa)** — CJK wrapping propagation for diff and pager output (#1622)
579 - **[qiyan233](https://github.com/qiyan233)** — legacy DeepSeek CN provider alias compatibility (#1645)
580 - **[zlh124](https://github.com/zlh124)** — WSL2/headless startup report, clipboard-init fix, CodeWhale tab-title polish, localized context-menu labels, and approval-dialog fixes (#1772, #1773, #2319, #2320, #2325)
581 - **[aboimpinto](https://github.com/aboimpinto)** — Windows alt-screen
582 logging, Home/End composer, runtime log follow-ups, sidebar command polish,
583 and pausable command lifecycle work (#1774, #1776, #1748, #1749, #1782,
584 #1783, #2788, #2732)
585 - **[LeoLin990405](https://github.com/LeoLin990405)** — provider model passthrough, reasoning replay, thinking-only turn, and Windows quoting fixes (#1740, #1743, #1742, #1744)
586 - **[nightt5879](https://github.com/nightt5879)** — Ctrl+C prompt restore, provider registry drift docs, tool-search defaults, footer git branch display, and startup prompt interactivity (#1764, #2274, #2344, #2347, #2373)
587 - **[donglovejava](https://github.com/donglovejava)** — paste @file consolidation, CJK panic fix, user feedback, RLM routing, edit_file retry, hidden-worktree discovery skip, IME composer routing, and eager shell companion tools (#2154-#2168, #2302, #2329, #2330, #2331)
588 - **[encyc](https://github.com/encyc)** — session token breakdown in footer and `/status` (#2152)
589 - **[saieswar237](https://github.com/saieswar237)** — review pipeline docs (#2178)
590 - **[sximelon](https://github.com/sximelon)** — paste Enter suppression, key handler extraction (#2174, #2042)
591 - **[nanookclaw](https://github.com/nanookclaw)** — search provider in doctor output (#2135)
592 - **[Sskift](https://github.com/Sskift)** — CLI default env override prevention and statusline footer clearing (#2119, #2248)
593 - **[xin1104](https://github.com/xin1104)** — Homebrew codewhale binary install (#2105)
594 - **[mrluanma](https://github.com/mrluanma)** — Metaso search provider (#2059)
595 - **[Lellansin](https://github.com/Lellansin)** — skip config merge at home dir (#2055)
596 - **[zhuangbiaowei](https://github.com/zhuangbiaowei)** — update release channels and legacy MCP SSE fixes (#2145, #2301)
597 - **[cy2311](https://github.com/cy2311)** — Windows `.bat` launcher for CodeWhale (#1861)
598 - **[LING71671](https://github.com/LING71671)** — effective cost currency context, custom provider docs, and core tool taxonomy prompt block (#1902, #2287, #2292)
599 - **[dzyuan](https://github.com/dzyuan)** — Volcengine provider support with DeepSeek V4 Pro/Flash models (#1993)
600 - **[mvanhorn](https://github.com/mvanhorn)** — live request-shape test factories and global `~/.agents/AGENTS.md` fallback (#2107, #2236)
601 - **[malsony](https://github.com/malsony)** — Matrix-inspired theme and theme picker improvements (#2129)
602 - **[gaord](https://github.com/gaord)** — external GUI runtime event bridge, session detail serialization, and skills API discovery alignment (#2133, #2265, #2285)
603 - **[yuanchenglu](https://github.com/yuanchenglu)** — Feishu per-chat model switching (#2149)
604 - **[HUQIANTAO](https://github.com/HUQIANTAO)** — Xiaomi balance/status work, stalled-turn recovery, approval intent summaries, mobile smoke/QR support, Claude theme, and broad docs/test/CI coverage (#2257, #2267, #2283, #2384, #2385, #2389, #2403, #2440-#2458, #2460)
605 - **[h3c-hexin](https://github.com/h3c-hexin)** — web-search URL decoding, prompt/instructions override hooks, sub-agent guidance, SSRF fake-IP trust configuration, and prompt-cache-friendly environment placement (#2245, #2311, #2313, #2314, #2354, #2355, #2356)
606 - **[tdccccc](https://github.com/tdccccc)** — approval prompt key-detail and shell-preview work harvested into the maintained approval path (#1991, #2269)
607 - **[AresNing](https://github.com/AresNing)** — first-run guide, message-submit hook transform design, and turn-end observer hook work harvested into the maintained hooks path (#2278, #2318, #2434, #2578)
608 - **[Implementist](https://github.com/Implementist)** — Volcengine Ark search provider and reliability hardening (#2426, #2429, #2439)
609 - **[lihuan215](https://github.com/lihuan215)** — Unix socket hook sink design harvested into the opt-in hook event path (#2333, #2430)
610 - **[AdityaVG13](https://github.com/AdityaVG13)** — Xiaomi MiMo provider support (#2246)
611 - **[New2Niu](https://github.com/New2Niu)** — macOS display notifications (#2260)
612 - **[AiurArtanis](https://github.com/AiurArtanis)** — Solarized Light theme and
613 canonical-background regression report (#2270, #4457)
614 - **[Lee-take](https://github.com/Lee-take)** — task migration and session environment isolation fixes (#2272)
615 - **[LeoAlex0](https://github.com/LeoAlex0)** — session persistence fixes for message counts and tool-output cache preservation (#2388, #2395)
616 - **[jimmyzhuu](https://github.com/jimmyzhuu)** — Baidu AI Search backend for `web_search` (#2371)
617 - **[rockyzhang](https://github.com/rockyzhang)** — RISC-V prebuilt binary support (#2383)
618 - **[mo-vic](https://github.com/mo-vic)** — `/purge` slash command for agent-driven context pruning (#2387)
619 - **[hufanexplore](https://github.com/hufanexplore)** — Java and Vue language-server defaults (#2367)
620 - **[hoclaptrinh33](https://github.com/hoclaptrinh33)** — Vietnamese localization support (#2358)
621 - **[AccMoment](https://github.com/AccMoment)** — proxy option for the update command (#2281)
622 - **[idling11](https://github.com/idling11)** — durable debt ledger and `/hunt` rename/trophy-card work (#2161, #2306)
623 - **[cyq1017](https://github.com/cyq1017)** — runtime event envelope, render-diff debug logging, and deterministic composer history flushing (#2252, #2332, #2375)
624 - **[hongqitai](https://github.com/hongqitai)** — state schema parent-entry support and clippy/fmt cleanup (#2308, #2432)
625 - **[BryonGo](https://github.com/BryonGo)** — effective-model compaction budgeting fix (#2437)
626 - **[xyuai](https://github.com/xyuai)** — provider persistence to config, /logout scope clarification, provider picker key replacement shortcut, MiMo auth state cleanup (#2714, #2715, #2717, #2718)
627 - **[RefuseOdd](https://github.com/RefuseOdd)** — configurable `path_suffix` for OpenAI-compatible endpoints (#2558)
628
629
630 </details>
631
632 <details>
633 <summary><strong>v0.8.48 — reports, repros &amp; verification (earliest listed)</strong></summary>
634
635 Reports, repros, and verification that shaped v0.8.48 also deserve visible
636 credit: **[@buko](https://github.com/buko)**, **[@yyyCode](https://github.com/yyyCode)**,
637 **[@gaslebinh-glitch](https://github.com/gaslebinh-glitch)**, **[@Dr3259](https://github.com/Dr3259)**,
638 **[@lpeng1711694086-lang](https://github.com/lpeng1711694086-lang)**, **[@VerrPower](https://github.com/VerrPower)**,
639 **[@yan-zay](https://github.com/yan-zay)**, **[@jretz](https://github.com/jretz)**,
640 **[@Neo-millunnium](https://github.com/Neo-millunnium)**, **[@caeserchen](https://github.com/caeserchen)**,
641 **[@T-Phuong-Nguyen](https://github.com/T-Phuong-Nguyen)**, **[@zhyuzhyu](https://github.com/zhyuzhyu)**,
642 **[@0gl20shk0sbt36](https://github.com/0gl20shk0sbt36)**, **[@hatakes](https://github.com/hatakes)**,
643 **[@goodvecn-dev](https://github.com/goodvecn-dev)**, **[@bevis-wong](https://github.com/bevis-wong)**,
644 **[@PurplePulse](https://github.com/PurplePulse)**, and **[@nbiish](https://github.com/nbiish)**.
645
646 ---
647
648 </details>
649
650 <details>
651 <summary><strong>Reconciled credits — earlier contributors restored to the record</strong></summary>
652
653 A credit-reconciliation pass mapped every shipped commit author to a GitHub
654 handle and found these contributors whose merged work was not yet listed here or
655 in the changelog. Restoring them with thanks — every one shipped real code.
656
657 - **[MoriTang](https://github.com/MoriTang)** — account balance status-bar item, with a request timeout, reused HTTP client, stale-balance-on-failure handling, and DeepSeek-gated display
658 - **[mars-base](https://github.com/mars-base)** — session title shown in the composer border and `gh` discovery across common install paths (#836)
659 - **[Giggitycountless](https://github.com/Giggitycountless)** — auto-add `.deepseek/` to `.gitignore`, gitignore-check robustness, and `/clear` resetting the Todos panel
660 - **[Inference1](https://github.com/Inference1)** — vLLM provider support, README pricing/structure clarity, and the Model Studio reasoning route guard: a fail-closed host check so Alibaba's `enable_thinking` never reaches a custom gateway, plus catching that Codewhale was sending a disable switch to the always-thinking `qwen3.8-max` (#737, #776, #5233)
661 - **[membphis](https://github.com/membphis)** — bordered Markdown table rendering and Shift+Enter newline in the composer (#801)
662 - **[JasonOA888](https://github.com/JasonOA888)** — `web_run` network-policy enforcement and refusing to snapshot `$HOME` (#798, #800)
663 - **[tuohai666](https://github.com/tuohai666)** — recursive skills-directory reading plus hook-dispatch and approval-branch test coverage (#811)
664 - **[xuezhaoyu](https://github.com/xuezhaoyu)** — DEC 2026 synchronized-update flicker fix for GPU terminals, guaranteeing `END_SYNC_UPDATE` even when a draw fails
665 - **[manaskarra](https://github.com/manaskarra)** — global `~/.deepseek/AGENTS.md` fallback loading (#1157)
666 - **[gerryqi](https://github.com/gerryqi)** — wrap fire-and-forget `spawn_blocking` calls with a panic dump (#810)
667 - **[ccomma](https://github.com/ccomma)** — skip snapshots for dangerous workspaces (#804)
668 - **[AGSaturn](https://github.com/AGSaturn)** — preserve requested model-ID casing in registry resolution (#733)
669 - **[wucm667](https://github.com/wucm667)** — accept provider-prefixed DeepSeek model IDs (#794)
670 - **[quentin-lian](https://github.com/quentin-lian)** — portable-pty 0.9 upgrade for LoongArch64 support (#1992)
671 - **[Beltran12138](https://github.com/Beltran12138)** — treat `deepseek-chat` / `deepseek-reasoner` aliases as reasoning models
672 - **[chuntseevolving](https://github.com/chuntseevolving)** — send `TurnStarted` before snapshot to prevent WSL2 timeout
673 - **[lawrencewzen](https://github.com/lawrencewzen)** — preserve UTF-8 while stripping ANSI
674 - **[hhhaiai](https://github.com/hhhaiai)** — keep workspace skills visible when the prompt budget truncates
675 - **[khalid-hungerstation](https://github.com/khalid-hungerstation)** — bundle the delegate skill alongside skill-creator
676 - **[Anyexyz](https://github.com/Anyexyz)** — GitHub Actions workflow to sync with the CNB repo
677 - **[nightfallsad](https://github.com/nightfallsad)** — clearer `/continue` hint copy
678 - **[zxyasfas](https://github.com/zxyasfas)** — align Rust MSRV references with the workspace (#739)
679
680 _A follow-up audit of harvested commits (work reimplemented onto a maintainer
681 branch rather than merged) surfaced contributors whose machine-readable credit
682 was dropped. Restoring them here — every one shipped real code:_
683
684 - **[CrepuscularIRIS](https://github.com/CrepuscularIRIS)** — OpenHarmony→Linux npm binary mapping, O(1) job-panel refresh, file-mention UTF-8 boundary safety, Kitty keyboard protocol on Windows, and auto low-motion under Termius/SSH (#1479, #1483, #1494, #1495, #1499, #1475)
685 - **[MMMarcinho](https://github.com/MMMarcinho)** — `image_analyze` vision tool (#1467)
686 - **[MeAiRobot](https://github.com/MeAiRobot)** — toast-stack overlay z-order fix (#1485)
687 - **[NorethSea](https://github.com/NorethSea)** — `update` refreshing the sibling TUI binary (#1492)
688 - **[SamhandsomeLee](https://github.com/SamhandsomeLee)** — bundled
689 v4-best-practices skill (#1448) and input-budget-aware compaction trigger
690 (#4293)
691 - **[YaYII](https://github.com/YaYII)** — opt-in `/translate` command (#1462)
692 - **[sandofree](https://github.com/sandofree)** — Tavily and Bocha `web_search` backends (#1294)
693 - **[tiger-dog](https://github.com/tiger-dog)** — approval one-line banner and Markdown underscore handling (#1455)
694 - **[Jianfengwu2024](https://github.com/Jianfengwu2024)** — preserving MSVC toolchain vars in the child environment (#1487)
695 - **[wplll](https://github.com/wplll)** — prompt-cache warmup keys, tool-catalog handling, a dedup test, and pack ordering (#2390, #2391, #2392, #2393)
696
697 Additional harvested PRs from the same audit, credited to contributors already
698 listed above: **[axobase001](https://github.com/axobase001)** (#2400, #2405, #2406, #2407, #2408, #2415), **[cyq1017](https://github.com/cyq1017)** (#2516, #2534, #2540), **[Oliver-ZPLiu](https://github.com/Oliver-ZPLiu)** (#1451, #1456), **[reidliu41](https://github.com/reidliu41)** (#1444, #1493), **[lucaszhu-hue](https://github.com/lucaszhu-hue)** (#1436, #2343), **[h3c-hexin](https://github.com/h3c-hexin)** (#1480), **[Duducoco](https://github.com/Duducoco)** (#1345), **[zhuangbiaowei](https://github.com/zhuangbiaowei)** (#1416), **[wdw8276](https://github.com/wdw8276)** (#1498), and **[buko](https://github.com/buko)** (#2377).
699
700 _A further machine-credit pass restored these contributors, missing from both the
701 list above and the contribution graph (AUTHOR_MAP entries added; logins/IDs
702 verified against the GitHub user API) — every one shipped real code:_
703
704 - **[1Git2Clone](https://github.com/1Git2Clone)** — `Ctrl+P`/`Ctrl+N` slash-menu navigation
705 - **[rockeverm3m](https://github.com/rockeverm3m)** — community ACP adapter reference in the docs
706 - **[hxy91819](https://github.com/hxy91819)** — stable MCP tool ordering for prefix-cache stability (#1319)
707 - **[heloanc](https://github.com/heloanc)** — Home/End keys moving the cursor in the input box (#1246)
708
709 </details>
710
711 ---
712
713 Missed someone? Open an issue or PR — credit is kept current, and names are happily added. See [CONTRIBUTING.md](../CONTRIBUTING.md) to get started.
714
714 lines MARKDOWN