gitinstall 1.1.3__tar.gz → 1.2.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 (64) hide show
  1. {gitinstall-1.1.3/gitinstall.egg-info → gitinstall-1.2.0}/PKG-INFO +7 -5
  2. {gitinstall-1.1.3 → gitinstall-1.2.0}/README.md +5 -3
  3. {gitinstall-1.1.3 → gitinstall-1.2.0/gitinstall.egg-info}/PKG-INFO +7 -5
  4. {gitinstall-1.1.3 → gitinstall-1.2.0}/pyproject.toml +2 -2
  5. {gitinstall-1.1.3 → gitinstall-1.2.0}/tools/_sdk.py +28 -0
  6. {gitinstall-1.1.3 → gitinstall-1.2.0}/tools/clawhub.html +1 -1
  7. {gitinstall-1.1.3 → gitinstall-1.2.0}/tools/main.py +1 -1
  8. {gitinstall-1.1.3 → gitinstall-1.2.0}/tools/mcp_agent.py +1 -1
  9. {gitinstall-1.1.3 → gitinstall-1.2.0}/tools/mcp_server.py +43 -1
  10. {gitinstall-1.1.3 → gitinstall-1.2.0}/tools/onboard.py +1 -1
  11. {gitinstall-1.1.3 → gitinstall-1.2.0}/tools/tool_schemas.py +39 -1
  12. {gitinstall-1.1.3 → gitinstall-1.2.0}/tools/web_ui.html +2 -2
  13. {gitinstall-1.1.3 → gitinstall-1.2.0}/LICENSE +0 -0
  14. {gitinstall-1.1.3 → gitinstall-1.2.0}/MANIFEST.in +0 -0
  15. {gitinstall-1.1.3 → gitinstall-1.2.0}/gitinstall.egg-info/SOURCES.txt +0 -0
  16. {gitinstall-1.1.3 → gitinstall-1.2.0}/gitinstall.egg-info/dependency_links.txt +0 -0
  17. {gitinstall-1.1.3 → gitinstall-1.2.0}/gitinstall.egg-info/entry_points.txt +0 -0
  18. {gitinstall-1.1.3 → gitinstall-1.2.0}/gitinstall.egg-info/top_level.txt +0 -0
  19. {gitinstall-1.1.3 → gitinstall-1.2.0}/setup.cfg +0 -0
  20. {gitinstall-1.1.3 → gitinstall-1.2.0}/tools/__init__.py +0 -0
  21. {gitinstall-1.1.3 → gitinstall-1.2.0}/tools/academic.py +0 -0
  22. {gitinstall-1.1.3 → gitinstall-1.2.0}/tools/admin.html +0 -0
  23. {gitinstall-1.1.3 → gitinstall-1.2.0}/tools/auto_update.py +0 -0
  24. {gitinstall-1.1.3 → gitinstall-1.2.0}/tools/autopilot.py +0 -0
  25. {gitinstall-1.1.3 → gitinstall-1.2.0}/tools/badge.py +0 -0
  26. {gitinstall-1.1.3 → gitinstall-1.2.0}/tools/checkpoint.py +0 -0
  27. {gitinstall-1.1.3 → gitinstall-1.2.0}/tools/cicd.py +0 -0
  28. {gitinstall-1.1.3 → gitinstall-1.2.0}/tools/config_schema.py +0 -0
  29. {gitinstall-1.1.3 → gitinstall-1.2.0}/tools/db.py +0 -0
  30. {gitinstall-1.1.3 → gitinstall-1.2.0}/tools/db_backend.py +0 -0
  31. {gitinstall-1.1.3 → gitinstall-1.2.0}/tools/dep_chain.py +0 -0
  32. {gitinstall-1.1.3 → gitinstall-1.2.0}/tools/dependency_audit.py +0 -0
  33. {gitinstall-1.1.3 → gitinstall-1.2.0}/tools/detector.py +0 -0
  34. {gitinstall-1.1.3 → gitinstall-1.2.0}/tools/doctor.py +0 -0
  35. {gitinstall-1.1.3 → gitinstall-1.2.0}/tools/education.py +0 -0
  36. {gitinstall-1.1.3 → gitinstall-1.2.0}/tools/enterprise.py +0 -0
  37. {gitinstall-1.1.3 → gitinstall-1.2.0}/tools/error_fixer.py +0 -0
  38. {gitinstall-1.1.3 → gitinstall-1.2.0}/tools/event_bus.py +0 -0
  39. {gitinstall-1.1.3 → gitinstall-1.2.0}/tools/executor.py +0 -0
  40. {gitinstall-1.1.3 → gitinstall-1.2.0}/tools/feature_flags.py +0 -0
  41. {gitinstall-1.1.3 → gitinstall-1.2.0}/tools/fetcher.py +0 -0
  42. {gitinstall-1.1.3 → gitinstall-1.2.0}/tools/huggingface.py +0 -0
  43. {gitinstall-1.1.3 → gitinstall-1.2.0}/tools/hw_detect.py +0 -0
  44. {gitinstall-1.1.3 → gitinstall-1.2.0}/tools/i18n.py +0 -0
  45. {gitinstall-1.1.3 → gitinstall-1.2.0}/tools/installer_registry.py +0 -0
  46. {gitinstall-1.1.3 → gitinstall-1.2.0}/tools/knowledge_base.py +0 -0
  47. {gitinstall-1.1.3 → gitinstall-1.2.0}/tools/license_check.py +0 -0
  48. {gitinstall-1.1.3 → gitinstall-1.2.0}/tools/llm.py +0 -0
  49. {gitinstall-1.1.3 → gitinstall-1.2.0}/tools/log.py +0 -0
  50. {gitinstall-1.1.3 → gitinstall-1.2.0}/tools/monorepo.py +0 -0
  51. {gitinstall-1.1.3 → gitinstall-1.2.0}/tools/multi_source.py +0 -0
  52. {gitinstall-1.1.3 → gitinstall-1.2.0}/tools/planner.py +0 -0
  53. {gitinstall-1.1.3 → gitinstall-1.2.0}/tools/planner_helpers.py +0 -0
  54. {gitinstall-1.1.3 → gitinstall-1.2.0}/tools/planner_known_projects.py +0 -0
  55. {gitinstall-1.1.3 → gitinstall-1.2.0}/tools/planner_templates.py +0 -0
  56. {gitinstall-1.1.3 → gitinstall-1.2.0}/tools/remote_gpu.py +0 -0
  57. {gitinstall-1.1.3 → gitinstall-1.2.0}/tools/resilience.py +0 -0
  58. {gitinstall-1.1.3 → gitinstall-1.2.0}/tools/run_tests.py +0 -0
  59. {gitinstall-1.1.3 → gitinstall-1.2.0}/tools/skills.py +0 -0
  60. {gitinstall-1.1.3 → gitinstall-1.2.0}/tools/trending.py +0 -0
  61. {gitinstall-1.1.3 → gitinstall-1.2.0}/tools/uninstaller.py +0 -0
  62. {gitinstall-1.1.3 → gitinstall-1.2.0}/tools/validate_top100.py +0 -0
  63. {gitinstall-1.1.3 → gitinstall-1.2.0}/tools/watchdog.py +0 -0
  64. {gitinstall-1.1.3 → gitinstall-1.2.0}/tools/web.py +0 -0
@@ -1,7 +1,7 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: gitinstall
3
- Version: 1.1.3
4
- Summary: MCP server & CLI that gives AI agents the ability to install GitHub open-source projects — zero dependencies
3
+ Version: 1.2.0
4
+ Summary: MCP server & CLI that helps you easily install GitHub projects — zero dependencies
5
5
  Author: icerui
6
6
  License: MIT
7
7
  Project-URL: Homepage, https://github.com/icerui/github-installer
@@ -28,8 +28,8 @@ Dynamic: license-file
28
28
  # gitinstall
29
29
 
30
30
  <p align="center">
31
- <strong>MCP server that gives AI agents the ability to install GitHub open-source projects</strong><br/>
32
- <em>让 AI Agent 拥有安装 GitHub 开源项目的能力</em>
31
+ <strong>MCP server & CLI helps you easily install GitHub projects</strong><br/>
32
+ <em>让你轻松安装 GitHub 项目</em>
33
33
  </p>
34
34
 
35
35
  <p align="center">
@@ -126,7 +126,7 @@ gitinstall-mcp # Starts MCP server on stdio (JSON-RPC 2.0)
126
126
 
127
127
  ## MCP Tools
128
128
 
129
- gitinstall exposes 6 tools via MCP:
129
+ gitinstall exposes 7 tools via MCP:
130
130
 
131
131
  | Tool | What it does |
132
132
  |------|-------------|
@@ -136,6 +136,7 @@ gitinstall exposes 6 tools via MCP:
136
136
  | `get_project_info` | Fetch GitHub project metadata without installing |
137
137
  | `check_system_health` | Full system diagnostic with fix suggestions |
138
138
  | `audit_dependencies` | Scan project dependencies for known CVEs |
139
+ | `uninstall_github_project` | Safely uninstall a project: removes files, venvs, Docker, caches |
139
140
 
140
141
  ### Example: `install_github_project`
141
142
 
@@ -196,6 +197,7 @@ gitinstall works standalone too, no AI agent needed:
196
197
 
197
198
  ```bash
198
199
  gitinstall comfyanonymous/ComfyUI # Install a project
200
+ gitinstall uninstall comfyanonymous/ComfyUI --confirm # Safely uninstall
199
201
  gitinstall detect # Check your system
200
202
  gitinstall doctor # System diagnostic
201
203
  gitinstall audit pytorch/pytorch # Security audit
@@ -1,8 +1,8 @@
1
1
  # gitinstall
2
2
 
3
3
  <p align="center">
4
- <strong>MCP server that gives AI agents the ability to install GitHub open-source projects</strong><br/>
5
- <em>让 AI Agent 拥有安装 GitHub 开源项目的能力</em>
4
+ <strong>MCP server & CLI helps you easily install GitHub projects</strong><br/>
5
+ <em>让你轻松安装 GitHub 项目</em>
6
6
  </p>
7
7
 
8
8
  <p align="center">
@@ -99,7 +99,7 @@ gitinstall-mcp # Starts MCP server on stdio (JSON-RPC 2.0)
99
99
 
100
100
  ## MCP Tools
101
101
 
102
- gitinstall exposes 6 tools via MCP:
102
+ gitinstall exposes 7 tools via MCP:
103
103
 
104
104
  | Tool | What it does |
105
105
  |------|-------------|
@@ -109,6 +109,7 @@ gitinstall exposes 6 tools via MCP:
109
109
  | `get_project_info` | Fetch GitHub project metadata without installing |
110
110
  | `check_system_health` | Full system diagnostic with fix suggestions |
111
111
  | `audit_dependencies` | Scan project dependencies for known CVEs |
112
+ | `uninstall_github_project` | Safely uninstall a project: removes files, venvs, Docker, caches |
112
113
 
113
114
  ### Example: `install_github_project`
114
115
 
@@ -169,6 +170,7 @@ gitinstall works standalone too, no AI agent needed:
169
170
 
170
171
  ```bash
171
172
  gitinstall comfyanonymous/ComfyUI # Install a project
173
+ gitinstall uninstall comfyanonymous/ComfyUI --confirm # Safely uninstall
172
174
  gitinstall detect # Check your system
173
175
  gitinstall doctor # System diagnostic
174
176
  gitinstall audit pytorch/pytorch # Security audit
@@ -1,7 +1,7 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: gitinstall
3
- Version: 1.1.3
4
- Summary: MCP server & CLI that gives AI agents the ability to install GitHub open-source projects — zero dependencies
3
+ Version: 1.2.0
4
+ Summary: MCP server & CLI that helps you easily install GitHub projects — zero dependencies
5
5
  Author: icerui
6
6
  License: MIT
7
7
  Project-URL: Homepage, https://github.com/icerui/github-installer
@@ -28,8 +28,8 @@ Dynamic: license-file
28
28
  # gitinstall
29
29
 
30
30
  <p align="center">
31
- <strong>MCP server that gives AI agents the ability to install GitHub open-source projects</strong><br/>
32
- <em>让 AI Agent 拥有安装 GitHub 开源项目的能力</em>
31
+ <strong>MCP server & CLI helps you easily install GitHub projects</strong><br/>
32
+ <em>让你轻松安装 GitHub 项目</em>
33
33
  </p>
34
34
 
35
35
  <p align="center">
@@ -126,7 +126,7 @@ gitinstall-mcp # Starts MCP server on stdio (JSON-RPC 2.0)
126
126
 
127
127
  ## MCP Tools
128
128
 
129
- gitinstall exposes 6 tools via MCP:
129
+ gitinstall exposes 7 tools via MCP:
130
130
 
131
131
  | Tool | What it does |
132
132
  |------|-------------|
@@ -136,6 +136,7 @@ gitinstall exposes 6 tools via MCP:
136
136
  | `get_project_info` | Fetch GitHub project metadata without installing |
137
137
  | `check_system_health` | Full system diagnostic with fix suggestions |
138
138
  | `audit_dependencies` | Scan project dependencies for known CVEs |
139
+ | `uninstall_github_project` | Safely uninstall a project: removes files, venvs, Docker, caches |
139
140
 
140
141
  ### Example: `install_github_project`
141
142
 
@@ -196,6 +197,7 @@ gitinstall works standalone too, no AI agent needed:
196
197
 
197
198
  ```bash
198
199
  gitinstall comfyanonymous/ComfyUI # Install a project
200
+ gitinstall uninstall comfyanonymous/ComfyUI --confirm # Safely uninstall
199
201
  gitinstall detect # Check your system
200
202
  gitinstall doctor # System diagnostic
201
203
  gitinstall audit pytorch/pytorch # Security audit
@@ -4,8 +4,8 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "gitinstall"
7
- version = "1.1.3"
8
- description = "MCP server & CLI that gives AI agents the ability to install GitHub open-source projects — zero dependencies"
7
+ version = "1.2.0"
8
+ description = "MCP server & CLI that helps you easily install GitHub projects — zero dependencies"
9
9
  readme = "README.md"
10
10
  license = {text = "MIT"}
11
11
  requires-python = ">=3.10"
@@ -536,6 +536,34 @@ def audit(identifier: str, *, online: bool = False) -> dict:
536
536
  return cmd_audit(identifier, online=online)
537
537
 
538
538
 
539
+ def uninstall(
540
+ identifier: str,
541
+ *,
542
+ install_dir: str = None,
543
+ keep_config: bool = False,
544
+ confirm: bool = False,
545
+ ) -> dict:
546
+ """安全卸载已安装的 GitHub 项目。
547
+
548
+ Args:
549
+ identifier: 项目标识,如 "owner/repo"。
550
+ install_dir: 安装目录。省略则自动探测。
551
+ keep_config: True 时保留配置文件。
552
+ confirm: True 时执行卸载,False 时只显示计划。
553
+
554
+ Returns:
555
+ dict: 包含卸载计划或执行结果。
556
+ """
557
+ from main import cmd_uninstall
558
+ return cmd_uninstall(
559
+ identifier,
560
+ keep_config=keep_config,
561
+ clean_only=False,
562
+ confirm=confirm,
563
+ install_dir=install_dir,
564
+ )
565
+
566
+
539
567
  # ── 版本信息 ─────────────────────────────────
540
568
 
541
569
  __version__ = "1.1.0"
@@ -410,7 +410,7 @@ footer {
410
410
  由 <strong>蹄门科技</strong> 发布 · 开源 MIT 协议
411
411
  </div>
412
412
  <p class="skill-desc">
413
- 一句话安装 GitHub 开源项目 — 识别系统环境,分析项目结构,生成安装计划,自动执行安装。
413
+ 让你轻松安装 GitHub 项目 — 识别系统环境,分析项目结构,生成安装计划,自动执行安装。
414
414
  零外部依赖,纯 Python 标准库。9 级 LLM 降级,无 AI 也能用。
415
415
  </p>
416
416
  <div class="skill-tags">
@@ -1125,7 +1125,7 @@ def main():
1125
1125
 
1126
1126
  parser = argparse.ArgumentParser(
1127
1127
  prog="gitinstall",
1128
- description="一句话安装开源项目(支持 GitHub/GitLab/Bitbucket/Gitee/Codeberg/本地路径)",
1128
+ description="让你轻松安装开源项目(支持 GitHub/GitLab/Bitbucket/Gitee/Codeberg/本地路径)",
1129
1129
  formatter_class=argparse.RawDescriptionHelpFormatter,
1130
1130
  epilog="""
1131
1131
  示例:
@@ -563,7 +563,7 @@ def generate_tool_schemas(format: str = "openai") -> list[dict]:
563
563
  },
564
564
  {
565
565
  "name": "gitinstall_install",
566
- "description": "一键安装 GitHub 项目。支持 owner/repo 格式或完整 URL",
566
+ "description": "轻松安装 GitHub 项目。支持 owner/repo 格式或完整 URL",
567
567
  "parameters": {
568
568
  "identifier": {"type": "string", "description": "GitHub 项目标识(owner/repo 或 URL)", "required": True},
569
569
  "install_dir": {"type": "string", "description": "安装目录(可选)"},
@@ -52,6 +52,7 @@ from _sdk import (
52
52
  fetch as _fetch,
53
53
  doctor as _doctor,
54
54
  audit as _audit,
55
+ uninstall as _uninstall,
55
56
  __version__,
56
57
  )
57
58
 
@@ -63,7 +64,7 @@ TOOLS = [
63
64
  {
64
65
  "name": "install_github_project",
65
66
  "description": (
66
- "Install a GitHub open-source project on the user's machine. "
67
+ "Help install a GitHub open-source project on the user's machine. "
67
68
  "Handles the ENTIRE process: detects OS/GPU/runtimes → fetches project info → "
68
69
  "generates installation plan (30+ languages: Python, Node, Rust, Go, C++, Haskell, Zig...) → "
69
70
  "executes safely (dangerous commands blocked) → auto-fixes errors (28 patterns: "
@@ -191,6 +192,39 @@ TOOLS = [
191
192
  "required": ["project"],
192
193
  },
193
194
  },
195
+ {
196
+ "name": "uninstall_github_project",
197
+ "description": (
198
+ "Safely uninstall a previously installed GitHub project. "
199
+ "Detects and removes: project directory, virtualenvs, Docker containers, "
200
+ "build artifacts, caches. Safety checks prevent deleting system directories. "
201
+ "Shows a cleanup plan before executing. Optionally keeps config files. "
202
+ "Example: uninstall_github_project({\"project\": \"comfyanonymous/ComfyUI\"}) "
203
+ "Call this when a user wants to remove, delete, or uninstall a GitHub project."
204
+ ),
205
+ "inputSchema": {
206
+ "type": "object",
207
+ "properties": {
208
+ "project": {
209
+ "type": "string",
210
+ "description": "GitHub project: 'owner/repo' format",
211
+ },
212
+ "install_dir": {
213
+ "type": "string",
214
+ "description": "Directory where the project is installed. Default: ~/github-installs/<project>/",
215
+ },
216
+ "keep_config": {
217
+ "type": "boolean",
218
+ "description": "Keep config files (.env, etc.) during uninstall. Default: false.",
219
+ },
220
+ "confirm": {
221
+ "type": "boolean",
222
+ "description": "If true, execute the uninstall. If false, only show plan. Default: false.",
223
+ },
224
+ },
225
+ "required": ["project"],
226
+ },
227
+ },
194
228
  ]
195
229
 
196
230
 
@@ -273,6 +307,14 @@ def _call_tool(name: str, args: dict) -> tuple[list[dict], bool]:
273
307
  online=args.get("online", False),
274
308
  )
275
309
 
310
+ elif name == "uninstall_github_project":
311
+ result = _uninstall(
312
+ args["project"],
313
+ install_dir=args.get("install_dir"),
314
+ keep_config=args.get("keep_config", False),
315
+ confirm=args.get("confirm", False),
316
+ )
317
+
276
318
  else:
277
319
  return [{"type": "text", "text": f"Unknown tool: {name}"}], True
278
320
 
@@ -68,7 +68,7 @@ def run_onboard():
68
68
  print()
69
69
  print("🦀 欢迎使用 gitinstall!")
70
70
  print("═" * 50)
71
- print(" 一句话安装 GitHub/GitLab/Bitbucket/Gitee 开源项目")
71
+ print(" 让你轻松安装 GitHub/GitLab/Bitbucket/Gitee 开源项目")
72
72
  print(" 本向导将帮助您完成初始配置")
73
73
  print("═" * 50)
74
74
 
@@ -174,6 +174,36 @@ _TOOLS = [
174
174
  "required": ["project"],
175
175
  },
176
176
  },
177
+ {
178
+ "name": "uninstall",
179
+ "description": (
180
+ "Safely uninstall a previously installed GitHub project. "
181
+ "Removes project directory, virtualenvs, Docker containers, build artifacts, caches. "
182
+ "Shows cleanup plan before executing. Call with confirm=true to actually delete."
183
+ ),
184
+ "parameters": {
185
+ "type": "object",
186
+ "properties": {
187
+ "project": {
188
+ "type": "string",
189
+ "description": "GitHub project: 'owner/repo' format",
190
+ },
191
+ "install_dir": {
192
+ "type": "string",
193
+ "description": "Directory where the project is installed.",
194
+ },
195
+ "keep_config": {
196
+ "type": "boolean",
197
+ "description": "Keep config files during uninstall.",
198
+ },
199
+ "confirm": {
200
+ "type": "boolean",
201
+ "description": "If true, execute uninstall. If false, only show plan.",
202
+ },
203
+ },
204
+ "required": ["project"],
205
+ },
206
+ },
177
207
  ]
178
208
 
179
209
  # ── 工具名列表 ──────────────────────────────
@@ -260,7 +290,7 @@ def call_tool(name: str, arguments: dict) -> dict | None:
260
290
  Returns:
261
291
  工具执行结果 dict,或 None(diagnose 无匹配时)
262
292
  """
263
- from _sdk import detect, plan, install, diagnose, fetch, doctor, audit
293
+ from _sdk import detect, plan, install, diagnose, fetch, doctor, audit, uninstall
264
294
 
265
295
  if name == "detect":
266
296
  return detect()
@@ -297,6 +327,14 @@ def call_tool(name: str, arguments: dict) -> dict | None:
297
327
  online=arguments.get("online", False),
298
328
  )
299
329
 
330
+ if name == "uninstall":
331
+ return uninstall(
332
+ arguments["project"],
333
+ install_dir=arguments.get("install_dir"),
334
+ keep_config=arguments.get("keep_config", False),
335
+ confirm=arguments.get("confirm", False),
336
+ )
337
+
300
338
  raise ValueError(f"Unknown tool: {name}. Available: {tool_names}")
301
339
 
302
340
 
@@ -3,7 +3,7 @@
3
3
  <head>
4
4
  <meta charset="UTF-8">
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
- <title>gitinstall — GitHub 开源项目一键安装</title>
6
+ <title>gitinstall — 让你轻松安装 GitHub 项目</title>
7
7
  <style>
8
8
  @import url('https://fonts.loli.net/css2?family=Inter:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500&display=swap');
9
9
 
@@ -1344,7 +1344,7 @@ footer a { color: var(--text-sec); }
1344
1344
  <button class="btn-user" id="btn-user" onclick="toggleUserPanel()">👤 登录</button>
1345
1345
  </div>
1346
1346
  </div>
1347
- <p class="hero-tagline"><strong>一句话安装</strong> GitHub 开源项目</p>
1347
+ <p class="hero-tagline"><strong>让你轻松安装</strong> GitHub 项目</p>
1348
1348
  <p class="hero-sub">零外部依赖 · 零配置上手 · 零 AI 也能用 — 来自<strong style="color:var(--text)">蹄门科技</strong></p>
1349
1349
 
1350
1350
  <div class="hero-badges">
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes