mirror of
https://github.com/claude-code-best/claude-code.git
synced 2026-06-15 12:55:51 +00:00
* feat: restore pipe IPC, LAN pipes, monitor tool, and PR-package features Core IPC system (UDS_INBOX): - PipeServer/PipeClient with UDS + TCP dual transport, NDJSON protocol - PipeRegistry: machineId-based role assignment, file locking - Master/slave attach, prompt relay, permission forwarding - Heartbeat lifecycle with parallel isPipeAlive probes - Commands: /pipes, /attach, /detach, /send, /claim-main, /pipe-status LAN Pipes (LAN_PIPES): - UDP multicast beacon (224.0.71.67:7101) for zero-config LAN discovery - PipeServer TCP listener, PipeClient TCP connect mode - Heartbeat auto-attaches LAN peers via TCP - Cross-machine attach allowed regardless of role - /pipes shows [LAN] peers with role + hostname/IP - SendMessageTool supports tcp: scheme with user consent Architecture — extracted hooks from REPL.tsx (~830 lines → ~20 lines): - usePipeIpc: lifecycle (bootstrap, handlers, heartbeat, cleanup) - usePipeRelay: slave→master message relay via module singleton - usePipePermissionForward: permission request/cancel forwarding - usePipeRouter: selected pipe input routing with role+IP labels - Shared ndjsonFramer.ts replaces 3 duplicate NDJSON parsers Key fixes applied during development: - Multicast binds to correct LAN interface (not WSL/Docker) - Beacon ref stored as module singleton (not Zustand state mutation) - Heartbeat preserves LAN peers in discoveredPipes and selectedPipes - Disconnect handler calls removeSlaveClient (fixes listener leak) - cleanupStaleEntries probes without lock, writes briefly under lock - getMachineId uses async execFile (not blocking execSync) - globalThis.__pipeSendToMaster replaced with setPipeRelay singleton - M key only toggles route mode when selector panel is expanded - User prompt displayed in message list on pipe broadcast - Broadcast notifications show [role] + hostname/IP for LAN peers Other restored features: - Monitor tool: /monitor command, MonitorTool, MonitorMcpTask lifecycle - Daemon supervisor and remoteControlServer command - Tools: SnipTool, SleepTool, ListPeersTool, SendUserFileTool, WebBrowserTool, WorkflowTool, and 10+ stub→implementation rewrites - Feature flags: UDS_INBOX, LAN_PIPES, MONITOR_TOOL, FORK_SUBAGENT, KAIROS, COORDINATOR_MODE, WORKFLOW_SCRIPTS, HISTORY_SNIP Tests: 2190 pass / 0 fail (15 new: lanBeacon 7, peerAddress 8) * fix: resolve merge conflicts and fix all tsc/test errors after main merge - Export ToolResultBlockParam from Tool.ts (14 tool files fixed) - Migrate ink imports from ../../ink.js to @anthropic/ink (7 files) - Fix toolUseID → toolUseId typo in monitor.ts and MonitorTool.tsx - Add fallback values for string|undefined type errors (8 locations) - Fix AppState type in assistant.ts, add NewInstallWizard stubs - Fix ParsedRepository.repo → .name in subscribe-pr.ts - Fix AgentId/string type mismatch in BackgroundTasksDialog.tsx - Fix PipeRelayFn return type in pipePermissionRelay.ts - Use PipeMessage type in usePipeRelay.ts - Fix lanBeacon.test.ts mock type assertions - Create missing MouseActionEvent class for ink package - Use ansi: color format instead of bare "green"/"red" - Resolve theme.permission access via getTheme() Result: 0 tsc errors, 2496 tests pass, 0 fail Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: 恢复 /poor 的说明 --------- Co-authored-by: unraid <local@unraid.local> Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
164 lines
8.0 KiB
Markdown
164 lines
8.0 KiB
Markdown
# Claude Code Best V5 (CCB)
|
||
|
||
[](https://github.com/claude-code-best/claude-code/stargazers)
|
||
[](https://github.com/claude-code-best/claude-code/graphs/contributors)
|
||
[](https://github.com/claude-code-best/claude-code/issues)
|
||
[](https://github.com/claude-code-best/claude-code/blob/main/LICENSE)
|
||
[](https://github.com/claude-code-best/claude-code/commits/main)
|
||
[](https://bun.sh/)
|
||
[](https://discord.gg/qZU6zS7Q)
|
||
|
||
> Which Claude do you like? The open source one is the best.
|
||
|
||
牢 A (Anthropic) 官方 [Claude Code](https://docs.anthropic.com/en/docs/claude-code) CLI 工具的源码反编译/逆向还原项目。目标是将 Claude Code 大部分功能及工程化能力复现 (问就是老佛爷已经付过钱了)。虽然很难绷, 但是它叫做 CCB(踩踩背)...
|
||
|
||
[文档在这里, 支持投稿 PR](https://ccb.agent-aura.top/) | [留影文档在这里](./Friends.md) | [Discord 群组](https://discord.gg/qZU6zS7Q)
|
||
|
||
- ✅ [x] V4 — 测试补全、[Buddy](https://ccb.agent-aura.top/docs/features/buddy)、[Auto Mode](https://ccb.agent-aura.top/docs/safety/auto-mode)、环境变量 Feature 开关
|
||
- ✅ [x] V5 — [Sentry](https://ccb.agent-aura.top/docs/internals/sentry-setup) / [GrowthBook](https://ccb.agent-aura.top/docs/internals/growthbook-adapter) 企业监控、[自定义 Login](https://ccb.agent-aura.top/docs/features/custom-platform-login)、[OpenAI 兼容](https://ccb.agent-aura.top/docs/plans/openai-compatibility)、[Web Search](https://ccb.agent-aura.top/docs/features/web-browser-tool)、[Computer Use](https://ccb.agent-aura.top/docs/features/computer-use) / [Chrome Use](https://ccb.agent-aura.top/docs/features/claude-in-chrome-mcp)、[Voice Mode](https://ccb.agent-aura.top/docs/features/voice-mode)、[Bridge Mode](https://ccb.agent-aura.top/docs/features/bridge-mode)、[Remote Control 私有部署](https://ccb.agent-aura.top/docs/features/remote-control-self-hosting)、[/dream 记忆整理](https://ccb.agent-aura.top/docs/features/auto-dream)、**全网独家支持 Claude 群控技术** — [Pipe IPC 多实例协作](https://ccb.agent-aura.top/docs/features/pipes-and-lan)(同机 main/sub 自动编排 + [LAN 跨机器零配置发现与通讯](https://ccb.agent-aura.top/docs/features/lan-pipes),`/pipes` 选择面板 + `Shift+↓` 交互 + 消息广播路由)
|
||
- 🔮 [ ] V6 — 大规模重构石山代码,全面模块分包(全新分支,main 封存为历史版本)
|
||
|
||
- 🚀 [想要启动项目](#快速开始源码版)
|
||
- 🐛 [想要调试项目](#vs-code-调试)
|
||
- 📖 [想要学习项目](#teach-me-学习项目)
|
||
|
||
|
||
## ⚡ 快速开始(安装版)
|
||
|
||
不用克隆仓库, 从 NPM 下载后, 直接使用
|
||
|
||
```sh
|
||
bun i -g claude-code-best
|
||
bun pm -g trust claude-code-best
|
||
ccb # 直接打开 claude code
|
||
CLAUDE_BRIDGE_BASE_URL=https://remote-control.claude-code-best.win/ CLAUDE_BRIDGE_OAUTH_TOKEN=test-my-key bun run dev --remote-control # 我们有自部署的远程控制
|
||
```
|
||
|
||
⚠️ 如果 GitHub 下载 ripgrep 失败,postinstall 会自动回退到 ghproxy.net 镜像,无需手动配置。
|
||
|
||
## ⚡ 快速开始(源码版)
|
||
|
||
### ⚙️ 环境要求
|
||
|
||
一定要最新版本的 bun 啊, 不然一堆奇奇怪怪的 BUG!!! bun upgrade!!!
|
||
|
||
- 📦 [Bun](https://bun.sh/) >= 1.3.11
|
||
- ⚙️ 常规的配置 CC 的方式, 各大提供商都有自己的配置方式
|
||
|
||
### 📥 安装
|
||
|
||
```bash
|
||
bun install
|
||
```
|
||
|
||
### ▶️ 运行
|
||
|
||
```bash
|
||
# 开发模式, 看到版本号 888 说明就是对了
|
||
bun run dev
|
||
|
||
# 构建
|
||
bun run build
|
||
```
|
||
|
||
构建采用 code splitting 多文件打包(`build.ts`),产物输出到 `dist/` 目录(入口 `dist/cli.js` + 约 450 个 chunk 文件)。
|
||
|
||
构建出的版本 bun 和 node 都可以启动, 你 publish 到私有源可以直接启动
|
||
|
||
如果遇到 bug 请直接提一个 issues, 我们优先解决
|
||
|
||
### 👤 新人配置 /login
|
||
|
||
首次运行后,在 REPL 中输入 `/login` 命令进入登录配置界面,选择 **Anthropic Compatible** 即可对接第三方 API 兼容服务(无需 Anthropic 官方账号)。
|
||
选择 OpenAI 和 Gemini 对应的栏目都是支持相应协议的
|
||
|
||
需要填写的字段:
|
||
|
||
| 📌 字段 | 📝 说明 | 💡 示例 |
|
||
|------|------|------|
|
||
| Base URL | API 服务地址 | `https://api.example.com/v1` |
|
||
| API Key | 认证密钥 | `sk-xxx` |
|
||
| Haiku Model | 快速模型 ID | `claude-haiku-4-5-20251001` |
|
||
| Sonnet Model | 均衡模型 ID | `claude-sonnet-4-6` |
|
||
| Opus Model | 高性能模型 ID | `claude-opus-4-6` |
|
||
|
||
- ⌨️ **Tab / Shift+Tab** 切换字段,**Enter** 确认并跳到下一个,最后一个字段按 Enter 保存
|
||
|
||
|
||
> ℹ️ 支持所有 Anthropic API 兼容服务(如 OpenRouter、AWS Bedrock 代理等),只要接口兼容 Messages API 即可。
|
||
|
||
## Feature Flags
|
||
|
||
所有功能开关通过 `FEATURE_<FLAG_NAME>=1` 环境变量启用,例如:
|
||
|
||
```bash
|
||
FEATURE_BUDDY=1 FEATURE_FORK_SUBAGENT=1 bun run dev
|
||
```
|
||
|
||
各 Feature 的详细说明见 [`docs/features/`](docs/features/) 目录,欢迎投稿补充。
|
||
|
||
## VS Code 调试
|
||
|
||
TUI (REPL) 模式需要真实终端,无法直接通过 VS Code launch 启动调试。使用 **attach 模式**:
|
||
|
||
### 步骤
|
||
|
||
1. **终端启动 inspect 服务**:
|
||
```bash
|
||
bun run dev:inspect
|
||
```
|
||
会输出类似 `ws://localhost:8888/xxxxxxxx` 的地址。
|
||
|
||
2. **VS Code 附着调试器**:
|
||
- 在 `src/` 文件中打断点
|
||
- F5 → 选择 **"Attach to Bun (TUI debug)"**
|
||
|
||
|
||
## Teach Me 学习项目
|
||
|
||
我们新加了一个 teach-me skills, 通过问答式引导帮你理解这个项目的任何模块。(调整 [sigma skill 而来](https://github.com/sanyuan0704/sanyuan-skills))
|
||
|
||
```bash
|
||
# 在 REPL 中直接输入
|
||
/teach-me Claude Code 架构
|
||
/teach-me React Ink 终端渲染 --level beginner
|
||
/teach-me Tool 系统 --resume
|
||
```
|
||
|
||
### 它能做什么
|
||
|
||
- **诊断水平** — 自动评估你对相关概念的掌握程度,跳过已知的、聚焦薄弱的
|
||
- **构建学习路径** — 将主题拆解为 5-15 个原子概念,按依赖排序逐步推进
|
||
- **苏格拉底式提问** — 用选项引导思考,而非直接给答案
|
||
- **错误概念追踪** — 发现并纠正深层误解
|
||
- **断点续学** — `--resume` 从上次进度继续
|
||
|
||
### 学习记录
|
||
|
||
学习进度保存在 `.claude/skills/teach-me/` 目录下,支持跨主题学习者档案。
|
||
|
||
## 相关文档及网站
|
||
|
||
- **在线文档(Mintlify)**: [ccb.agent-aura.top](https://ccb.agent-aura.top/) — 文档源码位于 [`docs/`](docs/) 目录,欢迎投稿 PR
|
||
- **DeepWiki**: <https://deepwiki.com/claude-code-best/claude-code>
|
||
|
||
## Contributors
|
||
|
||
<a href="https://github.com/claude-code-best/claude-code/graphs/contributors">
|
||
<img src="contributors.svg" alt="Contributors" />
|
||
</a>
|
||
|
||
## Star History
|
||
|
||
<a href="https://www.star-history.com/?repos=claude-code-best%2Fclaude-code&type=date&legend=top-left">
|
||
<picture>
|
||
<source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/image?repos=claude-code-best/claude-code&type=date&theme=dark&legend=top-left" />
|
||
<source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/image?repos=claude-code-best/claude-code&type=date&legend=top-left" />
|
||
<img alt="Star History Chart" src="https://api.star-history.com/image?repos=claude-code-best/claude-code&type=date&legend=top-left" />
|
||
</picture>
|
||
</a>
|
||
|
||
## 许可证
|
||
|
||
本项目仅供学习研究用途。Claude Code 的所有权利归 [Anthropic](https://www.anthropic.com/) 所有。
|