openboost-cli 0.1.0__py3-none-any.whl

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 (76) hide show
  1. openboost_cli-0.1.0.dist-info/METADATA +153 -0
  2. openboost_cli-0.1.0.dist-info/RECORD +76 -0
  3. openboost_cli-0.1.0.dist-info/WHEEL +5 -0
  4. openboost_cli-0.1.0.dist-info/entry_points.txt +2 -0
  5. openboost_cli-0.1.0.dist-info/licenses/LICENSE +21 -0
  6. openboost_cli-0.1.0.dist-info/top_level.txt +1 -0
  7. proboost_cli/__init__.py +21 -0
  8. proboost_cli/cli/__init__.py +1 -0
  9. proboost_cli/cli/interactive.py +107 -0
  10. proboost_cli/cli/main.py +566 -0
  11. proboost_cli/client.py +58 -0
  12. proboost_cli/coerce_args.py +62 -0
  13. proboost_cli/config.py +109 -0
  14. proboost_cli/mcp_client.py +113 -0
  15. proboost_cli/parse_result.py +53 -0
  16. proboost_cli/registry.py +112 -0
  17. proboost_cli/schemas/__init__.py +1 -0
  18. proboost_cli/schemas/amazon/__init__.py +1 -0
  19. proboost_cli/schemas/amazon/amz_category_query.json +20 -0
  20. proboost_cli/schemas/amazon/amz_hot_amz_hot_cat_tree.json +25 -0
  21. proboost_cli/schemas/amazon/amz_hot_amz_hot_list.json +33 -0
  22. proboost_cli/schemas/amazon/amz_market_price.json +28 -0
  23. proboost_cli/schemas/amazon/amz_product_selection.json +140 -0
  24. proboost_cli/schemas/amazon/amz_review_query.json +28 -0
  25. proboost_cli/schemas/amazon/amz_sales_query.json +20 -0
  26. proboost_cli/schemas/amazon/amz_sku_query.json +20 -0
  27. proboost_cli/schemas/patent/__init__.py +1 -0
  28. proboost_cli/schemas/patent/patent_abstract_image.json +17 -0
  29. proboost_cli/schemas/patent/patent_abstract_translated.json +28 -0
  30. proboost_cli/schemas/patent/patent_bibliography.json +17 -0
  31. proboost_cli/schemas/patent/patent_claim_data.json +21 -0
  32. proboost_cli/schemas/patent/patent_claim_translated.json +28 -0
  33. proboost_cli/schemas/patent/patent_description.json +21 -0
  34. proboost_cli/schemas/patent/patent_description_translated.json +28 -0
  35. proboost_cli/schemas/patent/patent_family.json +17 -0
  36. proboost_cli/schemas/patent/patent_fulltext_image.json +29 -0
  37. proboost_cli/schemas/patent/patent_image_search_multiple.json +117 -0
  38. proboost_cli/schemas/patent/patent_image_search_single.json +114 -0
  39. proboost_cli/schemas/patent/patent_legal_status.json +17 -0
  40. proboost_cli/schemas/patent/patent_pdf.json +21 -0
  41. proboost_cli/schemas/patent/patent_query_count.json +36 -0
  42. proboost_cli/schemas/patent/patent_query_search.json +40 -0
  43. proboost_cli/schemas/patent/patent_query_search_with_agg.json +55 -0
  44. proboost_cli/schemas/patent/patent_semantic_search.json +48 -0
  45. proboost_cli/schemas/tiktok/__init__.py +1 -0
  46. proboost_cli/schemas/tiktok/tk_expert_sale_show.json +20 -0
  47. proboost_cli/schemas/tiktok/tt_commodity_detail.json +21 -0
  48. proboost_cli/schemas/tiktok/tt_commodity_expert_draw_expert_trend.json +20 -0
  49. proboost_cli/schemas/tiktok/tt_commodity_get_commodity_cat_tree.json +8 -0
  50. proboost_cli/schemas/tiktok/tt_commodity_info_list.json +180 -0
  51. proboost_cli/schemas/tiktok/tt_commodity_sales_trend.json +33 -0
  52. proboost_cli/schemas/tiktok/tt_commodity_statistics_get_category_statistics.json +28 -0
  53. proboost_cli/schemas/tiktok/tt_commodity_statistics_get_expert_statistics.json +28 -0
  54. proboost_cli/schemas/tiktok/tt_commodity_statistics_get_price_statistics.json +28 -0
  55. proboost_cli/schemas/tiktok/tt_commodity_statistics_get_total_statistics.json +28 -0
  56. proboost_cli/schemas/tiktok/tt_commodity_voice_analyze.json +36 -0
  57. proboost_cli/schemas/tiktok/tt_expert_basic_analyze.json +24 -0
  58. proboost_cli/schemas/tiktok/tt_expert_category_analyze.json +29 -0
  59. proboost_cli/schemas/tiktok/tt_expert_detail.json +20 -0
  60. proboost_cli/schemas/tiktok/tt_expert_fans_analyze.json +20 -0
  61. proboost_cli/schemas/tiktok/tt_expert_fans_portrait.json +20 -0
  62. proboost_cli/schemas/tiktok/tt_expert_info_list.json +180 -0
  63. proboost_cli/schemas/tiktok/tt_sale_channel_sale_channel.json +26 -0
  64. proboost_cli/schemas/tiktok/tt_shop_commodity_account_list.json +28 -0
  65. proboost_cli/schemas/tiktok/tt_shop_detail.json +28 -0
  66. proboost_cli/schemas/tiktok/tt_shop_info_list.json +108 -0
  67. proboost_cli/schemas/tiktok/tt_shop_market_info.json +28 -0
  68. proboost_cli/schemas/tiktok/tt_shop_sales_trend.json +33 -0
  69. proboost_cli/schemas/tiktok/tt_video_content.json +20 -0
  70. proboost_cli/schemas/tiktok/tt_video_detail.json +20 -0
  71. proboost_cli/schemas/tiktok/tt_video_info_list.json +152 -0
  72. proboost_cli/schemas/tiktok/tt_video_new_video_summary.json +20 -0
  73. proboost_cli/schemas/tiktok/tt_video_script_diy_query.json +20 -0
  74. proboost_cli/schemas/tiktok/tt_video_voice_read.json +28 -0
  75. proboost_cli/schemas/tiktok/tt_video_voice_summary.json +28 -0
  76. proboost_cli/schemas_loader.py +49 -0
@@ -0,0 +1,153 @@
1
+ Metadata-Version: 2.4
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
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
+ Classifier: Programming Language :: Python :: 3
13
+ Classifier: Programming Language :: Python :: 3 :: Only
14
+ Classifier: Programming Language :: Python :: 3.10
15
+ Classifier: Programming Language :: Python :: 3.11
16
+ Classifier: Programming Language :: Python :: 3.12
17
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
18
+ Classifier: Topic :: Utilities
19
+ Requires-Python: >=3.10
20
+ Description-Content-Type: text/markdown
21
+ License-File: LICENSE
22
+ Requires-Dist: httpx>=0.27
23
+ Requires-Dist: mcp>=1.24
24
+ Requires-Dist: rich>=13.0
25
+ Requires-Dist: typer>=0.12
26
+ Provides-Extra: dev
27
+ 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
+
32
+ # openboost-cli
33
+
34
+ 统一 Proboost MCP 命令行工具,包含 TikTok、Patent、Amazon 三套 MCP 的交互式菜单、快捷命令、通用调用和 Python 客户端。
35
+
36
+ ## 安装
37
+
38
+ 从 PyPI 安装:
39
+
40
+ ```bash
41
+ pip install openboost-cli
42
+ ```
43
+
44
+ 开发安装:
45
+
46
+ ```bash
47
+ python3.12 -m venv .venv
48
+ source .venv/bin/activate
49
+ pip install --upgrade pip
50
+ pip install -e ".[dev]"
51
+ ```
52
+
53
+ 安装后命令为:
54
+
55
+ ```bash
56
+ proboost --help
57
+ ```
58
+
59
+ ## 配置密钥
60
+
61
+ 三套 MCP 共用同一个密钥时:
62
+
63
+ ```bash
64
+ proboost config set --secret-key "你的密钥"
65
+ ```
66
+
67
+ 也可以只配置某一个 MCP:
68
+
69
+ ```bash
70
+ proboost config set --mcp patent --secret-key "你的密钥"
71
+ proboost config set --mcp amazon --base-url "http://mcp.microdata-inc.com/mcp-servers/proboost-amazon-mcp"
72
+ ```
73
+
74
+ 环境变量也支持:
75
+
76
+ ```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 专用密钥"
81
+ ```
82
+
83
+ ## 通用命令
84
+
85
+ ```bash
86
+ proboost # 交互式菜单
87
+ proboost list # 列出全部 55 个工具
88
+ proboost docs patent patent_query_search
89
+
90
+ proboost call tiktok tt_video_content \
91
+ --set countryRegion=美国 \
92
+ --set videoId=7587942790298979614
93
+
94
+ proboost call patent patent_query_count \
95
+ --set query_text="TACD: virtual reality"
96
+
97
+ proboost call amazon amz_product_selection \
98
+ --set webSiteId=1 \
99
+ --set pages=1 \
100
+ --set pagesSize=10
101
+ ```
102
+
103
+ ## 快捷命令示例
104
+
105
+ TikTok:
106
+
107
+ ```bash
108
+ proboost tiktok commodity category-tree
109
+ proboost tiktok video content 7587942790298979614 --country 美国
110
+ proboost tiktok shop list --data-period last30d --country 美国
111
+ ```
112
+
113
+ Patent:
114
+
115
+ ```bash
116
+ proboost patent search count "TACD: virtual reality"
117
+ proboost patent search query "TACD: virtual reality" --limit 10
118
+ proboost patent detail bibliography --patent-number US11205304B2
119
+ proboost patent image-search single "https://example.com/image.jpg" --model 1 --patent-type D
120
+ ```
121
+
122
+ Amazon:
123
+
124
+ ```bash
125
+ proboost amazon product selection --site 1 --pages 1 --pages-size 10
126
+ proboost amazon product sku B0EXAMPLE --site 1
127
+ proboost amazon hot cat-tree --site 1 --rank-type "Best Seller"
128
+ ```
129
+
130
+ 复杂筛选条件可追加 `key=value`:
131
+
132
+ ```bash
133
+ proboost amazon product selection --site 1 minPrice=10 maxPrice=30 sortField=sku_sales_last_30d sortOrder=desc
134
+ ```
135
+
136
+ ## Python 客户端
137
+
138
+ ```python
139
+ from proboost_cli import Proboost
140
+
141
+ pb = Proboost()
142
+ content = pb.tiktok.tt_video_content(countryRegion="美国", videoId="7587942790298979614")
143
+ count = pb.patent.patent_query_count(query_text="TACD: virtual reality")
144
+ items = pb.amazon.amz_product_selection(webSiteId="1", pages=1, pagesSize=10)
145
+ ```
146
+
147
+ ## 测试
148
+
149
+ ```bash
150
+ python -m pytest
151
+ proboost --help
152
+ proboost list
153
+ ```
@@ -0,0 +1,76 @@
1
+ openboost_cli-0.1.0.dist-info/licenses/LICENSE,sha256=53Wq-O9sqEWz-sSa7mhJ2of-SB9uQIBJxSvt9wIzuBQ,1069
2
+ proboost_cli/__init__.py,sha256=oDc4MygtzDZ2v6zawVtjy8kdE32kIHPTYonyElf14oI,584
3
+ proboost_cli/client.py,sha256=NJzN8zt6Ao3OsmKYLDgBHR4ukEvZizkarfnY9cSzIL4,1692
4
+ proboost_cli/coerce_args.py,sha256=LI0NBfBCTV0noxEGPNsIqXqy6bOIykK3ZvbHxDxHVcI,1854
5
+ proboost_cli/config.py,sha256=10Devzz4mWe9aGYYdMluZz_XDP_XOKnGDdphfIpDUtE,3060
6
+ proboost_cli/mcp_client.py,sha256=PKucGEKsAb_h6STOk3JpvFRbY4ic6PJfzDXzlK3wsHQ,4018
7
+ proboost_cli/parse_result.py,sha256=1vp3nckCmXFtm7U_QO5MQrA4rcBOY1UEgNomnsrcQFI,1426
8
+ proboost_cli/registry.py,sha256=UUHkre5CR1GPqyyO2oCm8jyhEgTwCsmbHi1VN5n8bzI,3278
9
+ proboost_cli/schemas_loader.py,sha256=xtSCiMtQmsbrg1jV3ZV49_0SWGuVQOegPUwT_TrAsvY,1541
10
+ proboost_cli/cli/__init__.py,sha256=koNd1zkPCuCaCz_z7h4DGGAFSMuYYgfUzeb48duaDdg,24
11
+ proboost_cli/cli/interactive.py,sha256=zGN5rMExpY8aVj76Y1TT47GJDrBDHdBNc0_gurw7LFg,4596
12
+ proboost_cli/cli/main.py,sha256=QADMm4q_YJAddCm4S8fQQOo8qgTs5Ij4C60z7fwKfgQ,32610
13
+ proboost_cli/schemas/__init__.py,sha256=t2oIT4kNN0ODf6HNstWu7uLFEVtu4VW_DOlwdU6lI9g,53
14
+ proboost_cli/schemas/amazon/__init__.py,sha256=XiUPtNiA0py0T9P9tT4XFbojhJBXrw-eerHPPTtc34U,33
15
+ proboost_cli/schemas/amazon/amz_category_query.json,sha256=NFjP4JsjgP0J8khbNtqHpG7p7bPRIS_E4oIHb5oF9aQ,523
16
+ proboost_cli/schemas/amazon/amz_hot_amz_hot_cat_tree.json,sha256=nUDwAQYGk8fxpYEP0jNLCIzR3ErlH9l6neiW2GSlXS8,688
17
+ proboost_cli/schemas/amazon/amz_hot_amz_hot_list.json,sha256=-0J0M0w8r-STjOP1YWTgHIRp46kdclTOS3Om9mAJvNQ,916
18
+ proboost_cli/schemas/amazon/amz_market_price.json,sha256=QVmOIOgixKJ9BHYWzhkqq5nCzA_n9zuSXkITaIrvdOA,1071
19
+ proboost_cli/schemas/amazon/amz_product_selection.json,sha256=NLexWGpmBhh1JSM1pSIDkuvA4_vJy_JJvidSF2Uidvw,5691
20
+ proboost_cli/schemas/amazon/amz_review_query.json,sha256=yL3l1hbheqCw7VVn8EO82fW-Rk6bgyfCXRM9tet6Ovc,662
21
+ proboost_cli/schemas/amazon/amz_sales_query.json,sha256=7vEhJjw5IeWxL6RGJBDs5cE-OW5E7e0X55qX8KOwPzg,495
22
+ proboost_cli/schemas/amazon/amz_sku_query.json,sha256=LXE909TBUdm-c6DjnMmbQR36jPDC0_BYFoFM4cKLRs8,484
23
+ proboost_cli/schemas/patent/__init__.py,sha256=Ms5XFPShigpYbbB1EG66XBlC9RFZm8IkmQCDotZkknw,33
24
+ proboost_cli/schemas/patent/patent_abstract_image.json,sha256=1Fy7znJSwDQEUCymihOQq4krW3gELHNf9ZuN032-vMY,638
25
+ proboost_cli/schemas/patent/patent_abstract_translated.json,sha256=Ki237Y-WIc-CEeg3dN7CfIM2Vngpxvm0nTi0X12wOb0,1073
26
+ proboost_cli/schemas/patent/patent_bibliography.json,sha256=9NPArd4Clz28RWxZx-u4NA3-xP5xNEWs1uBweFXd43o,776
27
+ proboost_cli/schemas/patent/patent_claim_data.json,sha256=EKeOMJf7ANIUroCFYihYV_PPo65llFNaa0MXLZ_LMNs,878
28
+ proboost_cli/schemas/patent/patent_claim_translated.json,sha256=hopukS84MTbzTcG5gdkUpFkOcrXILFd72QF_vYaaPH8,1087
29
+ proboost_cli/schemas/patent/patent_description.json,sha256=RO7s0l4V36SEXP4obY8dUWd52gFxhuw8NJBgwb0n00M,869
30
+ proboost_cli/schemas/patent/patent_description_translated.json,sha256=JO4v0vFmiuGViH5wNjy2IAWgd8ui1YnKvzv6VoKayoU,1042
31
+ proboost_cli/schemas/patent/patent_family.json,sha256=sO_gpkSfFkRidPPEy0UszcvcNThqHdKBqTczQMmIwjE,681
32
+ proboost_cli/schemas/patent/patent_fulltext_image.json,sha256=kfVVbuee6A_fQd2cyCTDwygZqQ_ggWpu_rca5prggPg,926
33
+ proboost_cli/schemas/patent/patent_image_search_multiple.json,sha256=6INr9cBoSO-9c0d_De7pXWWfJoe6XCabBaT-tlvS0KQ,4399
34
+ proboost_cli/schemas/patent/patent_image_search_single.json,sha256=X8b3tZQBxNIVvA2knAcuR8tsNe8Mc2EsNxpf-Ymh-XM,4102
35
+ proboost_cli/schemas/patent/patent_legal_status.json,sha256=xdVIgR1GMSbi0lpA-1TQ-Geh27bCP7wciFurg3HP_RY,744
36
+ proboost_cli/schemas/patent/patent_pdf.json,sha256=gfiPNwyT5ZvLe-SsPsRGfaS4j9b6Vafcc8G2G38HUcA,827
37
+ proboost_cli/schemas/patent/patent_query_count.json,sha256=sl_4pMTcCsEHtoWR0CWr1pU449oTlCoygzQ_cja95OQ,1496
38
+ proboost_cli/schemas/patent/patent_query_search.json,sha256=e3mdqXylZ4C1q1aBc-4m9tULEXy-9UcbK6yuX2Rangw,2002
39
+ proboost_cli/schemas/patent/patent_query_search_with_agg.json,sha256=vIKFX5J1CM22f7vKbUD3OhVQPNWZe2HjFGxnJDV2b5g,1994
40
+ proboost_cli/schemas/patent/patent_semantic_search.json,sha256=XZjs_BLnn92fdwrN4J3mgv_uzZ7n9dAnp3bEPo8SL48,1750
41
+ proboost_cli/schemas/tiktok/__init__.py,sha256=TQmAUg3PZP4nlWLXMsgX2BOjXmeLSmGwHTGXAn6oaBQ,33
42
+ proboost_cli/schemas/tiktok/tk_expert_sale_show.json,sha256=eVMh2-nvsLN3c9i7YCW9Uw6hDMpRSUSPgB8AOarhxso,621
43
+ proboost_cli/schemas/tiktok/tt_commodity_detail.json,sha256=16pS0mDTXCQbKGjJk2Ix1MYdJeyGquhL7xHe4pj6VaI,728
44
+ proboost_cli/schemas/tiktok/tt_commodity_expert_draw_expert_trend.json,sha256=ki7QvKLzJV_C6lggBiwbBy16piNlWpVjYcPf7ihhuzY,651
45
+ proboost_cli/schemas/tiktok/tt_commodity_get_commodity_cat_tree.json,sha256=6KGEcLiMAErjO39Dw4V7umsRAc6CNqeJEUmjzK0iGJQ,308
46
+ proboost_cli/schemas/tiktok/tt_commodity_info_list.json,sha256=x0vzkjXgFaTRzmQTA_OO6QCIAGaFo9i7F9BizOcMxFw,6123
47
+ proboost_cli/schemas/tiktok/tt_commodity_sales_trend.json,sha256=ybfYcfJcWnpZtQVLhyNKQXl5Kve6RyJMoXLI0kQp2ZU,1466
48
+ proboost_cli/schemas/tiktok/tt_commodity_statistics_get_category_statistics.json,sha256=97MTB6x2nOVxZK3VpyHZgmy6G18HLKtGZvYQ1O2VTQA,1235
49
+ proboost_cli/schemas/tiktok/tt_commodity_statistics_get_expert_statistics.json,sha256=xbL6y-OSJZlgzwB9ilP1V_NrJvK888XRFJMqnOLP2Qg,1111
50
+ proboost_cli/schemas/tiktok/tt_commodity_statistics_get_price_statistics.json,sha256=4htIIGjwkQWVNWNXTTOp6FHernrsswfojb31c7R3tmo,1151
51
+ proboost_cli/schemas/tiktok/tt_commodity_statistics_get_total_statistics.json,sha256=k_MD8S_IZiWUYniWSZrMCnTrPEYdSv4vDL0X_a8MUqc,1199
52
+ proboost_cli/schemas/tiktok/tt_commodity_voice_analyze.json,sha256=WCAwFSpwdfQhiSls42fBJxBi1M0E8bJVfLxolHoBMbg,1414
53
+ proboost_cli/schemas/tiktok/tt_expert_basic_analyze.json,sha256=bwXGFSOIWQf3LGqcsWXyEt-CTPpxVkbzXQeXVz85Rc4,675
54
+ proboost_cli/schemas/tiktok/tt_expert_category_analyze.json,sha256=NPvRxO5bTl68fAJigb0v9bRR7SkriHwtGgL_MbQVd-Y,1225
55
+ proboost_cli/schemas/tiktok/tt_expert_detail.json,sha256=77f17L-F4RFRj4YBgGSDMwecXAQPohMDiZqXMCfhldM,631
56
+ proboost_cli/schemas/tiktok/tt_expert_fans_analyze.json,sha256=r4TrQYPcanC-ZNS2ccefNjJME3PBzb45Ygf6Dv-wfYM,744
57
+ proboost_cli/schemas/tiktok/tt_expert_fans_portrait.json,sha256=ehIQQ6BXfAccSlXgxPWDTdDDvQMOlbipRbDrWqggUNI,591
58
+ proboost_cli/schemas/tiktok/tt_expert_info_list.json,sha256=0buhDemLnhQ2vXKTA6rg4SZoKCNS50fUMirLDHB0Mng,5766
59
+ proboost_cli/schemas/tiktok/tt_sale_channel_sale_channel.json,sha256=dh1EfvHtl5-w4FEWuLcWLUWal9nsGsrrS2HVcDDjkyc,837
60
+ proboost_cli/schemas/tiktok/tt_shop_commodity_account_list.json,sha256=q5Pfp1_TGbF_GGhdQ4Eb_ZtJg-yeTR0a_wdjKMFXMCM,846
61
+ proboost_cli/schemas/tiktok/tt_shop_detail.json,sha256=DcQrpO_6diEXKGt97ngxcNOgTlyvg4dXc2rIOg523ic,826
62
+ proboost_cli/schemas/tiktok/tt_shop_info_list.json,sha256=tuvBH4WM528hsIVxBgC2A-qn_WQc6DbL-Y1gN2ppIM4,2966
63
+ proboost_cli/schemas/tiktok/tt_shop_market_info.json,sha256=iaxRWGm7HDNAV_foJW7h_0VqR2oY8fhDPlBHE4DLPes,941
64
+ proboost_cli/schemas/tiktok/tt_shop_sales_trend.json,sha256=LVaRA9SuxiittmzTKKuoD2kamzymyQUfq8tFPKYaWzA,1032
65
+ proboost_cli/schemas/tiktok/tt_video_content.json,sha256=-JMviSGSKobCvhxeWksEfWB6jiUFOPxJ7sf0TQvEgik,718
66
+ proboost_cli/schemas/tiktok/tt_video_detail.json,sha256=_Qod_dDhVpiE5V26l0c5JwgPK-ZYpgsM5bPGcDxqkY8,548
67
+ proboost_cli/schemas/tiktok/tt_video_info_list.json,sha256=iiNmoHlYe_iQTt9wRI_9S-nabPuL-lTInULjFnAEHCA,4703
68
+ proboost_cli/schemas/tiktok/tt_video_new_video_summary.json,sha256=SSyYoNVCB_NRvLozRcZ7RHQSdaC8i-0HorZbTscYFuc,595
69
+ proboost_cli/schemas/tiktok/tt_video_script_diy_query.json,sha256=YMpJHAgpCCd9S41ebiwlE0DRZpt5XJQfSfcED1O-Icc,710
70
+ proboost_cli/schemas/tiktok/tt_video_voice_read.json,sha256=yXNUkTIkrU0RWZY3x5Vm2g-SnOpbN0HvqsqJEez6-PU,762
71
+ proboost_cli/schemas/tiktok/tt_video_voice_summary.json,sha256=uHv0My5Kqth4muP8ZjA0l6jxRIi8uQeLfNLg-0y4Euw,866
72
+ openboost_cli-0.1.0.dist-info/METADATA,sha256=oQlM3WlOErGPpPCGqmbdZAgC_K-dhrpZZ86BH7j8RJQ,3908
73
+ openboost_cli-0.1.0.dist-info/WHEEL,sha256=aeYiig01lYGDzBgS8HxWXOg3uV61G9ijOsup-k9o1sk,91
74
+ openboost_cli-0.1.0.dist-info/entry_points.txt,sha256=HK1KJ8R5Q2OmH-QwHVE57524nuExAvUBRwgp9BBqxYY,56
75
+ openboost_cli-0.1.0.dist-info/top_level.txt,sha256=DTDv4jPJBfjN_alFx1wWZxeBevJx0PDu_CSs0hQokrY,13
76
+ openboost_cli-0.1.0.dist-info/RECORD,,
@@ -0,0 +1,5 @@
1
+ Wheel-Version: 1.0
2
+ Generator: setuptools (82.0.1)
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
5
+
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ proboost = proboost_cli.cli.main:main
@@ -0,0 +1,21 @@
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.
@@ -0,0 +1 @@
1
+ proboost_cli
@@ -0,0 +1,21 @@
1
+ """Unified Proboost MCP CLI and Python client."""
2
+
3
+ __version__ = "0.1.0"
4
+
5
+ DEFAULT_BASE_URLS = {
6
+ "tiktok": "http://mcp.microdata-inc.com/mcp-servers/proboost-tiktok-mcp",
7
+ "patent": "http://mcp.microdata-inc.com/mcp-servers/proboost-patent-mcp",
8
+ "amazon": "http://mcp.microdata-inc.com/mcp-servers/proboost-amazon-mcp",
9
+ }
10
+
11
+ MCP_LABELS = {
12
+ "tiktok": "TikTok",
13
+ "patent": "Patent",
14
+ "amazon": "Amazon",
15
+ }
16
+
17
+ MCP_NAMES = tuple(DEFAULT_BASE_URLS.keys())
18
+
19
+ from .client import Proboost
20
+
21
+ __all__ = ["DEFAULT_BASE_URLS", "MCP_LABELS", "MCP_NAMES", "Proboost", "__version__"]
@@ -0,0 +1 @@
1
+ """CLI entry points."""
@@ -0,0 +1,107 @@
1
+ from __future__ import annotations
2
+
3
+ import asyncio
4
+ import json
5
+ from typing import Any
6
+
7
+ from rich.console import Console
8
+ from rich.panel import Panel
9
+ from rich.prompt import Prompt
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
18
+
19
+ console = Console()
20
+
21
+
22
+ def run_interactive(
23
+ *,
24
+ secret_key: str | None = None,
25
+ base_url: str | None = None,
26
+ ) -> None:
27
+ console.print(Panel(
28
+ "[bold cyan]Proboost CLI[/bold cyan]\n统一调用 TikTok / Patent / Amazon MCP",
29
+ title="proboost",
30
+ border_style="cyan",
31
+ ))
32
+
33
+ mcp_options = list(MCP_NAMES)
34
+ console.print("\n[bold]选择 MCP:[/bold]")
35
+ for idx, mcp in enumerate(mcp_options, 1):
36
+ console.print(f" [cyan]{idx}[/cyan]. {MCP_LABELS[mcp]}")
37
+ console.print(" [cyan]0[/cyan]. 退出")
38
+ mcp_choice = Prompt.ask("请选择", choices=[str(i) for i in range(len(mcp_options) + 1)], default="0")
39
+ if mcp_choice == "0":
40
+ return
41
+ mcp = mcp_options[int(mcp_choice) - 1]
42
+
43
+ domain_keys = [key for key in DOMAIN_LABELS[mcp] if DOMAIN_TOOLS[mcp].get(key)]
44
+ console.print(f"\n[bold]{MCP_LABELS[mcp]} — 选择工具分类:[/bold]")
45
+ for idx, domain in enumerate(domain_keys, 1):
46
+ console.print(f" [cyan]{idx}[/cyan]. {DOMAIN_LABELS[mcp][domain]} ({len(DOMAIN_TOOLS[mcp][domain])} 个工具)")
47
+ console.print(" [cyan]0[/cyan]. 返回")
48
+ domain_choice = Prompt.ask("请选择", choices=[str(i) for i in range(len(domain_keys) + 1)], default="0")
49
+ if domain_choice == "0":
50
+ return run_interactive(secret_key=secret_key, base_url=base_url)
51
+ domain = domain_keys[int(domain_choice) - 1]
52
+
53
+ tool_names = DOMAIN_TOOLS[mcp][domain]
54
+ console.print(f"\n[bold]{DOMAIN_LABELS[mcp][domain]} — 选择工具:[/bold]")
55
+ for idx, tool_name in enumerate(tool_names, 1):
56
+ console.print(f" [cyan]{idx}[/cyan]. {TOOLS[mcp][tool_name].label} [dim]({tool_name})[/dim]")
57
+ console.print(" [cyan]0[/cyan]. 返回")
58
+ tool_choice = Prompt.ask("请选择", choices=[str(i) for i in range(len(tool_names) + 1)], default="0")
59
+ if tool_choice == "0":
60
+ return run_interactive(secret_key=secret_key, base_url=base_url)
61
+
62
+ tool_name = tool_names[int(tool_choice) - 1]
63
+ tool_doc = load_tool_definitions(mcp)[tool_name]
64
+ props = tool_schema_properties(tool_doc)
65
+ kwargs: dict[str, Any] = {}
66
+
67
+ console.print(f"\n[bold]执行: {TOOLS[mcp][tool_name].label}[/bold] [dim]({mcp}.{tool_name})[/dim]")
68
+ for key in TOOLS[mcp][tool_name].required:
69
+ schema = props.get(key) if isinstance(props.get(key), dict) else {}
70
+ hint = f" [dim]{schema.get('description', '')[:80]}[/dim]" if schema else ""
71
+ val = Prompt.ask(f" [yellow]{key}[/yellow] (必填){hint}")
72
+ kwargs[key] = coerce_argument_value(val, schema if isinstance(schema, dict) else None)
73
+
74
+ console.print(" [dim]输入可选参数 key=value,直接回车跳过[/dim]")
75
+ while True:
76
+ extra = Prompt.ask(" 可选参数", default="")
77
+ if not extra:
78
+ break
79
+ if "=" not in extra:
80
+ console.print("[yellow]格式应为 key=value[/yellow]")
81
+ continue
82
+ key, value = extra.split("=", 1)
83
+ schema = props.get(key.strip()) if isinstance(props.get(key.strip()), dict) else {}
84
+ kwargs[key.strip()] = coerce_argument_value(value, schema if isinstance(schema, dict) else None)
85
+
86
+ secret, resolved_base = effective_secret_and_base(mcp, secret_key=secret_key, base_url=base_url)
87
+ if not secret:
88
+ console.print("[red]缺少 secret-key。请运行 proboost config set --secret-key ...[/red]")
89
+ raise SystemExit(1)
90
+
91
+ try:
92
+ result = asyncio.run(invoke_tool_async(resolved_base, secret, tool_name, kwargs))
93
+ except Exception as exc:
94
+ console.print(f"[red]MCP 调用失败: {exc}[/red]")
95
+ raise SystemExit(2) from exc
96
+
97
+ text = extract_result_text(result)
98
+ if result.isError:
99
+ console.print(text or "[red]工具返回错误[/red]")
100
+ raise SystemExit(3)
101
+
102
+ try:
103
+ decoded = decode_embedded_payload(text)
104
+ except ValueError:
105
+ console.print(text)
106
+ else:
107
+ console.print_json(json.dumps(decoded, ensure_ascii=False))