openboost-cli 0.1.0__tar.gz → 1.0.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (88) hide show
  1. {openboost_cli-0.1.0/src/openboost_cli.egg-info → openboost_cli-1.0.0}/PKG-INFO +46 -28
  2. {openboost_cli-0.1.0 → openboost_cli-1.0.0}/README.md +41 -13
  3. {openboost_cli-0.1.0 → openboost_cli-1.0.0}/pyproject.toml +8 -21
  4. {openboost_cli-0.1.0/src/proboost_cli → openboost_cli-1.0.0/src/openboost_cli}/__init__.py +4 -4
  5. {openboost_cli-0.1.0/src/proboost_cli → openboost_cli-1.0.0/src/openboost_cli}/cli/interactive.py +8 -8
  6. {openboost_cli-0.1.0/src/proboost_cli → openboost_cli-1.0.0/src/openboost_cli}/cli/main.py +14 -13
  7. {openboost_cli-0.1.0/src/proboost_cli → openboost_cli-1.0.0/src/openboost_cli}/client.py +5 -5
  8. {openboost_cli-0.1.0/src/proboost_cli → openboost_cli-1.0.0/src/openboost_cli}/config.py +17 -9
  9. {openboost_cli-0.1.0/src/proboost_cli → openboost_cli-1.0.0/src/openboost_cli}/mcp_client.py +5 -5
  10. {openboost_cli-0.1.0/src/proboost_cli → openboost_cli-1.0.0/src/openboost_cli}/registry.py +2 -2
  11. openboost_cli-1.0.0/src/openboost_cli/schemas/__init__.py +1 -0
  12. {openboost_cli-0.1.0/src/proboost_cli → openboost_cli-1.0.0/src/openboost_cli}/schemas_loader.py +2 -2
  13. {openboost_cli-0.1.0 → openboost_cli-1.0.0/src/openboost_cli.egg-info}/PKG-INFO +46 -28
  14. openboost_cli-1.0.0/src/openboost_cli.egg-info/SOURCES.txt +81 -0
  15. openboost_cli-1.0.0/src/openboost_cli.egg-info/entry_points.txt +2 -0
  16. {openboost_cli-0.1.0 → openboost_cli-1.0.0}/src/openboost_cli.egg-info/requires.txt +0 -2
  17. openboost_cli-1.0.0/src/openboost_cli.egg-info/top_level.txt +1 -0
  18. {openboost_cli-0.1.0 → openboost_cli-1.0.0}/tests/test_cli.py +2 -2
  19. {openboost_cli-0.1.0 → openboost_cli-1.0.0}/tests/test_parse_result.py +1 -1
  20. {openboost_cli-0.1.0 → openboost_cli-1.0.0}/tests/test_schemas_and_args.py +3 -3
  21. openboost_cli-0.1.0/LICENSE +0 -21
  22. openboost_cli-0.1.0/src/openboost_cli.egg-info/SOURCES.txt +0 -82
  23. openboost_cli-0.1.0/src/openboost_cli.egg-info/entry_points.txt +0 -2
  24. openboost_cli-0.1.0/src/openboost_cli.egg-info/top_level.txt +0 -1
  25. openboost_cli-0.1.0/src/proboost_cli/schemas/__init__.py +0 -1
  26. {openboost_cli-0.1.0 → openboost_cli-1.0.0}/setup.cfg +0 -0
  27. {openboost_cli-0.1.0/src/proboost_cli → openboost_cli-1.0.0/src/openboost_cli}/cli/__init__.py +0 -0
  28. {openboost_cli-0.1.0/src/proboost_cli → openboost_cli-1.0.0/src/openboost_cli}/coerce_args.py +0 -0
  29. {openboost_cli-0.1.0/src/proboost_cli → openboost_cli-1.0.0/src/openboost_cli}/parse_result.py +0 -0
  30. {openboost_cli-0.1.0/src/proboost_cli → openboost_cli-1.0.0/src/openboost_cli}/schemas/amazon/__init__.py +0 -0
  31. {openboost_cli-0.1.0/src/proboost_cli → openboost_cli-1.0.0/src/openboost_cli}/schemas/amazon/amz_category_query.json +0 -0
  32. {openboost_cli-0.1.0/src/proboost_cli → openboost_cli-1.0.0/src/openboost_cli}/schemas/amazon/amz_hot_amz_hot_cat_tree.json +0 -0
  33. {openboost_cli-0.1.0/src/proboost_cli → openboost_cli-1.0.0/src/openboost_cli}/schemas/amazon/amz_hot_amz_hot_list.json +0 -0
  34. {openboost_cli-0.1.0/src/proboost_cli → openboost_cli-1.0.0/src/openboost_cli}/schemas/amazon/amz_market_price.json +0 -0
  35. {openboost_cli-0.1.0/src/proboost_cli → openboost_cli-1.0.0/src/openboost_cli}/schemas/amazon/amz_product_selection.json +0 -0
  36. {openboost_cli-0.1.0/src/proboost_cli → openboost_cli-1.0.0/src/openboost_cli}/schemas/amazon/amz_review_query.json +0 -0
  37. {openboost_cli-0.1.0/src/proboost_cli → openboost_cli-1.0.0/src/openboost_cli}/schemas/amazon/amz_sales_query.json +0 -0
  38. {openboost_cli-0.1.0/src/proboost_cli → openboost_cli-1.0.0/src/openboost_cli}/schemas/amazon/amz_sku_query.json +0 -0
  39. {openboost_cli-0.1.0/src/proboost_cli → openboost_cli-1.0.0/src/openboost_cli}/schemas/patent/__init__.py +0 -0
  40. {openboost_cli-0.1.0/src/proboost_cli → openboost_cli-1.0.0/src/openboost_cli}/schemas/patent/patent_abstract_image.json +0 -0
  41. {openboost_cli-0.1.0/src/proboost_cli → openboost_cli-1.0.0/src/openboost_cli}/schemas/patent/patent_abstract_translated.json +0 -0
  42. {openboost_cli-0.1.0/src/proboost_cli → openboost_cli-1.0.0/src/openboost_cli}/schemas/patent/patent_bibliography.json +0 -0
  43. {openboost_cli-0.1.0/src/proboost_cli → openboost_cli-1.0.0/src/openboost_cli}/schemas/patent/patent_claim_data.json +0 -0
  44. {openboost_cli-0.1.0/src/proboost_cli → openboost_cli-1.0.0/src/openboost_cli}/schemas/patent/patent_claim_translated.json +0 -0
  45. {openboost_cli-0.1.0/src/proboost_cli → openboost_cli-1.0.0/src/openboost_cli}/schemas/patent/patent_description.json +0 -0
  46. {openboost_cli-0.1.0/src/proboost_cli → openboost_cli-1.0.0/src/openboost_cli}/schemas/patent/patent_description_translated.json +0 -0
  47. {openboost_cli-0.1.0/src/proboost_cli → openboost_cli-1.0.0/src/openboost_cli}/schemas/patent/patent_family.json +0 -0
  48. {openboost_cli-0.1.0/src/proboost_cli → openboost_cli-1.0.0/src/openboost_cli}/schemas/patent/patent_fulltext_image.json +0 -0
  49. {openboost_cli-0.1.0/src/proboost_cli → openboost_cli-1.0.0/src/openboost_cli}/schemas/patent/patent_image_search_multiple.json +0 -0
  50. {openboost_cli-0.1.0/src/proboost_cli → openboost_cli-1.0.0/src/openboost_cli}/schemas/patent/patent_image_search_single.json +0 -0
  51. {openboost_cli-0.1.0/src/proboost_cli → openboost_cli-1.0.0/src/openboost_cli}/schemas/patent/patent_legal_status.json +0 -0
  52. {openboost_cli-0.1.0/src/proboost_cli → openboost_cli-1.0.0/src/openboost_cli}/schemas/patent/patent_pdf.json +0 -0
  53. {openboost_cli-0.1.0/src/proboost_cli → openboost_cli-1.0.0/src/openboost_cli}/schemas/patent/patent_query_count.json +0 -0
  54. {openboost_cli-0.1.0/src/proboost_cli → openboost_cli-1.0.0/src/openboost_cli}/schemas/patent/patent_query_search.json +0 -0
  55. {openboost_cli-0.1.0/src/proboost_cli → openboost_cli-1.0.0/src/openboost_cli}/schemas/patent/patent_query_search_with_agg.json +0 -0
  56. {openboost_cli-0.1.0/src/proboost_cli → openboost_cli-1.0.0/src/openboost_cli}/schemas/patent/patent_semantic_search.json +0 -0
  57. {openboost_cli-0.1.0/src/proboost_cli → openboost_cli-1.0.0/src/openboost_cli}/schemas/tiktok/__init__.py +0 -0
  58. {openboost_cli-0.1.0/src/proboost_cli → openboost_cli-1.0.0/src/openboost_cli}/schemas/tiktok/tk_expert_sale_show.json +0 -0
  59. {openboost_cli-0.1.0/src/proboost_cli → openboost_cli-1.0.0/src/openboost_cli}/schemas/tiktok/tt_commodity_detail.json +0 -0
  60. {openboost_cli-0.1.0/src/proboost_cli → openboost_cli-1.0.0/src/openboost_cli}/schemas/tiktok/tt_commodity_expert_draw_expert_trend.json +0 -0
  61. {openboost_cli-0.1.0/src/proboost_cli → openboost_cli-1.0.0/src/openboost_cli}/schemas/tiktok/tt_commodity_get_commodity_cat_tree.json +0 -0
  62. {openboost_cli-0.1.0/src/proboost_cli → openboost_cli-1.0.0/src/openboost_cli}/schemas/tiktok/tt_commodity_info_list.json +0 -0
  63. {openboost_cli-0.1.0/src/proboost_cli → openboost_cli-1.0.0/src/openboost_cli}/schemas/tiktok/tt_commodity_sales_trend.json +0 -0
  64. {openboost_cli-0.1.0/src/proboost_cli → openboost_cli-1.0.0/src/openboost_cli}/schemas/tiktok/tt_commodity_statistics_get_category_statistics.json +0 -0
  65. {openboost_cli-0.1.0/src/proboost_cli → openboost_cli-1.0.0/src/openboost_cli}/schemas/tiktok/tt_commodity_statistics_get_expert_statistics.json +0 -0
  66. {openboost_cli-0.1.0/src/proboost_cli → openboost_cli-1.0.0/src/openboost_cli}/schemas/tiktok/tt_commodity_statistics_get_price_statistics.json +0 -0
  67. {openboost_cli-0.1.0/src/proboost_cli → openboost_cli-1.0.0/src/openboost_cli}/schemas/tiktok/tt_commodity_statistics_get_total_statistics.json +0 -0
  68. {openboost_cli-0.1.0/src/proboost_cli → openboost_cli-1.0.0/src/openboost_cli}/schemas/tiktok/tt_commodity_voice_analyze.json +0 -0
  69. {openboost_cli-0.1.0/src/proboost_cli → openboost_cli-1.0.0/src/openboost_cli}/schemas/tiktok/tt_expert_basic_analyze.json +0 -0
  70. {openboost_cli-0.1.0/src/proboost_cli → openboost_cli-1.0.0/src/openboost_cli}/schemas/tiktok/tt_expert_category_analyze.json +0 -0
  71. {openboost_cli-0.1.0/src/proboost_cli → openboost_cli-1.0.0/src/openboost_cli}/schemas/tiktok/tt_expert_detail.json +0 -0
  72. {openboost_cli-0.1.0/src/proboost_cli → openboost_cli-1.0.0/src/openboost_cli}/schemas/tiktok/tt_expert_fans_analyze.json +0 -0
  73. {openboost_cli-0.1.0/src/proboost_cli → openboost_cli-1.0.0/src/openboost_cli}/schemas/tiktok/tt_expert_fans_portrait.json +0 -0
  74. {openboost_cli-0.1.0/src/proboost_cli → openboost_cli-1.0.0/src/openboost_cli}/schemas/tiktok/tt_expert_info_list.json +0 -0
  75. {openboost_cli-0.1.0/src/proboost_cli → openboost_cli-1.0.0/src/openboost_cli}/schemas/tiktok/tt_sale_channel_sale_channel.json +0 -0
  76. {openboost_cli-0.1.0/src/proboost_cli → openboost_cli-1.0.0/src/openboost_cli}/schemas/tiktok/tt_shop_commodity_account_list.json +0 -0
  77. {openboost_cli-0.1.0/src/proboost_cli → openboost_cli-1.0.0/src/openboost_cli}/schemas/tiktok/tt_shop_detail.json +0 -0
  78. {openboost_cli-0.1.0/src/proboost_cli → openboost_cli-1.0.0/src/openboost_cli}/schemas/tiktok/tt_shop_info_list.json +0 -0
  79. {openboost_cli-0.1.0/src/proboost_cli → openboost_cli-1.0.0/src/openboost_cli}/schemas/tiktok/tt_shop_market_info.json +0 -0
  80. {openboost_cli-0.1.0/src/proboost_cli → openboost_cli-1.0.0/src/openboost_cli}/schemas/tiktok/tt_shop_sales_trend.json +0 -0
  81. {openboost_cli-0.1.0/src/proboost_cli → openboost_cli-1.0.0/src/openboost_cli}/schemas/tiktok/tt_video_content.json +0 -0
  82. {openboost_cli-0.1.0/src/proboost_cli → openboost_cli-1.0.0/src/openboost_cli}/schemas/tiktok/tt_video_detail.json +0 -0
  83. {openboost_cli-0.1.0/src/proboost_cli → openboost_cli-1.0.0/src/openboost_cli}/schemas/tiktok/tt_video_info_list.json +0 -0
  84. {openboost_cli-0.1.0/src/proboost_cli → openboost_cli-1.0.0/src/openboost_cli}/schemas/tiktok/tt_video_new_video_summary.json +0 -0
  85. {openboost_cli-0.1.0/src/proboost_cli → openboost_cli-1.0.0/src/openboost_cli}/schemas/tiktok/tt_video_script_diy_query.json +0 -0
  86. {openboost_cli-0.1.0/src/proboost_cli → openboost_cli-1.0.0/src/openboost_cli}/schemas/tiktok/tt_video_voice_read.json +0 -0
  87. {openboost_cli-0.1.0/src/proboost_cli → openboost_cli-1.0.0/src/openboost_cli}/schemas/tiktok/tt_video_voice_summary.json +0 -0
  88. {openboost_cli-0.1.0 → openboost_cli-1.0.0}/src/openboost_cli.egg-info/dependency_links.txt +0 -0
@@ -1,61 +1,79 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: openboost-cli
3
- Version: 0.1.0
4
- Summary: Unified CLI and Python client for Proboost TikTok, Patent, and Amazon MCP servers.
5
- Author: Proboost CLI
6
- License-Expression: MIT
3
+ Version: 1.0.0
4
+ Summary: Unified CLI and Python client for Openboost TikTok, Patent, and Amazon MCP servers.
5
+ Author: Openboost CLI
6
+ License: MIT
7
7
  Keywords: mcp,cli,openboost,proboost,tiktok,patent,amazon
8
- Classifier: Development Status :: 4 - Beta
9
- Classifier: Environment :: Console
10
- Classifier: Intended Audience :: Developers
11
- Classifier: Operating System :: OS Independent
12
8
  Classifier: Programming Language :: Python :: 3
13
- Classifier: Programming Language :: Python :: 3 :: Only
14
9
  Classifier: Programming Language :: Python :: 3.10
15
10
  Classifier: Programming Language :: Python :: 3.11
16
11
  Classifier: Programming Language :: Python :: 3.12
17
- Classifier: Topic :: Software Development :: Libraries :: Python Modules
18
- Classifier: Topic :: Utilities
12
+ Classifier: Environment :: Console
19
13
  Requires-Python: >=3.10
20
14
  Description-Content-Type: text/markdown
21
- License-File: LICENSE
22
15
  Requires-Dist: httpx>=0.27
23
16
  Requires-Dist: mcp>=1.24
24
17
  Requires-Dist: rich>=13.0
25
18
  Requires-Dist: typer>=0.12
26
19
  Provides-Extra: dev
27
20
  Requires-Dist: pytest>=8; extra == "dev"
28
- Requires-Dist: build>=1.2; extra == "dev"
29
- Requires-Dist: twine>=6.0; extra == "dev"
30
- Dynamic: license-file
31
21
 
32
22
  # openboost-cli
33
23
 
34
- 统一 Proboost MCP 命令行工具,包含 TikTok、Patent、Amazon 三套 MCP 的交互式菜单、快捷命令、通用调用和 Python 客户端。
24
+ 统一 Openboost MCP 命令行工具,包含 TikTok、Patent、Amazon 三套 MCP 的交互式菜单、快捷命令、通用调用和 Python 客户端。
35
25
 
36
- ## 安装
26
+ 终端命令为 **`proboost`**(包名 `openboost-cli`)。
37
27
 
38
- 从 PyPI 安装:
28
+ 完整使用说明见 **[使用文档.md](使用文档.md)**。
39
29
 
40
- ```bash
41
- pip install openboost-cli
42
- ```
30
+ ## 安装
43
31
 
44
- 开发安装:
32
+ ### 从源码开发安装
45
33
 
46
34
  ```bash
35
+ cd "/path/to/openboost-cli"
47
36
  python3.12 -m venv .venv
48
37
  source .venv/bin/activate
49
38
  pip install --upgrade pip
50
39
  pip install -e ".[dev]"
51
40
  ```
52
41
 
42
+ ### 从离线安装包安装(wheel / 源码包)
43
+
44
+ 仓库内每次执行 `python -m build` 后,安装包位于 **`dist/`**:
45
+
46
+ | 文件 | 说明 |
47
+ |------|------|
48
+ | `openboost_cli-<版本>-py3-none-any.whl` | 推荐:纯 Python,任意平台 Python 3.10+ 可用 |
49
+ | `openboost_cli-<版本>.tar.gz` | 源码分发包,`pip` 会本地构建后安装 |
50
+
51
+ 在**任意**虚拟环境或全局环境中(需 Python ≥ 3.10,且能访问 PyPI 以下载依赖 `httpx`、`mcp`、`rich`、`typer`):
52
+
53
+ ```bash
54
+ pip install --upgrade pip
55
+ pip install "/path/to/openboost-cli/dist/openboost_cli-0.1.0-py3-none-any.whl"
56
+ ```
57
+
58
+ 若机器**完全离线**,需事先在同一 Python 版本下准备好依赖的 wheel,或使用带依赖缓存的 `pip download`,再 `pip install --no-index` 指向本地目录;此处与常规 Python 离线安装流程相同。
59
+
53
60
  安装后命令为:
54
61
 
55
62
  ```bash
56
63
  proboost --help
57
64
  ```
58
65
 
66
+ ### 自行打包安装包
67
+
68
+ 在 `openboost-cli` 项目根目录:
69
+
70
+ ```bash
71
+ pip install build
72
+ python -m build
73
+ ```
74
+
75
+ 产物写入 **`dist/`**(`*.whl` 与 `*.tar.gz`),可将整个 `dist` 目录或单个文件拷贝给其他环境安装。
76
+
59
77
  ## 配置密钥
60
78
 
61
79
  三套 MCP 共用同一个密钥时:
@@ -74,10 +92,10 @@ proboost config set --mcp amazon --base-url "http://mcp.microdata-inc.com/mcp-se
74
92
  环境变量也支持:
75
93
 
76
94
  ```bash
77
- export PROBOOST_SECRET_KEY="通用密钥"
78
- export PROBOOST_TIKTOK_SECRET_KEY="TikTok 专用密钥"
79
- export PROBOOST_PATENT_SECRET_KEY="Patent 专用密钥"
80
- export PROBOOST_AMAZON_SECRET_KEY="Amazon 专用密钥"
95
+ export OPENBOOST_SECRET_KEY="通用密钥"
96
+ export OPENBOOST_TIKTOK_SECRET_KEY="TikTok 专用密钥"
97
+ export OPENBOOST_PATENT_SECRET_KEY="Patent 专用密钥"
98
+ export OPENBOOST_AMAZON_SECRET_KEY="Amazon 专用密钥"
81
99
  ```
82
100
 
83
101
  ## 通用命令
@@ -136,9 +154,9 @@ proboost amazon product selection --site 1 minPrice=10 maxPrice=30 sortField=sku
136
154
  ## Python 客户端
137
155
 
138
156
  ```python
139
- from proboost_cli import Proboost
157
+ from openboost_cli import Openboost
140
158
 
141
- pb = Proboost()
159
+ pb = Openboost()
142
160
  content = pb.tiktok.tt_video_content(countryRegion="美国", videoId="7587942790298979614")
143
161
  count = pb.patent.patent_query_count(query_text="TACD: virtual reality")
144
162
  items = pb.amazon.amz_product_selection(webSiteId="1", pages=1, pagesSize=10)
@@ -1,30 +1,58 @@
1
1
  # openboost-cli
2
2
 
3
- 统一 Proboost MCP 命令行工具,包含 TikTok、Patent、Amazon 三套 MCP 的交互式菜单、快捷命令、通用调用和 Python 客户端。
3
+ 统一 Openboost MCP 命令行工具,包含 TikTok、Patent、Amazon 三套 MCP 的交互式菜单、快捷命令、通用调用和 Python 客户端。
4
4
 
5
- ## 安装
5
+ 终端命令为 **`proboost`**(包名 `openboost-cli`)。
6
6
 
7
- 从 PyPI 安装:
7
+ 完整使用说明见 **[使用文档.md](使用文档.md)**。
8
8
 
9
- ```bash
10
- pip install openboost-cli
11
- ```
9
+ ## 安装
12
10
 
13
- 开发安装:
11
+ ### 从源码开发安装
14
12
 
15
13
  ```bash
14
+ cd "/path/to/openboost-cli"
16
15
  python3.12 -m venv .venv
17
16
  source .venv/bin/activate
18
17
  pip install --upgrade pip
19
18
  pip install -e ".[dev]"
20
19
  ```
21
20
 
21
+ ### 从离线安装包安装(wheel / 源码包)
22
+
23
+ 仓库内每次执行 `python -m build` 后,安装包位于 **`dist/`**:
24
+
25
+ | 文件 | 说明 |
26
+ |------|------|
27
+ | `openboost_cli-<版本>-py3-none-any.whl` | 推荐:纯 Python,任意平台 Python 3.10+ 可用 |
28
+ | `openboost_cli-<版本>.tar.gz` | 源码分发包,`pip` 会本地构建后安装 |
29
+
30
+ 在**任意**虚拟环境或全局环境中(需 Python ≥ 3.10,且能访问 PyPI 以下载依赖 `httpx`、`mcp`、`rich`、`typer`):
31
+
32
+ ```bash
33
+ pip install --upgrade pip
34
+ pip install "/path/to/openboost-cli/dist/openboost_cli-0.1.0-py3-none-any.whl"
35
+ ```
36
+
37
+ 若机器**完全离线**,需事先在同一 Python 版本下准备好依赖的 wheel,或使用带依赖缓存的 `pip download`,再 `pip install --no-index` 指向本地目录;此处与常规 Python 离线安装流程相同。
38
+
22
39
  安装后命令为:
23
40
 
24
41
  ```bash
25
42
  proboost --help
26
43
  ```
27
44
 
45
+ ### 自行打包安装包
46
+
47
+ 在 `openboost-cli` 项目根目录:
48
+
49
+ ```bash
50
+ pip install build
51
+ python -m build
52
+ ```
53
+
54
+ 产物写入 **`dist/`**(`*.whl` 与 `*.tar.gz`),可将整个 `dist` 目录或单个文件拷贝给其他环境安装。
55
+
28
56
  ## 配置密钥
29
57
 
30
58
  三套 MCP 共用同一个密钥时:
@@ -43,10 +71,10 @@ proboost config set --mcp amazon --base-url "http://mcp.microdata-inc.com/mcp-se
43
71
  环境变量也支持:
44
72
 
45
73
  ```bash
46
- export PROBOOST_SECRET_KEY="通用密钥"
47
- export PROBOOST_TIKTOK_SECRET_KEY="TikTok 专用密钥"
48
- export PROBOOST_PATENT_SECRET_KEY="Patent 专用密钥"
49
- export PROBOOST_AMAZON_SECRET_KEY="Amazon 专用密钥"
74
+ export OPENBOOST_SECRET_KEY="通用密钥"
75
+ export OPENBOOST_TIKTOK_SECRET_KEY="TikTok 专用密钥"
76
+ export OPENBOOST_PATENT_SECRET_KEY="Patent 专用密钥"
77
+ export OPENBOOST_AMAZON_SECRET_KEY="Amazon 专用密钥"
50
78
  ```
51
79
 
52
80
  ## 通用命令
@@ -105,9 +133,9 @@ proboost amazon product selection --site 1 minPrice=10 maxPrice=30 sortField=sku
105
133
  ## Python 客户端
106
134
 
107
135
  ```python
108
- from proboost_cli import Proboost
136
+ from openboost_cli import Openboost
109
137
 
110
- pb = Proboost()
138
+ pb = Openboost()
111
139
  content = pb.tiktok.tt_video_content(countryRegion="美国", videoId="7587942790298979614")
112
140
  count = pb.patent.patent_query_count(query_text="TACD: virtual reality")
113
141
  items = pb.amazon.amz_product_selection(webSiteId="1", pages=1, pagesSize=10)
@@ -4,25 +4,18 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "openboost-cli"
7
- description = "Unified CLI and Python client for Proboost TikTok, Patent, and Amazon MCP servers."
7
+ description = "Unified CLI and Python client for Openboost TikTok, Patent, and Amazon MCP servers."
8
8
  readme = "README.md"
9
9
  requires-python = ">=3.10"
10
- license = "MIT"
11
- license-files = ["LICENSE"]
12
- authors = [{ name = "Proboost CLI" }]
10
+ license = { text = "MIT" }
11
+ authors = [{ name = "Openboost CLI" }]
13
12
  keywords = ["mcp", "cli", "openboost", "proboost", "tiktok", "patent", "amazon"]
14
13
  classifiers = [
15
- "Development Status :: 4 - Beta",
16
- "Environment :: Console",
17
- "Intended Audience :: Developers",
18
- "Operating System :: OS Independent",
19
14
  "Programming Language :: Python :: 3",
20
- "Programming Language :: Python :: 3 :: Only",
21
15
  "Programming Language :: Python :: 3.10",
22
16
  "Programming Language :: Python :: 3.11",
23
17
  "Programming Language :: Python :: 3.12",
24
- "Topic :: Software Development :: Libraries :: Python Modules",
25
- "Topic :: Utilities",
18
+ "Environment :: Console",
26
19
  ]
27
20
  dynamic = ["version"]
28
21
  dependencies = [
@@ -33,10 +26,10 @@ dependencies = [
33
26
  ]
34
27
 
35
28
  [project.optional-dependencies]
36
- dev = ["pytest>=8", "build>=1.2", "twine>=6.0"]
29
+ dev = ["pytest>=8"]
37
30
 
38
31
  [project.scripts]
39
- proboost = "proboost_cli.cli.main:main"
32
+ proboost = "openboost_cli.cli.main:main"
40
33
 
41
34
  [tool.setuptools]
42
35
  package-dir = { "" = "src" }
@@ -45,20 +38,14 @@ package-dir = { "" = "src" }
45
38
  where = ["src"]
46
39
 
47
40
  [tool.setuptools.package-data]
48
- proboost_cli = [
41
+ openboost_cli = [
49
42
  "schemas/tiktok/*.json",
50
43
  "schemas/patent/*.json",
51
44
  "schemas/amazon/*.json",
52
45
  ]
53
46
 
54
47
  [tool.setuptools.dynamic]
55
- version = { attr = "proboost_cli.__version__" }
48
+ version = { attr = "openboost_cli.__version__" }
56
49
 
57
50
  [tool.pytest.ini_options]
58
51
  testpaths = ["tests"]
59
-
60
- [[tool.uv.index]]
61
- name = "testpypi"
62
- url = "https://test.pypi.org/simple/"
63
- publish-url = "https://test.pypi.org/legacy/"
64
- explicit = true
@@ -1,6 +1,6 @@
1
- """Unified Proboost MCP CLI and Python client."""
1
+ """Unified Openboost MCP CLI and Python client."""
2
2
 
3
- __version__ = "0.1.0"
3
+ __version__ = "1.0.0"
4
4
 
5
5
  DEFAULT_BASE_URLS = {
6
6
  "tiktok": "http://mcp.microdata-inc.com/mcp-servers/proboost-tiktok-mcp",
@@ -16,6 +16,6 @@ MCP_LABELS = {
16
16
 
17
17
  MCP_NAMES = tuple(DEFAULT_BASE_URLS.keys())
18
18
 
19
- from .client import Proboost
19
+ from .client import Openboost
20
20
 
21
- __all__ = ["DEFAULT_BASE_URLS", "MCP_LABELS", "MCP_NAMES", "Proboost", "__version__"]
21
+ __all__ = ["DEFAULT_BASE_URLS", "MCP_LABELS", "MCP_NAMES", "Openboost", "__version__"]
@@ -8,13 +8,13 @@ from rich.console import Console
8
8
  from rich.panel import Panel
9
9
  from rich.prompt import Prompt
10
10
 
11
- from proboost_cli import MCP_LABELS, MCP_NAMES
12
- from proboost_cli.coerce_args import coerce_argument_value
13
- from proboost_cli.config import effective_secret_and_base
14
- from proboost_cli.mcp_client import extract_result_text, invoke_tool_async
15
- from proboost_cli.parse_result import decode_embedded_payload
16
- from proboost_cli.registry import DOMAIN_LABELS, DOMAIN_TOOLS, TOOLS
17
- from proboost_cli.schemas_loader import load_tool_definitions, tool_schema_properties
11
+ from openboost_cli import MCP_LABELS, MCP_NAMES
12
+ from openboost_cli.coerce_args import coerce_argument_value
13
+ from openboost_cli.config import effective_secret_and_base
14
+ from openboost_cli.mcp_client import extract_result_text, invoke_tool_async
15
+ from openboost_cli.parse_result import decode_embedded_payload
16
+ from openboost_cli.registry import DOMAIN_LABELS, DOMAIN_TOOLS, TOOLS
17
+ from openboost_cli.schemas_loader import load_tool_definitions, tool_schema_properties
18
18
 
19
19
  console = Console()
20
20
 
@@ -25,7 +25,7 @@ def run_interactive(
25
25
  base_url: str | None = None,
26
26
  ) -> None:
27
27
  console.print(Panel(
28
- "[bold cyan]Proboost CLI[/bold cyan]\n统一调用 TikTok / Patent / Amazon MCP",
28
+ "[bold cyan]Openboost CLI[/bold cyan]\n统一调用 TikTok / Patent / Amazon MCP",
29
29
  title="proboost",
30
30
  border_style="cyan",
31
31
  ))
@@ -11,20 +11,21 @@ import typer
11
11
  from rich.console import Console
12
12
  from rich.table import Table
13
13
 
14
- from proboost_cli import MCP_LABELS, MCP_NAMES, __version__
15
- from proboost_cli.cli import interactive
16
- from proboost_cli.coerce_args import merge_tool_arguments_json
17
- from proboost_cli.config import (
14
+ from openboost_cli import MCP_LABELS, MCP_NAMES, __version__
15
+ from openboost_cli.cli import interactive
16
+ from openboost_cli.coerce_args import merge_tool_arguments_json
17
+ from openboost_cli.config import (
18
+ config_path,
18
19
  effective_secret_and_base,
19
20
  load_config,
20
21
  mask_secret,
21
22
  normalize_mcp_name,
22
23
  update_config,
23
24
  )
24
- from proboost_cli.mcp_client import extract_result_text, invoke_tool_async
25
- from proboost_cli.parse_result import decode_embedded_payload
26
- from proboost_cli.registry import DOMAIN_LABELS, DOMAIN_TOOLS, TOOLS
27
- from proboost_cli.schemas_loader import load_tool_definitions, tool_schema_properties, tool_schema_required
25
+ from openboost_cli.mcp_client import extract_result_text, invoke_tool_async
26
+ from openboost_cli.parse_result import decode_embedded_payload
27
+ from openboost_cli.registry import DOMAIN_LABELS, DOMAIN_TOOLS, TOOLS
28
+ from openboost_cli.schemas_loader import load_tool_definitions, tool_schema_properties, tool_schema_required
28
29
 
29
30
  if sys.stdout and hasattr(sys.stdout, "reconfigure"):
30
31
  sys.stdout.reconfigure(encoding="utf-8", errors="replace")
@@ -33,7 +34,7 @@ console = Console()
33
34
 
34
35
  app = typer.Typer(
35
36
  name="proboost",
36
- help="Proboost CLI — 统一调用 TikTok / Patent / Amazon MCP",
37
+ help="Openboost CLI — 统一调用 TikTok / Patent / Amazon MCP",
37
38
  no_args_is_help=False,
38
39
  add_completion=False,
39
40
  )
@@ -127,7 +128,7 @@ def _run_tool(mcp: str, tool_name: str, arguments: dict[str, Any], *, verbatim:
127
128
  )
128
129
  if not secret:
129
130
  console.print(
130
- f"[red]缺少 {MCP_LABELS[mcp]} secret-key。[/red]请设置 PROBOOST_SECRET_KEY 或运行 proboost config set --secret-key ..."
131
+ f"[red]缺少 {MCP_LABELS[mcp]} secret-key。[/red]请设置 OPENBOOST_SECRET_KEY 或运行 proboost config set --secret-key ..."
131
132
  )
132
133
  raise typer.Exit(1)
133
134
  try:
@@ -183,15 +184,15 @@ def config_set_cmd(
183
184
  def config_show_cmd() -> None:
184
185
  """查看当前生效配置(密钥脱敏)"""
185
186
  cfg = load_config()
186
- console.print(f"config file: {Path.home() / '.config/proboost/config.json'}")
187
+ console.print(f"config file: {config_path()}")
187
188
  if cfg.get("secret_key"):
188
189
  console.print(f"global secret_key: {mask_secret(str(cfg['secret_key']))}")
189
190
  for mcp in MCP_NAMES:
190
191
  secret, base = effective_secret_and_base(mcp)
191
192
  console.print(f"{mcp:7} base_url : {base}")
192
193
  console.print(f"{mcp:7} secret_key : {mask_secret(secret)}")
193
- if os.environ.get("PROBOOST_SECRET_KEY"):
194
- console.print("env PROBOOST_SECRET_KEY is set")
194
+ if os.environ.get("OPENBOOST_SECRET_KEY") or os.environ.get("PROBOOST_SECRET_KEY"):
195
+ console.print("env OPENBOOST_SECRET_KEY is set")
195
196
 
196
197
 
197
198
  @app.command("list")
@@ -2,17 +2,17 @@ from __future__ import annotations
2
2
 
3
3
  from typing import Any
4
4
 
5
- from proboost_cli.mcp_client import McpClient
5
+ from openboost_cli.mcp_client import McpClient
6
6
 
7
7
 
8
- class Proboost:
9
- """Unified Python client for Proboost MCP servers.
8
+ class Openboost:
9
+ """Unified Python client for Openboost MCP servers.
10
10
 
11
11
  Usage:
12
12
 
13
- from proboost_cli import Proboost
13
+ from openboost_cli import Openboost
14
14
 
15
- pb = Proboost()
15
+ pb = Openboost()
16
16
  pb.tiktok.tt_video_content(countryRegion="美国", videoId="...")
17
17
  pb.patent.patent_query_search(query_text="TACD: virtual reality")
18
18
  pb.amazon.amz_product_selection(webSiteId="1")
@@ -5,23 +5,27 @@ import os
5
5
  from pathlib import Path
6
6
  from typing import Any
7
7
 
8
- from proboost_cli import DEFAULT_BASE_URLS, MCP_NAMES
8
+ from openboost_cli import DEFAULT_BASE_URLS, MCP_NAMES
9
9
 
10
10
 
11
11
  def config_path() -> Path:
12
- env = os.environ.get("PROBOOST_CONFIG", "").strip()
12
+ env = os.environ.get("OPENBOOST_CONFIG", "").strip() or os.environ.get("PROBOOST_CONFIG", "").strip()
13
13
  if env:
14
14
  return Path(env).expanduser()
15
15
  xdg = os.environ.get("XDG_CONFIG_HOME", "").strip()
16
16
  if xdg:
17
- return Path(xdg) / "proboost" / "config.json"
18
- return Path.home() / ".config" / "proboost" / "config.json"
17
+ return Path(xdg) / "openboost" / "config.json"
18
+ return Path.home() / ".config" / "openboost" / "config.json"
19
19
 
20
20
 
21
21
  def load_config() -> dict[str, Any]:
22
22
  path = config_path()
23
23
  if not path.is_file():
24
- return {}
24
+ legacy = Path.home() / ".config" / "proboost" / "config.json"
25
+ if legacy.is_file():
26
+ path = legacy
27
+ else:
28
+ return {}
25
29
  text = path.read_text(encoding="utf-8").strip()
26
30
  if not text:
27
31
  return {}
@@ -42,7 +46,11 @@ def normalize_mcp_name(name: str) -> str:
42
46
 
43
47
 
44
48
  def _env_prefix(mcp: str) -> str:
45
- return f"PROBOOST_{mcp.upper()}"
49
+ return f"OPENBOOST_{mcp.upper()}"
50
+
51
+
52
+ def _env(name: str) -> str:
53
+ return os.environ.get(name, "").strip() or os.environ.get(name.replace("OPENBOOST_", "PROBOOST_"), "").strip()
46
54
 
47
55
 
48
56
  def effective_secret_and_base(
@@ -60,14 +68,14 @@ def effective_secret_and_base(
60
68
  prefix = _env_prefix(mcp)
61
69
  secret = (
62
70
  secret_key
63
- or os.environ.get(f"{prefix}_SECRET_KEY", "").strip()
64
- or os.environ.get("PROBOOST_SECRET_KEY", "").strip()
71
+ or _env(f"{prefix}_SECRET_KEY")
72
+ or _env("OPENBOOST_SECRET_KEY")
65
73
  or str(mcp_cfg.get("secret_key", "")).strip()
66
74
  or str(cfg.get("secret_key", "")).strip()
67
75
  )
68
76
  base = (
69
77
  base_url
70
- or os.environ.get(f"{prefix}_BASE_URL", "").strip()
78
+ or _env(f"{prefix}_BASE_URL")
71
79
  or str(mcp_cfg.get("base_url", "")).strip()
72
80
  or DEFAULT_BASE_URLS[mcp]
73
81
  ).rstrip("/")
@@ -10,9 +10,9 @@ from mcp import types as mtypes
10
10
  from mcp.client.streamable_http import streamable_http_client
11
11
  from mcp.shared._httpx_utils import create_mcp_http_client
12
12
 
13
- from proboost_cli.config import effective_secret_and_base, normalize_mcp_name
14
- from proboost_cli.parse_result import decode_embedded_payload
15
- from proboost_cli.schemas_loader import load_tool_definitions
13
+ from openboost_cli.config import effective_secret_and_base, normalize_mcp_name
14
+ from openboost_cli.parse_result import decode_embedded_payload
15
+ from openboost_cli.schemas_loader import load_tool_definitions
16
16
 
17
17
 
18
18
  def extract_result_text(result: mtypes.CallToolResult) -> str:
@@ -47,7 +47,7 @@ async def invoke_tool_async(
47
47
 
48
48
 
49
49
  class McpClient:
50
- """Dynamic Python client for one Proboost MCP server."""
50
+ """Dynamic Python client for one Openboost MCP server."""
51
51
 
52
52
  def __init__(
53
53
  self,
@@ -66,7 +66,7 @@ class McpClient:
66
66
  )
67
67
  if not resolved_secret:
68
68
  raise ValueError(
69
- f"缺少 {self.mcp} secret-key。请设置 PROBOOST_SECRET_KEY 或 PROBOOST_{self.mcp.upper()}_SECRET_KEY。"
69
+ f"缺少 {self.mcp} secret-key。请设置 OPENBOOST_SECRET_KEY 或 OPENBOOST_{self.mcp.upper()}_SECRET_KEY。"
70
70
  )
71
71
  self.secret_key = resolved_secret
72
72
  self.base_url = resolved_base
@@ -2,8 +2,8 @@ from __future__ import annotations
2
2
 
3
3
  from dataclasses import dataclass
4
4
 
5
- from proboost_cli import MCP_LABELS, MCP_NAMES
6
- from proboost_cli.schemas_loader import load_tool_definitions, tool_schema_required
5
+ from openboost_cli import MCP_LABELS, MCP_NAMES
6
+ from openboost_cli.schemas_loader import load_tool_definitions, tool_schema_required
7
7
 
8
8
 
9
9
  @dataclass(frozen=True)
@@ -0,0 +1 @@
1
+ """Bundled MCP tool schemas for Openboost servers."""
@@ -4,13 +4,13 @@ import json
4
4
  from importlib import resources
5
5
  from typing import Any
6
6
 
7
- from proboost_cli import MCP_NAMES
7
+ from openboost_cli import MCP_NAMES
8
8
 
9
9
 
10
10
  def _tools_pkg(mcp: str) -> str:
11
11
  if mcp not in MCP_NAMES:
12
12
  raise ValueError(f"Unknown MCP: {mcp}")
13
- return f"proboost_cli.schemas.{mcp}"
13
+ return f"openboost_cli.schemas.{mcp}"
14
14
 
15
15
 
16
16
  def iter_tool_manifests(mcp: str) -> list[tuple[str, dict[str, Any]]]:
@@ -1,61 +1,79 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: openboost-cli
3
- Version: 0.1.0
4
- Summary: Unified CLI and Python client for Proboost TikTok, Patent, and Amazon MCP servers.
5
- Author: Proboost CLI
6
- License-Expression: MIT
3
+ Version: 1.0.0
4
+ Summary: Unified CLI and Python client for Openboost TikTok, Patent, and Amazon MCP servers.
5
+ Author: Openboost CLI
6
+ License: MIT
7
7
  Keywords: mcp,cli,openboost,proboost,tiktok,patent,amazon
8
- Classifier: Development Status :: 4 - Beta
9
- Classifier: Environment :: Console
10
- Classifier: Intended Audience :: Developers
11
- Classifier: Operating System :: OS Independent
12
8
  Classifier: Programming Language :: Python :: 3
13
- Classifier: Programming Language :: Python :: 3 :: Only
14
9
  Classifier: Programming Language :: Python :: 3.10
15
10
  Classifier: Programming Language :: Python :: 3.11
16
11
  Classifier: Programming Language :: Python :: 3.12
17
- Classifier: Topic :: Software Development :: Libraries :: Python Modules
18
- Classifier: Topic :: Utilities
12
+ Classifier: Environment :: Console
19
13
  Requires-Python: >=3.10
20
14
  Description-Content-Type: text/markdown
21
- License-File: LICENSE
22
15
  Requires-Dist: httpx>=0.27
23
16
  Requires-Dist: mcp>=1.24
24
17
  Requires-Dist: rich>=13.0
25
18
  Requires-Dist: typer>=0.12
26
19
  Provides-Extra: dev
27
20
  Requires-Dist: pytest>=8; extra == "dev"
28
- Requires-Dist: build>=1.2; extra == "dev"
29
- Requires-Dist: twine>=6.0; extra == "dev"
30
- Dynamic: license-file
31
21
 
32
22
  # openboost-cli
33
23
 
34
- 统一 Proboost MCP 命令行工具,包含 TikTok、Patent、Amazon 三套 MCP 的交互式菜单、快捷命令、通用调用和 Python 客户端。
24
+ 统一 Openboost MCP 命令行工具,包含 TikTok、Patent、Amazon 三套 MCP 的交互式菜单、快捷命令、通用调用和 Python 客户端。
35
25
 
36
- ## 安装
26
+ 终端命令为 **`proboost`**(包名 `openboost-cli`)。
37
27
 
38
- 从 PyPI 安装:
28
+ 完整使用说明见 **[使用文档.md](使用文档.md)**。
39
29
 
40
- ```bash
41
- pip install openboost-cli
42
- ```
30
+ ## 安装
43
31
 
44
- 开发安装:
32
+ ### 从源码开发安装
45
33
 
46
34
  ```bash
35
+ cd "/path/to/openboost-cli"
47
36
  python3.12 -m venv .venv
48
37
  source .venv/bin/activate
49
38
  pip install --upgrade pip
50
39
  pip install -e ".[dev]"
51
40
  ```
52
41
 
42
+ ### 从离线安装包安装(wheel / 源码包)
43
+
44
+ 仓库内每次执行 `python -m build` 后,安装包位于 **`dist/`**:
45
+
46
+ | 文件 | 说明 |
47
+ |------|------|
48
+ | `openboost_cli-<版本>-py3-none-any.whl` | 推荐:纯 Python,任意平台 Python 3.10+ 可用 |
49
+ | `openboost_cli-<版本>.tar.gz` | 源码分发包,`pip` 会本地构建后安装 |
50
+
51
+ 在**任意**虚拟环境或全局环境中(需 Python ≥ 3.10,且能访问 PyPI 以下载依赖 `httpx`、`mcp`、`rich`、`typer`):
52
+
53
+ ```bash
54
+ pip install --upgrade pip
55
+ pip install "/path/to/openboost-cli/dist/openboost_cli-0.1.0-py3-none-any.whl"
56
+ ```
57
+
58
+ 若机器**完全离线**,需事先在同一 Python 版本下准备好依赖的 wheel,或使用带依赖缓存的 `pip download`,再 `pip install --no-index` 指向本地目录;此处与常规 Python 离线安装流程相同。
59
+
53
60
  安装后命令为:
54
61
 
55
62
  ```bash
56
63
  proboost --help
57
64
  ```
58
65
 
66
+ ### 自行打包安装包
67
+
68
+ 在 `openboost-cli` 项目根目录:
69
+
70
+ ```bash
71
+ pip install build
72
+ python -m build
73
+ ```
74
+
75
+ 产物写入 **`dist/`**(`*.whl` 与 `*.tar.gz`),可将整个 `dist` 目录或单个文件拷贝给其他环境安装。
76
+
59
77
  ## 配置密钥
60
78
 
61
79
  三套 MCP 共用同一个密钥时:
@@ -74,10 +92,10 @@ proboost config set --mcp amazon --base-url "http://mcp.microdata-inc.com/mcp-se
74
92
  环境变量也支持:
75
93
 
76
94
  ```bash
77
- export PROBOOST_SECRET_KEY="通用密钥"
78
- export PROBOOST_TIKTOK_SECRET_KEY="TikTok 专用密钥"
79
- export PROBOOST_PATENT_SECRET_KEY="Patent 专用密钥"
80
- export PROBOOST_AMAZON_SECRET_KEY="Amazon 专用密钥"
95
+ export OPENBOOST_SECRET_KEY="通用密钥"
96
+ export OPENBOOST_TIKTOK_SECRET_KEY="TikTok 专用密钥"
97
+ export OPENBOOST_PATENT_SECRET_KEY="Patent 专用密钥"
98
+ export OPENBOOST_AMAZON_SECRET_KEY="Amazon 专用密钥"
81
99
  ```
82
100
 
83
101
  ## 通用命令
@@ -136,9 +154,9 @@ proboost amazon product selection --site 1 minPrice=10 maxPrice=30 sortField=sku
136
154
  ## Python 客户端
137
155
 
138
156
  ```python
139
- from proboost_cli import Proboost
157
+ from openboost_cli import Openboost
140
158
 
141
- pb = Proboost()
159
+ pb = Openboost()
142
160
  content = pb.tiktok.tt_video_content(countryRegion="美国", videoId="7587942790298979614")
143
161
  count = pb.patent.patent_query_count(query_text="TACD: virtual reality")
144
162
  items = pb.amazon.amz_product_selection(webSiteId="1", pages=1, pagesSize=10)
@@ -0,0 +1,81 @@
1
+ README.md
2
+ pyproject.toml
3
+ src/openboost_cli/__init__.py
4
+ src/openboost_cli/client.py
5
+ src/openboost_cli/coerce_args.py
6
+ src/openboost_cli/config.py
7
+ src/openboost_cli/mcp_client.py
8
+ src/openboost_cli/parse_result.py
9
+ src/openboost_cli/registry.py
10
+ src/openboost_cli/schemas_loader.py
11
+ src/openboost_cli.egg-info/PKG-INFO
12
+ src/openboost_cli.egg-info/SOURCES.txt
13
+ src/openboost_cli.egg-info/dependency_links.txt
14
+ src/openboost_cli.egg-info/entry_points.txt
15
+ src/openboost_cli.egg-info/requires.txt
16
+ src/openboost_cli.egg-info/top_level.txt
17
+ src/openboost_cli/cli/__init__.py
18
+ src/openboost_cli/cli/interactive.py
19
+ src/openboost_cli/cli/main.py
20
+ src/openboost_cli/schemas/__init__.py
21
+ src/openboost_cli/schemas/amazon/__init__.py
22
+ src/openboost_cli/schemas/amazon/amz_category_query.json
23
+ src/openboost_cli/schemas/amazon/amz_hot_amz_hot_cat_tree.json
24
+ src/openboost_cli/schemas/amazon/amz_hot_amz_hot_list.json
25
+ src/openboost_cli/schemas/amazon/amz_market_price.json
26
+ src/openboost_cli/schemas/amazon/amz_product_selection.json
27
+ src/openboost_cli/schemas/amazon/amz_review_query.json
28
+ src/openboost_cli/schemas/amazon/amz_sales_query.json
29
+ src/openboost_cli/schemas/amazon/amz_sku_query.json
30
+ src/openboost_cli/schemas/patent/__init__.py
31
+ src/openboost_cli/schemas/patent/patent_abstract_image.json
32
+ src/openboost_cli/schemas/patent/patent_abstract_translated.json
33
+ src/openboost_cli/schemas/patent/patent_bibliography.json
34
+ src/openboost_cli/schemas/patent/patent_claim_data.json
35
+ src/openboost_cli/schemas/patent/patent_claim_translated.json
36
+ src/openboost_cli/schemas/patent/patent_description.json
37
+ src/openboost_cli/schemas/patent/patent_description_translated.json
38
+ src/openboost_cli/schemas/patent/patent_family.json
39
+ src/openboost_cli/schemas/patent/patent_fulltext_image.json
40
+ src/openboost_cli/schemas/patent/patent_image_search_multiple.json
41
+ src/openboost_cli/schemas/patent/patent_image_search_single.json
42
+ src/openboost_cli/schemas/patent/patent_legal_status.json
43
+ src/openboost_cli/schemas/patent/patent_pdf.json
44
+ src/openboost_cli/schemas/patent/patent_query_count.json
45
+ src/openboost_cli/schemas/patent/patent_query_search.json
46
+ src/openboost_cli/schemas/patent/patent_query_search_with_agg.json
47
+ src/openboost_cli/schemas/patent/patent_semantic_search.json
48
+ src/openboost_cli/schemas/tiktok/__init__.py
49
+ src/openboost_cli/schemas/tiktok/tk_expert_sale_show.json
50
+ src/openboost_cli/schemas/tiktok/tt_commodity_detail.json
51
+ src/openboost_cli/schemas/tiktok/tt_commodity_expert_draw_expert_trend.json
52
+ src/openboost_cli/schemas/tiktok/tt_commodity_get_commodity_cat_tree.json
53
+ src/openboost_cli/schemas/tiktok/tt_commodity_info_list.json
54
+ src/openboost_cli/schemas/tiktok/tt_commodity_sales_trend.json
55
+ src/openboost_cli/schemas/tiktok/tt_commodity_statistics_get_category_statistics.json
56
+ src/openboost_cli/schemas/tiktok/tt_commodity_statistics_get_expert_statistics.json
57
+ src/openboost_cli/schemas/tiktok/tt_commodity_statistics_get_price_statistics.json
58
+ src/openboost_cli/schemas/tiktok/tt_commodity_statistics_get_total_statistics.json
59
+ src/openboost_cli/schemas/tiktok/tt_commodity_voice_analyze.json
60
+ src/openboost_cli/schemas/tiktok/tt_expert_basic_analyze.json
61
+ src/openboost_cli/schemas/tiktok/tt_expert_category_analyze.json
62
+ src/openboost_cli/schemas/tiktok/tt_expert_detail.json
63
+ src/openboost_cli/schemas/tiktok/tt_expert_fans_analyze.json
64
+ src/openboost_cli/schemas/tiktok/tt_expert_fans_portrait.json
65
+ src/openboost_cli/schemas/tiktok/tt_expert_info_list.json
66
+ src/openboost_cli/schemas/tiktok/tt_sale_channel_sale_channel.json
67
+ src/openboost_cli/schemas/tiktok/tt_shop_commodity_account_list.json
68
+ src/openboost_cli/schemas/tiktok/tt_shop_detail.json
69
+ src/openboost_cli/schemas/tiktok/tt_shop_info_list.json
70
+ src/openboost_cli/schemas/tiktok/tt_shop_market_info.json
71
+ src/openboost_cli/schemas/tiktok/tt_shop_sales_trend.json
72
+ src/openboost_cli/schemas/tiktok/tt_video_content.json
73
+ src/openboost_cli/schemas/tiktok/tt_video_detail.json
74
+ src/openboost_cli/schemas/tiktok/tt_video_info_list.json
75
+ src/openboost_cli/schemas/tiktok/tt_video_new_video_summary.json
76
+ src/openboost_cli/schemas/tiktok/tt_video_script_diy_query.json
77
+ src/openboost_cli/schemas/tiktok/tt_video_voice_read.json
78
+ src/openboost_cli/schemas/tiktok/tt_video_voice_summary.json
79
+ tests/test_cli.py
80
+ tests/test_parse_result.py
81
+ tests/test_schemas_and_args.py
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ proboost = openboost_cli.cli.main:main
@@ -5,5 +5,3 @@ typer>=0.12
5
5
 
6
6
  [dev]
7
7
  pytest>=8
8
- build>=1.2
9
- twine>=6.0
@@ -0,0 +1 @@
1
+ openboost_cli
@@ -2,7 +2,7 @@ from __future__ import annotations
2
2
 
3
3
  from typer.testing import CliRunner
4
4
 
5
- from proboost_cli.cli.main import app
5
+ from openboost_cli.cli.main import app
6
6
 
7
7
 
8
8
  runner = CliRunner()
@@ -11,7 +11,7 @@ runner = CliRunner()
11
11
  def test_help_starts() -> None:
12
12
  result = runner.invoke(app, ["--help"])
13
13
  assert result.exit_code == 0
14
- assert "Proboost CLI" in result.output
14
+ assert "Openboost CLI" in result.output
15
15
 
16
16
 
17
17
  def test_list_starts() -> None:
@@ -2,7 +2,7 @@ from __future__ import annotations
2
2
 
3
3
  import pytest
4
4
 
5
- from proboost_cli.parse_result import decode_embedded_payload
5
+ from openboost_cli.parse_result import decode_embedded_payload
6
6
 
7
7
 
8
8
  def test_decode_plain_json_obj() -> None:
@@ -1,8 +1,8 @@
1
1
  from __future__ import annotations
2
2
 
3
- from proboost_cli.coerce_args import merge_tool_arguments_json
4
- from proboost_cli.registry import DOMAIN_TOOLS, TOOLS
5
- from proboost_cli.schemas_loader import load_tool_definitions, tool_schema_properties, tool_schema_required
3
+ from openboost_cli.coerce_args import merge_tool_arguments_json
4
+ from openboost_cli.registry import DOMAIN_TOOLS, TOOLS
5
+ from openboost_cli.schemas_loader import load_tool_definitions, tool_schema_properties, tool_schema_required
6
6
 
7
7
 
8
8
  def test_loads_all_schema_sets() -> None:
@@ -1,21 +0,0 @@
1
- MIT License
2
-
3
- Copyright (c) 2026 Proboost CLI
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
@@ -1,82 +0,0 @@
1
- LICENSE
2
- README.md
3
- pyproject.toml
4
- src/openboost_cli.egg-info/PKG-INFO
5
- src/openboost_cli.egg-info/SOURCES.txt
6
- src/openboost_cli.egg-info/dependency_links.txt
7
- src/openboost_cli.egg-info/entry_points.txt
8
- src/openboost_cli.egg-info/requires.txt
9
- src/openboost_cli.egg-info/top_level.txt
10
- src/proboost_cli/__init__.py
11
- src/proboost_cli/client.py
12
- src/proboost_cli/coerce_args.py
13
- src/proboost_cli/config.py
14
- src/proboost_cli/mcp_client.py
15
- src/proboost_cli/parse_result.py
16
- src/proboost_cli/registry.py
17
- src/proboost_cli/schemas_loader.py
18
- src/proboost_cli/cli/__init__.py
19
- src/proboost_cli/cli/interactive.py
20
- src/proboost_cli/cli/main.py
21
- src/proboost_cli/schemas/__init__.py
22
- src/proboost_cli/schemas/amazon/__init__.py
23
- src/proboost_cli/schemas/amazon/amz_category_query.json
24
- src/proboost_cli/schemas/amazon/amz_hot_amz_hot_cat_tree.json
25
- src/proboost_cli/schemas/amazon/amz_hot_amz_hot_list.json
26
- src/proboost_cli/schemas/amazon/amz_market_price.json
27
- src/proboost_cli/schemas/amazon/amz_product_selection.json
28
- src/proboost_cli/schemas/amazon/amz_review_query.json
29
- src/proboost_cli/schemas/amazon/amz_sales_query.json
30
- src/proboost_cli/schemas/amazon/amz_sku_query.json
31
- src/proboost_cli/schemas/patent/__init__.py
32
- src/proboost_cli/schemas/patent/patent_abstract_image.json
33
- src/proboost_cli/schemas/patent/patent_abstract_translated.json
34
- src/proboost_cli/schemas/patent/patent_bibliography.json
35
- src/proboost_cli/schemas/patent/patent_claim_data.json
36
- src/proboost_cli/schemas/patent/patent_claim_translated.json
37
- src/proboost_cli/schemas/patent/patent_description.json
38
- src/proboost_cli/schemas/patent/patent_description_translated.json
39
- src/proboost_cli/schemas/patent/patent_family.json
40
- src/proboost_cli/schemas/patent/patent_fulltext_image.json
41
- src/proboost_cli/schemas/patent/patent_image_search_multiple.json
42
- src/proboost_cli/schemas/patent/patent_image_search_single.json
43
- src/proboost_cli/schemas/patent/patent_legal_status.json
44
- src/proboost_cli/schemas/patent/patent_pdf.json
45
- src/proboost_cli/schemas/patent/patent_query_count.json
46
- src/proboost_cli/schemas/patent/patent_query_search.json
47
- src/proboost_cli/schemas/patent/patent_query_search_with_agg.json
48
- src/proboost_cli/schemas/patent/patent_semantic_search.json
49
- src/proboost_cli/schemas/tiktok/__init__.py
50
- src/proboost_cli/schemas/tiktok/tk_expert_sale_show.json
51
- src/proboost_cli/schemas/tiktok/tt_commodity_detail.json
52
- src/proboost_cli/schemas/tiktok/tt_commodity_expert_draw_expert_trend.json
53
- src/proboost_cli/schemas/tiktok/tt_commodity_get_commodity_cat_tree.json
54
- src/proboost_cli/schemas/tiktok/tt_commodity_info_list.json
55
- src/proboost_cli/schemas/tiktok/tt_commodity_sales_trend.json
56
- src/proboost_cli/schemas/tiktok/tt_commodity_statistics_get_category_statistics.json
57
- src/proboost_cli/schemas/tiktok/tt_commodity_statistics_get_expert_statistics.json
58
- src/proboost_cli/schemas/tiktok/tt_commodity_statistics_get_price_statistics.json
59
- src/proboost_cli/schemas/tiktok/tt_commodity_statistics_get_total_statistics.json
60
- src/proboost_cli/schemas/tiktok/tt_commodity_voice_analyze.json
61
- src/proboost_cli/schemas/tiktok/tt_expert_basic_analyze.json
62
- src/proboost_cli/schemas/tiktok/tt_expert_category_analyze.json
63
- src/proboost_cli/schemas/tiktok/tt_expert_detail.json
64
- src/proboost_cli/schemas/tiktok/tt_expert_fans_analyze.json
65
- src/proboost_cli/schemas/tiktok/tt_expert_fans_portrait.json
66
- src/proboost_cli/schemas/tiktok/tt_expert_info_list.json
67
- src/proboost_cli/schemas/tiktok/tt_sale_channel_sale_channel.json
68
- src/proboost_cli/schemas/tiktok/tt_shop_commodity_account_list.json
69
- src/proboost_cli/schemas/tiktok/tt_shop_detail.json
70
- src/proboost_cli/schemas/tiktok/tt_shop_info_list.json
71
- src/proboost_cli/schemas/tiktok/tt_shop_market_info.json
72
- src/proboost_cli/schemas/tiktok/tt_shop_sales_trend.json
73
- src/proboost_cli/schemas/tiktok/tt_video_content.json
74
- src/proboost_cli/schemas/tiktok/tt_video_detail.json
75
- src/proboost_cli/schemas/tiktok/tt_video_info_list.json
76
- src/proboost_cli/schemas/tiktok/tt_video_new_video_summary.json
77
- src/proboost_cli/schemas/tiktok/tt_video_script_diy_query.json
78
- src/proboost_cli/schemas/tiktok/tt_video_voice_read.json
79
- src/proboost_cli/schemas/tiktok/tt_video_voice_summary.json
80
- tests/test_cli.py
81
- tests/test_parse_result.py
82
- tests/test_schemas_and_args.py
@@ -1,2 +0,0 @@
1
- [console_scripts]
2
- proboost = proboost_cli.cli.main:main
@@ -1 +0,0 @@
1
- proboost_cli
@@ -1 +0,0 @@
1
- """Bundled MCP tool schemas for Proboost servers."""
File without changes