Claude Code Viewer: 打造 Web 端 Claude Code 会话管理利器

Claude Code Viewer: 打造 Web 端 Claude Code 会话管理利器

当 Claude Code 成为日常开发标配,如何更高效地管理会话历史、分析对话流程就成了开发者的新需求。Claude Code Viewer 应运而生——一个功能完备的 Web 端 Claude Code 客户端。

背景介绍

Claude Code 是 Anthropic 推出的 AI 编程助手,但其原生的会话管理能力相对基础。大多数开发者面临以下痛点:

  • 会话历史难以追溯和检索
  • 无法在移动设备上方便地查看会话
  • 多人协作时难以共享会话内容
  • 缺乏对会话流程的全局视角

Claude Code Viewer 正是为解决这些问题而生的开源项目。它采用 Web 架构设计,专注于会话日志的完整分析,通过严格的数据校验和渐进式展示 UI,让每一个对话细节都清晰可见。

核心特性

📋 会话日志查看

Claude Code Viewer 直接读取 Claude Code 的标准日志格式(~/.claude/projects/<project>/<session-id>.jsonl),实时展示会话内容。支持历史日志浏览,新会话会自动被发现。

🔍 全局搜索

支持跨会话全文检索,快捷键 ⌘K (macOS) / Ctrl+K (Linux) 即可唤起搜索框。功能包括:

  • 模糊匹配
  • 前缀搜索
  • 键盘导航(↑↓ 选择,Enter 确认)
  • 可选择特定项目或全局搜索

🚀 发起新会话

直接在 Web 界面启动 Claude Code 会话,享受完整的文件/命令补全、暂停/恢复、工具授权等功能体验。

💡 继续会话

独特的继续会话机制:通过 Claude Code Viewer 启动的会话会保持存活状态(除非手动终止),无需重新加载 session-id 即可持续对话,避免了传统 resume 方式的状态丢失。

📁 项目管理

  • 创建新项目:通过 Web UI 选择目录,执行 /init 命令完成初始化
  • 项目列表:集中管理所有 Claude Code 项目

📎 文件上传与预览

支持直接上传图片(PNG、JPEG、GIF、WebP)、PDF 和文本文件。每种文件类型都有专门的预览组件:

  • 图片:内联渲染
  • PDF:嵌入式查看器
  • 文本:格式化内容展示

🌐 浏览器预览

在聊天界面右侧嵌入可调整大小的浏览器面板,预览任何 URL。支持:

  • URL 输入框 + 键盘导航
  • 刷新功能
  • 随导航自动调整聊天窗口宽度
  • 同源策略下的 URL 变化追踪

⏰ 消息定时发送

支持 cron 表达式设置周期性任务,或指定具体时间执行一次性任务。特性包括:

  • 并发控制(跳过/执行)
  • 定时任务自动删除
  • 速率限制自动继续(检测到限流后自动安排 “continue” 消息)

📝 Git 集成

内置 Git 功能,让代码审查和提交流程完全在 Web 端完成:

  • Diff 查看器:查看所有变更
  • 提交:直接执行 Git 提交
  • 推送:支持单独推送或提交+推送一体化流程
  • 分支切换:在 Git 面板中切换分支(支持搜索和状态指示)

📊 侧边栏工具

  • 文件与工具检查器:汇总编辑过的文件,按项目分组,列出工具调用并支持过滤和快速预览
  • 待办查看器:提取会话中的 TodoWrite 项,以可折叠清单形式展示
  • 终端面板:底部 WebSocket 终端,无需离开 UI 即可运行 Shell 命令
  • MCP 服务器查看器:查看 MCP 服务器配置,支持实时重载

⚙️ 系统信息

监控 Claude Code 和 Claude Code Viewer 的版本、特性兼容性和系统状态。

🌏 多语言支持

完整的国际化支持,涵盖:

  • English
  • 日本語
  • 简体中文

快速开始

CLI 方式(推荐)

直接运行,无需安装:

npx @kimuson/claude-code-viewer@latest --port3400

或全局安装:

npminstall-g @kimuson/claude-code-viewer claude-code-viewer --port3400

服务启动后,访问 http://localhost:3400 即可。

命令行选项:

claude-code-viewer [options] Options: -p, --port<port> 端口号 (默认: 3000) -h, --hostname<hostname> 主机名 (默认: localhost) -P, --password<password> 认证密码 -e, --executable<executable> Claude Code 可执行文件路径 --claude-dir <claude-dir> Claude 目录路径 --api-only API 纯响应模式(无 Web UI) 

Docker 部署

构建镜像:

docker build -t claude-code-viewer .

运行容器:

docker run --rm-p3400:3400 \-ePORT=3400\-eCCV_PASSWORD=your-password \ claude-code-viewer 

或使用 Docker Compose:

docker compose up --build
⚠️ 注意:默认的 docker-compose.yml 没有挂载 claude_home。如需复用本地 Claude 工作区,需配置 volume 映射:

与官方方案的对比

官方 Web 版 Claude Code

Anthropic 官方提供 Claude Code on the Web,在云端虚拟机中运行会话。

适合使用官方方案的场景:

  • 快速测试,无需本地配置
  • 移动设备或公共电脑临时使用
  • 单一的 CLAUDE.md 根目录项目

适合使用 Claude Code Viewer 的场景:

  • 需要使用预配置本地环境(数据库、服务、大型依赖)
  • Monorepo 项目,多个目录各有 CLAUDE.md
  • 开发需要大量计算资源或长时间运行进程
  • 偏好自托管,对开发环境有完全控制需求

社区其他 Web 客户端

社区也涌现了不少优秀的 Web 客户端,如 sugyan/claude-code-webuisupport、wbopan/cui、siteboon/claudecodeui 等。

Claude Code Viewer 的差异化优势:

特性说明
零信息丢失Zod 严格校验,确保每个对话细节都被保留
渐进式展示可展开元素和子会话弹窗,管理信息密度
内置 Git 操作完整 Diff 查看器,支持直接提交
会话流程分析跨多会话的完整对话追踪
系统监控实时版本和特性兼容性监控
国际无障碍多语言支持

远程开发支持

Claude Code Viewer 从设计之初就考虑了远程托管场景:

  • 移动端优化 UI:响应式设计,专用移动端侧边栏,触控优化
  • 内置 Git 操作:直接在 Web 界面审查和提交代码
  • 实时通知:任务完成时音频提醒
  • 系统监控:跨环境监控 Claude Code 兼容性

基础密码认证可通过 --passwordCCV_PASSWORD 环境变量启用。如需更复杂的认证方案,建议在基础设施层面实现(如反向代理 OAuth、VPN、IP 白名单)。

系统要求

  • Node.js: 20.19.0+
  • 操作系统: macOS / Linux(不支持 Windows)
  • Claude Code: v1.0.50+
  • 工具授权功能: 需要 v1.0.82+

总结

Claude Code Viewer 为开发者提供了一个强大且灵活的 Web 端会话管理解决方案。无论你是需要:

  • 回溯历史会话进行代码审查
  • 在移动设备上查看开发进度
  • 团队共享会话协作
  • 远程开发工作

Claude Code Viewer 都能满足你的需求。其开源免费、特性丰富且持续活跃维护,值得一试。


项目地址: https://github.com/d-kimuson/claude-code-viewer

Read more

零基础入门:Clawdbot对接Qwen3-32B的Web网关配置全攻略

零基础入门:Clawdbot对接Qwen3-32B的Web网关配置全攻略 你是否试过在本地部署一个大模型,却卡在“怎么让聊天界面连上它”这一步?明明Ollama里qwen3:32b已经跑起来了,Clawdbot也启动了,但输入问题后页面一直转圈、无响应——不是模型没加载,而是中间那层“连接通道”没搭对。 本文不讲抽象原理,不堆参数术语,只聚焦一件事:从零开始,把Clawdbot和你私有部署的Qwen3-32B真正连通,让Web界面能稳定、低延迟地收发消息。 全程基于真实可复现的操作步骤,所有命令、配置、端口映射逻辑都经过实测验证。即使你没碰过Ollama、没配过反向代理、第一次听说Clawdbot,也能照着一步步走通。 我们用的不是云端API,而是完全自主可控的本地链路: Clawdbot前端(8080端口) → 内部代理 → Qwen3-32B(Ollama API) 整条链路不依赖外网,不调用任何第三方服务,所有数据留在你自己的机器里。 1. 理解整个链路:三步到位,缺一不可 很多初学者失败,不是因为命令写错了,而是没理清“谁在跟谁说话”。我们先用一句话说清核心逻辑:

前端小白别懵!input的type值全解析(附实战避坑指南)

前端小白别懵!input的type值全解析(附实战避坑指南)

前端小白别懵!input的type值全解析(附实战避坑指南) * 前端小白别懵!input的type值全解析(附实战避坑指南) * 引言:那天我差点被一个 input 搞自闭了 * input 到底是个啥玩意儿 * type 值全家桶大起底 * text:最老实的打工人 * password:表面神秘,其实只是把字符藏起来 * email:自带格式校验,但别太信它 * number:弹出数字键盘,但小心它返回字符串 * tel:电话专用,iOS 安卓都给你调数字拨号盘 * url:输入网址时自动补 http?想多了,它只校验格式 * search:带小×清空按钮,细节控狂喜 * date / time / datetime-local:时间选择器三兄弟,兼容性一言难尽 * month / week:冷门但有用,比如做财务报表或排班系统 * color:点一下弹出调色板,设计师看了直呼内行

OpenWebUI环境变量配置全指南

概览 Open WebUI 提供了广泛的环境变量,允许您自定义和配置应用程序的各个方面。本页面作为所有可用环境变量的全面参考,提供了它们的类型、默认值和描述。 随着新变量的引入,本页面将不断更新以反映日益增长的配置选项。 :::info 本页面内容与 Open WebUI 版本 v0.6.42 同步,但仍在完善中,后续将包含更准确的描述、环境变量的可用选项列表、默认值以及改进的描述。 ::: 关于 PersistentConfig 环境变量的重要说明 :::note 首次启动 Open WebUI 时,所有环境变量都被平等对待并用于配置应用程序。但是,对于标记为 PersistentConfig 的环境变量,它们的值会被持久化并存储在内部数据库中。 初始启动后,如果您重新启动容器,PersistentConfig 环境变量将不再使用外部环境变量的值,而是使用内部存储的值。 相比之下,普通环境变量在每次后续重启时都会继续更新和应用。 您可以直接在 Open WebUI 内部更新 PersistentConfig 环境变量的值,

前端人拿不到offer,九成是不知道这个新风向

今年大部分互联网公司面试的题目已经开始小部分八股文,大部分场景题了,公司需要的不仅是知识扎实,而且招进来就能上手项目的面试者… 2026最新高频场景题 * 1. 请求失败会弹出一个toast,如何保证批量请求失败,只弹出一个toast * 2. 如何减少项目里面if-else * 3. babel-runtime 作用是啥 * 4. 如何实现预览PDF文件 * 5. 如何在划词选择的文本上添加右键菜单(划词:鼠标滑动选择一组字符,对组字符进行操作) * 6. 富文本里面,是如何做到划词的(鼠标滑动选择一组字符,对组字符进行操作)? * 7. 如何做好前端监控方案 * 8. 如何标准化处理线上用户反馈的问题 * 9. px如何转为rem * 10. 浏览器有同源策略,但是为何 cdn 请求资源的时候不会有 跨域限制 * 11. cookie可以实现不同域共享吗 * 12. axios是否可以取消请求 * 13. 前端如何实现折叠面板效果? * 14. dom里面,如何判定a元素是否是b元素的子元 * 15. 判断一个对象是否为空,包含了其原型链上是否有自