An AI-first registry for local command-line tools and reusable CLI scenarios.
Project description
CLI Hub
clihub 是一个 AI 原生命令行工具,用来注册、发现和调用用户本机的 CLI 工具与场景。
- 主命令:
clihub - PyPI 包名:
ai-clihub - 安装方式:
pipx install ai-clihub
安装
pipx install ai-clihub
安装后检查:
clihub --help
clihub list --json
用户只需要做什么
用户只需要用自然语言对 AI 提需求。
用户不需要学习这个 CLI。
典型提问方式:
- “调用 CLI Hub,帮我把命令
python3 -m http.server注册起来。” - “调用 CLI Hub,看看我之前注册过哪些工具。”
- “调用 CLI Hub,帮我找一个能开本地静态文件服务的命令。”
- “调用 CLI Hub,用之前注册过的文件服务工具,把
./public暴露出来。” - “调用 CLI Hub,把下载视频和转 mp4 记成一个场景。”
AI 调用流程示例
1. 注册一个新命令
用户对 AI 说:
调用 CLI Hub,帮我把命令
python3 -m http.server注册起来。
AI 调用:
clihub inspect "python3 -m http.server" --json
clihub register "python3 -m http.server" --id http-server --summary "Serve a local directory over HTTP." --tag web --capability http.serve --json
AI 能拿到:
- 原始命令
- 入口可执行文件
- help / version 探测结果
- usage 片段
- 自动摘要或人工补充摘要
2. 查看当前已经注册了什么
用户对 AI 说:
调用 CLI Hub,看看我现在都注册过什么工具。
AI 调用:
clihub list --json
AI 能拿到:
- 已注册 tool 列表
- 每个工具的
id - 对应的原始命令
- 一句话用途摘要
3. 按用户意图匹配最合适的工具
用户对 AI 说:
调用 CLI Hub,帮我找一个能开本地静态文件服务的命令。
AI 调用:
clihub resolve "serve a local static file directory" --json
clihub show http-server --json
规则:
- AI 应该先
resolve,再show - 如果候选结果不唯一,AI 不应该猜
- AI 应该基于工具用途来匹配,而不是要求用户记住命令名
4. 用已注册工具真正执行任务
用户对 AI 说:
调用 CLI Hub,用之前注册过的文件服务工具,把
./public暴露出来。
AI 调用:
clihub resolve "serve ./public as a local file server" --json
clihub show http-server --json
clihub exec http-server -- --directory ./public
AI 最终实际运行的底层命令会是:
python3 -m http.server --directory ./public
5. 先预览再执行
用户对 AI 说:
调用 CLI Hub,用你找到的那个文件服务命令先给我看看会怎么执行。
AI 调用:
clihub resolve "serve ./public as a local file server" --json
clihub exec http-server --dry-run --json -- --directory ./public
规则:
- AI 可以先 dry-run,再真正执行
- dry-run 适合高风险操作或参数不确定时使用
6. 把多个命令步骤记成场景
用户对 AI 说:
调用 CLI Hub,把下载视频和转 mp4 这两个步骤记成一个场景。
AI 调用:
clihub scenario register ...
clihub scenario validate download-and-transcode --json
clihub scenario run download-and-transcode --dry-run --json
规则:
- 场景适合“多个命令组成的固定流程”
- AI 应该先
validate - 真正执行前可以先
dry-run
AI 应该如何使用 CLI Hub
标准模式是:
- 用户说“帮我记住这个命令”时,用
inspect+register - 用户说“我之前都注册过什么”时,用
list - 用户按用途找工具时,用
resolve - 需要看完整记录时,用
show - 真正执行时,用
exec - 需要多步骤流程时,用
scenario
给 AI 的规则:
- 优先使用
--json - 注册前先
inspect - 执行前优先
resolve resolve结果不唯一时不要猜- 需要底层命令细节时再
show - 需要自检时先
--dry-run - 如果工具不存在,就告诉用户先注册
命令
inspect:检查一个原始命令,读取 help / version / usageregister:把原始命令注册成可检索工具list:列出当前已注册工具或场景resolve:把用户意图匹配到具体工具show:查看某个工具或场景的完整记录exec:执行某个已注册工具doctor:实时检查工具状态refresh:重新探测并刷新工具记录scenario:注册、校验、预览、运行多步骤场景
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ai_clihub-0.2.1.tar.gz.
File metadata
- Download URL: ai_clihub-0.2.1.tar.gz
- Upload date:
- Size: 17.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ebbfbed806e4d1cbb23ac161e7c9ddc165a49394b62e7cb6741034b70b69fd3d
|
|
| MD5 |
86c1e0cfa521efcd133078ea29fc9b2f
|
|
| BLAKE2b-256 |
740babd5b19b9c699a9c25782a2db534b1f1ab81e02565d1a7efe6c9495ca95c
|
Provenance
The following attestation bundles were made for ai_clihub-0.2.1.tar.gz:
Publisher:
release.yml on duo121/clihub
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ai_clihub-0.2.1.tar.gz -
Subject digest:
ebbfbed806e4d1cbb23ac161e7c9ddc165a49394b62e7cb6741034b70b69fd3d - Sigstore transparency entry: 1154618237
- Sigstore integration time:
-
Permalink:
duo121/clihub@2f7b59794bf5f4768a4418fc0b7684fe2032d0c6 -
Branch / Tag:
refs/tags/v0.2.1 - Owner: https://github.com/duo121
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@2f7b59794bf5f4768a4418fc0b7684fe2032d0c6 -
Trigger Event:
push
-
Statement type:
File details
Details for the file ai_clihub-0.2.1-py3-none-any.whl.
File metadata
- Download URL: ai_clihub-0.2.1-py3-none-any.whl
- Upload date:
- Size: 15.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a6056bcad235a1904bd14017c55ff51b2b321c7d8ba0b89daa28f13ecaa09ac9
|
|
| MD5 |
08d6c24f822737627ea34e56133ee5ea
|
|
| BLAKE2b-256 |
ae16893cb2a57477437c59a10de036fe1d3b2755ebbfe09e9daa95cb3d415ac3
|
Provenance
The following attestation bundles were made for ai_clihub-0.2.1-py3-none-any.whl:
Publisher:
release.yml on duo121/clihub
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ai_clihub-0.2.1-py3-none-any.whl -
Subject digest:
a6056bcad235a1904bd14017c55ff51b2b321c7d8ba0b89daa28f13ecaa09ac9 - Sigstore transparency entry: 1154618238
- Sigstore integration time:
-
Permalink:
duo121/clihub@2f7b59794bf5f4768a4418fc0b7684fe2032d0c6 -
Branch / Tag:
refs/tags/v0.2.1 - Owner: https://github.com/duo121
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@2f7b59794bf5f4768a4418fc0b7684fe2032d0c6 -
Trigger Event:
push
-
Statement type: