快速部署并使用本地模型

claude code代码快速部署使用本地模型
(1)本地模型
(2)跳过claude code OAuth 认证
#!/bin/bash

# 本地模型启动脚本
# 加载环境变量
export ANTHROPIC_BASE_URL=xxx
export LOCAL_MODEL_NAME=xxx
export ANTHROPIC_API_KEY=xxx
export LOCAL_MODEL_NAME_DISPLAY="xxx"
export LOCAL_MODEL_DESCRIPTION="xxx"
export ENABLE_LOCAL_MODEL=true



echo "启动本地模型..."
echo "ANTHROPIC_BASE_URL: $ANTHROPIC_BASE_URL"
echo "LOCAL_MODEL_NAME: $LOCAL_MODEL_NAME"
echo "ANTHROPIC_API_KEY: $ANTHROPIC_API_KEY"
echo ""

# 使用 --bare 模式跳过 OAuth 认证
bun run dev --bare

图片

📊 项目深度解读

项目身份

这是一个 Claude Code 的非官方还原版本,从 npm 包的 source map 逆向工程得到的完整 TypeScript 源码。


🎯 核心定位

Claude Code = 终端版的 AI 编程助手(类似 GitHub Copilot Chat 的 CLI 版本)

核心能力:

  • • 💻 直接在终端与 AI 对话写代码

  • • 🔧 自动执行文件操作、Shell 命令

  • • 🤖 支持多 Agent 协作

  • • 🌐 Web 搜索、API 调用

  • • 🔐 权限管理和安全控制


🏗️ 架构层次

┌─────────────────────────────────────────┐
│          用户交互层 (Terminal UI)        │
│  - React + Ink (终端渲染器)             │
│  - 快捷键系统 (Vim 模式)                 │
│  - 对话框/提示框                         │
└─────────────────────────────────────────┘
                    ↓
┌─────────────────────────────────────────┐
│           业务逻辑层                      │
│  - 命令系统 (104 个斜杠命令)              │
│  - 工具系统 (60+ 工具)                    │
│  - 任务管理 (Task 系统)                   │
└─────────────────────────────────────────┘
                    ↓
┌─────────────────────────────────────────┐
│            服务层                         │
│  - API 客户端 (Anthropic)                 │
│  - MCP 服务器 (Model Context Protocol)    │
│  - 会话管理/历史记录                      │
│  - 分析/遥测服务                         │
└─────────────────────────────────────────┘
                    ↓
┌─────────────────────────────────────────┐
│         基础设施层                        │
│  - 配置管理                              │
│  - 权限控制                              │
│  - 文件系统操作                          │
└─────────────────────────────────────────┘

📦 核心模块详解

1. 主入口 (main.tsx - 800KB+)

  • • 超大的单体文件,包含 CLI 启动、初始化、REPL 渲染

  • • 性能优化:并行读取设置、Keychain 预取

  • • 条件特性开关(COORDINATOR_MODE、KAIROS 等)

2. 工具系统 (src/tools/ - 56 个文件)

工具类别

代表工具

功能

文件操作

FileReadTool

FileEditTool

读写、编辑文件

执行环境

BashTool

REPLTool

执行 Shell 命令

网络

WebSearchTool

WebBrowserTool

搜索、浏览网页

AI 协作

AgentTool

SendMessageTool

调用其他 AI Agent

任务管理

TaskCreateTool

TaskGetTool

创建/查询任务

MCP

MCPTool

ListMcpResourcesTool

集成 MCP 服务器

3. 命令系统 (src/commands/ - 104 个目录)

/ask          - 提问模式
/bug          - 提交 Bug
/cleanup      - 清理会话
/compact      - 压缩上下文
continue      - 继续上一次对话
/docs         - 查看文档
/editor       - 配置编辑器
/help         - 帮助
/mcp          - 管理 MCP 服务器
/new          - 新会话
/privacy      - 隐私设置
/resume       - 恢复会话
/settings     - 设置
/share        - 分享会话
/skills       - 技能系统
/teammate     - 多 Agent 协作
theme         - 主题切换
tools         - 工具管理
vim-mode      - Vim 模式

4. 服务层 (src/services/ - 40+ 服务)

  • • api/ - Anthropic API 客户端、重试、限流

  • • mcp/ - MCP 客户端/服务端、OAuth

  • • analytics/ - GrowthBook 特性开关、Datadog 埋点

  • • compact/ - 会话自动压缩

  • • claudeAiLimits/ - 配额管理

  • • remoteManagedSettings/ - 远程配置管理

5. UI 层 (src/components/ - 148 个组件)

基于 Ink(React for Terminal)构建的终端 UI:

  • • 消息气泡、代码高亮

  • • 进度条、加载动画

  • • 对话框、确认提示

  • • 状态栏、工具栏

6. 自定义 Ink 渲染器 (src/ink/ - 52 个文件)

  • • 布局系统

  • • 焦点管理

  • • ANSI 颜色渲染

  • • 虚拟滚动列表


🔄 启动流程

┌──────────────────────┐
│  bun run dev         │
└──────────┬───────────┘
           ↓
┌──────────────────────┐
│  dev-entry.ts        │  ← 开发入口
└──────────┬───────────┘
           ↓
┌──────────────────────┐
│  main.tsx            │  ← 主入口 (800KB)
│  - 初始化配置        │
│  - 加载 MCP 服务器    │
│  - 读取历史记录      │
│  - 权限检查          │
└──────────┬───────────┘
           ↓
┌──────────────────────┐
│  launchRepl()        │  ← 启动 REPL
└──────────┬───────────┘
           ↓
┌──────────────────────┐
│  交互式终端界面       │
│  等待用户输入         │
└──────────────────────┘

🔧 技术栈

层级

技术

语言

TypeScript 5.x

运行时

Bun 1.3.5+ / Node.js 24+

UI 框架

React 19 + Ink 6.x

CLI 框架

Commander.js 14.x

API 客户端

@anthropic-ai/sdk 0.80.0

MCP

@modelcontextprotocol/sdk 1.29.0

终端 UI

Ink (React for Terminal)

包管理器

Bun

状态管理

React Context + Hooks


🌟 特色功能

1. 多 Agent 协作 (teammate/)

  • • 支持创建多个 AI Agent 协同工作

  • • Agent 之间可以传递消息

  • • 自动负载均衡

2. 技能系统 (skills/)

  • • 可插拔的技能模块

  • • 支持自定义技能

  • • 技能版本管理

3. MCP 集成

  • • Model Context Protocol 支持

  • • 可扩展的服务器插件

  • • OAuth 认证

4. 会话压缩

  • • 自动压缩历史上下文

  • • 保留关键信息

  • • 节省 Token 成本

5. Vim 模式

  • • 完整的 Vim 键位绑定

  • • 正常/插入/可视模式

  • • 自定义命令


⚠️ 项目限制

  1. 1. 非官方版本 - 基于 source map 逆向,可能不完整

  2. 2. 部分模块降级 - 原生模块用 shim 替代

  3. 3. 需要 API Key - 需要 Anthropic API 密钥

  4. 4. 仅支持 macOS/Linux - 部分功能依赖系统特性


🚀 使用场景

场景

用法

代码开发

"帮我写一个 React 组件"

代码修改

"修改这个文件添加错误处理"

问题排查

"为什么这个 API 调用失败?"

文档查询

"查找 React hooks 的最佳实践"

批量操作

"批量重命名所有 test 文件"

来源本人的微信公众号【LLM&Agent技术分享】:https://mp.weixin.qq.com/s/6NAIU_HIPdhoTYWNwvtAxw

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐