| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
feat(telemetry): accept disclosed default-on usage policy without fabricated consent Add closed schema3/notice_version5 ingest and generated CWC contract. Preserve original v1 first-party-only and v2/consent4 semantics, reject mixed policy fields before storage or forwarding, and retain IP/host/operator/content guards. Existing Analytics Engine column positions remain fixed; schema_version distinguishes old consent from new notice metadata. Document the founder's amended default-on/opt-out policy and preserve prior declines. Rust/app preference changes are integrated separately. Validation: ingest 171 passed, 0 failed across 6 files; TypeScript, facts, 23 documentation topics and git diff checks passed. Original validator rejects the new v3 fixture; current validator accepts v2 and v3. Proposed Rust v3 fixture accepted by ingest; sender proof pending Rust integration. Root npm test && npm run check:web exits1 because no test script exists (0 tests, check:web not reached). No hosted deployment, processor activation or runtime-installed policy change claimed. Signed-off-by: CodeWhale Bot <bot@codewhale.net> | 2 天前 | |
feat(telemetry): accept disclosed default-on usage policy without fabricated consent Add closed schema3/notice_version5 ingest and generated CWC contract. Preserve original v1 first-party-only and v2/consent4 semantics, reject mixed policy fields before storage or forwarding, and retain IP/host/operator/content guards. Existing Analytics Engine column positions remain fixed; schema_version distinguishes old consent from new notice metadata. Document the founder's amended default-on/opt-out policy and preserve prior declines. Rust/app preference changes are integrated separately. Validation: ingest 171 passed, 0 failed across 6 files; TypeScript, facts, 23 documentation topics and git diff checks passed. Original validator rejects the new v3 fixture; current validator accepts v2 and v3. Proposed Rust v3 fixture accepted by ingest; sender proof pending Rust integration. Root npm test && npm run check:web exits1 because no test script exists (0 tests, check:web not reached). No hosted deployment, processor activation or runtime-installed policy change claimed. Signed-off-by: CodeWhale Bot <bot@codewhale.net> | 2 天前 | |
docs(i18n): complete Tier-2 must-haves for EPIC #5482 (#5793) * Complete Tier-2 Must-haves for the EPIC #5482 * docs: remove legacy zh-CN redirect files * docs: improve Agent Runtime diagram --------- Co-authored-by: CodeWhale Bot <bot@codewhale.net> | 6 天前 | |
feat(tui): /statusline composes the bottom chrome, ctx reads at every fullness (#5950) The 0.9.12 shell built the two rows under the composer without ever reading `app.status_items`. The whole renderer had exactly one reader of that list — `should_fetch_provider_balance` in `tui/ui/provider_routes.rs` — so every toggle in `/statusline` except the balance fetch changed nothing on screen. The metrics line also gated its context reading at 50% fullness, which meant most of a session ran with no context indicator at all. The context reading now paints from 0%, with the ink thresholds it always had: Info below 80%, Failure from 80% up. It is still the row's floor and sheds after everything else, including the help hint. `info_segments` now gates every segment on its `StatusItem`: Model -> the route segment ContextPercent -> ctx NN% Cost -> the session price Balance -> a new segment (see below) Cache -> cache NN% Tokens -> the output-token count SessionMetrics -> ttft and tok/s `Balance` previously authorised a fetch whose result nothing in the chrome painted; it now paints one, labelled from the existing `MessageId::FooterBalancePrefix` (already in all 15 packs — this change adds no user-visible strings), valued from `BalanceInfo::chip_label`, shed priority 5 so it outlives the cost. `Mode` gates the posture bar's plan/act/operate chip via a one-line filter on the already-optional `mode_chip`; the permission chip, the working clocks (#5914) and the live counts stay unconditional and the shed ladder in `phase_strip.rs` is untouched. Eight items that could not change anything are retired rather than left lying: `ReasoningReplay` (no references outside `config.rs`), `RateLimit` and `LastToolElapsed` (their own docs said "placeholder until wired"), `PrefixStability` (one test reference), `GitBranch` (the launch header and git dock own the branch since 2026-09-02), `Status` and `Agents` (the posture bar's clock and live counts own those facts). Old config files keep loading: `from_key` returns None for the retired keys and `deser_status_items` skips them with a warning. `tui.status_items` is reused as-is — no second key, and the issue's proposed `[tui.bottom]` schema is deliberately not added. `default_footer()` gains `ContextPercent` so the reading is on out of the box. Not in this slice: the issue's compact/hidden row presets, and automatically omitting an unprovable effort or price. The cost half is now reachable by turning the cost item off. Verified: cargo fmt -p codewhale-tui clean cargo check -p codewhale-tui --lib --tests clean RUST_MIN_STACK=16777216 cargo test -p codewhale-tui --lib -- \ tui::ui::frame tui::phase_strip tui::views::status_picker \ tui::infoline localization 119 passed, 0 failed RUST_MIN_STACK=16777216 cargo test -p codewhale-tui --lib -- \ config::tests config_persistence tui::ui::tests::default_footer \ tui::ui::tests::should_fetch tui::widgets 708 passed, 0 failed No golden needed re-blessing: the infoline and footer goldens render synthetic segments and default status items, and both stayed byte-identical. Buffer-level evidence only — no run against a real provider and no live terminal session. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0188XYyJaw9Mh9uSrqQBoqhm Signed-off-by: CodeWhale Bot <bot@codewhale.net> | 1 天前 | |
docs(i18n): complete Tier-2 must-haves for EPIC #5482 (#5793) * Complete Tier-2 Must-haves for the EPIC #5482 * docs: remove legacy zh-CN redirect files * docs: improve Agent Runtime diagram --------- Co-authored-by: CodeWhale Bot <bot@codewhale.net> | 6 天前 | |
docs(install): align quickstarts with GitHub release updates Make the official GitHub install route primary across translated READMEs, the First Launch guides, product/install facts, and Chinese/Indonesian recovery instructions. Existing direct installs use codewhale update; package-owned or mixed installations use the documented fresh-directory migration. npm and Cargo remain secondary, with Cargo retained as the supported source fallback where no compatible prebuilt exists. Use Android-specific archives with matching checksums, explicit preview status, and the canonical Termux instructions. Preserve the checked public v0.9.11 release and distinct source-candidate facts. Update the website recommendation assertion and retain the Android asset/architecture/preview contract independently of column order. No frontend content or Rust edits. The old translated README stamp matches English README at 919ae3f5 exactly; only its Install section changed since then. Refresh the 17 installation translations and the existing zh-CN stamp only after all 18 translations pass fenced-command, link, and section parity. Local validation: - Website: public-surface-contract, install-platform, public-installer, static-installer, docs-ia: 46 passed, 0 failed across 5 files. - npm run check:docs (web): PASS, 23 topics, source version 0.9.12. - check-readme-translations.py: PASS, 18 translations. - cargo fmt --all -- --check, git diff --check, JSON parsing: PASS. - Four referenced assets checked against the saved v0.9.11 release metadata; no network, binary installation, or device qualification performed. - Before contract adjustment: the existing recommendation test failed once (13 skipped), exposing the retained npm-default assertion. - Requested root npm test and npm run check:web remain unavailable: Missing script: "test" and Missing script: "check:web". Neither is claimed passed; the actual website package checks above were run successfully. No remote mutation, install, deployment, package removal, or provider use. | 2 天前 | |
chore: use the public name Codewhale in prose (identifiers untouched) (#5742) * chore: use the public name Codewhale in prose Replace the word CodeWhale with the ratified public name Codewhale in public prose only: docs/**, all 15 TUI locale packs, and user-facing Rust string literals in crates/tui/src (update/help/status/error copy plus the tests that assert on that copy). Compatibility identifiers are untouched: the Hmbown/CodeWhale GitHub slug and every URL containing it, Hmbown.CodeWhale (winget), Windows install paths (%LOCALAPPDATA%\Programs\CodeWhale\bin), clone directories (cd CodeWhale), user-agent and header strings, gherkin step names, test fixtures, doc comments, CHANGELOG history, README URLs. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014aDEyM2a4pPZ9qqMDrP5YX Signed-off-by: CodeWhale Bot <bot@codewhale.net> * chore: bundled plan skill prose uses the public name Codewhale Signed-off-by: CodeWhale Bot <bot@codewhale.net> --------- Signed-off-by: CodeWhale Bot <bot@codewhale.net> Co-authored-by: CodeWhale Bot <bot@codewhale.net> Co-authored-by: Claude Fable 5 <noreply@anthropic.com> | 6 天前 | |
docs(i18n): complete Tier 1 of Chinese docs localization (#5482) - Move LSP_PHP_CUSTOM.zh-CN.md and WINDOWS_BEGINNER.zh-CN.md into docs/zh_hans/ (dropping the .zh-CN suffix), leaving redirect stubs at the old paths for one release cycle - Add docs/zh_hans/README.md as the canonical Chinese reading index, ordered by experience level (beginner / getting-started / power user / developer) - Add a language-switcher banner to docs/LSP_PHP_CUSTOM.md and back-link/last-synced stamps to both migrated Chinese docs - Note in LOCALIZATION.md that docs translations are not a locale surface; their status lives in docs/zh_hans/README.md and #5482 Part of #5482 Signed-off-by: Shizuku <2163018547@qq.com> | 20 天前 | |
docs(i18n): complete Tier-2 must-haves for EPIC #5482 (#5793) * Complete Tier-2 Must-haves for the EPIC #5482 * docs: remove legacy zh-CN redirect files * docs: improve Agent Runtime diagram --------- Co-authored-by: CodeWhale Bot <bot@codewhale.net> | 6 天前 | |
docs(i18n): complete Tier-2 must-haves for EPIC #5482 (#5793) * Complete Tier-2 Must-haves for the EPIC #5482 * docs: remove legacy zh-CN redirect files * docs: improve Agent Runtime diagram --------- Co-authored-by: CodeWhale Bot <bot@codewhale.net> | 6 天前 | |
fix(providers): Ollama default comes from the live local catalog, not a hosted costume (#5795) * fix(providers): Ollama default comes from the live local catalog, not a hosted costume Local Ollama painted deepseek-v4-flash because the catalog refresh skipped it and the constant invented a tag GET /api/tags never returned. Refresh the PerProvider lake from /v1/models, prefer those tags, and keep unknown only for the pre-refresh window. Also replace the symmetric fluke with the side-view prompt-eye whale on the TUI launch mark and website icon. Co-authored-by: Cursor <cursoragent@cursor.com> * test: follow Y-2 — Ollama placeholder default, export golden, re-blessed startup mark The four red rows on #5795 all encode behavior this change deliberately replaced: - crates/agent `ollama_default_uses_small_local_model_id` asserted the old `deepseek-v4-flash` constant. `DEFAULT_OLLAMA_MODEL` is now `unknown` so the header never names a model the session cannot reach; the test now asserts that without a live local catalog the registry reports `ProviderDefaultUnavailable { provider: Ollama, default_model: "unknown" }`. - crates/config `providers-export.golden.json` regenerated from `ProvidersExport::from_registry` (`WRITE_GOLDEN=1`, the ignored writer test). - crates/tui `startup_{80x24,100x30,120x32,160x40}` and their `startup_ink_*` planes re-blessed with `CODEWHALE_BLESS_GOLDENS=1`: the only drift is the hero rows, which now paint the side-view prompt-eye whale mark this PR introduces. `startup_40x10` is byte-identical (no mark at the floor). Evidence (scripts/dev-test.sh, RUST_MIN_STACK=16777216 as CI sets): tui underwater::tideline_tests::startup_ Summary 14 tests run: 14 passed agent ollama Summary 3 tests run: 3 passed config route::export Summary 5 tests run: 5 passed cargo fmt --all -- --check clean Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AdbuqwHAXSDcikPiS6L6Qw --------- Co-authored-by: CodeWhale Bot <bot@codewhale.net> Co-authored-by: Cursor <cursoragent@cursor.com> Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com> | 6 天前 | |
feat: rip out Pod, Fleet-only (compat shims deleted) | 4 天前 | |
docs(i18n): complete Tier-2 must-haves for EPIC #5482 (#5793) * Complete Tier-2 Must-haves for the EPIC #5482 * docs: remove legacy zh-CN redirect files * docs: improve Agent Runtime diagram --------- Co-authored-by: CodeWhale Bot <bot@codewhale.net> | 6 天前 | |
docs(i18n): complete Tier-2 must-haves for EPIC #5482 (#5793) * Complete Tier-2 Must-haves for the EPIC #5482 * docs: remove legacy zh-CN redirect files * docs: improve Agent Runtime diagram --------- Co-authored-by: CodeWhale Bot <bot@codewhale.net> | 6 天前 | |
feat(telemetry): accept disclosed default-on usage policy without fabricated consent Add closed schema3/notice_version5 ingest and generated CWC contract. Preserve original v1 first-party-only and v2/consent4 semantics, reject mixed policy fields before storage or forwarding, and retain IP/host/operator/content guards. Existing Analytics Engine column positions remain fixed; schema_version distinguishes old consent from new notice metadata. Document the founder's amended default-on/opt-out policy and preserve prior declines. Rust/app preference changes are integrated separately. Validation: ingest 171 passed, 0 failed across 6 files; TypeScript, facts, 23 documentation topics and git diff checks passed. Original validator rejects the new v3 fixture; current validator accepts v2 and v3. Proposed Rust v3 fixture accepted by ingest; sender proof pending Rust integration. Root npm test && npm run check:web exits1 because no test script exists (0 tests, check:web not reached). No hosted deployment, processor activation or runtime-installed policy change claimed. Signed-off-by: CodeWhale Bot <bot@codewhale.net> | 2 天前 | |
docs(i18n): complete Tier-2 must-haves for EPIC #5482 (#5793) * Complete Tier-2 Must-haves for the EPIC #5482 * docs: remove legacy zh-CN redirect files * docs: improve Agent Runtime diagram --------- Co-authored-by: CodeWhale Bot <bot@codewhale.net> | 6 天前 | |
fix(release): ship Terminal launcher in Windows bundles Signed-off-by: Hunter Bown <hmbown@gmail.com> | 19 天前 |
Codewhale 简体中文文档阅读指南
这里是简体中文用户阅读 Codewhale 文档的入口。英文原版文档在文档根目录
docs/下。 本文档按经验水平组织阅读路径,并跟踪各文档的翻译状态。 下文建议仅表文档维护者本人观点,与 Codewhale 官方立场无关
一、零基础(完全没接触过 harness ,甚至对 AI 编程毫无概念)
从零开始,先弄懂"它是什么、装在哪儿、怎么跑起来"。
- WINDOWS_BEGINNER.md —— Windows 用户上手指南,完全零基础者可阅读此文档以入门
- HarmonyOS.md —— 鸿蒙设备安装说明,鸿蒙系统用户请重点关注
- INSTALL.md —— 所有受支持平台的安装方式与常见安装失败排查
二、入门用户(已经装好程序、但仍然对 harness 不够了解)
阅读以下文档,能够帮助您快速入门,掌握 Codewhale 这个软件的使用方法
- GUIDE.md —— 最基础的入门教程,一个小时就能读完、实践完,适用于所有平台
- KEYBINDINGS.md —— TUI 页面的快捷键列表,在此可以了解到 Codewhale 的食用方法
- MODES.md —— 各个模式的使用说明(强烈建议每个 Codewhale 用户都阅读此项)
- PROVIDERS.md —— 查询您所用的模型的供应商是否在 Codewhale 官方支持的列表之中
三、进阶用户(已经有充足了解,追求效率、安全与定制)
把 Codewhale 配置成最顺手的样子。
- CONFIGURATION.md —— 完整配置参考(最大的文档,可分章节阅读)
- Fleet —— Fleet 角色与多模型编排
- MCP.md —— MCP 模型上下文协议接入
- SKILLS.md —— 技能(skill)的安装、管理与使用
- SUBAGENTS.md —— 子智能体(Fleet)机制
- HOOKS.md —— 钩子机制与自动化
- TOOL_SURFACE.md —— 工具面:AI 当前可用的工具契约
- AGENT_RUNTIME.md —— Agent 运行时:子智能体、exec 与 Fleet 的关系
四、开发者(阅读源码或为 Codewhale 贡献)
为 Codewhale 贡献代码或做集成开发。
- ARCHITECTURE.md —— 架构总览
- CONTRIBUTING.md —— 贡献指南:如何提交 Issue 与 PR、代码约定与验证门禁
- CODE_OF_CONDUCT.md —— 社区行为准则
- RUNTIME_API.md —— Runtime API 与集成契约(供集成与二次开发)
我们强烈建议,成为 Codewhale 贡献者之前,您需要具备一定的英语阅读能力。如果您在英语方面较为薄弱,当然可以使用 LLM 来翻译。但是在 LLM 翻译完原文之后,建议您强忍着看不懂外文的不适,即使皱着眉头,也要审查一遍 LLM 翻译后的语义是否与你的原文语义相同。LLM 幻觉是会把事情搞砸的。
翻译状态
若想问询文档的翻译排期与逐篇状态,可在 issue #5482 跟踪。
约定
- 每个中文译文都放在
docs/zh_hans/下,保留与英文源相同的文件名主干,便于一一对应。 - 英文文档顶部会放一条语言切换横幅(例如
> 阅读简体中文版:[zh_hans/INSTALL.md](zh_hans/INSTALL.md))。 - 中文文档回链英文源,并标注 "last synced with English revision" 日期,让过期一目了然。
- 旧位置的
.zh-CN.md文件保留为重定向占位页,保留一个发布周期后移除。
本文档更新于 2026 年 8 月 18 日 Last Updated on August 18, 2026