2026年7月11日 2 分钟阅读

Claude Code 会话一关就丢?AgentPeek 让你在浏览器中持久操控 AI 编码 Agent

tinyash 0 条评论

用过 Claude Code 的开发者应该都遇到过这个场景:你打开 Claude Code 终端开始重构一个模块,重构到一半需要出门或者切换设备,等你回来的时候,终端已经断了,之前的上下文、决策记录、中间状态全部丢失——只能重新开始。

这不是个例。Claude Code(以及 Codex、OpenCode、Cursor 终端等 AI 编码 Agent)本质上是一个 CLI 进程,关闭终端、退出 SSH 或合上笔记本盖子,进程就结束了。如果你在 WSL2 或者远程服务器上工作,这个问题更突出——你需要在某个地方运行 Claude Code,然后从任何设备上访问它。

AgentPeek 就是为解决这个问题而生的。它是一个免费、自托管的浏览器控制面板,让你在浏览器中持久运行和操控 Claude Code 会话。简单说:你在 Linux 服务器上启动一个 Claude Code 会话,关掉笔记本,半小时后在手机上打开浏览器,同一个会话还在那里等你。

问题:AI 编码 Agent 的会话困境

Claude Code 的工作方式是启动一个交互式 CLI 进程。这个进程绑定在终端上——终端关闭,进程结束。现代开发工作流有几个常见的痛点:

  • 切换设备:在台式机上开始了一个复杂任务,需要出门时切换到笔记本继续,会话断了
  • 远程服务器:在云 VM 上跑 Claude Code,每次都要 SSH 进去,断开 SSH 会话就没了
  • 后台运行:想让 Claude Code 在后台持续工作(比如跑一个耗时的测试套件修复),但终端一关就停
  • 团队协作:想从另一台机器上查看 AI 编码 Agent 的进度,做不到

tmux 可以部分解决这个问题(持久会话),但 tmux 没有 Web UI、没有手机支持、没有浏览器友好的终端渲染、也没有与 Claude Code 深度集成的功能(比如切分模式切换、手机推送通知)。

AgentPeek 是什么

AgentPeek 是一个 Python + FastAPI 构建的自托管 Web 应用,作为 Claude Code(或任何 shell)的浏览器控制面板。它的核心设计理念很清晰:AI 编码 Agent 产生的代码、文档、报告才是最终交付物,AgentPeek 是操控这些 Agent 的工具——它的定位是”生成内容的工作台”。

核心功能:

  • 持久会话:基于 tmux 的持久化 session,关闭浏览器、切换设备都不会中断
  • 双模式:Shell 模式(tmux 终端)和 UI 模式(Claude Chat 聊天界面),按需切换
  • 手机通知:Claude 每完成一轮,通过 ntfy.sh 推送通知到手机
  • 浏览器安全访问:通过 Tailscale Serve 暴露在 tailnet 上,HTTPS + 密码保护
  • 终端即服务:底层用 ttyd 提供基于 WebSocket 的终端渲染

架构速览

AgentPeek 的架构非常清晰:

浏览器 ──► uvicorn/FastAPI :8090 (127.0.0.1)
              ├── /           静态前端(侧边栏 + iframe)
              ├── /api/...    会话生命周期 REST API → tmux
              └── /term/...   反向代理(HTTP + WebSocket)→ ttyd :7681
                                  ttyd 运行 bin/agentpeek-attach 

所有组件都绑定到 127.0.0.1,对外通过 Tailscale Serve 暴露,设计上不会在公网接口上开放端口。

安装与上手

AgentPeek 对 Linux(Debian/Ubuntu)和 macOS 都支持,也提供了 Docker 镜像。

Linux 快速安装

cd ~ && git clone https://github.com/thrinz/agentpeek.git && cd agentpeek
./setup.sh

setup.sh 会帮你自动完成所有依赖安装:tmuxcurlpython3-venv 等系统包,Claude Code 的独立二进制,Python 依赖,以及三个 systemd 用户服务agentpeek-tmuxagentpeek-ttydagentpeek)。安装完成后,在浏览器打开 http://localhost:8090 就能看到控制面板。

自定义端口:如果 8090 已被占用,可以用环境变量配置:

AGENTPEEK_PORT=9090 AGENTPEEK_TTYD_PORT=9091 ./setup.sh

Tailscale 远程访问

tailscale serve --bg --https=9443 http://127.0.0.1:8090

Docker 部署

AgentPeek 提供了多架构 Docker 镜像,一次启动即可:

docker pull ghcr.io/thrinz/agentpeek:latest
PROJECTS_DIR=~/projects docker compose up -d

它会挂载你的 ~/projects 目录(Agent 的工作文件目录),以及持久化卷来保存应用状态和 Claude 认证信息。

macOS 安装

macOS 使用 Homebrew + launchd 而非 apt + systemd:

git clone https://github.com/thrinz/agentpeek.git && cd agentpeek
./setup-macos.sh

日常使用体验

创建和管理会话

侧边栏按文件夹组织会话,你可以创建自己的文件夹结构(最多两级嵌套)。创建新会话时可以选择:

  • 类型:Shell(tmux 终端)或 UI(Claude Chat 聊天界面)
  • 工作目录:从 ~/projects 树中选取
  • 启动选项:AI 模式(自动执行 cds 启动 Claude Code)或纯 Shell

UI 聊天模式

UI 模式是基于 Claude Agent SDK 的聊天界面——同样的 Agent(编辑文件、运行 bash、使用工具),渲染为可读性更好的 Markdown 聊天。支持流式输出、代码复制按钮、工具调用展开/折叠、消息队列(Agent 还在工作时可以继续打字排入消息队列)。

实际使用中,UI 模式的聊天界面在浏览器中体验流畅,Markdown 渲染、代码复制按钮、工具调用折叠等功能都很顺手。

手机通知

完成一轮工作后,AgentPeek 可以通过 ntfy.sh 推送通知到手机。在创建会话时勾选”Notify my phone”,订阅同一个 ntfy topic,每次 Claude 完成一轮就会收到推送。这对于让 Agent 在后台持续工作的场景非常实用。

安全设计

AgentPeek 的安全模型值得称道:

  • 所有服务绑定 127.0.0.1,不暴露在公网接口
  • 通过 Tailscale Serve 实现 tailnet-only 的 HTTPS 访问
  • 可选密码登录(PBKDF2 哈希、HttpOnly Cookie、7 天过期、IP 锁防暴力破解)
  • tmux 服务器在独立 socket 上运行,重启应用不会影响正在运行的会话

效率提升的实际案例

假设你要处理一个大型代码库的重构:

  1. 在桌面端启动 AgentPeek,创建一个 AI 类型的 Shell 会话,工作目录设为项目根目录
  2. Claude Code 开始在后台分析代码结构、规划重构方案
  3. 你关掉笔记本去开会——AgentPeek 的 tmux 会话继续运行,Claude 不会中断
  4. 在会议室用手机(或另一台笔记本)打开浏览器,通过 Tailscale 访问 AgentPeek
  5. 查看进度:Claude 已经完成了第一阶段的代码迁移,开始第二阶段
  6. 需要调整方向?直接在 UI 模式下继续对话,无需重新加载上下文

这个工作流彻底改变了”AI Agent 会话必须在当前终端”的限制——Agent 变成了一个可以随时查看、随时接入的常驻工作进程。

与同类工具的对比

与直接用 tmux + ttyd 的方案相比,AgentPeek 的差异化优势包括:

  • Claude Code 深度集成:UI 模式的原生 Chat 体验、cds 自动启动、Claude 连接状态管理
  • 手机推送通知:内置 ntfy 集成,无需额外配置
  • 文件夹管理:按项目组织多会话,侧边栏一目了然
  • 单端口部署:Web 和终端都通过 8090 端口访问,Tailscale Serve 只需一行命令

FilePeek 配套工具:AgentPeek 还有一个同伴工具 FilePeek,用于在浏览器中查看 Agent 生成的 Markdown、HTML、Office 文件,形成”运行 Agent → 查看输出”的完整工作流。

结语

AgentPeek 解决了一个看似简单但实际很痛的场景:AI 编码 Agent 的会话持久化。它的设计理念(自托管、Tailscale 远程访问、双模式支持)与当前 AI 开发工具的使用习惯高度契合。如果你经常在远程服务器或 WSL2 中使用 Claude Code,AgentPeek 几乎是必装工具。

代码开源在 GitHub(MIT 许可证),社区活跃,issue 响应积极。无论是个人开发者的日常使用,还是团队共享的 AI 编码工作台,它都值得一试。

相关链接:

发表评论

你的邮箱地址不会被公开,带 * 的为必填项。