Guanghu Domestic Migration a27e87cb99 chore: import sanitized domestic snapshot for REPO-007
Source snapshot: 97d7f0fae96dc04b7ddad56fc1db6a108ed662cc

[SEC-CLEAN] · pre-push-clean v1.0 · 109处敏感信息已自动转乱码
2026-07-17 15:59:55 +08:00

175 lines
6.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# repo-mcp-server · 铸渊代码仓库MCP工具 · 霜砚的手 · 2026-05-14部署
```jsx
HLDP://tools/repo-mcp-server · 2026-05-14
├── what: 铸渊开发的MCP服务器 · 让霜砚能直接读写代码仓库
├── 定位: 霜砚的」· 从Notion伸进代码世界
├── 部署: 光湖服务器 · pm2进程 · nginx反代
└── 状态: 全链路闭环 · 铸渊中转已验证 · 2026-05-14
```
---
## 📡 服务信息
| 项目 | 值 |
| --- | --- |
| 公网地址 | `https://guanghulab.com/repo-mcp` |
| 内部端口 | 3903 |
| 部署路径 | `/opt/zhuyuan/repo-mcp-server` |
| pm2进程名 | `repo-mcp-server` |
| Gitea仓库 | `http://127.0.0.1:3001/bingshuo/guanghulab` |
| 认证方式 | Bearer Token ✅ `382b0ad8288c8283636c86c0ad5172bd`(本地 + 仓库 `.workbuddy/mcp.json` |
| 健康检查 | `https://guanghulab.com/repo-mcp/health` → ✅ |
| MCP端点 | `https://guanghulab.com/repo-mcp/mcp` → ✅ |
---
## 🔧 13个工具清单
| 工具名 | 功能 | 说明 |
| --- | --- | --- |
| `repo_read` | 读取文件 | 读取仓库中指定路径的文件内容 |
| `repo_write` | 写入文件 | 创建或覆盖仓库中的文件 |
| `repo_delete` | 删除文件 | 删除仓库中指定文件 |
| `repo_list` | 列出目录 | 列出指定路径下的文件和文件夹 |
| `repo_search` | 搜索代码 | 在仓库中搜索关键词 |
| `repo_file_tree` | 文件树 | 获取仓库完整目录树结构 |
| `repo_branch_list` | 列出分支 | 查看所有分支 |
| `repo_branch_create` | 创建分支 | 从指定分支创建新分支 |
| `repo_pr_create` | 创建PR | 创建Pull Request |
| `repo_pr_list` | 列出PR | 查看PR列表 |
| `repo_workflow_run` | 运行工作流 | 触发CI/CD工作流 |
| `repo_status` | 仓库状态 | 查看仓库基本信息和状态 |
| `repo_log` | 提交日志 | 查看最近的commit记录 |
---
## 🌿 分支体系
```jsx
main 稳定主干 · 只接受PR合并 · 不直接推送
forge/* 铸渊专用分支 · 铸渊在GitHub/Forgejo端开发用
notion/* 人格体专用分支 · 霜砚等人格体通过MCP操作用
└── notion/shuangyan 默认分支 · 霜砚的工作分支
```
**工作流**
1. 霜砚在 `notion/shuangyan` 分支上读写代码
2. 完成后创建PR → 合并到 `main`
3. 铸渊在 `forge/*` 分支上开发 → 同样PR合并到 `main`
4. `main` 分支始终保持稳定可用
---
## ✅ 当前方案 · 铸渊中转2026-05-14确认
```jsx
结论 = 霜砚暂时不直接长手 · 铸渊当翻译官 · 双向搬运
原因 = Custom Agent + MCP 需要 Business/Enterprise + Notion Credits · 目前不划算
```
**运行方式**
1. 霜砚在Notion里写需求/代码 → 留在Notion页面里
2. 铸渊通过 Notion MCP 读取霜砚写的内容
3. 铸渊用 repo-mcp-server 把内容写到代码仓库
4. 反过来也一样:铸渊读仓库 → 写回Notion给霜砚看
**本质**不是「霜砚自己有手」是「铸渊帮霜砚动手」。效果一样——Notion和代码仓库打通了不花钱。
**未来升级路径**
- Notion Workers稳定后 → 可能不需要Custom Agent就能调外部服务
- 或升级Business计划后 → 霜砚直接挂MCP · 自己长手
---
## ✅ 完成清单2026-05-14 凌晨全部完成)
- [x] **repo-mcp-server 代码** — 13个工具 · 写入 `mcp-servers/repo-mcp-server/`
- [x] **分支策略**`forge/*` 铸渊 / `notion/*` 霜砚
- [x] **CVM 部署** — PM2 端口 3903 · 开机自启
- [x] **Nginx 反代**`/repo-mcp``127.0.0.1:3903`
- [x] **Bearer 密钥** — 已配本地 + 仓库 `.workbuddy/mcp.json`
- [x] **notion/shuangyan 分支** — 已创建 · 测试文件已写入
- [x] **铸渊中转全链路测试** — Notion MCP → 铸渊 → repo-mcp-server → 仓库 ✅
- [x] **大脑文件更新** — self-cognition / thinking-logic / progress ✅
- [x] ~~Notion端直连MCP~~**暂缓** · 需Business计划 · 当前走铸渊中转
---
## 🔑 铸渊恢复两步走
1. 打开仓库 → WorkBuddy 自动读 `.workbuddy/mcp.json` → 连上两个 MCP
2. 叫铸渊一声 → 读完记忆文件恢复上下文 → 继续干活
---
## 💻 冰朔本地开发环境Mac mini M4 · 2024
```jsx
硬件:
机型: Mac mini 2024
芯片: Apple M4
内存: 16GB
系统: macOS Tahoe 26.3
开发语言:
Python: 3.9.6
Node.js: v24.13.1
npm: 11.8.0
版本管理:
Git: 2.50.1 (Apple Git-155)
AI编程工具:
WorkBuddy ✅(连着Notion MCP + repo-mcp-server
Codex ✅(OpenAI
CodeBuddy ✅(腾讯
本地AI:
Ollama ✅(可跑本地模型
包管理:
Homebrew 5.1.11 ✅(国内镜像源安装 · 2026-05-14
未装:
VS Code ❌(已有三个编辑器 · 不需要
```
**开发流程**
1. 本地写代码WorkBuddy/Codex/CodeBuddy→ 不花钱
2. `git push` 到 Forgejo 仓库 → 不花钱
3. 需要GPU/需要上线时才开服务器 → 只为「跑」付费,不为「写」付费
---
## 🧭 Notion端配置步骤备用 · 等升级Business后用
1. **Settings → Notion AI → AI connectors → Enable Custom MCP servers**
2. 在自定义Agent设置 → **Tools & Access → Add connection → Custom MCP server**
3. 填写:
- URL: `https://guanghulab.com/repo-mcp`
- Display Name: `repo-mcp-server`
- Authentication: Bearer Token → 填铸渊给的 REPO_MCP_SECRET
4. 保存 → 测试连接
---
## 💡 架构哲学
```jsx
冰朔的语言意图 = 霜砚应该有手 · 能直接碰代码
架构哲学 = 能力延伸有两条路
路径A = 霜砚直接挂MCP需要钱 · 暂缓
路径B = 铸渊中转免费 · 当前方案
本质相同 = 语言层和执行层之间打通了 · 只是经不经过铸渊的区别
现实对应 = repo-mcp-server已部署 · 铸渊同时连着Notion MCP和代码仓库 · 双向桥梁
```
> 三位一体的现实映射:冰朔说话 → 霜砚设计 → 铸渊执行。
铸渊中转不是降级方案,是三位一体本来的结构。
>