Token导航 LogoToken导航TokenDH.com
wake (Joemckenney) logo
开发工具未说明官方级别未说明来源级核验

wake (Joemckenney)

MCP Server

Wake是一款记录终端会话(包括命令、输出和git上下文)的工具,使Claude Code能够查看用户的操作历史。

工具数

7

提示词数

0

GitHub Stars

83

资源数

0
本地LLMRustClaude会话管理Claude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

joemckenney

提供方

joemckenney

最后核验

2026/5/17 20:21

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

wake

The trail you leave behind.

Wake会记录您的终端会话——命令、输出、git上下文——这样Claude Code就可以看到您一直在做什么。

安装

curl -sSf https://raw.githubusercontent.com/joemckenney/wake/main/install.sh | sh

设置

增添 ~/.zshrc~/.bashrc:

eval "$(wake init zsh)"   # or: wake init bash

将MCP服务器添加到Claude代码中:

claude mcp add --transport stdio --scope user wake-mcp -- wake-mcp

用法

工作流程

  1. 开始wake shell
  2. 工作 --构建、部署、调试
  3. 问克劳德 --它可以查看您的终端历史记录,无需复制粘贴

示例

$ wake shell
$ kubectl logs deploy/api-server | tail -100
  # wall of errors
$ kubectl describe pod api-server-7f8b9
  # more stuff you don't have time to read
你: 总结API服务器发生的情况 克劳德: API服务器正在崩溃。从日志中可以看出,启动时无法连接到Redis——连接被拒绝 redis:6379pod事件显示在过去10分钟内有5次重启。看起来Redis服务可能已经关闭。

CLI参考

wake shell              # Start recorded session
wake status             # Current session info
wake log                # Recent commands
wake search "error"     # Search history
wake dump               # Export session as markdown
wake annotate "note"    # Add a breadcrumb for context
wake prune              # Delete old sessions
wake prune --dry-run    # Preview what would be deleted
wake prune --force      # Skip confirmation
wake prune --older-than 7  # Override retention period (days)
wake update             # Update to latest version
wake update --check     # Check for updates without installing
wake llm status         # Check model status (downloaded/loaded)
wake llm download       # Pre-download model (optional, auto-downloads on first use)
wake llm clean          # Remove orphaned models from previous versions
wake llm clean --dry-run   # Preview what would be deleted

MCP工具

Claude Code通过MCP服务器使用这些工具:

工具目的
wake_status当前会话信息
wake_list_commands列出最近的命令及其元数据和摘要(无完整输出)
wake_get_output获取特定命令ID的完整输出
wake_log最近输出被截断的命令
wake_search搜索命令历史记录
wake_dump将会话导出为降价
wake_annotate向会话添加注释

wake_list_commands + wake_get_output 模式启用 分层检索--Claude首先查看命令元数据,然后仅在需要时获取完整输出。这减少了长会话的上下文使用。

配置

创建 ~/.wake/config.toml:

[retention]
days = 21      # Delete sessions older than this (default: 21)

[output]
max_mb = 5     # Max output size per command in MB (default: 5)

[summarization]
enabled = false  # Disable LLM summarization (default: true)
min_bytes = 500  # Minimum output size to trigger summarization (default: 1024)

或者使用环境变量(优先于配置文件):

export WAKE_RETENTION_DAYS=14
export WAKE_MAX_OUTPUT_MB=10

每个旧会话都会自动修剪 wake shell 开始。

LLM总结

Wake使用本地LLM(Qwen3-0.6B)自动汇总命令输出。摘要出现在 wake_list_commands 输出,帮助克劳德在不阅读完整输出的情况下快速理解发生了什么。

默认情况下启用。 首次运行时,模型(约380MB)会自动下载。

  • CPU友好 --小型模型无需GPU即可高效运行
  • 隐私 --所有推理都在本地进行,没有任何东西离开你的机器
  • 手动下载wake llm download 预下载模型
  • 禁用 --设置 enabled = false 在配置中,如果你不想摘要

它是如何工作的:

  1. 当命令完成并输出> min_bytes,它正在排队等待摘要
  2. 后台任务在本地模型上运行推理
  3. 摘要存储在数据库中,并通过MCP工具公开

GPU加速(从源代码构建):

默认的构建和预构建二进制文件使用CPU推理,这对于小型模型来说足够快。为了在支持的硬件上更快地进行推理,请使用GPU功能进行构建:

cargo build --release --features cuda   # NVIDIA (requires CUDA toolkit)
cargo build --release --features metal  # Apple Silicon

运作原理

┌─────────────────────────────────────────────────────────────────────┐
│                            wake shell                               │
│                                                                     │
│  ┌───────────┐       ┌─────────────┐      ┌──────────────────────┐  │
│  │   Your    │  pty  │    Shell    │ hook │    Unix Socket       │  │
│  │  Terminal │◄─────►│  (zsh/bash) │─────►│  ~/.wake/sockets/*   │  │
│  └───────────┘       └─────────────┘      └──────────┬───────────┘  │
│        │                   │                         │              │
│        │                   │ stdout                  │ cmd events   │
│        │                   ▼                         ▼              │
│        │              ┌────────────────────────────────┐            │
│        │              │         Output Buffer          │            │
│        │              └───────────────┬────────────────┘            │
│        │                              │                             │
│        │                              ▼                             │
│        │                       ┌─────────────┐    ┌──────────────┐  │
│        │                       │  SQLite DB  │◄───│ LLM Summary  │  │
│        │                       │  ~/.wake/   │    │ (background) │  │
│        │                       └─────────────┘    └──────────────┘  │
└────────┼────────────────────────────────────────────────────────────┘
         │                              ▲
         │ you                          │ reads
         ▼                              │
┌──────────────┐               ┌──────────────┐          ┌───────────┐
│   Human at   │               │   wake-mcp   │   mcp    │  Claude   │
│   Keyboard   │               │  MCP Server  │◄────────►│   Code    │
└──────────────┘               └──────────────┘          └───────────┘

组件

组件目的
wake shell生成PTY,捕获所有I/O,监听钩子事件
外壳挂钩通过安装 wake init,命令开始/结束时通知唤醒
Unix套接字shell钩子和唤醒进程之间的IPC
SQLite数据库存储会话、命令、输出、注释、摘要
LLM引擎本地汇总命令输出的后台任务
wake-mcp向Claude Code公开唤醒数据的MCP服务器

数据流

  1. wake shell 在PTY内生成外壳并设置 $WAKE_SESSION
  2. Shell在每个命令上触发钩子,通过Unix套接字发送元数据
  3. PTY输出被捕获并与当前命令相关联
  4. 命令完成后,退出代码+输出将写入SQLite
  5. 大型输出在后台排队等待LLM摘要
  6. 克劳德代码查询 wake-mcp,从数据库中读取

约束条件

  • 每个shell一个会话 --每个 wake shell 创建隔离会话
  • 输出截断 --输出大于5MB的命令被截断(可配置)
  • 自动清理 --超过21天的会话将自动删除(可配置)
  • 仅限本地 --所有数据都保留在 ~/.wake/,什么都不会离开你的机器
  • 壳牌支持 --钩子适用于zsh和bash(尚不支持fish/其他shell)

从源头构建

git clone https://github.com/joemckenney/wake
cd wake
cargo build --release

# With GPU acceleration (optional)
cargo build --release --features cuda   # NVIDIA
cargo build --release --features metal  # Apple Silicon

许可证

麻省理工学院

目录标签

目录标签

本地LLMRustClaude会话管理终端记录本地部署开发工具命令行工具

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

session

工具数量(toolCount,工具数)

7

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明session部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP