内容
<div align="center">
<img src="./docs/assets/logo.png" alt="ChatGPT2LocalBridge logo" width="180" />
<h1>ChatGPT2LocalBridge</h1>
<p><strong>适用于批准的本地工作空间的Codex / ChatGPT插件应用。</strong></p>
<p>
<img alt="Codex Plugin App" src="https://img.shields.io/badge/Codex-Plugin%20App-7c3aed.svg" />
<img alt="ChatGPT Plugin App" src="https://img.shields.io/badge/ChatGPT-Plugin%20App-10a37f.svg" />
<img alt="License" src="https://img.shields.io/badge/license-MIT-blue.svg" />
<img alt="Node" src="https://img.shields.io/badge/node-%3E%3D20-339933.svg" />
<img alt="Rust" src="https://img.shields.io/badge/rust-native%20preview-b7410e.svg" />
<img alt="MCP" src="https://img.shields.io/badge/MCP-Streamable%20HTTP-1769e0.svg" />
<img alt="Status" src="https://img.shields.io/badge/status-alpha-f59e0b.svg" />
<img alt="GitHub stars" src="https://img.shields.io/github/stars/Harzva/chatgpt2localbridge?style=social" />
</p>
<p>
<a href="./docs/index.html">页面源码</a>
·
<a href="./docs/showcase.html">展示</a>
·
<a href="./docs/human-tutorial.html">人类教程</a>
·
<a href="./docs/agent-computer-use.html">代理教程</a>
·
<a href="./docs/authentication-modes.md">身份验证模式</a>
·
<a href="./docs/linux-deploy.md">Linux部署</a>
·
<a href="./docs/alternatives.md">替代方案</a>
·
<a href="./docs/sync-flows.md">同步流程</a>
·
<a href="./docs/skill-runtime-roadmap.md">技能运行时路线图</a>
·
<a href="./docs/handoff-spec.md">交接规范</a>
·
<a href="./docs/codex-analytics.md">Codex分析</a>
·
<a href="./docs/evidence.md">证据</a>
·
<a href="./docs/promo/xhs-note.md">促销文案</a>
·
<a href="./docs/promo/mobile-codex-runner.md">移动促销</a>
·
<a href="./ROADMAP.md">路线图</a>
</p>
</div>
## Linux一键提示
仓库:`https://github.com/Harzva/chatgpt2localbridge`
将此内容复制到Linux shell代理中:
```text
在Linux主机上从https://github.com/Harzva/chatgpt2localbridge安装ChatGPT2LocalBridge。
使用一条命令,保持机密本地,不打印.env.local,OAuth令牌,ngrok身份验证令牌,cookie或解锁代码到聊天中。
运行:
curl -fsSL https://raw.githubusercontent.com/Harzva/chatgpt2localbridge/main/scripts/linux-one-click-install.sh | bash
安装后,报告本地健康结果,ChatGPT连接器字段和隧道选择。如果选择ngrok,请向我询问NGROK_AUTHTOKEN和可选的NGROK_DOMAIN。如果选择Cloudflare,请解释快速隧道与命名隧道。
```
或者自己运行:
```bash
curl -fsSL https://raw.githubusercontent.com/Harzva/chatgpt2localbridge/main/scripts/linux-one-click-install.sh | bash
```
安装程序打印您需要在ChatGPT中填写的每个连接器字段,以及ngrok和Cloudflare注册链接,隧道权衡和代理安全设置提示。

<!-- showcase:start -->
<p align="center">
<img src="./docs/assets/thumbnail-responsive.png" alt="ChatGPT2LocalBridge响应式预览" width="900" />
</p>
<!-- showcase:end -->
ChatGPT2LocalBridge是一个自我托管的**Codex / ChatGPT插件应用**:一个本地桌面/操作员应用程序和一个MCP连接器,允许ChatGPT在授权后访问批准的本地工作空间。它适用于希望ChatGPT或Codex样式的代理检查,捆绑,下载,跟踪或操作本地项目文件而不上传整个工作空间到其他地方的人员。
TypeScript构建是完整的OAuth MCP连接器。一个小型Rust原生预览也存在于[`rust/chatgpt2localbridge-rs`](./rust/chatgpt2localbridge-rs)中,用于本地操作员控制台,健康检查,活动API和最小的MCP烟雾表面。
在这个仓库中,**插件应用**指的是一个小型面向代理的产品表面:一个本地应用,一个策略文件,一个工具目录,跟踪记录和一个或多个ChatGPT/Codex可见的MCP工具。它不是一个传统的ChatGPT插件。它最好被描述为:
- **Codex插件应用**
- **ChatGPT插件应用**
- **MCP服务器**
- **ChatGPT自定义连接器**
- **OAuth本地工作空间桥**
> 非官方项目。 与OpenAI无关。
## 构建您自己的插件应用
该项目也是一个邀请,邀请您构建更多面向代理的插件应用。 一个好的插件应用应该为ChatGPT或Codex提供一个集中的工具表面, 将风险操作保留在策略后面, 并为人类操作员提供清晰的本地控制台。
| 层 | 需要构建的内容 | 此仓库中的示例 |
| --- | --- | --- |
| 代理接口 | 具有简洁名称,模式和安全默认值的MCP工具 | `project.bundle`,`policy.read`,`codex.task_start` |
| 技能运行时 | 本地技能通过批准的根,清单和稳定注册表工具发现 | `skill.list`,`skill.route`,计划的`skill.invoke` |
| 人类控制 | 显示状态,策略,跟踪和取消按钮的本地应用 | 原生macOS控制台 |
| 安全策略 | 批准的根,拒绝通配符,身份验证模式,shell限制 | `bridge.policy.json` |
| 分发 | README,GitHub Pages,截图,设置提示,安装脚本 | `docs/`,`npx github:...`,macOS应用包 |
如果您构建了自己的插件应用,请保持默认工作流狭窄和可读:一个清晰的问题,一个安全的工具表面,一个本地控制面板和一个可复制的ChatGPT测试提示。
下一个产品方向是**本地技能操作系统**:本地技能保留在批准的技能根目录中,桥梁暴露一个稳定的注册表表面,应用程序显示哪些技能是可读的,可路由的,可调用的或被阻止的。请参见[技能运行时路线图](./docs/skill-runtime-roadmap.md)。
主要执行路径正在朝着**交接 -> Codex Runner**发展:ChatGPT创建一个结构化的交接,桥梁验证并存储它,然后本地Codex CLI执行项目工作。请参见[交接规范](./docs/handoff-spec.md)。
## 路线
```text
ChatGPT
-> OAuth MCP连接器
-> HTTPS隧道
-> http://127.0.0.1:3838/mcp
-> ChatGPT2LocalBridge
-> 批准的本地工作空间根目录
```
ChatGPT不直接挂载您的磁盘。它调用MCP工具,每个文件操作都针对`bridge.policy.json`进行检查。
## 架构
<p align="center">
<img src="./docs/assets/architecture-horizontal.png" alt="ChatGPT2LocalBridge水平架构图" width="900" />
</p>
预期的产品形状是一个控制平面,而不仅仅是一个原始的shell桥:
- **ChatGPT Web** 进行结构化的MCP调用。
- **连接器身份验证** 应该使用OAuth或安全MCP隧道进行公共访问。
- **桥梁策略** 控制根目录,拒绝通配符,shell模式,超时和跟踪。
- **工具层级** 引导ChatGPT实现更安全的项目和Codex Runner工作流程。
- **本地应用** 显示策略,工具调用,日志,差异,下载和可取消的任务。
## 30秒安装
Linux一键安装程序:
```bash
curl -fsSL https://raw.githubusercontent.com/Harzva/chatgpt2localbridge/main/scripts/linux-one-click-install.sh | bash
```
可选的Linux隧道助手:
```bash
curl -fsSL https://raw.githubusercontent.com/Harzva/chatgpt2localbridge/main/scripts/linux-one-click-install.sh | TUNNEL=cloudflare bash
curl -fsSL https://raw.githubusercontent.com/Harzva/chatgpt2localbridge/main/scripts/linux-one-click-install.sh | TUNNEL=ngrok NGROK_AUTHTOKEN=... NGROK_DOMAIN=my-bridge.ngrok-free.app bash
```
临时GitHub npx安装,无需克隆:
```bash
npx github:Harzva/chatgpt2localbridge init --root ~/Projects
set -a; source .env.local; set +a
npx github:Harzva/chatgpt2localbridge --http 3838
```
本地克隆流程:
```bash
git clone https://github.com/harzva/chatgpt2localbridge.git
cd chatgpt2localbridge
npm install
npm run build
node dist/index.js init --root ~/Projects
set -a; source .env.local; set +a
node dist/index.js --http 3838
```
健康检查:
```bash
curl -sS http://127.0.0.1:3838/health
```
本地操作员控制台:
```text
http://127.0.0.1:3838/app
```
Rust原生预览:
```bash
cargo run --manifest-path rust/chatgpt2localbridge-rs/Cargo.toml -- --http 3842
```
Rust预览版当前故意暴露一个较小的MCP表面:`initialize`,`tools/list`,`bridge.health`,`bridge.activity`和`file.list`。
原生macOS应用:
```bash
npm run macos:install
open /Applications/ChatGPT2LocalBridge.app
```
macOS应用是一个原生AppKit/SwiftUI桌面控制台,嵌入了Rust引擎,使用存储库徽标作为其.icns图标,管理本地`3842`服务,并显示ChatGPT可见的MCP工具目录,浏览器捆绑提示,批准的根目录,可编辑的策略,日志,连接器工具调用,技能读取,写入事件和云下载跟踪记录,而无需浏览器控制台。
原生**策略中心**安全编辑本地策略:
- 工作空间根目录与技能根目录保持分离
- 默认技能根目录为`~/.codex/skills`
- 保存创建`bridge.policy.backup.json`
- 策略更改写入本地审计跟踪
- 如果您暴露诸如`~/.codex`之类的广泛路径,则应用程序会发出警告
## 下载和发布
GitHub发布提供用于本地测试的预构建工件:
- `ChatGPT2LocalBridge-macos-*.dmg`:拖放并运行macOS原生控制控制台,Rust伴侣二进制文件捆绑在应用内。
- `ChatGPT2LocalBridge-macos-*.app.zip`:原生macOS控制控制台,Rust伴侣二进制文件捆绑在应用内。
- `ChatGPT2LocalBridge-windows-x64-rust-preview.zip`:Windows Rust原生本地控制台预览版。
- `chatgpt2localbridge-*.tgz`:用于完整TypeScript OAuth MCP桥梁的npm包。
Windows工件目前是一个Rust预览版,而完整的OAuth连接器表面仍然是Node/TypeScript包。发布构建由`.github/workflows/release.yml`在推送`v*`标签时生成。
请参见[Windows路线图](./docs/windows-roadmap.md)获取当前预览范围。
发布路线:
```bash
npm run typecheck
npm test
npm run macos:app
git tag v0.1.x
git push origin v0.1.x
```
发布工作流附加了macOS `.dmg` / `.app.zip`,Windows Rust预览zip,npm tarball和SHA256文件。
## ChatGPT连接器设置
### 选择身份验证模式
ChatGPT的自定义连接器UI可能会提供OAuth,无身份验证和混合身份验证。该项目支持多种路径,但安全的默认设置取决于端点是否可达。
| 连接器身份验证 | 使用场景 | 备注 |
| --- | --- | --- |
| OAuth | 任何公共HTTPS隧道,包括Mac mini与ngrok/Cloudflare或Linux服务器隧道 | 推荐默认。ChatGPT完成OAuth代码流,后来使用承载令牌调用`/mcp`。 |
| 无身份验证 | 短暂的仅环回或私有网络测试 | 仅当桥梁故意在没有OAuth的情况下运行时有效。不要在公共隧道上使用此选项。 |
| 混合 | 高级按工具策略,公共工具匿名且特权工具需要OAuth | 如果您按风险划分工具,则在以后很有用。当前公共安全指南保留整个连接器OAuth保护。 |
如果OAuth和无身份验证似乎都有效,请为从互联网上可以访问的ChatGPT选择OAuth。无身份验证意味着URL本身就是控制表面。
通过HTTPS公开本地服务器:
```bash
ngrok http 3838 --url=your-fixed-domain.ngrok-free.dev
```
然后创建ChatGPT自定义连接器:
| 字段 | 值 |
| --- | --- |
| 名称 | `ChatGPT2LocalBridge` |
| URL | `https://your-fixed-domain.ngrok-free.dev/mcp` |
| 身份验证 | OAuth |
当授权页面打开时,输入来自`.env.local`的解锁代码。不要将解锁代码或令牌粘贴到公共聊天,问题,截图或提交中。
### Linux服务器设置
Linux与Mac mini的工作方式相同:在您要ChatGPT查看的文件旁边运行一个桥梁,通过HTTPS公开该桥梁,然后为该机器创建一个单独的ChatGPT连接器。
直接在Linux主机上一键安装:
```bash
curl -fsSL https://raw.githubusercontent.com/Harzva/chatgpt2localbridge/main/scripts/linux-one-click-install.sh | bash
```
常见选项:
```bash
curl -fsSL https://raw.githubusercontent.com/Harzva/chatgpt2localbridge/main/scripts/linux-one-click-install.sh | WORKSPACE_ROOT=/srv/workspace BRIDGE_PORT=3900 bash
```
安装程序打印确切的ChatGPT连接器字段,本地健康检查,ngrok注册要求,Cloudflare注册要求和用于安全远程设置的更长代理提示。
从现有本地克隆部署到远程Linux主机:
```bash
REMOTE=linux-box \
REMOTE_WORKSPACE=/srv/workspace \
REMOTE_ALLOWED_ROOTS="/srv/workspace,/home/agent/projects" \
PUBLIC_BASE_URL=https://linux-bridge.example.com \
bash scripts/deploy-linux-bridge.sh
```
使用以下内容创建第二个连接器,例如`ChatGPT2LocalBridge Linux`:
| 字段 | 值 |
| --- | --- |
| URL | `https://linux-bridge.example.com/mcp` |
| 身份验证 | OAuth |
为单独的机器使用单独的连接器,以便每个策略可以保持狭窄。请参见[Linux部署](./docs/linux-deploy.md)。
## 截图教程
| 步骤 | 预览 |
| --- | --- |
| 初始化本地策略 |  |
| 运行本地MCP服务器 |  |
| 查看策略中心 |  |
| 检查`/health` |  |
| 创建连接器 |  |
| 授权 |  |
| 测试文件列表 |  |
## macOS截图CLI
在需要为README,GitHub Pages,发布说明或社交帖子获取真实截图时使用Mac mini助手。输出默认为`docs/assets/app_screenshots`。
```bash
npm run shot:selection # 选择任意屏幕区域
npm run shot:window # 点击任意窗口
npm run shot:full # 捕获完整屏幕
npm run shot:app # 捕获ChatGPT2LocalBridge窗口边界
```
直接使用:
```bash
scripts/mac-screenshot.sh --rect 100,120,1280,760 --out docs/assets/app_screenshots/dashboard.png
scripts/mac-screenshot.sh --app "ChatGPT2LocalBridge" --open --copy-path
```
如果macOS阻止捕获,请在系统设置中为Terminal,iTerm或代理进程授予屏幕录制权限。
完整指南:
- [人类设置教程](./docs/human-tutorial.html)
- [代理 + 计算机使用教程](./docs/agent-computer-use.html)
- [视觉展示画廊](./docs/showcase.html)
- [Markdown人类教程](./docs/tutorial-human.md)
- [Markdown代理教程](./docs/tutorial-agent-computer-use.md)
## 主要MCP工具
### 工具层级
| 层级 | 默认使用 | 工具 |
| --- | --- | --- |
| 高级代理工作流 | 推荐的Codex Runner落地后的Web ChatGPT入口点 | `codex.task_start`,`codex.status`,`codex.result` |
| 中级项目工作流 | 目前推荐用于读取上下文,检查策略,检查差异和运行测试 | `project.bundle`,`policy.read`,`git.diff`,`test.run` |
| 低级调试基元 | 仅限高级故障排除;避免作为正常ChatGPT路径 | `file.read_path`,`file.write`,`shell.exec` |
路线图跟踪从低级基元到更安全的Codex Runner表面的转变。请参见[ROADMAP.md](./ROADMAP.md)。
### 工具配置文件
ChatGPT2LocalBridge 已经使用了一个配置文件门控来逐步开放工具:
一个小的公共连接器表面,一个标准的日常表面,和一个完整的调试表面。
为了更清晰的公共文档,它现在接受产品面向的配置文件名称和早期的内部别名:
| 配置文件 | 别名 | 用途 |
| --- | --- | --- |
| `minimal` | `chatgpt-app` | 最小的 ChatGPT 连接器表面;仅兼容别名。 |
| `standard` | `normal` | 项目、策略、技能、git、测试、跟踪和 Codex 任务工作流的推荐默认值。 |
| `full` | `debug` | 可信的本地调试,暴露低级别的文件、进程、shell 和服务工具。 |
| `codex-runner-only` | `codex-runner-only` | 高级别的 Codex 任务控制平面,无一般项目工具。 |
通过以下方式设置:
```bash
LOCALBRIDGE_TOOL_PROFILE=standard
```
在第一个公共连接器测试中使用 `minimal`,在日常工作中使用 `standard`,而仅在需要原始基本操作可见的聚焦调试中使用 `full`。
此配置文件模型是桥接自身的工具路由器和渐进披露路线图的一部分:仅暴露当前信任级别所需的工具,然后让本地应用和跟踪记录解释发生了什么。
| 领域 | 示例 |
| --- | --- |
| 项目 | `project.snapshot`、`project.bundle`、`project.index`、`project.scripts` |
| 任务交接 | `handoff.create` |
| 策略 | `policy.read`、`policy.validate` |
| 技能 | `skill.list`、`skill.search`、`skill.read`、`skill.bundle`、`skill.route` |
| 代码 | `code.read`、`code.read_range`、`code.search` |
| 文件 | `file.list`、`file.read_path`、`file.stat`、`file.write`、`file.patch`、`file.delete` |
| Shell/测试 | `shell.exec`、`test.detect`、`test.run` |
| Git | `git.status`、`git.diff`、`git.checkpoint`、`git.revert` |
| 运行时 | `workspace.*`、`task.*`、`process.*`、`port.check` |
| 云同步 | `cloud.download` |
| 桥接 | `bridge.status`、`bridge.health`、`bridge.logs`、`bridge.activity`、`service.restart` |
完整的 ChatGPT 可见工具目录是从 MCP `tools/list` 生成到 [`assets/mcp-tools.json`](./assets/mcp-tools.json):
```bash
npm run tools:catalog
```
`project.bundle` 是推荐的多文件上下文工具。它在一个只读调用中返回目录摘要、选定的文本文件和可选的 git diff,以便 ChatGPT 可以读取本地内容,然后从返回的内容中创建云端可下载的副本。
`skill.*` 工具使本地 Codex 技能可以通过连接器读取,而无需将整个 Codex 运行时目录转换为工作区。配置:
```json
{
"skillRoots": [
"/Users/YOUR_USERNAME/.codex/skills"
]
}
```
项目本地技能也从 `.codex/skills` 中的批准项目根目录中发现。引用文件是门控的:首先调用 `skill.read` on a `SKILL.md`,然后将返回的 `activationId` 传递给 `skill.bundle`,以便它可以包含引用的本地文件,例如 `references/*.md`。
不要批准整个 `~/.codex` 目录。它可能包含会话、附件、本地配置和其他私有运行时文件。
## Codex 提供商配置文件
Codex Runner 可以使用正常的 Codex CLI 登录或 OpenAI 兼容的 API 端点。这使得 sub2api 是可选的:单独运行 sub2api,然后将桥接指向其 `/v1` 端点。
```bash
LOCALBRIDGE_CODEX_BIN=/Users/YOUR_USERNAME/.local/bin/codex
LOCALBRIDGE_CODEX_PROVIDER=sub2api
LOCALBRIDGE_CODEX_BASE_URL=http://127.0.0.1:4999/v1
LOCALBRIDGE_CODEX_API_KEY_ENV=SUB2API_KEY
SUB2API_KEY=...
```
原生应用程序有一个 Codex 提供商页面,用于编辑这些本地设置。跟踪输出记录提供者类型和基本 URL 主机;API 密钥不会写入工具结果或审计日志中。
如果 ChatGPT 显示 `spawn codex ENOENT`,则连接器和任务交接工具正在工作,但后台服务无法找到 Codex CLI。设置 `LOCALBRIDGE_CODEX_BIN` 为绝对 `codex` 路径,或将 Codex 安装在服务友好的位置之一,例如 `~/.local/bin`、`/opt/homebrew/bin` 或 `/usr/local/bin`。
## 文件同步和活动
- 本地文件可以通过批准的 MCP 工具被 ChatGPT 读取。
- 多个本地文件可以与 `project.bundle` 捆绑在一起。
- MCP 读取的本地文件内容可以由 ChatGPT 重新发出为云端可下载的工件,当用户在对话中需要副本时。
- 为了稳定的 Trace Studio 分组,请 ChatGPT 在每次对话开始时调用 `trace.session_start`,并在长时间的多步骤工作之前调用 `task.start`。
- ChatGPT/App 提供的云文件下载 URL 可以使用 `cloud.download` 写入本地磁盘。
- 工具调用将持续到 `tool-calls.jsonl`。
- 文件写入、下载、任务、进程和服务重启将持续到 `audit.jsonl`。
- `/app` 处的本地控制台和原生 macOS 应用程序显示状态、工具调用和审计事件。
参见 [文件同步流程](./docs/sync-flows.md)。
## 领域证据
当前版本包括来自本地和 ChatGPT 连接器测试的净化证据:构建/测试输出、macOS 应用程序安装、工具目录计数、写入烟雾测试和连接器故障排除说明。参见 [`docs/evidence.md`](./docs/evidence.md)。
最新的连接器证明:在将 ChatGPT 自定义连接器重建为 `attachlocal2chatgpt-v3` 后,ChatGPT 的操作列表公开了高级别的任务交接和 Codex Runner 入口点:
<p align="center">
<img src="./docs/assets/evidence/chatgpt-v3-codex-runner-tools.svg" alt="ChatGPT 连接器证据,显示 handoff_create、codex_task_start、codex_status 和 codex_result" width="900" />
</p>
领域注意:默认情况下保持 `xhigh` / `XHigh` 模式关闭。在本地测试中,它比正常配置文件产生了更多的连接器/工具调用错误,因此仅在启用跟踪捕获的聚焦调试中使用它。
领域注意:`codex.result` 和 `codex_result` 默认返回紧凑的摘要。完整的日志和差异是按需开启的,带有 `includeLog` / `includeDiff`,因为托管的 ChatGPT 安全检查可以阻止大型执行记录。
## 星历史
<a href="https://www.star-history.com/?repos=Harzva%2Fchatgpt2localbridge&type=date&legend=top-left">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/chart?repos=Harzva/chatgpt2localbridge&type=date&theme=dark&legend=top-left" />
<source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/chart?repos=Harzva/chatgpt2localbridge&type=date&legend=top-left" />
<img alt="Harzva/chatgpt2localbridge 的星历史图表" src="https://api.star-history.com/chart?repos=Harzva/chatgpt2localbridge&type=date&legend=top-left" />
</picture>
</a>
## 安全默认值
- 不要在公共 URL 上运行未经身份验证的服务。
- 保持 `allowedProjectRoots` 范围窄。
- 保持 `skillRoots` 范围窄;更倾向于 `~/.codex/skills`,而不是 `~/.codex`。
- 永远不要提交 `.env.local`、`bridge.policy.json`、OAuth 存储、令牌、cookie 或解锁代码。
- 优先使用 OAuth 而不是 URL 令牌。
- 在使用 `/app` 之前设置 `LOCALBRIDGE_DASHBOARD_TOKEN`。
- 在为广泛的工作区启用 shell 访问之前,请查看 shell 拒绝规则。
参见 [安全模型](./docs/security.md)。
## 替代方案
OAuth + 固定的 HTTPS 隧道是默认的,因为它适合 ChatGPT 自定义连接器。存在其他选项:
- OpenAI 安全 MCP 隧道(如果适用于您的 workspace)
- Cloudflare 隧道
- VPS 反向代理
- 私有客户端的静态承载令牌
- 仅限环回的无身份验证测试
参见 [替代方案](./docs/alternatives.md)。
## GitHub Pages
静态产品站点位于 [`docs/`](./docs/index.html)。存储库中包含一个 GitHub Actions 工作流,该工作流在推送到 `main` 后将其部署到 GitHub Pages。
## 开发
```bash
npm install
npm run typecheck
npm run tools:catalog
npm test
npm pack --dry-run
cargo test --manifest-path rust/chatgpt2localbridge-rs/Cargo.toml
cargo build --manifest-path rust/chatgpt2localbridge-rs/Cargo.toml
cargo build --release --manifest-path rust/chatgpt2localbridge-rs/Cargo.toml
npm run macos:app
npm run macos:install
```
渲染 README 和文档资产:
```bash
npm run docs:assets
npm run docs:preview
```
## 公共版本检查清单
- [ ] 使用包含的工作流启用 GitHub Pages。
- [ ] 确认 `npm test` 在 GitHub Actions 中通过。
- [ ] 确认 macOS `.dmg` 和 `.app.zip` 下载、解压/安装和启动。
- [ ] 确认 Windows Rust 预览版启动 `http://127.0.0.1:3842/app`。
- [ ] 保持 `.env.local` 和 `bridge.policy.json` 不受跟踪。
- [ ] 验证 ChatGPT 连接器使用 OAuth 和正确的 `/mcp` URL。
## 许可证
MIT
连接信息
猜你喜欢
暂无推荐服务器