Files
heicode-win/cc-haha/README.md
T
gongzhiyong 1f21309597 refactor: rename manager codebase dir new-api → heicode, module github.com/heicode/manager
Remove user-facing new-api naming; Docker/network/container names use heicode.
Go imports updated; Dockerfiles and workflows ldflags fixed.

Made-with: Cursor
2026-05-01 01:47:23 +08:00

158 lines
5.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# HeiCode
> 基于 [`cc-haha`](https://github.com/NanmiCoder/cc-haha) 二次开发的 Claude Code 客户端,登录后通过 **TaijiAICloud** 或 **ClawdRouter** 直接使用各家主流大模型,零配置开箱即用。
---
## 当前形态
- **登录方式**:用户启动 HeiCode 后只看到两个登录入口
- **TaijiAICloud**(自建网关,基于 [`heicode`](https://github.com/Calcium-Ion/heicode))
- **ClawdRouter**(聚合网关)
- **支持模式**:
- 浏览器跳转 OAuth(推荐 / 平台支持后启用)
- 复制 API Key 粘贴登录(兼容入口 / 立即可用)
- **协议**:两个平台均原生支持 Anthropic `/v1/messages`,HeiCode 直接调用,无需中台代理。
- **模型矩阵**:登录后自动从平台 `/v1/models` 拉取,覆盖 GPT / Claude / Gemini 全家桶。
---
## 项目结构
```
heicode/
├── bin/ # CLI 入口(heicode / claude-haha 兼容别名)
├── src/ # CLI + Server(Bun + TypeScript + Ink)
│ ├── server/ # 桌面端用的本地 HTTP/WS Server
│ │ ├── config/providerPresets.json # ★ 仅保留 TaijiAICloud / ClawdRouter
│ │ ├── api/heicode-auth.ts # ★ 双 Provider 登录入口
│ │ └── api/providers.ts # ★ 加了 /v1/models 探活
│ └── ...
├── desktop/ # Tauri 2 + React 桌面端
└── docs/ # 文档(含 HEICODE-PLAN.md 路线图)
```
---
## 快速开始
### 1. 准备依赖
```bash
# macOS / Linux
curl -fsSL https://bun.sh/install | bash
# Windows (PowerShell)
powershell -c "irm bun.sh/install.ps1 | iex"
```
### 2. 安装项目
```bash
cd heicode
bun install
```
### 3. 启动 CLI(终端版)
```bash
./bin/heicode # 交互 TUI
./bin/heicode -p "your prompt" # 无头模式
```
### 4. 启动桌面端
```bash
# Terminal A — 本地 Server
SERVER_PORT=3456 bun run src/server/index.ts
# Terminal B — 桌面前端
cd desktop && bun run dev --host 127.0.0.1 --port 2024
```
浏览器打开 `http://127.0.0.1:2024`。
---
## HeiCode Auth API
供桌面端 / CLI 调用的双 Provider 登录入口。
| Method · Path | 用途 |
|---|---|
| `GET /api/heicode-auth/providers` | 列出 2 个登录入口(TaijiAICloud / ClawdRouter)+ OAuth 是否就绪 |
| `POST /api/heicode-auth/login` | 粘贴 API Key 登录:校验 → 拉模型 → 保存 → 激活 |
| `POST /api/heicode-auth/oauth/start` | OAuth 启动(**当前为占位**,等平台支持) |
| `GET /api/heicode-auth/oauth/callback` | OAuth 回跳(**当前为占位**,等平台支持) |
| `GET /api/heicode-auth/status` | 当前登录状态 |
| `POST /api/heicode-auth/logout` | 登出 |
### 粘贴 API Key 登录示例
```bash
curl -X POST http://127.0.0.1:3456/api/heicode-auth/login \
-H 'Content-Type: application/json' \
-d '{"providerId":"taijiaicloud","apiKey":"sk-xxx"}'
```
返回:
```json
{
"ok": true,
"provider": {
"id": "...",
"presetId": "taijiaicloud",
"name": "TaijiAICloud",
"baseUrl": "https://api.taijiaicloud.com",
"apiFormat": "anthropic",
"models": { "main": "claude-sonnet-4-6", "haiku": "...", "sonnet": "...", "opus": "..." }
},
"availableModels": [{ "id": "..." }, ...]
}
```
---
## 给两个平台的对接清单
详见 [`docs/HEICODE-PLAN.md`](./docs/HEICODE-PLAN.md)。简版:
### TaijiAICloud(基于 heicode)
- 必备:`/v1/messages`(Anthropic 原生协议) · `/v1/models` · API Key 子分组管理
- 推荐:OAuth2 Authorization Code + PKCE 端点;Webhook(额度告警)
### ClawdRouter
- 必备:`/v1/messages` · `/v1/models`(已支持)
- 推荐:管理面 API(颁发短期 token);OAuth2 端点
---
## 路线图
- [x] **S0 品牌剥离**:包名 / Tauri / Cargo / 安装钩子改为 HeiCode
- [x] **S0 双 Provider 预设**:providerPresets.json 仅保留 TaijiAICloud / ClawdRouter
- [x] **S0 模型自动发现**:`/v1/models` 探活 + 默认模型自动选取
- [x] **S0 双 Provider 登录后端**:`/api/heicode-auth/*` 完整就绪(OAuth 占位)
- [ ] **S1 桌面端登录页**:替换现有 Settings 的 Provider 列表为 2 卡片登录
- [ ] **S1 CLI Onboarding**:原 `Onboarding.tsx` / `ConsoleOAuthFlow` 改为 HeiCode 双卡片
- [ ] **S1 OAuth 真实接入**:等 TaijiAICloud / ClawdRouter 提供 OAuth endpoints 后补全
- [ ] **S2 模型选择器 UX**:登录后 `/api/providers/:id/models` 渲染下拉选择默认模型
- [ ] **S2 配额状态栏**:拉平台 `/v1/usage` 实时展示余量
- [ ] **S3 Taiji Agent 工具融合**:MCP 自动挂载 / Skills 同步 / Agent 导入
---
## License
继承上游 cc-haha 的 License。再往上游溯源是 Anthropic Claude Code 泄露源码,**仅供学习研究使用**。
---
## 致谢
- 上游 [`cc-haha`](https://github.com/NanmiCoder/cc-haha) — 提供基础工程
- [`heicode`](https://github.com/Calcium-Ion/heicode) — 模型网关后端