docs(readme): focus public overview
Shorten the README around the product path, provider support, install flow, docs index, and community contribution entry points. Move the long contributor credit ledger into docs/CONTRIBUTORS.md so public credit remains visible without overwhelming the README. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1,61 +1,61 @@
|
||||
# CodeWhale
|
||||
|
||||
> Local-first agent harness for DeepSeek V4 and open models: operating identity,
|
||||
> nested authority, and a local evidence loop.
|
||||
> A community-built agentic terminal for coding with the best available models.
|
||||
|
||||
[简体中文 README](README.zh-CN.md) · [日本語 README](README.ja-JP.md) · [Tiếng Việt README](README.vi.md)
|
||||
|
||||
[](https://github.com/Hmbown/CodeWhale/actions/workflows/ci.yml)
|
||||
[](https://crates.io/crates/codewhale-cli)
|
||||
[DeepWiki project index](https://deepwiki.com/Hmbown/CodeWhale)
|
||||
[](https://deepwiki.com/Hmbown/CodeWhale)
|
||||
|
||||

|
||||
|
||||
## The Idea
|
||||
## What is CodeWhale
|
||||
|
||||
Most coding agents start by adding power: more tools, more context, more
|
||||
autonomy. CodeWhale starts by assigning responsibility.
|
||||
CodeWhale is an open-source terminal agent you run locally to do real work in
|
||||
your repositories — read code, run commands, edit files, and ship patches — with
|
||||
the model *you* choose. It pairs a full tool surface (shell, file edits, git,
|
||||
web, MCP, and sub-agents) with approval gates, snapshots you can roll back, and
|
||||
sessions you can resume.
|
||||
|
||||
Before an agent edits a repo, it should have an address: this terminal, this
|
||||
user, this branch, this session. That is the ego layer. Not swagger; continuity.
|
||||
Not a persona mask; the place where responsibility attaches.
|
||||
It started as a DeepSeek-inspired TUI. The community turned it into something
|
||||
broader: a harness that works with the best models available to the most people,
|
||||
whichever provider that means for you. DeepSeek remains first-class here; it is
|
||||
no longer the only good route, and it is not a requirement.
|
||||
|
||||
Then it needs law. A real workspace is a conflict stack: current user intent,
|
||||
repo instructions, shell output, stale memory, previous handoffs, safety policy,
|
||||
and half-finished work all compete inside the same turn. CodeWhale gives those
|
||||
sources an order through the CodeWhale Constitution:
|
||||
Everything runs on your machine. You keep your keys, your repos, and your
|
||||
judgment in the loop.
|
||||
|
||||
- **Ego is addressable.** The agent is an instance in this terminal and this
|
||||
workspace, not a model card or leaderboard score.
|
||||
- **Evidence outranks narration.** Tool output beats a guess. A failed command
|
||||
is reported as a failed command. Verification is part of the task.
|
||||
- **User intent stays sovereign.** The current request outranks stale repo
|
||||
guidance, memory, previous handoffs, and personality overlays.
|
||||
- **Local law is explicit.** Repositories can add `.codewhale/constitution.json`
|
||||
for durable project authority, protected invariants, branch policy, and
|
||||
verification rules.
|
||||
- **Runtime policy is enforced.** Modes, approval gates, sandboxing, rollback,
|
||||
and tool schemas are code, not advice the model has to remember.
|
||||
## Why people use it
|
||||
|
||||
The product is the ordering layer around the model: who is acting, whose law
|
||||
applies, what evidence exists, and how the next human or agent can continue.
|
||||
- **Approval-gated tools.** File edits, shell, git, web, MCP, and sub-agent
|
||||
calls all route through a sandbox and an approval policy you control.
|
||||
- **Sub-agents & fleet.** Fan out parallel investigation or implementation
|
||||
across headless sub-agent workers, and orchestrate multi-step runs.
|
||||
- **Snapshots & rollback.** Every turn is snapshotted in side-git, so
|
||||
`/restore` undoes a change without touching your repo's `.git`.
|
||||
- **Live diagnostics.** Language servers light up after edits where available, so
|
||||
you see type errors and warnings as they happen.
|
||||
- **Durable sessions.** Resume, fork, and relay handoffs between turns, sessions,
|
||||
and machines — plus runtime APIs for editors and GUIs.
|
||||
- **Bring your own model.** Route each task to the provider that fits it best.
|
||||
|
||||
## What Ships
|
||||
## Supported models & providers
|
||||
|
||||
CodeWhale turns that thesis into plain runtime surfaces:
|
||||
CodeWhale ships first-class routes for the providers people actually use. Bring a
|
||||
key and pick the model that fits the task:
|
||||
|
||||
- approval-gated file, shell, git, web, MCP, RLM, and sub-agent tools;
|
||||
- side-git snapshots and `/restore` rollback outside your repo's `.git`;
|
||||
- live diagnostics after edits from language servers where available;
|
||||
- concurrent sub-agents for parallel investigation and implementation;
|
||||
- durable sessions, forks, relay handoffs, and runtime APIs for editor/GUI work;
|
||||
- explicit provider/model routing with DeepSeek V4 first-class and other
|
||||
OpenAI-compatible routes kept separate.
|
||||
- **DeepSeek** — V4 Pro / Flash, plus DeepSeek-compatible gateways
|
||||
- **GLM / Z.ai** — GLM-5.1, GLM-5.2 (Z.ai Coding Plan)
|
||||
- **Kimi (Moonshot)** — Kimi K2.6 / K2.7 Code
|
||||
- **MiniMax** — first-party route
|
||||
- **OpenRouter** — hundreds of models behind one key
|
||||
- **NVIDIA NIM · Xiaomi MiMo · SiliconFlow · Fireworks · Novita · StepFun / StepFlash**
|
||||
- **Self-hosted** — vLLM, SGLang, Ollama
|
||||
- **Any OpenAI-compatible gateway**
|
||||
|
||||
DeepSeek is first-class, not exclusive. CodeWhale also carries provider paths for
|
||||
OpenRouter, NVIDIA NIM, Xiaomi MiMo, Arcee, SiliconFlow, Fireworks, Novita,
|
||||
OpenAI-compatible gateways, self-hosted SGLang/vLLM, Ollama, and Hugging Face
|
||||
surfaces as they land.
|
||||
Switch with `/provider` and `/model`. See [docs/PROVIDERS.md](docs/PROVIDERS.md)
|
||||
for credentials, base URLs, and capability boundaries.
|
||||
|
||||
## Install
|
||||
|
||||
@@ -63,352 +63,145 @@ surfaces as they land.
|
||||
cargo install codewhale-cli --locked
|
||||
cargo install codewhale-tui --locked
|
||||
codewhale --version
|
||||
codewhale --model auto
|
||||
```
|
||||
|
||||
On first launch, CodeWhale prompts for a DeepSeek API key and stores it in
|
||||
`~/.codewhale/config.toml`; legacy `~/.deepseek/` config is still read for
|
||||
On first launch, CodeWhale asks for a provider key and stores it in
|
||||
`~/.codewhale/config.toml`. Legacy `~/.deepseek/` config is still read for
|
||||
compatibility.
|
||||
|
||||
Other install paths are supported:
|
||||
Other install paths:
|
||||
|
||||
```bash
|
||||
# Platform archives are attached to GitHub Releases.
|
||||
# npm wrapper
|
||||
npm install -g codewhale
|
||||
|
||||
# Platform archives attached to GitHub Releases
|
||||
# https://github.com/Hmbown/CodeWhale/releases
|
||||
|
||||
# CNB mirror path for users who cannot reliably reach GitHub:
|
||||
# CNB mirror, if GitHub is hard to reach
|
||||
cargo install --git https://cnb.cool/codewhale.net/codewhale --tag v0.8.60 codewhale-cli --locked --force
|
||||
cargo install --git https://cnb.cool/codewhale.net/codewhale --tag v0.8.60 codewhale-tui --locked --force
|
||||
|
||||
# Legacy Homebrew compatibility while the formula is renamed
|
||||
brew tap Hmbown/deepseek-tui
|
||||
brew install deepseek-tui
|
||||
# Homebrew (legacy compatibility while the formula is renamed)
|
||||
brew tap Hmbown/deepseek-tui && brew install deepseek-tui
|
||||
```
|
||||
|
||||
The `codewhale` npm wrapper is also available via `npm install -g codewhale`.
|
||||
|
||||
For Docker, direct downloads, China mirrors, Windows/Scoop, Nix, checksums, and
|
||||
troubleshooting, use [docs/INSTALL.md](docs/INSTALL.md) or the website install
|
||||
page.
|
||||
troubleshooting, see [docs/INSTALL.md](docs/INSTALL.md).
|
||||
|
||||
## Upgrading from deepseek-tui
|
||||
**Upgrading from the legacy `deepseek-tui` package?** Your config, sessions,
|
||||
skills, and MCP settings are preserved. See
|
||||
[docs/REBRAND.md](docs/REBRAND.md), then run `codewhale doctor` to confirm.
|
||||
|
||||
If you installed the legacy `deepseek-tui` package, run the commands for your
|
||||
install method below. Your existing config, sessions, skills, and MCP settings
|
||||
are preserved, and DeepSeek provider support is unchanged. See
|
||||
[docs/REBRAND.md](docs/REBRAND.md) for the full migration guide.
|
||||
|
||||
**npm**
|
||||
## Quick start
|
||||
|
||||
```bash
|
||||
npm uninstall -g deepseek-tui
|
||||
npm install -g codewhale
|
||||
```
|
||||
|
||||
**Cargo**
|
||||
|
||||
```bash
|
||||
cargo uninstall deepseek-tui-cli 2>/dev/null || true
|
||||
cargo uninstall deepseek-tui 2>/dev/null || true
|
||||
cargo install codewhale-cli --locked
|
||||
cargo install codewhale-tui --locked
|
||||
```
|
||||
|
||||
**Homebrew** - keep using `brew upgrade deepseek-tui` for now; the formula
|
||||
rename is in progress.
|
||||
|
||||
**GitHub Releases** - download the matched `codewhale-*` and
|
||||
`codewhale-tui-*` archives for your platform from the
|
||||
[Releases page](https://github.com/Hmbown/CodeWhale/releases), then replace the
|
||||
old binaries on your `PATH`.
|
||||
|
||||
After upgrading, run `codewhale doctor` to confirm the migration succeeded.
|
||||
|
||||
## First Run
|
||||
|
||||
```bash
|
||||
codewhale auth set --provider deepseek
|
||||
codewhale auth set --provider zai # or: deepseek, openrouter, kimi, ...
|
||||
codewhale auth status
|
||||
codewhale doctor
|
||||
codewhale
|
||||
codewhale # launch the TUI
|
||||
```
|
||||
|
||||
Useful in-session commands:
|
||||
|
||||
- `/provider` and `/model` choose the route and model.
|
||||
- `/config` edits runtime settings.
|
||||
- `/statusline` shows the current route, cost, and session state.
|
||||
- `/skills` loads reusable workflows from `~/.codewhale/skills/`.
|
||||
- `/restore` rolls back a prior turn from side-git snapshots.
|
||||
- `! cargo test -p codewhale-tui` runs a shell command through the normal
|
||||
approval and sandbox path.
|
||||
- `/provider` and `/model` — choose the route and model.
|
||||
- `/config` — edit runtime settings.
|
||||
- `/statusline` — current route, cost, and session state.
|
||||
- `/skills` — load reusable workflows from `~/.codewhale/skills/`.
|
||||
- `/restore` — roll back a prior turn from side-git snapshots.
|
||||
- `! cargo test` — run a shell command through the normal approval and sandbox
|
||||
path.
|
||||
|
||||
## Where Details Live
|
||||
## Community & Contributing
|
||||
|
||||
The README carries the idea and the first path. The details live in docs and on
|
||||
CodeWhale is built in the open — and that's the point. The goal is simple: with
|
||||
the most eyes and the most hands, build the best agent harness for the most
|
||||
people. What started as one person's DeepSeek-inspired side project has been
|
||||
shaped by a community into something bigger than its original intent could have
|
||||
imagined.
|
||||
|
||||
**We love issues and pull requests, regardless of how experienced you feel.** Bug
|
||||
reports, feature ideas, docs fixes, "first PR"s, and curious questions all count
|
||||
as real project work. Maintainers treat reports and PRs as contributions even
|
||||
when the final patch has to be narrowed, delayed, or folded into a maintainer
|
||||
commit — and recurring contributors stay credited in the public record.
|
||||
|
||||
- [Open issues](https://github.com/Hmbown/CodeWhale/issues) — good first
|
||||
contributions live here.
|
||||
- [CONTRIBUTING.md](CONTRIBUTING.md) — set up a dev loop and open a PR.
|
||||
- [Code of Conduct](CODE_OF_CONDUCT.md) — be excellent to each other.
|
||||
- [Contributors](docs/CONTRIBUTORS.md) — the people who've shaped CodeWhale.
|
||||
|
||||
## Docs
|
||||
|
||||
The README gets you started; the details live in [`docs/`](docs) and on
|
||||
[codewhale.net](https://codewhale.net/):
|
||||
|
||||
- [User guide](docs/GUIDE.md) — first hour with CodeWhale.
|
||||
- [User guide](docs/GUIDE.md) — your first hour with CodeWhale.
|
||||
- [Install guide](docs/INSTALL.md) — every package path and troubleshooting.
|
||||
- [Rebrand migration guide](docs/REBRAND.md) — upgrading from the legacy
|
||||
`deepseek-tui` package.
|
||||
- [Configuration](docs/CONFIGURATION.md) — config files, repo constitution, and
|
||||
provider settings.
|
||||
- [Provider registry](docs/PROVIDERS.md) — model routes, credentials, base URLs,
|
||||
and capability boundaries.
|
||||
- [Sub-agents](docs/SUBAGENTS.md) — roles, lifecycle, output contract, and
|
||||
recovery behavior.
|
||||
- [Runtime API](docs/RUNTIME_API.md) — HTTP/SSE, ACP, mobile, and GUI/editor
|
||||
integration contracts.
|
||||
- [Model Lab](docs/MODEL_LAB.md) — open-model discovery and evaluation roadmap.
|
||||
- [Architecture](docs/ARCHITECTURE.md) — crate layout, runtime flow, tool system,
|
||||
extension points, and security model.
|
||||
- [v0.9.0 release acceptance](docs/V0_9_0_RELEASE_ACCEPTANCE.md) — current
|
||||
integration checks before release tagging.
|
||||
- [Configuration](docs/CONFIGURATION.md) — config files and provider settings.
|
||||
- [Providers](docs/PROVIDERS.md) — model routes, credentials, and capabilities.
|
||||
- [Modes](docs/MODES.md) — Agent, Plan, and YOLO.
|
||||
- [Sub-agents](docs/SUBAGENTS.md) — roles, lifecycle, and recovery.
|
||||
- [Fleet](docs/FLEET.md) — multi-worker runs and headless orchestration.
|
||||
- [WhaleFlow authoring](docs/WHALEFLOW_AUTHORING.md) — declarative workflows.
|
||||
- [Runtime API](docs/RUNTIME_API.md) — HTTP/SSE, ACP, and editor/GUI contracts.
|
||||
- [MCP](docs/MCP.md) — Model Context Protocol servers.
|
||||
- [Architecture](docs/ARCHITECTURE.md) — crate layout, runtime flow, security.
|
||||
- [Keybindings](docs/KEYBINDINGS.md) — the full key map.
|
||||
- [Sandbox & approvals](docs/SANDBOX.md) · [Accessibility](docs/ACCESSIBILITY.md)
|
||||
· [Docker](docs/DOCKER.md) · [Memory](docs/MEMORY.md)
|
||||
- [Full docs index](docs) — everything else.
|
||||
|
||||
## v0.9.0 Track
|
||||
## Operating identity & the Constitution
|
||||
|
||||
v0.9.0 is the current integration lane, not a published release until the tag,
|
||||
GitHub Release, npm package, Cargo crates, and release artifacts are actually
|
||||
cut and verified.
|
||||
CodeWhale is opinionated about *how* an agent should behave in a real workspace,
|
||||
not just what it can do. That opinion is written down as the
|
||||
[CodeWhale Constitution](docs/AGENT_ETHOS.md), and it boils down to a few ideas:
|
||||
|
||||
The release line is gathering work around:
|
||||
- **The agent has an address.** It is an instance in *this* terminal and *this*
|
||||
workspace — not a model card or a leaderboard score.
|
||||
- **Evidence outranks narration.** Tool output beats a guess; a failed command is
|
||||
reported as a failed command; verification is part of the task.
|
||||
- **User intent stays sovereign.** Your current request outranks stale repo
|
||||
guidance, memory, and previous handoffs.
|
||||
- **Local law is explicit.** Repositories can add `.codewhale/constitution.json`
|
||||
for durable project authority, protected invariants, and verification rules.
|
||||
- **Runtime policy is enforced.** Modes, approval gates, sandboxing, rollback,
|
||||
and tool schemas are code, not advice the model has to remember.
|
||||
|
||||
- stronger relay and handoff surfaces;
|
||||
- calmer transcripts for dense tool runs;
|
||||
- command and provider architecture cleanup;
|
||||
- runtime APIs for VS Code and GUI clients;
|
||||
- typed HarnessProfile posture and model routing;
|
||||
- WhaleFlow branch/leaf workflow orchestration;
|
||||
- contributor credit hygiene for harvested and direct community PRs.
|
||||
|
||||
Release-specific details belong in [CHANGELOG.md](CHANGELOG.md) and the v0.9.0
|
||||
acceptance docs, not in this README.
|
||||
The product is the ordering layer around the model: who is acting, whose law
|
||||
applies, what evidence exists, and how the next human or agent can continue. If
|
||||
that framing is useful to you, great; if not, you can ignore it and just use the
|
||||
tools.
|
||||
|
||||
## Thanks
|
||||
|
||||
- **[DeepSeek](https://github.com/deepseek-ai)** — thank you for the models and support that power every turn. 感谢 DeepSeek 提供模型与支持,让每一次交互成为可能。
|
||||
- **[DataWhale](https://github.com/datawhalechina)** 🐋 — thank you for your support and for welcoming us into the Whale Brother family. 感谢 DataWhale 的支持,并欢迎我们加入“鲸兄弟”大家庭。
|
||||
- **[OpenWarp](https://github.com/zerx-lab/warp)** — thank you for prioritizing codewhale support and for collaborating on a better terminal-agent experience.
|
||||
- **[Open Design](https://github.com/nexu-io/open-design)** — thank you for support and collaboration around design-forward agent workflows.
|
||||
CodeWhale exists because of the people who use it, break it, and fix it.
|
||||
|
||||
This project ships with help from a growing community of contributors. The
|
||||
maintainer rule is simple: reports and PRs are real project work, even when the
|
||||
final patch has to be narrowed, delayed, or harvested into a maintainer branch.
|
||||
|
||||
For the v0.9 track, harvested PRs should keep visible credit in the commit or
|
||||
PR body, changelog or release notes, and relevant issue/PR comments. Contributor
|
||||
credit should use mappable GitHub identities from `.github/AUTHOR_MAP` or
|
||||
numeric noreply addresses, not placeholder local emails. The contribution gate
|
||||
is kept in dry-run mode unless a maintainer deliberately enables enforcement;
|
||||
when it comments, the tone should be warm and practical rather than treating
|
||||
the reporter as the problem. Recurring contributors should be recognized so the
|
||||
automation gets out of their way and the public record shows their repeated
|
||||
help.
|
||||
|
||||
Current v0.9 track credits:
|
||||
|
||||
- **[xyuai](https://github.com/xyuai)** — canonical CodeWhale settings path,
|
||||
provider persistence, provider picker, logout-scope, and MiMo auth cleanup
|
||||
work (#2730, #2714, #2715, #2717, #2718)
|
||||
- **[shenjackyuanjie](https://github.com/shenjackyuanjie)** — HarmonyOS /
|
||||
OpenHarmony porting work and MatePad Edge validation trail (#2634)
|
||||
- **[ousamabenyounes](https://github.com/ousamabenyounes)** — AZERTY/AltGr
|
||||
composer shortcut fix for Windows keyboard layouts (#2863, #2867)
|
||||
- **[reidliu41](https://github.com/reidliu41)** — hotbar action-registry
|
||||
foundation and Ollama model-completion cleanup for the v0.9 track (#2866,
|
||||
#2742)
|
||||
- **[ljm3790865](https://github.com/ljm3790865)** — multi-tab
|
||||
core/persistence foundation and broader tab collaboration direction (#2864,
|
||||
#2753)
|
||||
- **[sximelon](https://github.com/sximelon)** — saved-session resume footer
|
||||
hint work plus provider-trait metadata registry direction reviewed and
|
||||
harvested for the v0.9 track (#2758, #2760, #2479)
|
||||
- **[aboimpinto](https://github.com/aboimpinto)** — sidebar command polish and
|
||||
pausable custom-command lifecycle direction harvested into the v0.9 track,
|
||||
plus the directly merged command-support boundary cleanup and broader command
|
||||
layer design direction (#2788, #2732, #2871, #2851, #2791)
|
||||
- **[AdityaVG13](https://github.com/AdityaVG13)** — WhaleFlow orchestration and
|
||||
cost-tracking drafts that shaped the maintained v0.9 WhaleFlow IR and
|
||||
TraceStore foundation (#2482, #2486)
|
||||
- **[lbcheng888](https://github.com/lbcheng888)**,
|
||||
**[AiurArtanis](https://github.com/AiurArtanis)**, and
|
||||
**[nasus9527](https://github.com/nasus9527)** — VS Code extension scaffold
|
||||
direction, Agent View request, and IDE plugin request that shaped the
|
||||
official Phase 0 extension (#1022, #1584, #2580)
|
||||
- **[HUQIANTAO](https://github.com/HUQIANTAO)** — `web_run` cache-state
|
||||
lock-splitting, turn-metadata prefix-cache stability, and project-context
|
||||
cache work (#2502, #2517, #2636)
|
||||
- **[idling11](https://github.com/idling11)** — PlanArtifact continuity,
|
||||
dense tool-call transcript collapse, sidebar detail popovers, and
|
||||
HarnessPosture provider/model policy direction (#2733, #2738, #2734,
|
||||
#2741, #2692, #2694, #2693)
|
||||
- **[h3c-hexin](https://github.com/h3c-hexin)** — sub-agent model inheritance,
|
||||
configured `skills_dir` discovery, prompt-environment stability, and static
|
||||
prompt composer direction (#2736, #2737, #2786)
|
||||
- **[gaord](https://github.com/gaord)** — runtime thread workspace updates and
|
||||
completed-thread saved-session API work (#2640, #2639)
|
||||
- **[cyq1017](https://github.com/cyq1017)** — trusted workspace MCP config,
|
||||
provider auth rollback, custom search endpoint, custom completion sound,
|
||||
restore-listing, and pending-input delivery-mode label work (#2751, #2755,
|
||||
#2510, #2512, #2513, #2532, #2054)
|
||||
- **[yusufgurdogan](https://github.com/yusufgurdogan)** — Sofya search
|
||||
provider implementation harvested as a non-default search backend (#2790)
|
||||
- **[LeoAlex0](https://github.com/LeoAlex0)** — runtime prompt metadata cache
|
||||
direction harvested into the v0.9 prompt/cache path (#2687);
|
||||
`allow_shell` prefix-cache decoupling and `visibility="internal"`
|
||||
explanation for mode-flip stability (#2949, #2951)
|
||||
- **[hongchen1993](https://github.com/hongchen1993)** — Volcengine provider
|
||||
in TUI dispatcher and dispatcher API-key preference (#2923, #2928)
|
||||
- **[NASLXTO](https://github.com/NASLXTO)** and
|
||||
**[wuxixing](https://github.com/wuxixing)** — large-workspace startup
|
||||
reports that shaped the bounded project-context fallback (#697, #1827)
|
||||
- **[shuxiangxuebiancheng](https://github.com/shuxiangxuebiancheng)**,
|
||||
**[hongqitai](https://github.com/hongqitai)**, and
|
||||
**[cyq1017](https://github.com/cyq1017)** — third-party
|
||||
OpenAI-compatible path-suffix report and follow-up review trail (#1874,
|
||||
#2508, #2506)
|
||||
|
||||
Current and recurring contributors include:
|
||||
|
||||
- **[merchloubna70-dot](https://github.com/merchloubna70-dot)** — 28 PRs spanning features, fixes, and VS Code extension scaffolding (#645–#681)
|
||||
- **[WyxBUPT-22](https://github.com/WyxBUPT-22)** — Markdown rendering for tables, bold/italic, and horizontal rules (#579)
|
||||
- **[loongmiaow-pixel](https://github.com/loongmiaow-pixel)** — Windows + China install documentation (#578)
|
||||
- **[20bytes](https://github.com/20bytes)** — User memory docs and help polish (#569)
|
||||
- **[staryxchen](https://github.com/staryxchen)** — glibc compatibility preflight (#556)
|
||||
- **[Vishnu1837](https://github.com/Vishnu1837)** — glibc compatibility improvements and terminal restoration on SIGINT/SIGTERM (#565, #1586)
|
||||
- **[shentoumengxin](https://github.com/shentoumengxin)** — Shell `cwd` boundary validation (#524)
|
||||
- **[toi500](https://github.com/toi500)** — Windows paste fix report
|
||||
- **[xsstomy](https://github.com/xsstomy)** — Terminal startup repaint report
|
||||
- **[melody0709](https://github.com/melody0709)** — Slash-prefix Enter activation report
|
||||
- **[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)
|
||||
- **[Agent-Skill-007](https://github.com/Agent-Skill-007)** — README clarity pass (#685)
|
||||
- **[woyxiang](https://github.com/woyxiang)** — Windows install documentation (#696)
|
||||
- **[wangfeng](mailto:wangfengcsu@qq.com)** — Pricing/discount info update (#692)
|
||||
- **[zichen0116](https://github.com/zichen0116)** — CODE_OF_CONDUCT.md (#686)
|
||||
- **[dfwqdyl-ui](https://github.com/dfwqdyl-ui)** — model ID case-sensitivity compatibility report (#729)
|
||||
- **[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)
|
||||
- **[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)
|
||||
- **[xieshutao](https://github.com/xieshutao)** — plain Markdown skill fallback (#869)
|
||||
- **[GK012](https://github.com/GK012)** — npm wrapper `--version` fallback (#885)
|
||||
- **[y0sif](https://github.com/y0sif)** — parent turn-loop wakeup after direct child sub-agent completion (#901)
|
||||
- **[mac119](https://github.com/mac119)** and **[leo119](https://github.com/leo119)** — `codewhale update` command documentation (#838, #917)
|
||||
- **[dumbjack](https://github.com/dumbjack)** / **浩淼的mac** — command-safety null-byte hardening (#706, #918)
|
||||
- **macworkers** — fork confirmation with the new session id (#600, #919)
|
||||
- **zero** and **[zerx-lab](https://github.com/zerx-lab)** — notification condition config and richer OSC 9 notification body (#820, #920)
|
||||
- **[chnjames](https://github.com/chnjames)** — cached @mention completions, config recovery polish, and Windows UTF-8 shell output (#849, #927, #982, #1018)
|
||||
- **[angziii](https://github.com/angziii)** — config safety, async cleanup, Docker hardening, and command-safety fixes (#822, #824, #827, #831, #833, #835, #837)
|
||||
- **[elowen53](https://github.com/elowen53)** — UTF-8 decoding and deterministic test coverage (#825, #840)
|
||||
- **[wdw8276](https://github.com/wdw8276)** — `/rename` command for custom session titles (#836)
|
||||
- **[banqii](https://github.com/banqii)** — `.cursor/skills` discovery path support (#817)
|
||||
- **[junskyeed](https://github.com/junskyeed)** — dynamic `max_tokens` calculation for API requests (#826)
|
||||
- **Hafeez Pizofreude** — SSRF protection in `fetch_url` and Star History chart
|
||||
- **Unic (YuniqueUnic)** — Schema-driven config UI (TUI + web)
|
||||
- **Jason** — SSRF security hardening
|
||||
- **[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)
|
||||
- **[MengZ-super](https://github.com/MengZ-super)** — `/theme` command foundation and SSE gzip/brotli decompression (#1057, #1061)
|
||||
- **[DI-HUO-MING-YI](https://github.com/DI-HUO-MING-YI)** — Plan-mode read-only sandbox safety fix (#1077)
|
||||
- **[bevis-wong](https://github.com/bevis-wong)** — precise paste-Enter auto-submit reproducer (#1073)
|
||||
- **[Duducoco](https://github.com/Duducoco)** and **[AlphaGogoo](https://github.com/AlphaGogoo)** — skills slash-menu and `/skills` coverage fix (#1068, #1083)
|
||||
- **[ArronAI007](https://github.com/ArronAI007)** — window-resize artifact fix for macOS Terminal.app and ConHost (#993)
|
||||
- **[THINKER-ONLY](https://github.com/THINKER-ONLY)** — OpenRouter and custom-endpoint model-ID preservation (#1066)
|
||||
- **[Jefsky](https://github.com/Jefsky)** — DeepSeek endpoint correction report (#1079, #1084)
|
||||
- **[wlon](https://github.com/wlon)** — NVIDIA NIM provider API-key preference diagnosis (#1081)
|
||||
- **[Horace Liu](https://github.com/liuhq)** — Nix package support and install documentation (#1173)
|
||||
- **[jieshu666](https://github.com/jieshu666)** — terminal repaint flicker reduction (#1563)
|
||||
- **[gordonlu](https://github.com/gordonlu)** — Windows Enter / CSI-u input fix, status picker localization (7 MessageIds), and approval dialog localization across 7 locales (#1612, #2896, #2891)
|
||||
- **[mdrkrg](https://github.com/mdrkrg)** — first-run onboarding crash fix when the API key is missing (#1598)
|
||||
- **[Aitensa](https://github.com/Aitensa)** — CJK wrapping propagation for diff and pager output (#1622)
|
||||
- **[qiyan233](https://github.com/qiyan233)** — legacy DeepSeek CN provider alias compatibility (#1645)
|
||||
- **[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)
|
||||
- **[aboimpinto](https://github.com/aboimpinto)** — Windows alt-screen
|
||||
logging, Home/End composer, runtime log follow-ups, sidebar command polish,
|
||||
and pausable command lifecycle work (#1774, #1776, #1748, #1749, #1782,
|
||||
#1783, #2788, #2732)
|
||||
- **[LeoLin990405](https://github.com/LeoLin990405)** — provider model passthrough, reasoning replay, thinking-only turn, and Windows quoting fixes (#1740, #1743, #1742, #1744)
|
||||
- **[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)
|
||||
- **[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)
|
||||
- **[encyc](https://github.com/encyc)** — session token breakdown in footer and `/status` (#2152)
|
||||
- **[saieswar237](https://github.com/saieswar237)** — review pipeline docs (#2178)
|
||||
- **[sximelon](https://github.com/sximelon)** — paste Enter suppression, key handler extraction (#2174, #2042)
|
||||
- **[nanookclaw](https://github.com/nanookclaw)** — search provider in doctor output (#2135)
|
||||
- **[Sskift](https://github.com/Sskift)** — CLI default env override prevention and statusline footer clearing (#2119, #2248)
|
||||
- **[xin1104](https://github.com/xin1104)** — Homebrew codewhale binary install (#2105)
|
||||
- **[mrluanma](https://github.com/mrluanma)** — Metaso search provider (#2059)
|
||||
- **[Lellansin](https://github.com/Lellansin)** — skip config merge at home dir (#2055)
|
||||
- **[zhuangbiaowei](https://github.com/zhuangbiaowei)** — update release channels and legacy MCP SSE fixes (#2145, #2301)
|
||||
- **[cy2311](https://github.com/cy2311)** — Windows `.bat` launcher for CodeWhale (#1861)
|
||||
- **[LING71671](https://github.com/LING71671)** — effective cost currency context, custom provider docs, and core tool taxonomy prompt block (#1902, #2287, #2292)
|
||||
- **[dzyuan](https://github.com/dzyuan)** — Volcengine provider support with DeepSeek V4 Pro/Flash models (#1993)
|
||||
- **[mvanhorn](https://github.com/mvanhorn)** — live request-shape test factories and global `~/.agents/AGENTS.md` fallback (#2107, #2236)
|
||||
- **[malsony](https://github.com/malsony)** — Matrix-inspired theme and theme picker improvements (#2129)
|
||||
- **[gaord](https://github.com/gaord)** — external GUI runtime event bridge, session detail serialization, and skills API discovery alignment (#2133, #2265, #2285)
|
||||
- **[yuanchenglu](https://github.com/yuanchenglu)** — Feishu per-chat model switching (#2149)
|
||||
- **[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)
|
||||
- **[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)
|
||||
- **[tdccccc](https://github.com/tdccccc)** — approval prompt key-detail and shell-preview work harvested into the maintained approval path (#1991, #2269)
|
||||
- **[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)
|
||||
- **[Implementist](https://github.com/Implementist)** — Volcengine Ark search provider and reliability hardening (#2426, #2429, #2439)
|
||||
- **[lihuan215](https://github.com/lihuan215)** — Unix socket hook sink design harvested into the opt-in hook event path (#2333, #2430)
|
||||
- **[AdityaVG13](https://github.com/AdityaVG13)** — Xiaomi MiMo provider support (#2246)
|
||||
- **[New2Niu](https://github.com/New2Niu)** — macOS display notifications (#2260)
|
||||
- **[AiurArtanis](https://github.com/AiurArtanis)** — Solarized Light theme (#2270)
|
||||
- **[Lee-take](https://github.com/Lee-take)** — task migration and session environment isolation fixes (#2272)
|
||||
- **[LeoAlex0](https://github.com/LeoAlex0)** — session persistence fixes for message counts and tool-output cache preservation (#2388, #2395)
|
||||
- **[jimmyzhuu](https://github.com/jimmyzhuu)** — Baidu AI Search backend for `web_search` (#2371)
|
||||
- **[rockyzhang](https://github.com/rockyzhang)** — RISC-V prebuilt binary support (#2383)
|
||||
- **[mo-vic](https://github.com/mo-vic)** — `/purge` slash command for agent-driven context pruning (#2387)
|
||||
- **[hufanexplore](https://github.com/hufanexplore)** — Java and Vue language-server defaults (#2367)
|
||||
- **[hoclaptrinh33](https://github.com/hoclaptrinh33)** — Vietnamese localization support (#2358)
|
||||
- **[AccMoment](https://github.com/AccMoment)** — proxy option for the update command (#2281)
|
||||
- **[idling11](https://github.com/idling11)** — durable SlopLedger and `/hunt` rename/trophy-card work (#2161, #2306)
|
||||
- **[cyq1017](https://github.com/cyq1017)** — runtime event envelope, render-diff debug logging, and deterministic composer history flushing (#2252, #2332, #2375)
|
||||
- **[hongqitai](https://github.com/hongqitai)** — state schema parent-entry support and clippy/fmt cleanup (#2308, #2432)
|
||||
- **[BryonGo](https://github.com/BryonGo)** — effective-model compaction budgeting fix (#2437)
|
||||
- **[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)
|
||||
- **[RefuseOdd](https://github.com/RefuseOdd)** — configurable `path_suffix` for OpenAI-compatible endpoints (#2558)
|
||||
|
||||
Reports, repros, and verification that shaped v0.8.48 also deserve visible
|
||||
credit: **[@buko](https://github.com/buko)**, **[@yyyCode](https://github.com/yyyCode)**,
|
||||
**[@gaslebinh-glitch](https://github.com/gaslebinh-glitch)**, **[@Dr3259](https://github.com/Dr3259)**,
|
||||
**[@lpeng1711694086-lang](https://github.com/lpeng1711694086-lang)**, **[@VerrPower](https://github.com/VerrPower)**,
|
||||
**[@yan-zay](https://github.com/yan-zay)**, **[@jretz](https://github.com/jretz)**,
|
||||
**[@Neo-millunnium](https://github.com/Neo-millunnium)**, **[@caeserchen](https://github.com/caeserchen)**,
|
||||
**[@T-Phuong-Nguyen](https://github.com/T-Phuong-Nguyen)**, **[@zhyuzhyu](https://github.com/zhyuzhyu)**,
|
||||
**[@0gl20shk0sbt36](https://github.com/0gl20shk0sbt36)**, **[@hatakes](https://github.com/hatakes)**,
|
||||
**[@goodvecn-dev](https://github.com/goodvecn-dev)**, **[@bevis-wong](https://github.com/bevis-wong)**,
|
||||
**[@PurplePulse](https://github.com/PurplePulse)**, and **[@nbiish](https://github.com/nbiish)**.
|
||||
|
||||
---
|
||||
- **[DeepSeek](https://github.com/deepseek-ai)** — the models and support that
|
||||
got this project started. 感谢 DeepSeek 提供模型与支持。
|
||||
- **[DataWhale](https://github.com/datawhalechina)** 🐋 — for the support and for
|
||||
welcoming us into the Whale Brother family. 感谢 DataWhale 的支持。
|
||||
- **[OpenWarp](https://github.com/zerx-lab/warp)** and
|
||||
**[Open Design](https://github.com/nexu-io/open-design)** — for collaborating
|
||||
on a better terminal-agent experience.
|
||||
- **Every contributor** — the full per-PR record lives in
|
||||
[docs/CONTRIBUTORS.md](docs/CONTRIBUTORS.md). Thank you.
|
||||
|
||||
## Contributing
|
||||
|
||||
See [CONTRIBUTING.md](CONTRIBUTING.md). Pull requests welcome — check the [open issues](https://github.com/Hmbown/CodeWhale/issues) for good first contributions.
|
||||
|
||||
CodeWhale gets a lot of good reports and PRs. The maintainer posture is to keep
|
||||
that door open while protecting release quality:
|
||||
|
||||
- Issues should stay human-readable and actionable. Intake automation is
|
||||
advisory unless a maintainer deliberately enables enforcement.
|
||||
- PRs are reviewed from code, tests, linked issues, and runtime behavior, not
|
||||
from title alone.
|
||||
- If a PR is too broad to merge directly, maintainers may harvest the safe part
|
||||
into a narrower branch, then credit the author and explain what landed.
|
||||
- Co-author trailers should use mappable GitHub noreply identities from
|
||||
`.github/AUTHOR_MAP`; reporters and repro authors should be thanked in
|
||||
changelogs, release notes, and closure comments.
|
||||
- Recurring contributors can be added to `.github/APPROVED_CONTRIBUTORS` so
|
||||
dry-run gates stay out of their way.
|
||||
|
||||
Support: [Buy me a coffee](https://www.buymeacoffee.com/hmbown).
|
||||
|
||||
> [!Note]
|
||||
> *Not affiliated with DeepSeek Inc.*
|
||||
See [CONTRIBUTING.md](CONTRIBUTING.md). Pull requests welcome — check the
|
||||
[open issues](https://github.com/Hmbown/CodeWhale/issues) for good first
|
||||
contributions.
|
||||
|
||||
## License
|
||||
|
||||
[MIT](LICENSE)
|
||||
|
||||
> *CodeWhale is an independent community project and is not affiliated with any
|
||||
> model provider.*
|
||||
|
||||
## Star History
|
||||
|
||||
[](https://www.star-history.com/?repos=Hmbown%2FCodeWhale&type=date&logscale=&legend=top-left)
|
||||
|
||||
@@ -0,0 +1,201 @@
|
||||
# Contributors
|
||||
|
||||
CodeWhale is built in the open with a growing community of contributors. Every issue report and pull request is real project work — welcome at any experience level. This page is the full per-PR contributor record, relocated from the README so the README stays readable.
|
||||
|
||||
For the live list, see the [GitHub contributors page](https://github.com/Hmbown/CodeWhale/graphs/contributors), [`AUTHOR_MAP`](https://github.com/Hmbown/CodeWhale/blob/main/.github/AUTHOR_MAP), and [CHANGELOG.md](../CHANGELOG.md).
|
||||
|
||||
## Thanks
|
||||
|
||||
- **[DeepSeek](https://github.com/deepseek-ai)** — thank you for the models and support that power every turn. 感谢 DeepSeek 提供模型与支持,让每一次交互成为可能。
|
||||
- **[DataWhale](https://github.com/datawhalechina)** 🐋 — thank you for your support and for welcoming us into the Whale Brother family. 感谢 DataWhale 的支持,并欢迎我们加入“鲸兄弟”大家庭。
|
||||
- **[OpenWarp](https://github.com/zerx-lab/warp)** — thank you for prioritizing codewhale support and for collaborating on a better terminal-agent experience.
|
||||
- **[Open Design](https://github.com/nexu-io/open-design)** — thank you for support and collaboration around design-forward agent workflows.
|
||||
|
||||
This project ships with help from a growing community of contributors. The
|
||||
maintainer rule is simple: reports and PRs are real project work, even when the
|
||||
final patch has to be narrowed, delayed, or harvested into a maintainer branch.
|
||||
|
||||
For forward-track work, harvested PRs should keep visible credit in the commit
|
||||
or PR body, changelog or release notes, and relevant issue/PR comments.
|
||||
Contributor credit should use mappable GitHub identities from
|
||||
`.github/AUTHOR_MAP` or numeric noreply addresses, not placeholder local emails.
|
||||
The contribution gate is kept in dry-run mode unless a maintainer deliberately
|
||||
enables enforcement; when it comments, the tone should be warm and practical
|
||||
rather than treating the reporter as the problem. Recurring contributors should
|
||||
be recognized so the automation gets out of their way and the public record
|
||||
shows their repeated help.
|
||||
|
||||
Current forward-track credits:
|
||||
|
||||
- **[xyuai](https://github.com/xyuai)** — canonical CodeWhale settings path,
|
||||
provider persistence, provider picker, logout-scope, and MiMo auth cleanup
|
||||
work (#2730, #2714, #2715, #2717, #2718)
|
||||
- **[shenjackyuanjie](https://github.com/shenjackyuanjie)** — HarmonyOS /
|
||||
OpenHarmony porting work and MatePad Edge validation trail (#2634)
|
||||
- **[ousamabenyounes](https://github.com/ousamabenyounes)** — AZERTY/AltGr
|
||||
composer shortcut fix for Windows keyboard layouts (#2863, #2867)
|
||||
- **[reidliu41](https://github.com/reidliu41)** — hotbar action-registry
|
||||
foundation and Ollama model-completion cleanup for the forward track (#2866,
|
||||
#2742)
|
||||
- **[ljm3790865](https://github.com/ljm3790865)** — multi-tab
|
||||
core/persistence foundation and broader tab collaboration direction (#2864,
|
||||
#2753)
|
||||
- **[sximelon](https://github.com/sximelon)** — saved-session resume footer
|
||||
hint work plus provider-trait metadata registry direction reviewed and
|
||||
harvested for the forward track (#2758, #2760, #2479)
|
||||
- **[aboimpinto](https://github.com/aboimpinto)** — sidebar command polish and
|
||||
pausable custom-command lifecycle direction harvested into the forward track,
|
||||
plus the directly merged command-support boundary cleanup and broader command
|
||||
layer design direction (#2788, #2732, #2871, #2851, #2791)
|
||||
- **[AdityaVG13](https://github.com/AdityaVG13)** — WhaleFlow orchestration and
|
||||
cost-tracking drafts that shaped the maintained WhaleFlow IR and
|
||||
TraceStore foundation (#2482, #2486)
|
||||
- **[lbcheng888](https://github.com/lbcheng888)**,
|
||||
**[AiurArtanis](https://github.com/AiurArtanis)**, and
|
||||
**[nasus9527](https://github.com/nasus9527)** — VS Code extension scaffold
|
||||
direction, Agent View request, and IDE plugin request that shaped the
|
||||
official Phase 0 extension (#1022, #1584, #2580)
|
||||
- **[HUQIANTAO](https://github.com/HUQIANTAO)** — `web_run` cache-state
|
||||
lock-splitting, turn-metadata prefix-cache stability, and project-context
|
||||
cache work (#2502, #2517, #2636)
|
||||
- **[idling11](https://github.com/idling11)** — PlanArtifact continuity,
|
||||
dense tool-call transcript collapse, sidebar detail popovers, and
|
||||
HarnessPosture provider/model policy direction (#2733, #2738, #2734,
|
||||
#2741, #2692, #2694, #2693)
|
||||
- **[h3c-hexin](https://github.com/h3c-hexin)** — sub-agent model inheritance,
|
||||
configured `skills_dir` discovery, prompt-environment stability, and static
|
||||
prompt composer direction (#2736, #2737, #2786)
|
||||
- **[gaord](https://github.com/gaord)** — runtime thread workspace updates and
|
||||
completed-thread saved-session API work (#2640, #2639)
|
||||
- **[cyq1017](https://github.com/cyq1017)** — trusted workspace MCP config,
|
||||
provider auth rollback, custom search endpoint, custom completion sound,
|
||||
restore-listing, and pending-input delivery-mode label work (#2751, #2755,
|
||||
#2510, #2512, #2513, #2532, #2054)
|
||||
- **[yusufgurdogan](https://github.com/yusufgurdogan)** — Sofya search
|
||||
provider implementation harvested as a non-default search backend (#2790)
|
||||
- **[LeoAlex0](https://github.com/LeoAlex0)** — runtime prompt metadata cache
|
||||
direction harvested into the maintained prompt/cache path (#2687);
|
||||
`allow_shell` prefix-cache decoupling and `visibility="internal"`
|
||||
explanation for mode-flip stability (#2949, #2951)
|
||||
- **[hongchen1993](https://github.com/hongchen1993)** — Volcengine provider
|
||||
in TUI dispatcher and dispatcher API-key preference (#2923, #2928)
|
||||
- **[NASLXTO](https://github.com/NASLXTO)** and
|
||||
**[wuxixing](https://github.com/wuxixing)** — large-workspace startup
|
||||
reports that shaped the bounded project-context fallback (#697, #1827)
|
||||
- **[shuxiangxuebiancheng](https://github.com/shuxiangxuebiancheng)**,
|
||||
**[hongqitai](https://github.com/hongqitai)**, and
|
||||
**[cyq1017](https://github.com/cyq1017)** — third-party
|
||||
OpenAI-compatible path-suffix report and follow-up review trail (#1874,
|
||||
#2508, #2506)
|
||||
|
||||
Current and recurring contributors include:
|
||||
|
||||
- **[merchloubna70-dot](https://github.com/merchloubna70-dot)** — 28 PRs spanning features, fixes, and VS Code extension scaffolding (#645–#681)
|
||||
- **[WyxBUPT-22](https://github.com/WyxBUPT-22)** — Markdown rendering for tables, bold/italic, and horizontal rules (#579)
|
||||
- **[loongmiaow-pixel](https://github.com/loongmiaow-pixel)** — Windows + China install documentation (#578)
|
||||
- **[20bytes](https://github.com/20bytes)** — User memory docs and help polish (#569)
|
||||
- **[staryxchen](https://github.com/staryxchen)** — glibc compatibility preflight (#556)
|
||||
- **[Vishnu1837](https://github.com/Vishnu1837)** — glibc compatibility improvements and terminal restoration on SIGINT/SIGTERM (#565, #1586)
|
||||
- **[shentoumengxin](https://github.com/shentoumengxin)** — Shell `cwd` boundary validation (#524)
|
||||
- **[toi500](https://github.com/toi500)** — Windows paste fix report
|
||||
- **[xsstomy](https://github.com/xsstomy)** — Terminal startup repaint report
|
||||
- **[melody0709](https://github.com/melody0709)** — Slash-prefix Enter activation report
|
||||
- **[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)
|
||||
- **[Agent-Skill-007](https://github.com/Agent-Skill-007)** — README clarity pass (#685)
|
||||
- **[woyxiang](https://github.com/woyxiang)** — Windows install documentation (#696)
|
||||
- **[wangfeng](mailto:wangfengcsu@qq.com)** — Pricing/discount info update (#692)
|
||||
- **[zichen0116](https://github.com/zichen0116)** — CODE_OF_CONDUCT.md (#686)
|
||||
- **[dfwqdyl-ui](https://github.com/dfwqdyl-ui)** — model ID case-sensitivity compatibility report (#729)
|
||||
- **[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)
|
||||
- **[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)
|
||||
- **[xieshutao](https://github.com/xieshutao)** — plain Markdown skill fallback (#869)
|
||||
- **[GK012](https://github.com/GK012)** — npm wrapper `--version` fallback (#885)
|
||||
- **[y0sif](https://github.com/y0sif)** — parent turn-loop wakeup after direct child sub-agent completion (#901)
|
||||
- **[mac119](https://github.com/mac119)** and **[leo119](https://github.com/leo119)** — `codewhale update` command documentation (#838, #917)
|
||||
- **[dumbjack](https://github.com/dumbjack)** / **浩淼的mac** — command-safety null-byte hardening (#706, #918)
|
||||
- **macworkers** — fork confirmation with the new session id (#600, #919)
|
||||
- **zero** and **[zerx-lab](https://github.com/zerx-lab)** — notification condition config and richer OSC 9 notification body (#820, #920)
|
||||
- **[chnjames](https://github.com/chnjames)** — cached @mention completions, config recovery polish, and Windows UTF-8 shell output (#849, #927, #982, #1018)
|
||||
- **[angziii](https://github.com/angziii)** — config safety, async cleanup, Docker hardening, and command-safety fixes (#822, #824, #827, #831, #833, #835, #837)
|
||||
- **[elowen53](https://github.com/elowen53)** — UTF-8 decoding and deterministic test coverage (#825, #840)
|
||||
- **[wdw8276](https://github.com/wdw8276)** — `/rename` command for custom session titles (#836)
|
||||
- **[banqii](https://github.com/banqii)** — `.cursor/skills` discovery path support (#817)
|
||||
- **[junskyeed](https://github.com/junskyeed)** — dynamic `max_tokens` calculation for API requests (#826)
|
||||
- **Hafeez Pizofreude** — SSRF protection in `fetch_url` and Star History chart
|
||||
- **Unic (YuniqueUnic)** — Schema-driven config UI (TUI + web)
|
||||
- **Jason** — SSRF security hardening
|
||||
- **[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)
|
||||
- **[MengZ-super](https://github.com/MengZ-super)** — `/theme` command foundation and SSE gzip/brotli decompression (#1057, #1061)
|
||||
- **[DI-HUO-MING-YI](https://github.com/DI-HUO-MING-YI)** — Plan-mode read-only sandbox safety fix (#1077)
|
||||
- **[bevis-wong](https://github.com/bevis-wong)** — precise paste-Enter auto-submit reproducer (#1073)
|
||||
- **[Duducoco](https://github.com/Duducoco)** and **[AlphaGogoo](https://github.com/AlphaGogoo)** — skills slash-menu and `/skills` coverage fix (#1068, #1083)
|
||||
- **[ArronAI007](https://github.com/ArronAI007)** — window-resize artifact fix for macOS Terminal.app and ConHost (#993)
|
||||
- **[THINKER-ONLY](https://github.com/THINKER-ONLY)** — OpenRouter and custom-endpoint model-ID preservation (#1066)
|
||||
- **[Jefsky](https://github.com/Jefsky)** — DeepSeek endpoint correction report (#1079, #1084)
|
||||
- **[wlon](https://github.com/wlon)** — NVIDIA NIM provider API-key preference diagnosis (#1081)
|
||||
- **[Horace Liu](https://github.com/liuhq)** — Nix package support and install documentation (#1173)
|
||||
- **[jieshu666](https://github.com/jieshu666)** — terminal repaint flicker reduction (#1563)
|
||||
- **[gordonlu](https://github.com/gordonlu)** — Windows Enter / CSI-u input fix, status picker localization (7 MessageIds), and approval dialog localization across 7 locales (#1612, #2896, #2891)
|
||||
- **[mdrkrg](https://github.com/mdrkrg)** — first-run onboarding crash fix when the API key is missing (#1598)
|
||||
- **[Aitensa](https://github.com/Aitensa)** — CJK wrapping propagation for diff and pager output (#1622)
|
||||
- **[qiyan233](https://github.com/qiyan233)** — legacy DeepSeek CN provider alias compatibility (#1645)
|
||||
- **[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)
|
||||
- **[aboimpinto](https://github.com/aboimpinto)** — Windows alt-screen
|
||||
logging, Home/End composer, runtime log follow-ups, sidebar command polish,
|
||||
and pausable command lifecycle work (#1774, #1776, #1748, #1749, #1782,
|
||||
#1783, #2788, #2732)
|
||||
- **[LeoLin990405](https://github.com/LeoLin990405)** — provider model passthrough, reasoning replay, thinking-only turn, and Windows quoting fixes (#1740, #1743, #1742, #1744)
|
||||
- **[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)
|
||||
- **[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)
|
||||
- **[encyc](https://github.com/encyc)** — session token breakdown in footer and `/status` (#2152)
|
||||
- **[saieswar237](https://github.com/saieswar237)** — review pipeline docs (#2178)
|
||||
- **[sximelon](https://github.com/sximelon)** — paste Enter suppression, key handler extraction (#2174, #2042)
|
||||
- **[nanookclaw](https://github.com/nanookclaw)** — search provider in doctor output (#2135)
|
||||
- **[Sskift](https://github.com/Sskift)** — CLI default env override prevention and statusline footer clearing (#2119, #2248)
|
||||
- **[xin1104](https://github.com/xin1104)** — Homebrew codewhale binary install (#2105)
|
||||
- **[mrluanma](https://github.com/mrluanma)** — Metaso search provider (#2059)
|
||||
- **[Lellansin](https://github.com/Lellansin)** — skip config merge at home dir (#2055)
|
||||
- **[zhuangbiaowei](https://github.com/zhuangbiaowei)** — update release channels and legacy MCP SSE fixes (#2145, #2301)
|
||||
- **[cy2311](https://github.com/cy2311)** — Windows `.bat` launcher for CodeWhale (#1861)
|
||||
- **[LING71671](https://github.com/LING71671)** — effective cost currency context, custom provider docs, and core tool taxonomy prompt block (#1902, #2287, #2292)
|
||||
- **[dzyuan](https://github.com/dzyuan)** — Volcengine provider support with DeepSeek V4 Pro/Flash models (#1993)
|
||||
- **[mvanhorn](https://github.com/mvanhorn)** — live request-shape test factories and global `~/.agents/AGENTS.md` fallback (#2107, #2236)
|
||||
- **[malsony](https://github.com/malsony)** — Matrix-inspired theme and theme picker improvements (#2129)
|
||||
- **[gaord](https://github.com/gaord)** — external GUI runtime event bridge, session detail serialization, and skills API discovery alignment (#2133, #2265, #2285)
|
||||
- **[yuanchenglu](https://github.com/yuanchenglu)** — Feishu per-chat model switching (#2149)
|
||||
- **[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)
|
||||
- **[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)
|
||||
- **[tdccccc](https://github.com/tdccccc)** — approval prompt key-detail and shell-preview work harvested into the maintained approval path (#1991, #2269)
|
||||
- **[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)
|
||||
- **[Implementist](https://github.com/Implementist)** — Volcengine Ark search provider and reliability hardening (#2426, #2429, #2439)
|
||||
- **[lihuan215](https://github.com/lihuan215)** — Unix socket hook sink design harvested into the opt-in hook event path (#2333, #2430)
|
||||
- **[AdityaVG13](https://github.com/AdityaVG13)** — Xiaomi MiMo provider support (#2246)
|
||||
- **[New2Niu](https://github.com/New2Niu)** — macOS display notifications (#2260)
|
||||
- **[AiurArtanis](https://github.com/AiurArtanis)** — Solarized Light theme (#2270)
|
||||
- **[Lee-take](https://github.com/Lee-take)** — task migration and session environment isolation fixes (#2272)
|
||||
- **[LeoAlex0](https://github.com/LeoAlex0)** — session persistence fixes for message counts and tool-output cache preservation (#2388, #2395)
|
||||
- **[jimmyzhuu](https://github.com/jimmyzhuu)** — Baidu AI Search backend for `web_search` (#2371)
|
||||
- **[rockyzhang](https://github.com/rockyzhang)** — RISC-V prebuilt binary support (#2383)
|
||||
- **[mo-vic](https://github.com/mo-vic)** — `/purge` slash command for agent-driven context pruning (#2387)
|
||||
- **[hufanexplore](https://github.com/hufanexplore)** — Java and Vue language-server defaults (#2367)
|
||||
- **[hoclaptrinh33](https://github.com/hoclaptrinh33)** — Vietnamese localization support (#2358)
|
||||
- **[AccMoment](https://github.com/AccMoment)** — proxy option for the update command (#2281)
|
||||
- **[idling11](https://github.com/idling11)** — durable SlopLedger and `/hunt` rename/trophy-card work (#2161, #2306)
|
||||
- **[cyq1017](https://github.com/cyq1017)** — runtime event envelope, render-diff debug logging, and deterministic composer history flushing (#2252, #2332, #2375)
|
||||
- **[hongqitai](https://github.com/hongqitai)** — state schema parent-entry support and clippy/fmt cleanup (#2308, #2432)
|
||||
- **[BryonGo](https://github.com/BryonGo)** — effective-model compaction budgeting fix (#2437)
|
||||
- **[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)
|
||||
- **[RefuseOdd](https://github.com/RefuseOdd)** — configurable `path_suffix` for OpenAI-compatible endpoints (#2558)
|
||||
|
||||
Reports, repros, and verification that shaped v0.8.48 also deserve visible
|
||||
credit: **[@buko](https://github.com/buko)**, **[@yyyCode](https://github.com/yyyCode)**,
|
||||
**[@gaslebinh-glitch](https://github.com/gaslebinh-glitch)**, **[@Dr3259](https://github.com/Dr3259)**,
|
||||
**[@lpeng1711694086-lang](https://github.com/lpeng1711694086-lang)**, **[@VerrPower](https://github.com/VerrPower)**,
|
||||
**[@yan-zay](https://github.com/yan-zay)**, **[@jretz](https://github.com/jretz)**,
|
||||
**[@Neo-millunnium](https://github.com/Neo-millunnium)**, **[@caeserchen](https://github.com/caeserchen)**,
|
||||
**[@T-Phuong-Nguyen](https://github.com/T-Phuong-Nguyen)**, **[@zhyuzhyu](https://github.com/zhyuzhyu)**,
|
||||
**[@0gl20shk0sbt36](https://github.com/0gl20shk0sbt36)**, **[@hatakes](https://github.com/hatakes)**,
|
||||
**[@goodvecn-dev](https://github.com/goodvecn-dev)**, **[@bevis-wong](https://github.com/bevis-wong)**,
|
||||
**[@PurplePulse](https://github.com/PurplePulse)**, and **[@nbiish](https://github.com/nbiish)**.
|
||||
|
||||
---
|
||||
Reference in New Issue
Block a user