内容
# OpenHub
一款主要使用键盘操作、基于终端的用户界面(TUI)发现中心和 AI 编程工具、技能及代理的包安装程序。
使用 Python、Textual 和 SQLite 构建 — 开箱即用,无需任何配置。
---
## 要求与平台支持
* **Python**: 3.10+
* **操作系统**: Linux,macOS,Windows(PowerShell / Windows 终端)
---
## 生态系统与 AI 代理兼容性
OpenHub 使用 **通用开放代理技能标准**(`SKILL.md`)导出工具,使导出的工具能够立即在现代 AI 编程助手和 IDE 中使用:
| AI 工具 / 代理 IDE | 支持 | 导出集成路径 |
| :--- | :---: | :--- |
| **OpenCode** | 是 | `./.opencode/skills/` 及 `~/.config/opencode/` |
| **Claude Code / Desktop** | 是 | `./.agents/skills/` 及 `~/.agents/skills/` |
| **Cursor Editor** | 是 | `./.agents/skills/` |
| **Windsurf / Cascade** | 是 | `./.agents/skills/` |
| **Roo Code / Cline** | 是 | `./.agents/skills/` |
| **AutoGen / CrewAI** | 是 | 标准 `SKILL.md` 格式 |
---
## 快速开始
### 通过 pipx 安装(推荐)
```bash
pipx install git+https://github.com/24KaratAu/openhub.git
openhub
```
### 通过 pip 安装
```bash
pip install git+https://github.com/24KaratAu/openhub.git
openhub
```
### 本地开发
```bash
git clone https://github.com/24KaratAu/openhub.git
cd openhub
pip install -e .
openhub
```
---
## 功能与架构
1. **仪表盘式目录**: 显示可扫描的目录面板,展示热门仓库、最近发布、快速增长的实用工具和隐藏的宝藏。
2. **意图驱动的模糊搜索**: 按 `/` 或 `S` 可打开 Spotlight 式命令调色板下拉菜单。输入容错匹配在本地使用 `rapidfuzz` 跨名称、描述、主题和用例运行。
3. **精选收藏夹**: 浏览精选的工作流,如“AI 工程师入门包”、“Claude Desktop 服务器”、“Cursor 编辑器技能”或“Python 工具包”。
4. **可扫描的元数据卡片**: 仓库项目渲染时带有视觉质量评级(`★★★★★`)、语言标签和难度级别。
5. **即时启动和后台同步**: 从本地 SQLite 缓存启动(<100ms),同时在后台线程中静默同步新鲜的 GitHub 数据。
6. **通用技能导出**: 按 `E` 直接导出 1-Click `SKILL.md` 提示指令到 `./.agents/skills/` 和 `./.opencode/skills/`。
7. **活动历史日志**: 将所有操作(已安装、已导出、失败、已删除)记录到持久的本地 SQLite 数据库。
---
## 技术文档与启发式算法
OpenHub 依赖于确定性算法,而不是主观指标,来评分质量、分类难度级别和精选部分。
在 [`HOW_IT_WORKS.md`](file:///home/au24/Documents/opencode-project/HOW_IT_WORKS.md) 中阅读完整的 技术文档。
---
## 键盘快捷键
| 快捷键 | 操作 |
| :--- | :--- |
| **`H`** | 导航到首页仪表盘 |
| **`B`** | 按用例浏览 |
| **`C`** | 浏览精选收藏夹 |
| **`S`** / **`/`** | 切换 Spotlight 搜索面板 |
| **`I`** | 查看已安装的软件包 |
| **`E`** | 直接导出技能(`SKILL.md` 及代理定义) |
| **`L`** | 查看操作历史日志 |
| **`R`** | 刷新缓存并同步仓库 |
| **`F`** | 循环实现类型筛选器(在浏览模式下) |
| **`Enter`** | 显示详情 / 安装选定的仓库 |
| **`Esc`** | 退出详情 / 取消模态框 / 关闭搜索 |
| **`Q`** | 退出应用程序 |
---
## 代码库布局
```
openhub/
│
├── README.md # 快速入门指南,系统需求及文档
├── HOW_IT_WORKS.md # 技术引擎及评分文档
├── pyproject.toml # 包配置及 openhub CLI 入口
├── install.sh # Shell 安装脚本
├── run.py # 独立运行脚本
├── requirements.txt # 包依赖(textual,httpx,rapidfuzz)
├── .github/
│ └── workflows/
│ ├── ci.yml # 自动测试工作流(PR 上)
│ └── release.yml # 自动 GitHub 发布工作流
│
└── app/
├── __init__.py
├── main.py # 主要应用程序协调器及后台工作线程循环
├── cache.py # SQLite 数据库连接管理器
├── client.py # GitHub API 客户端及缓存
├── classifier.py # 启发式分类及质量评分算法
├── exporter.py # 通用 SKILL.md 及代理导出器
├── installer.py # 异步安装运行子进程
│
├── screens/ # UI 屏幕视图
│ ├── home.py # 首页仪表盘视图
│ ├── browse.py # 用例浏览列表视图
│ ├── collections.py # 精选列表视图
│ ├── search.py # Spotlight 叠加下拉视图
│ ├── details.py # Markdown readme 预览及安装确认叠加层
│ └── history.py # 操作活动日志视图
│
└── widgets.py # 自定义可扫描卡片布局元素
```