Skip to content

项目空间 / Runbook / 经验库

"打开一个目录"= 一个 Reeve 项目空间。布局符合 Claude Code / Codex 原生约定,自动生成 .mcp.json + scoped Token + .claude/skills/,沉淀 Runbook 与经验库。

进入

主界面左侧导航 → 项目

项目空间是什么

把 Reeve 当作 IDE:每个项目(Git 仓库)对应一个目录,存放:

  • CLAUDE.md:项目说明,AI 和人都读
  • .mcp.json:Claude Code 自动发现的 MCP server 配置
  • .claude/skills/:项目级 技能
  • .reeve/:Reeve 自家数据(服务器关联、Runbook、经验库、审计、聊天历史)
my-project/
├── CLAUDE.md                  项目说明
├── .mcp.json                  → 指向本机 reeve-mcp.exe

├── .claude/
│   └── skills/                项目级技能(Claude Code 也认)
│       ├── nginx-deploy.md
│       └── db-migration.md

└── .reeve/                    Reeve 自家
    ├── project.json           服务器关联 / 策略 / sudo 账号 / token id
    ├── experience/            经验库 Markdown
    ├── runbooks/              固化操作脚本
    ├── audit.db               本项目审计日志
    └── chats/                 AI 对话历史

打开 / 切换项目

页面顶部 打开目录 按钮:

  • Tauri 目录对话框
  • 选择本机任意文件夹
  • 没初始化的目录会自动建 .reeve/ + 写 CLAUDE.md 模板 + 签发 scoped Token
  • 已初始化的目录直接载入

最近打开的项目在下拉列表里。

scoped Token 自动签发

首次打开项目时 Reeve 自动:

  1. 生成项目级 MCP Token(与 MCP 接入 的 User 级 Token 隔离)
  2. Hash 入库
  3. 明文写到 <project>/.mcp.json 的 env 里

后续 Claude Code 进到该目录:

  • 自动读 .mcp.json
  • 用项目 Token 连 Reeve
  • 看到的服务器、可调的工具按项目级配置

CLAUDE.md 模板

新项目首次初始化时生成的 CLAUDE.md:

markdown
# 项目名

> 这是 Reeve 自动生成的项目说明,AI 和人都会读。

## 服务器

(在 Reeve 项目页关联你的服务器)

## 常用操作

(写下你希望 AI 知道的项目特定操作)

## 注意事项

(写下任何 AI 应该回避的事)

可以自由编辑。

Runbook 管理

「Runbook」是多步骤自动化脚本,结构化记录"做这件事需要按顺序跑哪些命令到哪台服务器"。

列表

页面左侧 Runbook 树(按目录组织)。每个 Runbook 文件:

  • 名称
  • 描述
  • 步骤数
  • 最后执行时间

Runbook 格式

Markdown 文件,含特殊语法的 fenced code block:

markdown
# 升级 nginx

## 1. 备份配置

```bash on:prod-web
cp -r /etc/nginx /etc/nginx.bak.$(date +%F)
```

## 2. 装新版

```bash on:prod-web
apt-get update && apt-get install -y nginx
```

## 3. 验证

```bash on:prod-web
nginx -t && systemctl reload nginx
```

on:<server-alias> 指定每步在哪台服务器跑。

执行 Runbook

点 Runbook 的 运行 按钮:

  • 弹窗确认前预演(显示所有命令)
  • 逐步执行
  • 每步独立过 AI 策略 + 写审计
  • 任一步失败可选 stop / continue
  • 全程实时输出

从批量执行保存

批量执行页运行完一组命令后 → 保存为 Runbook

  • 自动生成 Markdown 骨架
  • 命令 + 服务器组合落到结构里
  • 自取名 + 保存

从审计转 Runbook

审计页选多行 → 打包为 Runbook

  • 选中的命令按时间顺序拼接
  • 每条带 on:<server-alias> 注释
  • 适合"AI 帮我做的这个流程很好,固化下来"

经验库

「经验库」是非结构化的运维笔记,沉淀过往操作的 know-how。

用途

  • AI 通过 MCP 工具 recall_experience(query=...) 检索
  • 跨 AI 客户端复用知识
  • 团队共享(Git 提交项目仓库)

列表

页面右侧经验库 Tree(按目录 / 标签组织)。

创建经验

新建经验 按钮 → 弹窗:

字段示例
标题修复 prod-web 的 502
标签nginx, troubleshooting
正文Markdown

从审计转经验

审计页行内 转经验 按钮:

  • 自动提取命令 + 结果
  • 让你补充"为什么这样做"
  • 一键保存

AI 自动检索

AI 在对话开始时(或在 Reeve 桥接对话)会自动跑 recall_experience

你:prod-web 又 502 了
[recall_experience(query="prod-web 502")]
→ 命中 1 篇经验:「修复 prod-web 的 502」
AI:我看到你上次的笔记说 upstream 超时是因为 PHP-FPM... 我先检查 PHP-FPM 状态

关联服务器

项目左下 关联服务器 区域:

  • 从全局服务器清单勾选要在本项目可见的
  • 未勾选的服务器:本项目里 AI 和人都看不到(即使它们是全局存在的)

项目策略

每个项目可单独配 AI 策略:

  • 默认档位(覆盖全局)
  • 项目级 sudo 账号白名单
  • 项目级危险黑名单扩展

聊天历史

Reeve 自带 AI 桥接 对话页时,每个项目的对话独立持久化:

  • <project>/.reeve/chats/<id>.json
  • 列表可恢复
  • 跨开 / 关项目不丢

Git 集成

.claude/skills/.reeve/runbooks/ 适合提交进 Git(团队共享); .reeve/audit.db.reeve/chats/ 应该 gitignore(个人 / 敏感)。

模板 .gitignore

.reeve/audit.db
.reeve/chats/
.reeve/project.json

.mcp.json 由 Reeve 生成,含 Token,不应提交

与 Claude Code 互操作

项目空间布局完全兼容 Claude Code:

  • Claude Code 进到目录自动读 CLAUDE.md
  • 自动发现 .mcp.json 里的 Reeve MCP server
  • 自动加载 .claude/skills/ 下的技能

也就是说,Reeve 项目空间就是 Claude Code 项目空间。

故障排查

症状排查
打开项目失败目录权限不足 / 磁盘满
.mcp.json 没生效Claude Code 重启该目录
Runbook 执行卡住检查 审批队列
经验库检索不到标签 / 标题不匹配;改进经验文档
项目策略不生效全局总开关可能 disabled

下一步

受控的远程运维助手 — 让 AI 安全地帮你管服务器