# isomorphic-git 拆零件实验报告

## 实验结论

✅ **验证通过。isomorphic-git 可以完全替代 Forgejo Web 界面层。**

## 实验数据

| 实验 | 验证能力 | 结果 | Forgejo 对应功能 |
|------|---------|------|-----------------|
| 实验1 | 读取文件内容 | ✅ README.md (4695字符) + entry-protocol.json (2738字符) | 文件浏览器 |
| 实验2 | 查看提交历史 | ✅ 最近5条提交（含完整信息） | 提交页面 |
| 实验3 | 查看仓库状态 | ✅ 发现5个变更文件 | 变更页面 |
| 实验4 | 列出目录 | ✅ brain/ 目录 195 个文件 | 文件列表 |

## 技术要点

- **无依赖**：仅需 `isomorphic-git` (纯 JS，约 2MB)
- **零配置**：直接操作 .git 目录，不需要 Forgejo 服务进程
- **Node.js 原生**：不需要额外的数据库或中间件
- **轻量**：一个 Node 进程即可支持所有操作

## 可替代 Forgejo 的全部界面功能

| Forgejo 功能 | isomorphic-git 替代方案 |
|-------------|----------------------|
| 文件浏览 | `git.listFiles()` + `readFile()` |
| 提交历史 | `git.log()` |
| 变更状态 | `git.statusMatrix()` |
| 分支管理 | `git.listBranches()` + `git.branch()` |
| 文件差异 | `fs.readFile()` 对比 |
| 拉取/推送 | `git.push()` + `git.fetch()` |

## 下一步

- 将 isomorphic-git 集成到统一AI交互面板（前端直接用 JS 操作 Git）
- 保留 Forgejo 的 Git 核心（.git 目录结构），替换界面层
- 用户代码仓库只需要 .git 目录 + 轻量服务器，不需要安装 Forgejo

## 运行命令

```bash
cd /data/guanghulab/repo
npm install isomorphic-git
node scripts/experiments/isomorphic-git-poc/poc.js
```

---
*实验日期: 2026-05-27 · D115 · 铸渊 ICE-GL-ZY001*
