用途
claude-code-restored-runtime 提供一个本地运行的 AI 编程智能体运行时,通过 GitHub 支持的推理提供方(GitHub Models 与 GitHub Copilot)驱动编码工作流。它不是原始上游仓库,而是从 source maps 还原并使其可运行的版本;部分模块是垫片或降级实现,以换取可运行性。
主要能力
- 本地 AI 编程智能体运行时,支持 GitHub 后端推理提供方
- 同时支持 GitHub Models(OpenAI 兼容)与 GitHub Copilot 端点
- 多提供方切换,并提供交互式 CLI 命令
- Chrome MCP 与 Computer Use MCP 兼容层
- 还原的 CLI 引导与完整命令树
安装与准备
前置条件:Bun 1.3.5 或更高、Node.js 24 或更高、GitHub CLI(gh,可选但推荐,用于基于账户的认证)。
安装步骤:
git clone https://github.com/oboard/claude-code-rev.git
cd claude-code-rev
bun install
验证安装:
bun run version
bun run dev --help
认证设置
两种 GitHub 提供方采用相同的令牌查找顺序:1) 提供方专属环境变量;2) GH_TOKEN;3) GITHUB_TOKEN;4) gh auth token(GitHub CLI)。
推荐方式(GitHub CLI):
gh auth login
环境变量方式:
export GITHUB_TOKEN="ghp_your_token_here"
或写入 .env:
GITHUB_TOKEN=ghp_your_token_here
运行方式
默认运行:
bun run dev
使用 GitHub Models 提供方:
bun run dev --settings '{"provider":"github-models"}'
指定模型:
bun run dev --settings '{"provider":"github-models"}' --model "openai/gpt-4.1"
使用 GitHub Copilot 提供方:
bun run dev --settings '{"provider":"github-copilot"}'
指定 Copilot 托管的 Claude 模型:
bun run dev --settings '{"provider":"github-copilot"}' --model "claude-opus-4.6"
CLI 命令
提供方管理:/provider 打开交互式提供方选择器;/provider info 显示当前提供方与环境覆盖;/provider github-copilot 直接切换到 GitHub Copilot;/provider github-models 直接切换到 GitHub Models。
模型管理:/model 打开当前提供方的模型选择器。
通用命令:
bun run dev --help # Show full command tree
bun run version # Print restored version
支持的模型
GitHub Copilot 已验证可与 Claude Code 运行时和工具循环配合的 Claude 模型:claude-sonnet-4.6、claude-opus-4.6、claude-haiku-4.5、claude-sonnet-4.5、claude-opus-4.5、claude-sonnet-4。注意:Copilot 的 GPT/Grok 模型尚未完全接通,它们需要 /responses API 路径,而非当前的 chat/messages 垫片。
GitHub Models:任何通过 GitHub Models 提供的 OpenAI 兼容模型,包括 openai/gpt-4.1、openai/gpt-4o、meta-llama/Llama-3.3-70B-Instruct。
配置示例
运行时设置存于用户配置,可通过 CLI 覆盖:
bun run dev --settings '{"provider":"github-copilot","autoSave":true}'
基于环境的提供方覆盖:
export CLAUDE_CODE_PROVIDER="github-models"
bun run dev
多提供方工作流:
bun run dev --settings '{"provider":"github-models"}'
# Inside CLI:
/provider github-copilot
/model
代码集成示例
TypeScript 提供方接口:
import { GitHubModelsProvider } from './providers/github-models';
const provider = new GitHubModelsProvider({
apiKey: process.env.GITHUB_TOKEN,
model: 'openai/gpt-4.1',
});
const response = await provider.chat({
messages: [
{ role: 'user', content: 'Explain this function' },
],
});
console.log(response.content);
TypeScript Copilot 提供方:
import { GitHubCopilotProvider } from './providers/github-copilot';
const copilot = new GitHubCopilotProvider({
token: process.env.GITHUB_TOKEN,
model: 'claude-sonnet-4.6',
});
const result = await copilot.complete({
prompt: 'Write a binary search in Rust',
maxTokens: 500,
});
TypeScript 运行时引导:
import { bootstrap } from './cli/bootstrap';
async function main() {
await bootstrap({
provider: process.env.CLAUDE_CODE_PROVIDER || 'github-models',
model: process.env.CLAUDE_CODE_MODEL,
autoSave: true,
});
}
main().catch(console.error);
常见模式
模式一:快速切换提供方
bun run dev
/provider
/provider info
模式二:脚本化模型选择
#!/bin/bash
export GITHUB_TOKEN=$(gh auth token)
bun run dev \
--settings '{"provider":"github-copilot"}' \
--model "claude-opus-4.6"
模式三:回退链
const providers = [
new GitHubCopilotProvider({ token: process.env.GITHUB_TOKEN }),
new GitHubModelsProvider({ apiKey: process.env.GH_TOKEN }),
];
for (const provider of providers) {
try {
return await provider.chat(messages);
} catch (err) {
console.warn(`Provider ${provider.name} failed:`, err);
}
}
throw new Error('All providers failed');
故障排查
- bun install 失败:Bun 版本过旧或缺少原生依赖。执行
bun --version(须 1.3.5+)、bun upgrade、bun install --force。 - 认证失败:未找到有效 GitHub 令牌。执行
gh auth status、gh auth login,或手动export GITHUB_TOKEN="ghp_..."。 - 模型不可用:模型名不匹配或提供方不支持。建议用 /model 选择器而非手动输入。
- Copilot GPT 模型不工作:需要 /responses API(尚未完全接通)。改用 Copilot 托管的 Claude 模型,如
--model "claude-sonnet-4.6"。 - Source Map 还原残留问题:部分模块为垫片或降级实现,可能出现缺失功能或非核心路径的异常行为。若关键功能损坏,可在仓库提交 issue。
- 工具循环卡住:MCP 兼容层返回格式错误响应。可启用
DEBUG=* bun run dev调试日志,并向仓库报告具体工具失败。
开发流程
bun run dev
bun run dev --help
测试提供方切换:
import { switchProvider } from './cli/commands/provider';
await switchProvider('github-copilot');
const info = await getProviderInfo();
assert(info.active === 'github-copilot');
关键文件
- cli/bootstrap.ts – 还原的 CLI 入口点
- providers/github-models.ts – GitHub Models 提供方
- providers/github-copilot.ts – GitHub Copilot 提供方
- mcp/chrome-mcp.ts – Chrome MCP 兼容层
- mcp/computer-use-mcp.ts – Computer Use MCP 垫片
限制
- 不是原始上游代码库,部分模块从 source maps 还原
- Copilot GPT/Grok 模型未完全集成(需要 /responses API)
- 私有/原生集成被替换为垫片
- 部分动态导入与资源文件可能不完整
资源
- 仓库:https://github.com/oboard/claude-code-rev
- 提供方文档:在 CLI 运行 /provider info 查看当前提供方详情
- 模型目录:运行 /model 查看当前提供方的可用模型
适用场景
适合希望在本地通过 GitHub 账户(GitHub Models 或 GitHub Copilot)驱动 AI 编程智能体、并需要多提供方切换与 MCP 兼容层的开发者。由于依赖 GitHub 令牌且部分模块为还原实现,更适合探索、实验与技术验证。具体收费、价格与商业化信息暂未提供。