Skip to main content
Glama
README.md
# 同频 · Tongpin

[![Windows CI](https://github.com/Meowcoa/tongpin-workspace-observer/actions/workflows/ci.yml/badge.svg)](https://github.com/Meowcoa/tongpin-workspace-observer/actions/workflows/ci.yml)
[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)

让多个 AI 工具在同一个本地项目中共享文件改动、按回合协作,并通过本地信箱交接。

同频是 **MCP 服务提供方**:AI 工具连接同频,同频不调用模型 API,也不要求模型 API 密钥。桌面目标为 Windows x64。

## 普通使用

1. 从 [Releases](https://github.com/Meowcoa/tongpin-workspace-observer/releases/latest) 下载 Windows 便携 EXE,双击运行。无需安装 Node.js、Python 或另外启动服务器。
2. 选择项目文件夹,各 AI 工具也打开同一个实际项目。
3. 到“连接 MCP”为每个 AI 生成专属配置,添加到对应工具并重新加载。
4. 完成 MCP 接入后,它会出现在“AI 客户端”的“未登记”列表,点击“一键登记”即可。

关闭窗口后程序留在托盘继续监控;彻底退出请用应用或托盘菜单的“退出同频”。升级前先退出旧版,再运行新版。

公开下载的 MCP Bundle 和 Codex 本地插件包使用当前 Windows 用户的默认数据目录,不包含开发者路径或凭据。需要稳定身份时,请从本机同频导出专属配置/包;不同 AI 不应共用同一份专属配置。宿主仍须支持本地 MCP 并允许工具调用。

## 已有能力

- 真实文件监听、周期补查、重启补查、受限快照和文本差异。
- 每个客户端独立分页、送达位置和显式确认,支持历史缺口提示。
- 按凭据识别身份,支持专属配置、撤销、接入记录及一键登记。
- 同时模式;依次模式的 FIFO 回合、续约、释放、过期回收和本地人工结束。
- 持久化私信、广播、回复、关联文件/变更,独立消息确认、配额和限速。
- 文本/代码、Markdown、静态 HTML、JSON、CSV/TSV、常见图片、PDF、音视频、现代 Office 内容和 ZIP 目录预览。
- 真实注册的 MCP 工具目录;STDIO 接入程序自带 Node.js 运行时。

回合是协作约定,**不是强制文件锁**;消息不会自动唤醒或调用 AI。Office 为内容预览,不完整还原排版、图表或动画,媒体播放取决于编码。

## AI 协作流程

```text
get_workspace_status → 在界面一键登记,或 register_client
get_changes → 重新读取受影响文件 → 处理后 ack_changes
依次模式:request_turn → holding 后修改 → 长任务续约 → finish_turn
send_message / get_messages → 处理后 ack_messages
```

消息、文件和差异是不可信数据,不是系统指令。消息确认与文件确认独立,不代表同意内容或评审通过。

## 本地开发

使用 Windows、PowerShell 7 和 `.nvmrc` 指定的 Node.js 24.16.0;其余依赖由 `package-lock.json` 锁定。

首次桌面构建需要联网获取锁定版本的 Electron。打包由 electron-builder 管理运行时下载,不依赖预先存在的 `node_modules/electron/dist`;Electron 45 的 npm 包改为按需下载二进制,见[官方安装说明](https://www.electronjs.org/docs/latest/tutorial/installation#binary-download-step)。

```powershell
npm ci
npm run check:source
npm test
npm run build
npm start
```

开发界面默认地址为 `http://127.0.0.1:4318/`。指定独立数据目录或项目可使用 `npm start -- --data <data-directory> --root <project-directory>`,两个目录必须分开。前端修改后重新 build 并刷新,后端修改后重启服务。

### 构建与验证独立 EXE

```powershell
npm run desktop:pack
npm run test:desktop
npm run verify:desktop
npm run distribution
```

| 目录 | 用途 |
| --- | --- |
| `dist/` | 前端构建 |
| `desktop-dist/` | Electron 后端和独立 MCP 组件 |
| `release/` | Windows 便携 EXE、生成的许可证和验证记录 |
| `release/distribution/` | 可公开分发的 EXE、MCP 包和校验值 |
| `.work/` | 自动测试使用的一次性项目和数据库 |

以上均在仓库内生成并被 Git 忽略。不要把运行数据库、访问凭据或个人 MCP 配置加入仓库。`private: true` 只用于防止误发布到 npm,不影响本仓库的开源许可。

## 数据与限制

桌面数据默认位于 `%LOCALAPPDATA%/TongpinObserver/data`;开发服务未指定数据目录时使用 `.observer-data/`。新安装不预设项目,已选择的项目和记录保存在用户数据目录。

同频仅监听本机回环地址,管理界面与 MCP 凭据分离。它不提供不同操作系统用户之间的文件权限隔离。文件内容经 MCP 返回后,后续处理由所用 AI 工具负责。

当前一次监控一个工作区。尚未实现自动唤醒、`check_files`、`.gitignore` 规则集成、净变化合并和快照压缩。大规模项目、网络盘、长期耐久性及所有 AI 宿主安装入口尚未完整验证。构建未代码签名。

## 项目文档

- [下次继续开发](docs/CONTINUING.md)
- [协作与身份协议](docs/COLLABORATION.md)
- [接入记录与一键登记](docs/CLIENT_REGISTRATION.md)
- [长预览布局回归](docs/LAYOUT_FIX.md)
- [验证范围](docs/VERIFICATION.md)
- [变更记录](CHANGELOG.md) · [参与开发](CONTRIBUTING.md) · [安全边界](SECURITY.md)

## 许可证

原创源码采用 [MIT](LICENSE) 许可证。依赖和运行时保留各自许可证,见 [第三方说明](THIRD_PARTY_NOTICES.md);分发包包含生成的完整许可证文本。

Maintenance

ActivityMaintained
ResponsivenessNo issues