# onehub **Repository Path**: onehubcode/onehub ## Basic Information - **Project Name**: onehub - **Description**: No description available - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2026-09-16 - **Last Updated**: 2026-09-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # OneHub CLI 简体中文 | [English](README.en.md) OneHub CLI 是一个运行在终端中的 AI 智能体,帮助你完成软件工程任务和终端操作。它可以读写代码、执行 shell 命令、搜索和抓取网页,并在执行过程中自主规划和调整行动。 ## 快速开始 运行 `onehub login` 交互式配置 API 提供商,或直接编辑 `~/.onehub/config.toml`。 更多文档见 [docs/](docs/zh/index.md);与 Codex、Kimi Code 等主流编码智能体的对比见 [docs/zh/comparison.md](docs/zh/comparison.md)。 ## 核心特性 ### Shell 命令模式 OneHub CLI 不仅是编程智能体,也是一个 shell。按 `Ctrl-X` 即可切换 shell 命令模式,在该模式下可以直接执行 shell 命令,无需退出 OneHub CLI。 > [!NOTE] > 内置 shell 命令(如 `cd`)暂不支持。 ### VS Code 扩展 OneHub CLI 可通过兼容 ACP 的扩展集成到 [Visual Studio Code](https://code.visualstudio.com/) 中。 ### 通过 ACP 集成 IDE OneHub CLI 原生支持 [Agent Client Protocol],可与任何兼容 ACP 的编辑器或 IDE 配合使用。 [Agent Client Protocol]: https://github.com/agentclientprotocol/agent-client-protocol 要在 ACP 客户端中使用 OneHub CLI,请先用 `onehub login` 配置好提供商,然后在 ACP 客户端中将 OneHub CLI 配置为 ACP 智能体服务器,启动命令为 `onehub acp`。 例如,要在 [Zed](https://zed.dev/) 或 [JetBrains](https://blog.jetbrains.com/ai/2025/12/bring-your-own-ai-agent-to-jetbrains-ides/) 中使用 OneHub CLI,在 `~/.config/zed/settings.json` 或 `~/.jetbrains/acp.json` 中添加如下配置: ```json { "agent_servers": { "OneHub CLI": { "type": "custom", "command": "onehub", "args": ["acp"], "env": {} } } } ``` 然后就可以在 IDE 的智能体面板中创建 OneHub CLI 会话。 ### Zsh 集成 OneHub CLI 可以与 Zsh 配合使用,为 shell 体验赋予 AI 智能体能力。 通过插件管理器为 `onehub-cli` 安装兼容的 zsh 插件,并在 `~/.zshrc` 的 Zsh 插件列表中加入 `onehub-cli`: ```sh plugins=(... onehub-cli) ``` OneHub CLI 支持 MCP(Model Context Protocol)工具。 **`onehub mcp` 子命令组** 可以使用 `onehub mcp` 子命令组管理 MCP 服务器。例如: ```sh # 添加 streamable HTTP 服务器: onehub mcp add --transport http context7 https://mcp.context7.com/mcp --header "CONTEXT7_API_KEY: ctx7sk-your-key" # 添加 stdio 服务器: onehub mcp add --transport stdio chrome-devtools -- npx chrome-devtools-mcp@latest # 列出已添加的 MCP 服务器: onehub mcp list # 移除 MCP 服务器: onehub mcp remove chrome-devtools ``` **临时 MCP 配置** OneHub CLI 也支持通过 CLI 选项临时指定 MCP 服务器配置。 准备一个标准 MCP 配置文件,格式如下: ```json { "mcpServers": { "context7": { "url": "https://mcp.context7.com/mcp", "headers": { "CONTEXT7_API_KEY": "YOUR_API_KEY" } }, "chrome-devtools": { "command": "npx", "args": ["-y", "chrome-devtools-mcp@latest"] } } } ``` 使用 `--mcp-config-file` 选项启动 `onehub`,即可连接指定的 MCP 服务器: ```sh onehub --mcp-config-file /path/to/mcp.json ``` ### 新增工具(git、patch、memory、snapshots) OneHub CLI 添加了若干受 DeepSeek-TUI 启发的新工具: - **Git 工具**:`GitStatus`、`GitDiff`、`GitLog`、`GitBlame` —— 无需离开终端即可查看仓库状态。 - **ApplyPatch**:将 unified diff 补丁直接应用到工作区。 - **Memory**:`Remember` / `ReadMemory` —— 将笔记持久化到 `~/.onehub/memory.md` 或 `/.onehub/memory.md`,并在后续会话中读取。 - **Snapshots**:`CreateSnapshot`、`RestoreSnapshot`、`ListSnapshots` —— 在 `~/.onehub/snapshots/` 下保存和恢复工作区检查点,不影响项目的 `.git`。 ### 新增斜杠命令 更多借鉴自 DeepSeek-TUI 和 Open-ClaudeCode 的斜杠命令: - **`/provider`** —— 交互式切换当前使用的 LLM 提供商和模型。 - **`/stash`**、`/stash pop`、`/stash list`** —— 保存当前草稿输入并在稍后恢复。 - **`/commit`** —— 根据已暂存或未暂存的改动生成简洁的 git 提交信息并执行 `git commit`。 ### 认证 OneHub CLI **不使用** Kimi 官方 OAuth。运行 `onehub login` 配置带有 API Key 的 OpenAI 兼容提供商,或直接编辑 `~/.onehub/config.toml`。 ## 功能界面 OneHub CLI 同一套核心支持多种交付形态:终端 TUI、Print 脚本模式、ACP/IDE 集成、Web 控制台与桌面客户端。 ### TUI Shell(默认) - **启动面板**:工作目录、会话 ID、当前模型、Web 地址一目了然;`/login` 一键切换模型供应商;`/upgrade` 自助升级。 - **AGENT / SHELL 双模式**:`Ctrl-X` 一键切换,自然语言驱动 Agent 或直接执行 Shell 命令。 - **沉浸式 TUI**:斜杠命令自动补全、审批弹窗、后台任务浏览器、MCP 状态面板。 - **会话持久化**:所有会话落盘保存,随时 `--resume` 恢复继续。 - **Agent 自主执行**:Grep/Glob 批量检索、Shell 命令执行并回读、自动创建 Todo 规划,大任务自动拆分为多个 coder 子 Agent 并行处理,工具调用与思考过程全程可见可审计。 ![TUI 启动面板](./docs/media/tui-startup.png) ![TUI Agent 执行过程](./docs/media/tui-agent-run.png) ### Web 控制台 - **十大功能模块**:首页 / 会话 / 修复 / 技能 / 插件 / 规范 / 费用 / 配置 / 监控 / 文档。 - **会话协作**:提示词自动评估与优化建议、Thinking / Plan 模式开关、上下文用量实时显示、`/` 斜杠命令、`@` 文件引用、附件上传、审批快捷键 1-4 快速响应、会话分支从任意回复分叉探索。 - **响应式布局**,桌面与移动可用;多层访问控制:Token 认证 / Origin 校验 / 敏感 API 限制。 ![Web 控制台](./docs/media/web-console.png) ![Web 会话协作](./docs/media/web-session.png) ### 桌面客户端 基于 Tauri 2 的轻量原生壳,内置 onehub 核心(启动自动拉起本地服务),界面与 Web 控制台一致,提供 Windows / macOS / Linux 安装包。 ![桌面客户端](./docs/media/desktop.png) ### 插件生态 `plugin.json` 声明工具(Python / TS / Shell 脚本均可),支持本地上传、Git 仓库、远程 ZIP 安装;Web 插件页集中管理启用 / 禁用 / 删除 / 详情;Marketplace 企业插件市场提供 SHA-256 完整性校验与域名白名单,可配合 Hooks 实现生命周期自动化。 ![插件管理](./docs/media/plugins.png) ## 开发 开发 OneHub CLI,请运行: ```sh git clone https://gitee.com/onehubcode/onehub.git cd onehub make prepare # 准备开发环境 ``` 然后即可开始开发。 修改代码后,可参考以下命令: ```sh uv run onehub # 运行 OneHub CLI make format # 格式化代码 make check # 运行 lint 和类型检查 make test # 运行测试 make test-onehub-cli # 仅运行 OneHub CLI 测试 make test-kosong # 仅运行 kosong 测试 make test-pykaos # 仅运行 pykaos 测试 make build-web # 构建 Web UI 并同步到包内(需要 Node.js/npm) make build # 构建 Python 包 make build-bin # 构建独立二进制文件 make help # 显示所有 make 目标 ``` 注意:`make build` 和 `make build-bin` 会自动运行 `make build-web` 以嵌入 Web UI。 ## 鸣谢 OneHub CLI 站在优秀开源项目的肩膀上,受到了它们的启发,包括: - Kimi CLI —— 代理架构与交互设计。 - [Codex CLI](https://github.com/openai/codex) —— 审批与沙箱执行模型。 - kosong 与 PyKAOS —— 为本项目提供动力的 LLM 抽象层与 OS 交互层(已作为工作区内置包)。 - [Typer](https://github.com/fastapi/typer)、[Textual](https://github.com/Textualize/textual) 与 [FastMCP](https://github.com/jlowin/fastmcp) —— CLI、TUI 与 MCP 基础组件。 感谢这些项目的维护者和社区。