claude-code-restored-runtime

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

claude-code-restored-runtime

claude-code-restored-runtime

Skill by ara.so — Claude Code Skills collection.
ara.so开发的技能 — Claude Code技能合集。

What It Does

功能介绍

claude-code-rev
is a restored and runnable version of Claude Code reconstructed from source maps. It provides:
  • A local AI coding agent runtime that works with GitHub-backed inference providers
  • Support for both GitHub Models (OpenAI-compatible) and GitHub Copilot endpoints
  • Multi-provider switching with interactive CLI commands
  • Chrome MCP and Computer Use MCP compatibility layers
  • Restored CLI bootstrap with full command tree
The project is not the original upstream repository—some modules are shims or degraded implementations to enable runnable workflows.
claude-code-rev
是从源映射重建的可运行版Claude Code恢复版本,它提供:
  • 可与GitHub支持的推理提供商配合使用的本地AI编码agent运行时
  • 同时支持GitHub Models(兼容OpenAI)和GitHub Copilot端点
  • 通过交互式CLI命令实现多提供商切换
  • Chrome MCP和Computer Use MCP兼容层
  • 完整命令树的恢复版CLI引导程序
本项目并非原始上游仓库——部分模块是垫片或降级实现,以支持可运行的工作流。

Installation

安装

Prerequisites

前置要求

  • Bun 1.3.5 or newer
  • Node.js 24 or newer
  • GitHub CLI (
    gh
    ) for account-based authentication (optional but recommended)
  • Bun 1.3.5或更高版本
  • Node.js 24或更高版本
  • GitHub CLI (
    gh
    ) 用于基于账户的身份验证(可选但推荐)

Clone and Install

克隆并安装

bash
git clone https://github.com/oboard/claude-code-rev.git
cd claude-code-rev
bun install
bash
git clone https://github.com/oboard/claude-code-rev.git
cd claude-code-rev
bun install

Verify Installation

验证安装

bash
bun run version
bun run dev --help
bash
bun run version
bun run dev --help

Authentication Setup

身份验证设置

Both GitHub providers use this lookup order:
  1. Provider-specific environment variable
  2. GH_TOKEN
  3. GITHUB_TOKEN
  4. gh auth token
    (GitHub CLI)
两种GitHub提供商均按以下顺序查找凭证:
  1. 提供商特定的环境变量
  2. GH_TOKEN
  3. GITHUB_TOKEN
  4. gh auth token
    (GitHub CLI)

Option 1: GitHub CLI (Recommended)

选项1:GitHub CLI(推荐)

bash
gh auth login
This enables account-based authentication without manual token management.
bash
gh auth login
这种方式无需手动管理令牌,即可实现基于账户的身份验证。

Option 2: Environment Variable

选项2:环境变量

bash
export GITHUB_TOKEN="ghp_your_token_here"
Or add to
.env
:
bash
GITHUB_TOKEN=ghp_your_token_here
bash
export GITHUB_TOKEN="ghp_your_token_here"
或添加到
.env
文件:
bash
GITHUB_TOKEN=ghp_your_token_here

Running the Runtime

运行运行时

Default Run

默认运行

bash
bun run dev
bash
bun run dev

With GitHub Models Provider

使用GitHub Models提供商

bash
bun run dev --settings '{"provider":"github-models"}'
Specify a model:
bash
bun run dev --settings '{"provider":"github-models"}' --model "openai/gpt-4.1"
bash
bun run dev --settings '{"provider":"github-models"}'
指定模型:
bash
bun run dev --settings '{"provider":"github-models"}' --model "openai/gpt-4.1"

With GitHub Copilot Provider

使用GitHub Copilot提供商

bash
bun run dev --settings '{"provider":"github-copilot"}'
Specify a Copilot-hosted Claude model:
bash
bun run dev --settings '{"provider":"github-copilot"}' --model "claude-opus-4.6"
bash
bun run dev --settings '{"provider":"github-copilot"}'
指定Copilot托管的Claude模型:
bash
bun run dev --settings '{"provider":"github-copilot"}' --model "claude-opus-�ins             \H构造
"Keep"LINE Vis elementary current provider

CLI Commands

CLI命令

Provider Management

提供商管理

CommandDescription
/provider
Open interactive provider picker
/provider info
Show current provider and environment overrides
/provider github-copilot
Switch directly to GitHub Copilot
/provider github-models
Switch directly to GitHub Models
命令描述
/provider
打开交互式提供商选择器
/provider info
显示当前提供商和环境覆盖配置
/provider github-copilot
直接切换到GitHub Copilot
/provider github-models
直接切换到GitHub Models

Model Management

模型管理

CommandDescription
/model
Open model picker for current provider
命令描述
/model
为当前提供商打开模型选择器

General Commands

通用命令

bash
bun run dev --help    # Show full command tree
bun run version       # Print restored version
bash
bun run dev --help    # 查看完整命令树
bun run version       # 打印恢复版本号

Supported Models

支持的模型

GitHub Copilot – Validated Claude Models

GitHub Copilot – 已验证的Claude模型

These models work with the Claude Code runtime and tool loop:
  • claude-sonnet-4.6
  • claude-opus-4.6
  • claude-haiku-4.5
  • claude-sonnet-4.5
  • claude-opus-4.5
  • claude-sonnet-4
Note: Copilot GPT/Grok models are not fully wired yet—they require the
/responses
API path instead of the current chat/messages shim.
这些模型可与Claude Code运行时和工具循环配合使用:
  • 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

Any OpenAI-compatible model available through GitHub Models, including:
  • openai/gpt-4.1
  • openai/gpt-4o
  • meta-llama/Llama-3.3-70B-Instruct
任何通过GitHub Models提供的兼容OpenAI的模型,包括:
  • openai/gpt-4.1
  • openai/gpt-4o
  • meta-llama/Llama-3.3-70B-Instruct

Configuration Examples

配置示例

Runtime Settings File

运行时设置文件

Settings are stored in user config and can be overridden via CLI:
bash
undefined
设置存储在用户配置中,可通过CLI覆盖:
bash
undefined

Inline settings override

内联设置覆盖

bun run dev --settings '{"provider":"github-copilot","autoSave":true}'
undefined
bun run dev --settings '{"provider":"github-copilot","autoSave":true}'
undefined

Environment-Based Provider Override

基于环境的提供商覆盖

bash
undefined
bash
undefined

Force GitHub Models provider via env

通过环境变量强制使用GitHub Models提供商

export CLAUDE_CODE_PROVIDER="github-models" bun run dev
undefined
export CLAUDE_CODE_PROVIDER="github-models" bun run dev
undefined

Multi-Provider Workflow

多提供商工作流

bash
undefined
bash
undefined

Start with GitHub Models

启动GitHub Models会话

bun run dev --settings '{"provider":"github-models"}'
bun run dev --settings '{"provider":"github-models"}'

Inside CLI, switch to Copilot

在CLI内切换到Copilot

/provider github-copilot
/provider github-copilot

Pick a specific model

选择特定模型

/model
/model

(select claude-opus-4.6 from picker)

(从选择器中选择claude-opus-4.6)

undefined
undefined

Code Integration Examples

代码集成示例

TypeScript: Provider Interface

TypeScript:提供商接口

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
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 Provider

TypeScript:Copilot提供商

typescript
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 { GitHubCopilotProvider } from './providers/github-copilot';

const copilot = new GitHubCopilotProvider({\在线.prL_phparDue旁边-links summ/**\的 Prepare� 完成后,将其添加到你的项目中:

```typescript
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: Runtime Bootstrap

TypeScript:运行时引导程序

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);
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);

Common Patterns

常见模式

Pattern 1: Quick Provider Switch

模式1:快速切换提供商

bash
undefined
bash
undefined

Start session

启动会话

bun run dev
bun run dev

Switch provider mid-session

会话中切换提供商

/provider
/provider

Select github-copilot from picker

从选择器中选择github-copilot

Verify active provider

验证当前提供商

/provider info
undefined
/provider info
undefined

Pattern 2: Scripted Model Selection

模式2:脚本化模型选择

bash
#!/bin/bash
export GITHUB_TOKEN=$(gh auth token)
bun run dev \
  --settings '{"provider":"github-copilot"}' \
  --model "claude-opus-4.6"
bash
#!/bin/bash
export GITHUB_TOKEN=$(gh auth token)
bun run dev \\
  --settings '{"provider":"github-copilot"}' \\
  --model "claude-opus-4.6"

Pattern 3: Fallback Chain

模式3:降级链

typescript
// Automatic fallback if primary provider fails
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');
typescript
// 如果主提供商失败,自动降级到备用提供商
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');

Troubleshooting

故障排除

Issue:
bun install
Fails

问题:
bun install
失败

Cause: Bun version too old or missing native dependencies.
Fix:
bash
bun --version  # Must be 1.3.5+
bun upgrade
bun install --force
原因: Bun版本过旧或缺少原生依赖。
修复:
bash
bun --version  # 必须为1.3.5+
bun upgrade
bun install --force

Issue: Authentication Fails

问题:身份验证失败

Cause: No valid GitHub token found.
Fix:
bash
undefined
原因: 未找到有效的GitHub令牌。
修复:
bash
undefined

Verify token presence

验证令牌是否存在

gh auth status
gh auth status

Re-authenticate

重新认证

gh auth login
gh auth login

Or manually set token

或手动设置令牌

export GITHUB_TOKEN="ghp_..."
undefined
export GITHUB_TOKEN="ghp_..."
undefined

Issue: Model Not Available

问题:模型不可用

Cause: Model name mismatch or provider doesn't support the model.
Fix:
bash
undefined
原因: 模型名称不匹配或提供商不支持该模型。
修复:
bash
undefined

Use /model picker instead of manual entry

使用/model选择器而非手动输入

bun run dev --settings '{"provider":"github-copilot"}'
bun run dev --settings '{"provider":"github-copilot"}'

Then run: /model

然后运行:/model

undefined
undefined

Issue: Copilot GPT Models Not Working

问题:Copilot GPT模型无法工作

Cause: Copilot GPT/Grok models require
/responses
API (not yet fully wired).
Fix: Use Copilot-hosted Claude models instead:
bash
bun run dev \
  --settings '{"provider":"github-copilot"}' \
  --model "claude-sonnet-4.6"
原因: Copilot GPT/Grok模型需要
/responses
API(尚未完全适配)。
修复: 使用Copilot托管的Claude模型替代:
bash
bun run dev \\
无法运行 underlying Occ}`文 SC择代码... r升级版无法获得?不,应该是:
bun run dev \\
  --settings '{"provider":"github-copilot"}' \\
  --model "claude-sonnet-4.6"

Issue: Source Map Restoration Artifacts

问题:源映射恢复产物问题

Cause: Some modules are shims or degraded implementations.
Symptoms: Missing features, unexpected behavior in non-core paths.
Fix: Check if the feature relies on a private/native integration. File an issue on the repo if critical functionality is broken.
原因: 部分模块是垫片或降级实现。
症状: 功能缺失,非核心路径出现意外行为。
修复: 检查该功能是否依赖私有/原生集成。如果关键功能损坏,请在仓库提交issue。

Issue: Tool Loop Hangs

问题:工具循环挂起

Cause: MCP compatibility layer returning malformed responses.
Fix:
bash
undefined
原因: MCP兼容层返回格式错误的响应。
修复:
bash
undefined

Enable debug logging

启用调试日志

DEBUG=* bun run dev
DEBUG=* bun run dev

Check for MCP tool catalog errors

检查MCP工具目录错误

Report specific tool failures to repo issues

向仓库issue报告具体工具故障

undefined
undefined

Development Workflow

开发工作流

Run in Dev Mode

以开发模式运行

bash
bun run dev
bash
bun run dev

Inspect Restored CLI Structure

检查恢复的CLI结构

bash
bun run dev --help
bash
bun run dev --help

Shows full command tree from restored bootstrap

查看恢复引导程序的完整命令树

undefined
undefined

Test Provider Switching

测试提供商切换

typescript
// In your test suite
import { switchProvider } from './cli/commands/provider';

await switchProvider('github-copilot');
const info = await getProviderInfo();
assert(info.active === 'github-copilot');
typescript
// 在测试套件中
import { switchProvider } from './cli/commands/provider';

await switchProvider('github-copilot');
const info = await getProviderInfo();
assert(info.active === 'github-copilot');

Key Files

关键文件

  • cli/bootstrap.ts
    – Restored CLI entry point
  • providers/github-models.ts
    – GitHub Models provider
  • providers/github-copilot.ts
    – GitHub Copilot provider
  • mcp/chrome-mcp.ts
    – Chrome MCP compatibility layer
  • mcp/computer-use-mcp.ts
    – Computer Use MCP shim
  • 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垫片

Limitations

限制

  • Not the original upstream codebase—some modules are restored from source maps
  • Copilot GPT/Grok models not fully integrated (require
    /responses
    API)
  • Private/native integrations replaced with shims
  • Some dynamic imports and resource files may be incomplete
  • 并非原始上游代码库——部分模块从源映射恢复
  • Copilot GPT/Grok模型尚未完全集成(需要
    /responses
    API)
  • 私有/原生集成已替换为垫片
  • 部分动态导入和资源文件可能不完整

Resources

资源