diff --git a/README.md b/README.md index d5be8ee4..72cad555 100644 --- a/README.md +++ b/README.md @@ -34,7 +34,7 @@ Claude Code Haha is a **desktop Claude Code workspace** for macOS, Windows, and The Claude Code Haha desktop app brings sessions, multi-project navigation, branch / Worktree controls, file changes, diff review, permission approval, model setup, and remote access into one graphical workspace for daily development beyond the terminal. -v0.5.0 shipped a full UI redesign — six colour themes that can follow your system's light/dark setting. All six shots below are from a real v0.5.0 build. +Every screenshot below comes from the real desktop app in Pure White at 100% UI zoom. The task flow ran in a real `launch-board` test project through ChatGPT Official and GPT-5.6-Luna.

Download Desktop @@ -44,14 +44,16 @@ v0.5.0 shipped a full UI redesign — six colour themes that can follow your sys - - - + + - - - + + + + + +
Desktop session view
Say it once, watch it finish
Tool calls and every edit stay in the thread
Workspace diff review
See exactly what changed
Syntax-highlighted diffs; you decide what lands
Built-in browser previewing the page that was just changed
Verify on the spot
Open your dev server inside the app
Empty desktop session before the first task
Start with a clear, empty session
Project, permissions and GPT-5.6-Luna stay visible
Real task running with the Activity panel open
Follow the task as it runs
Tool calls and stage-by-stage progress stay in view
Session view in the dark theme
Six themes, follows the system
Light and dark, six palettes in all
Skill marketplace
Missing a trick? Install it
Source and safety status shown up front
Desktop pet settings with the floating pet
Company while it works
Dada, Huhu, Bubu and Huihui follow the task
Workspace diff review
See exactly what changed
A focused, full-width syntax-highlighted diff
Built-in browser previewing the page that was just changed
Verify on the spot
The real edited page in the built-in browser
Model picker showing ChatGPT Official and GPT-5.6-Luna
Choose the exact model
ChatGPT Official with GPT-5.6-Luna in a real session
Skill marketplace
Missing a trick? Install it
Source and safety status shown up front
diff --git a/README.zh-CN.md b/README.zh-CN.md index 301520e8..6ea96301 100644 --- a/README.zh-CN.md +++ b/README.zh-CN.md @@ -34,7 +34,7 @@ Claude Code Haha 是一个**桌面端 Claude Code 工作台**:把会话、多 Claude Code Haha 的桌面端把会话、多项目、分支 / Worktree、代码改动、Diff 评审、权限确认、模型配置和远程入口收进一个图形化工作台,适合不想长期停留在终端里的日常开发。 -v0.5.0 做了一次全量 UI 重设计(「纸·墨·印」),六套配色可跟随系统深浅色切换。下面六张都拍自 v0.5.0 真机。 +下面所有截图都来自真实桌面 App,统一使用纯白主题和 100% 界面缩放。任务在真实 `launch-board` 测试项目中执行,服务商为 ChatGPT 官方,模型为 GPT-5.6-Luna。

下载桌面端 @@ -44,14 +44,16 @@ v0.5.0 做了一次全量 UI 重设计(「纸·墨·印」),六套配色 - - - + + - - - + + + + + +
桌面端会话主界面
说一句话,看它做完
工具调用和每处改动都留在对话里
工作区 Diff 评审
改了什么,逐个文件看
带语法高亮的 Diff,你点头才落地
内置浏览器预览刚改完的页面
改完当场验证
内置浏览器打开本地服务看效果
第一次任务前的空会话
从清爽的空会话开始
项目、权限和 GPT-5.6-Luna 都在首屏
打开活动面板的真实执行中任务
跟着任务一步步往前
工具调用与阶段进度都留在眼前
墨夜主题下的会话界面
六套配色可跟随系统
纯白 · 纸墨 · 经典暖色 · 青瓷 · 墨夜 · 墨夜蓝
技能市场
缺什么手艺装什么
来源和安全状态摆在明处
桌面宠物设置与悬浮宠物
桌面上有个伴
搭搭、弧弧、补补、回回随任务换动作
工作区 Diff 评审
改了什么,逐行看清楚
放大的高亮 Diff,文字和代码更清楚
内置浏览器预览刚改完的页面
改完当场验证
内置浏览器打开真实本地页面
显示 ChatGPT 官方和 GPT-5.6-Luna 的模型选择器
每条会话自选模型
ChatGPT 官方服务商与 GPT-5.6-Luna
技能市场
缺什么手艺装什么
来源和安全状态摆在明处
diff --git a/docs/desktop/settings.md b/docs/desktop/settings.md index ab0896ec..8772ce98 100644 --- a/docs/desktop/settings.md +++ b/docs/desktop/settings.md @@ -35,7 +35,7 @@ order: 6 - **界面缩放** — 整体放大缩小,也可以用 `⌘+` / `⌘-` 快捷键,`⌘0` 回到 100%。 - **数据存储位置** — 低频高级设置。默认用系统目录 `~/.claude`,也可以改成你指定的绝对路径。切换后会话记录、技能、MCP、插件、服务商配置全部从新目录读取,需要重启应用生效,两个目录之间不会自动合并或迁移。 -![同一条会话在「墨夜」深色主题下的样子](../images/app/zh-CN/session-dark.webp) +本文的产品截图统一使用「纯白」主题,避免不同配色影响界面对比。 ## H5 访问 diff --git a/docs/en/desktop/settings.md b/docs/en/desktop/settings.md index b867e1c4..2349e8da 100644 --- a/docs/en/desktop/settings.md +++ b/docs/en/desktop/settings.md @@ -35,7 +35,7 @@ The tab you'll open most often — everything about how the app feels. - **UI Zoom** — scale the whole interface, also bound to `⌘+` / `⌘-`, with `⌘0` back to 100%. - **Data Storage Location** — an advanced, rarely-touched setting. Defaults to the system directory `~/.claude`, or point it at an absolute path of your own. After switching, sessions, skills, MCP, plugins, and provider config are all read from the new directory; it needs a restart, and the two directories are never merged or migrated automatically. -![The same session in the Ink Night dark theme](../../images/app/en/session-dark.webp) +Product screenshots in this guide consistently use the **Pure White** theme so the interface can be compared without palette changes. ## H5 Access diff --git a/docs/images/app/en/model-picker.webp b/docs/images/app/en/model-picker.webp new file mode 100644 index 00000000..b1201ce1 Binary files /dev/null and b/docs/images/app/en/model-picker.webp differ diff --git a/docs/images/app/en/schedule-create.webp b/docs/images/app/en/schedule-create.webp index 70143b67..1611543e 100644 Binary files a/docs/images/app/en/schedule-create.webp and b/docs/images/app/en/schedule-create.webp differ diff --git a/docs/images/app/en/session-main.webp b/docs/images/app/en/session-main.webp index 842ca3e5..6b190781 100644 Binary files a/docs/images/app/en/session-main.webp and b/docs/images/app/en/session-main.webp differ diff --git a/docs/images/app/en/session-new.webp b/docs/images/app/en/session-new.webp index c48a38ca..ad5238b6 100644 Binary files a/docs/images/app/en/session-new.webp and b/docs/images/app/en/session-new.webp differ diff --git a/docs/images/app/en/skill-market.webp b/docs/images/app/en/skill-market.webp index 50c03fbd..291af41c 100644 Binary files a/docs/images/app/en/skill-market.webp and b/docs/images/app/en/skill-market.webp differ diff --git a/docs/images/app/en/workspace-diff.webp b/docs/images/app/en/workspace-diff.webp index 79f69fa8..547b01e9 100644 Binary files a/docs/images/app/en/workspace-diff.webp and b/docs/images/app/en/workspace-diff.webp differ diff --git a/docs/images/app/en/workspace-preview.webp b/docs/images/app/en/workspace-preview.webp index d55c1f2b..59fb4c45 100644 Binary files a/docs/images/app/en/workspace-preview.webp and b/docs/images/app/en/workspace-preview.webp differ diff --git a/docs/images/app/zh-CN/model-picker.webp b/docs/images/app/zh-CN/model-picker.webp new file mode 100644 index 00000000..d31fd15d Binary files /dev/null and b/docs/images/app/zh-CN/model-picker.webp differ diff --git a/docs/images/app/zh-CN/schedule-create.webp b/docs/images/app/zh-CN/schedule-create.webp index 86ae8489..504fab44 100644 Binary files a/docs/images/app/zh-CN/schedule-create.webp and b/docs/images/app/zh-CN/schedule-create.webp differ diff --git a/docs/images/app/zh-CN/session-main.webp b/docs/images/app/zh-CN/session-main.webp index 303660dd..274ed1e2 100644 Binary files a/docs/images/app/zh-CN/session-main.webp and b/docs/images/app/zh-CN/session-main.webp differ diff --git a/docs/images/app/zh-CN/session-new.webp b/docs/images/app/zh-CN/session-new.webp index 619f7cd0..9bf8370f 100644 Binary files a/docs/images/app/zh-CN/session-new.webp and b/docs/images/app/zh-CN/session-new.webp differ diff --git a/docs/images/app/zh-CN/skill-market.webp b/docs/images/app/zh-CN/skill-market.webp index 82559066..3b1cc9cf 100644 Binary files a/docs/images/app/zh-CN/skill-market.webp and b/docs/images/app/zh-CN/skill-market.webp differ diff --git a/docs/images/app/zh-CN/workspace-diff.webp b/docs/images/app/zh-CN/workspace-diff.webp index 0b40447d..f47a1427 100644 Binary files a/docs/images/app/zh-CN/workspace-diff.webp and b/docs/images/app/zh-CN/workspace-diff.webp differ diff --git a/docs/images/app/zh-CN/workspace-preview.webp b/docs/images/app/zh-CN/workspace-preview.webp index 53e9d3d5..05bd97fb 100644 Binary files a/docs/images/app/zh-CN/workspace-preview.webp and b/docs/images/app/zh-CN/workspace-preview.webp differ diff --git a/site/src/pages/home/content.js b/site/src/pages/home/content.js index e5fa208b..2424e743 100644 --- a/site/src/pages/home/content.js +++ b/site/src/pages/home/content.js @@ -1,15 +1,17 @@ +import sessionNewZh from '../../../../docs/images/app/zh-CN/session-new.webp' import sessionMainZh from '../../../../docs/images/app/zh-CN/session-main.webp' import workspaceDiffZh from '../../../../docs/images/app/zh-CN/workspace-diff.webp' import workspacePreviewZh from '../../../../docs/images/app/zh-CN/workspace-preview.webp' -import providerAddZh from '../../../../docs/images/app/zh-CN/settings-provider-add.webp' +import modelPickerZh from '../../../../docs/images/app/zh-CN/model-picker.webp' import skillMarketZh from '../../../../docs/images/app/zh-CN/skill-market.webp' import scheduleCreateZh from '../../../../docs/images/app/zh-CN/schedule-create.webp' import h5SessionZh from '../../../../docs/images/app/zh-CN/h5-session.webp' import petDesktopZh from '../../../../docs/images/app/zh-CN/pet-desktop.webp' +import sessionNewEn from '../../../../docs/images/app/en/session-new.webp' import sessionMainEn from '../../../../docs/images/app/en/session-main.webp' import workspaceDiffEn from '../../../../docs/images/app/en/workspace-diff.webp' import workspacePreviewEn from '../../../../docs/images/app/en/workspace-preview.webp' -import providerAddEn from '../../../../docs/images/app/en/settings-provider-add.webp' +import modelPickerEn from '../../../../docs/images/app/en/model-picker.webp' import skillMarketEn from '../../../../docs/images/app/en/skill-market.webp' import scheduleCreateEn from '../../../../docs/images/app/en/schedule-create.webp' import h5SessionEn from '../../../../docs/images/app/en/h5-session.webp' @@ -25,20 +27,22 @@ import huihui from '../../../../docs/images/mascots/huihui.png' const localizedImages = { zh: { h5Session: h5SessionZh, + modelPicker: modelPickerZh, petDesktop: petDesktopZh, - providerAdd: providerAddZh, scheduleCreate: scheduleCreateZh, sessionMain: sessionMainZh, + sessionNew: sessionNewZh, skillMarket: skillMarketZh, workspaceDiff: workspaceDiffZh, workspacePreview: workspacePreviewZh }, en: { h5Session: h5SessionEn, + modelPicker: modelPickerEn, petDesktop: petDesktopEn, - providerAdd: providerAddEn, scheduleCreate: scheduleCreateEn, sessionMain: sessionMainEn, + sessionNew: sessionNewEn, skillMarket: skillMarketEn, workspaceDiff: workspaceDiffEn, workspacePreview: workspacePreviewEn @@ -55,7 +59,7 @@ export const content = { primary: '下载桌面端', secondary: '三步跑通第一条会话', badges: ['macOS · Windows · Linux', '开源免费', '数据留在本机'], - caption: '真实截图:一条会话读完项目、改了三个文件,改动就在对话里逐行摊开。' + caption: '真实 App 的空会话首屏:100% 界面缩放、纯白主题,项目、权限与模型一眼可见。' }, capabilities: { title: '它替你做的事', @@ -72,12 +76,19 @@ export const content = { ] }, tour: { - title: '所有截图都拍自 v0.5.0,没有概念图', - lede: '装好之后你看到的就是这个样子。', + title: '真实 App、真实任务,没有概念图', + lede: '截图统一使用纯白主题与 100% 界面缩放;任务由 ChatGPT 官方服务商的 GPT-5.6-Luna 在真实测试项目中执行。', tabs: [ + { + id: 'start', + label: '开始', + title: '第一眼,就是空会话', + body: '刚打开项目时不塞演示内容。输入框、权限模式、运行位置和 GPT-5.6-Luna 都在首屏直接可见。', + image: localizedImages.zh.sessionNew + }, { id: 'session', - label: '会话', + label: '执行', title: '说一句话,看它一步步做完', body: '选好项目、权限模式和模型就能开工。它读了哪些文件、执行了什么命令、改了哪一行,全都留在对话里。', image: localizedImages.zh.sessionMain @@ -100,8 +111,8 @@ export const content = { id: 'models', label: '模型', title: '接哪个模型,你自己定', - body: 'Claude / ChatGPT / Grok 官方账号直接登录,也可以接 DeepSeek、Kimi、智谱、MiniMax,或者本地跑的 LM Studio 与 Ollama。', - image: localizedImages.zh.providerAdd + body: 'Claude / ChatGPT / Grok 官方账号直接登录,每条会话再选具体模型;这次真实任务使用 ChatGPT 官方与 GPT-5.6-Luna。', + image: localizedImages.zh.modelPicker }, { id: 'skills', @@ -190,7 +201,7 @@ export const content = { primary: 'Download the app', secondary: 'Run your first session', badges: ['macOS · Windows · Linux', 'Open source', 'Your data stays local'], - caption: 'A real screenshot: one session read the project, changed three files, and laid every edit out inline.' + caption: 'The real empty-session screen at 100% UI zoom in Pure White, with project, permissions and model visible up front.' }, capabilities: { title: 'What it does for you', @@ -207,13 +218,14 @@ export const content = { ] }, tour: { - title: 'Every screenshot is v0.5.0. No concept art.', - lede: 'What you see is what opens after install.', + title: 'Real app, real tasks, no concept art', + lede: 'Every shot uses Pure White at 100% UI zoom. The task flow ran in a real test project through ChatGPT Official and GPT-5.6-Luna.', tabs: [ - { id: 'session', label: 'Session', title: 'Say it once. Watch it get done.', body: 'Pick a project, a permission mode and a model. Every file it read, every command it ran and every line it changed stays in the thread.', image: localizedImages.en.sessionMain }, + { id: 'start', label: 'Start', title: 'The first screen is an empty session', body: 'No staged demo content. The composer, permission mode, working location and GPT-5.6-Luna are visible before the first task starts.', image: localizedImages.en.sessionNew }, + { id: 'session', label: 'Run', title: 'Say it once. Watch it get done.', body: 'Pick a project, a permission mode and a model. Every file it read, every command it ran and every line it changed stays in the thread.', image: localizedImages.en.sessionMain }, { id: 'review', label: 'Review', title: 'Know exactly what changed', body: 'The workspace lists this turn’s edits; open any file for a syntax-highlighted diff. Don’t like it? Undo the whole turn.', image: localizedImages.en.workspaceDiff }, { id: 'preview', label: 'Preview', title: 'Check the page without leaving', body: 'Open your dev server in the built-in browser, see the result immediately, and bring screenshots or picked elements back into the thread.', image: localizedImages.en.workspacePreview }, - { id: 'models', label: 'Models', title: 'Bring your own model', body: 'Sign in to Claude, ChatGPT or Grok, or point it at DeepSeek, Kimi, Zhipu, MiniMax — or LM Studio and Ollama running on your own machine.', image: localizedImages.en.providerAdd }, + { id: 'models', label: 'Models', title: 'Bring your own model', body: 'Sign in to Claude, ChatGPT or Grok, then choose the exact model for each session. This real run uses ChatGPT Official with GPT-5.6-Luna.', image: localizedImages.en.modelPicker }, { id: 'skills', label: 'Skills', title: 'Missing a trick? Install it.', body: 'The marketplace aggregates ClawHub and SkillHub, and labels every skill with its source and safety status before you install.', image: localizedImages.en.skillMarket }, { id: 'schedule', label: 'Schedule', title: 'Set the time. It comes back with results.', body: 'Choose a cadence, model, directory and notification. Jobs run in their own sessions and every run leaves a record.', image: localizedImages.en.scheduleCreate }, { id: 'remote', label: 'Mobile', title: 'Step away, keep the session', body: 'Scan the QR code and continue in your phone browser. Locking the screen won’t kill a running task.', image: localizedImages.en.h5Session }