隐私说明:本文不包含个人身份、私有项目或仓库、真实会话内容及凭证;公开仓库信息除外。所有界面图均为脱敏重建示意。
非官方项目。 Claude Styled 与 Anthropic 没有隶属、授权或背书关系。Claude 与 ChatGPT 均为各自权利人的商标。
一句话介绍
Claude Styled 是一个 macOS 本地启动器:它在打开官方 Claude Desktop 时加载一套自定义视觉样式,让长文本更容易阅读,也让界面拥有自己的氛围,并能在重启后继续生效。
体验完整视觉版:打开 Claude Styled 演示页面。
事情是怎么开始的
这次探索最初并不是为了制作一个完整工具。
在讨论 Codex 皮肤插件时,我们了解到桌面应用中的网页界面可以借助 CDP,也就是 Chrome DevTools Protocol,进行检查和临时调整。于是自然产生了一个问题:
能不能把 Claude Desktop 的文字排版改得更像 ChatGPT,更适合长时间阅读?
最初希望解决的只有几个日常体验问题:
- 正文字号和行距偏紧;
- 长文本横向铺得太宽;
- 深色内容背景不够统一;
- 临时修改在重启后会消失。
一次重要的误判
第一次临时注入样式很快成功,但关闭并重新打开 Claude 后,变化就消失了。
之后制作过一个早期启动器。当时看到 Claude 带着扩展参数启动,就判断样式已经生效;但截图复核显示界面仍然是原来的样子。重新检查后确认:参数虽然存在,扩展并没有真正加载。
这次误判改变了后续的验收方式。此后不再只看“命令有没有成功”,而是直接确认用户真正能看到的结果:
- 完全退出并重新启动后,样式是否仍在;
- 页面实际字号、行高、背景色和消息宽度是否改变;
- 截图中的最终界面是否与预期一致;
- 临时调试端口是否已经关闭。
最终效果
| 项目 | 当时版本的默认界面 | Claude Styled 1.2.0 |
|---|---|---|
| 正文字号 | 14 px | 16 px |
| 行高 | 20 px | 约 26 px |
| 消息区域 | 较宽 | 最大 640 px |
| 深色内容背景 | rgb(13, 13, 13) |
纯黑 #000 |
当前版本还包含:
- 更清晰的标题、列表、引用和行内代码排版;
- 隐藏仓库与 Pull Request 控件;
- 低干扰的雨雪氛围;
- 系统启用“减少动态效果”时自动关闭动画。
从排版调整到氛围视觉
Claude Styled 最初解决的是阅读舒适度。后来,它又加入了一层自定义氛围视觉。
每次页面载入时,界面会随机呈现雨天或雪天:
- 雨滴和雪粒覆盖整个内容画布,但保持低对比度;
- 视觉层不接收鼠标事件,不影响选择文字或点击界面;
- 页面底部逐渐淡出,减少对输入区域的干扰;
- 深色和浅色模式使用不同透明度;
- 系统启用“减少动态效果”时,氛围层自动隐藏。
它不是实时天气功能,也不会请求天气服务。当前公开的 weather.js 只创建视觉元素,不读取或上传聊天内容,代码可以公开审计。
它如何工作
使用时只需要从 Claude Styled.app 进入。启动器会准备本地视觉文件,再打开官方 Claude Desktop。
它不会修改 /Applications/Claude.app 包体,但会在当前用户的 Claude 应用数据目录放置三个本地扩展文件。若直接打开原版 Claude,则不会加载这些样式。
现在已经开源
为了让现场感兴趣的人可以自己检查、安装或改造,Claude Styled 1.2.0 已以 MIT 许可证公开。
首版只分发源码,不直接发布这台电脑生成的 .app:每位使用者在本机运行构建命令,避免把临时签名的二进制当作通用安装包。公开版同时完成了以下处理:
- 移除个人路径、个人 Bundle ID 和运行状态;
- 用原创项目图标替换 Claude 官方图标;
- 提供安装、完整卸载和验证脚本;
- 公开隐私边界、安全说明和兼容性限制;
- 用 GitHub CI 重新验证源码构建。
扫码查看项目

公开仓库:github.com/beforeold/claude-styled
源码版本:v1.2.0
1
2
3
4
git clone https://github.com/beforeold/claude-styled.git
cd claude-styled
make install
open "$HOME/Applications/Claude Styled.app"
要求:macOS 13 或更高版本,并已将官方 Claude Desktop 安装在 /Applications/Claude.app。
安全与限制
- 官方 Claude 应用包不会被替换或修改;
- 不需要长期开放调试端口;
- 当前扩展没有后台脚本、额外权限、遥测或主动网络请求;
- 内容脚本技术上运行在已登录的 Claude 页面中,因此仍应在更新前查看源码变化;
- 它依赖 Claude Desktop 当前版本中的未公开启动入口,未来更新后可能需要适配;
- 这不是 Anthropic 官方支持的扩展机制。当前代码不涉及账号操作,但无法代替使用者判断兼容性和服务条款风险,也不承诺绝对不存在账号风险。
下午分享的演示顺序
整段控制在 6~8 分钟即可:
- 30 秒讲起点:从 Codex 皮肤讨论,讲到“Claude 的长文本能否更舒服”;
- 2 分钟看对比:用同一段脱敏示例展示字号、行距、宽度和背景;
- 1 分钟讲转折:展示“参数存在但实际没生效”的误判,以及后来如何硬验收;
- 1 分钟看重启:完全退出,再从 Claude Styled 启动;
- 1 分钟看氛围:展示雨雪视觉与“减少动态效果”;
- 1 分钟讲开源:展示二维码,让有需要的人现场查看源码。
结语
Claude Styled 的起点不是制作一个复杂插件,而是一个很具体的日常感受:既然每天都要长时间使用 AI 工具,它的阅读方式也应该更适合自己。
真正有价值的不只是这套皮肤,而是把一个模糊的“看着不太舒服”,逐步变成一个可验证、可持续使用,也可以公开分享的小工具。