ipman-cli 0.2.13__tar.gz → 0.2.27__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 (190) hide show
  1. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/.claude/module-spec-registry.md +10 -0
  2. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/.claude/research/agent-skill-cli-comparison.md +27 -2
  3. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/PKG-INFO +1 -1
  4. ipman_cli-0.2.27/VERSION +1 -0
  5. ipman_cli-0.2.27/docs/superpowers/plans/2026-03-27-cli-passthrough-and-symlink-guard.md +1123 -0
  6. ipman_cli-0.2.27/docs/superpowers/specs/2026-03-27-cli-passthrough-and-symlink-guard-design.md +321 -0
  7. ipman_cli-0.2.27/docs-src/faq.md +174 -0
  8. ipman_cli-0.2.27/docs-src/getting-started/installation.md +123 -0
  9. ipman_cli-0.2.27/docs-src/zh/faq.md +174 -0
  10. ipman_cli-0.2.27/docs-src/zh/getting-started/installation.md +123 -0
  11. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/src/ipman/agents/openclaw.py +35 -6
  12. ipman_cli-0.2.27/src/ipman/cli/main.py +70 -0
  13. ipman_cli-0.2.27/src/ipman/cli/passthrough.py +113 -0
  14. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/src/ipman/cli/skill.py +9 -8
  15. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/src/ipman/core/environment.py +62 -1
  16. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/tests/e2e/conftest_mock.py +19 -0
  17. ipman_cli-0.2.27/tests/e2e/mock_clawhub/openclaw_mock.py +52 -0
  18. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/tests/e2e/test_openclaw_compat.py +224 -1
  19. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/tests/test_agents/test_adapters_cli.py +57 -0
  20. ipman_cli-0.2.27/tests/test_cli/test_passthrough.py +153 -0
  21. ipman_cli-0.2.27/tests/test_core/test_symlink_guard.py +120 -0
  22. ipman_cli-0.2.13/VERSION +0 -1
  23. ipman_cli-0.2.13/docs-src/getting-started/installation.md +0 -56
  24. ipman_cli-0.2.13/docs-src/zh/getting-started/installation.md +0 -41
  25. ipman_cli-0.2.13/src/ipman/cli/main.py +0 -39
  26. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/.claude/COLLABORATION.md +0 -0
  27. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/.claude/arch-spec-registry.md +0 -0
  28. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/.claude/archive/.gitkeep +0 -0
  29. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/.claude/archive/sprint-0.md +0 -0
  30. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/.claude/archive/sprint-1.md +0 -0
  31. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/.claude/archive/sprint-10.md +0 -0
  32. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/.claude/archive/sprint-11.md +0 -0
  33. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/.claude/archive/sprint-12.md +0 -0
  34. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/.claude/archive/sprint-13.md +0 -0
  35. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/.claude/archive/sprint-2.md +0 -0
  36. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/.claude/archive/sprint-3.md +0 -0
  37. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/.claude/archive/sprint-4.md +0 -0
  38. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/.claude/archive/sprint-5.md +0 -0
  39. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/.claude/archive/sprint-6.md +0 -0
  40. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/.claude/archive/sprint-7.md +0 -0
  41. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/.claude/archive/sprint-8.md +0 -0
  42. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/.claude/archive/sprint-9.md +0 -0
  43. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/.claude/current-sprint.md +0 -0
  44. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/.claude/research/iphub-design.md +0 -0
  45. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/.claude/sprint-plan.md +0 -0
  46. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/.claude/tech-spec-registry.md +0 -0
  47. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/.claude/test-registry.md +0 -0
  48. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/.claude/validation-registry.md +0 -0
  49. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/.githooks/pre-commit +0 -0
  50. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/.github/workflows/ci.yml +0 -0
  51. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/.github/workflows/docs.yml +0 -0
  52. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/.github/workflows/e2e-docker-legacy.yml +0 -0
  53. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/.github/workflows/e2e-fast.yml +0 -0
  54. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/.github/workflows/e2e-full.yml +0 -0
  55. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/.github/workflows/publish.yml +0 -0
  56. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/.github/workflows/sync-rankings.yml +0 -0
  57. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/.gitignore +0 -0
  58. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/CLAUDE.md +0 -0
  59. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/LICENSE +0 -0
  60. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/README.md +0 -0
  61. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/README.zh-cn.md +0 -0
  62. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/RELEASING.md +0 -0
  63. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/cliff.toml +0 -0
  64. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/docs/PRD.md +0 -0
  65. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/docs/PRD.zh-cn.md +0 -0
  66. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/docs/ip-package-spec.md +0 -0
  67. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/docs/ip-package-spec.zh-cn.md +0 -0
  68. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/docs/iphub-workflows/rebuild-index.yml +0 -0
  69. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/docs/iphub-workflows/sync-cnb.yml +0 -0
  70. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/docs/iphub-workflows/update-stats.yml +0 -0
  71. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/docs/iphub-workflows/validate-pr.yml +0 -0
  72. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/docs/reports/ipman-final-summary-zh.md +0 -0
  73. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/docs/reports/ipman-openclaw-test-20260323-consolidated-report.md +0 -0
  74. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/docs/superpowers/plans/2026-03-16-cross-platform-e2e-testing.md +0 -0
  75. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/docs/superpowers/plans/2026-03-16-iphub-ip-format-enhancement.md +0 -0
  76. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/docs/superpowers/plans/2026-03-16-shell-init.md +0 -0
  77. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/docs/superpowers/plans/2026-03-17-local-skill-install.md +0 -0
  78. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/docs/superpowers/plans/2026-03-24-openclaw-bugfix-and-e2e.md +0 -0
  79. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/docs/superpowers/specs/2026-03-16-cross-platform-e2e-testing-design.md +0 -0
  80. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/docs/superpowers/specs/2026-03-16-iphub-ip-format-enhancement-design.md +0 -0
  81. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/docs/superpowers/specs/2026-03-16-shell-init-design.md +0 -0
  82. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/docs/superpowers/specs/2026-03-17-local-skill-install-design.md +0 -0
  83. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/docs-src/cli-reference.md +0 -0
  84. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/docs-src/getting-started/quickstart.md +0 -0
  85. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/docs-src/guide/configuration.md +0 -0
  86. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/docs-src/guide/environments.md +0 -0
  87. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/docs-src/guide/iphub.md +0 -0
  88. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/docs-src/guide/packages.md +0 -0
  89. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/docs-src/guide/security.md +0 -0
  90. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/docs-src/guide/skills.md +0 -0
  91. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/docs-src/images/IpMan.jpg +0 -0
  92. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/docs-src/index.md +0 -0
  93. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/docs-src/ip-package-spec.md +0 -0
  94. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/docs-src/security/modes.md +0 -0
  95. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/docs-src/security/risk-assessment.md +0 -0
  96. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/docs-src/zh/getting-started/quickstart.md +0 -0
  97. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/docs-src/zh/guide/security.md +0 -0
  98. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/docs-src/zh/index.md +0 -0
  99. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/images/IpMan.jpg +0 -0
  100. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/install.sh +0 -0
  101. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/mkdocs.yml +0 -0
  102. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/pyproject.toml +0 -0
  103. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/scripts/bump.py +0 -0
  104. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/scripts/pyinstaller-entry.py +0 -0
  105. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/src/ipman/__init__.py +0 -0
  106. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/src/ipman/agents/__init__.py +0 -0
  107. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/src/ipman/agents/base.py +0 -0
  108. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/src/ipman/agents/claude_code.py +0 -0
  109. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/src/ipman/agents/registry.py +0 -0
  110. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/src/ipman/cli/__init__.py +0 -0
  111. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/src/ipman/cli/_common.py +0 -0
  112. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/src/ipman/cli/env.py +0 -0
  113. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/src/ipman/cli/hub.py +0 -0
  114. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/src/ipman/cli/init.py +0 -0
  115. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/src/ipman/cli/pack.py +0 -0
  116. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/src/ipman/core/__init__.py +0 -0
  117. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/src/ipman/core/config.py +0 -0
  118. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/src/ipman/core/package.py +0 -0
  119. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/src/ipman/core/resolver.py +0 -0
  120. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/src/ipman/core/security.py +0 -0
  121. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/src/ipman/core/shell_init.py +0 -0
  122. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/src/ipman/core/vetter.py +0 -0
  123. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/src/ipman/hub/__init__.py +0 -0
  124. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/src/ipman/hub/client.py +0 -0
  125. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/src/ipman/hub/publisher.py +0 -0
  126. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/src/ipman/hub/stats.py +0 -0
  127. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/src/ipman/utils/__init__.py +0 -0
  128. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/src/ipman/utils/i18n.py +0 -0
  129. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/src/ipman/utils/symlink.py +0 -0
  130. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/tests/__init__.py +0 -0
  131. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/tests/conftest.py +0 -0
  132. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/tests/e2e/__init__.py +0 -0
  133. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/tests/e2e/conftest.py +0 -0
  134. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/tests/e2e/fixtures/ips/clean-kit.ip.yaml +0 -0
  135. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/tests/e2e/fixtures/ips/with-deps.ip.yaml +0 -0
  136. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/tests/e2e/fixtures/skills/claude-code/hello-world/SKILL.md +0 -0
  137. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/tests/e2e/fixtures/skills/openclaw/hello-world/SKILL.md +0 -0
  138. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/tests/e2e/helpers/__init__.py +0 -0
  139. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/tests/e2e/helpers/agent_manager.py +0 -0
  140. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/tests/e2e/helpers/github_cleanup.py +0 -0
  141. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/tests/e2e/helpers/platform_utils.py +0 -0
  142. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/tests/e2e/helpers/run.py +0 -0
  143. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/tests/e2e/mock_clawhub/clawhub +0 -0
  144. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/tests/e2e/mock_clawhub/clawhub.bat +0 -0
  145. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/tests/e2e/mock_clawhub/clawhub_mock.py +0 -0
  146. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/tests/e2e/test_agent_session.py +0 -0
  147. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/tests/e2e/test_env_lifecycle.py +0 -0
  148. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/tests/e2e/test_init_order.py +0 -0
  149. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/tests/e2e/test_pack_roundtrip.py +0 -0
  150. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/tests/e2e/test_publish_workflow.py +0 -0
  151. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/tests/e2e/test_skill_install.py +0 -0
  152. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/tests/e2e/test_symlink_integrity.py +0 -0
  153. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/tests/e2e-legacy/Dockerfile.claude-code +0 -0
  154. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/tests/e2e-legacy/Dockerfile.openclaw +0 -0
  155. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/tests/e2e-legacy/docker-compose.yml +0 -0
  156. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/tests/e2e-legacy/run-e2e.sh +0 -0
  157. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/tests/e2e-legacy/run-tests.sh +0 -0
  158. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/tests/e2e-legacy/scenarios/test_env_lifecycle.sh +0 -0
  159. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/tests/e2e-legacy/scenarios/test_hub_search.sh +0 -0
  160. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/tests/e2e-legacy/scenarios/test_install_security.sh +0 -0
  161. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/tests/e2e-legacy/scenarios/test_pack_roundtrip.sh +0 -0
  162. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/tests/test_agents/__init__.py +0 -0
  163. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/tests/test_cli/__init__.py +0 -0
  164. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/tests/test_cli/test_env.py +0 -0
  165. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/tests/test_cli/test_hub.py +0 -0
  166. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/tests/test_cli/test_init.py +0 -0
  167. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/tests/test_cli/test_install_hub.py +0 -0
  168. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/tests/test_cli/test_install_ip.py +0 -0
  169. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/tests/test_cli/test_install_security.py +0 -0
  170. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/tests/test_cli/test_main.py +0 -0
  171. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/tests/test_cli/test_pack.py +0 -0
  172. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/tests/test_cli/test_skill.py +0 -0
  173. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/tests/test_core/__init__.py +0 -0
  174. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/tests/test_core/test_config.py +0 -0
  175. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/tests/test_core/test_environment.py +0 -0
  176. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/tests/test_core/test_i18n.py +0 -0
  177. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/tests/test_core/test_package.py +0 -0
  178. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/tests/test_core/test_resolver.py +0 -0
  179. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/tests/test_core/test_security.py +0 -0
  180. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/tests/test_core/test_shell_init.py +0 -0
  181. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/tests/test_core/test_symlink.py +0 -0
  182. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/tests/test_core/test_vetter.py +0 -0
  183. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/tests/test_hub/__init__.py +0 -0
  184. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/tests/test_hub/test_client.py +0 -0
  185. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/tests/test_hub/test_publisher.py +0 -0
  186. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/tests/test_hub/test_stats.py +0 -0
  187. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/tests/test_integration/__init__.py +0 -0
  188. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/tests/test_integration/test_security_flow.py +0 -0
  189. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/tests/test_market/__init__.py +0 -0
  190. {ipman_cli-0.2.13 → ipman_cli-0.2.27}/uv.lock +0 -0
@@ -17,6 +17,7 @@
17
17
  | cli/main | CLI 主入口,Click group 定义 | -- | `src/ipman/cli/main.py` | 已完成 |
18
18
  | cli/env | 虚拟环境命令(create/activate/deactivate/delete/list/status) | -- | `src/ipman/cli/env.py` | 已完成 |
19
19
  | cli/skill | 技能命令(install/uninstall/list,通过 agent CLI 执行) | -- | `src/ipman/cli/skill.py` | 已完成 |
20
+ | cli/passthrough | AgentPassthroughGroup — skills/plugins 命令透传给 agent CLI | `docs/superpowers/specs/2026-03-27-cli-passthrough-and-symlink-guard-design.md` | `src/ipman/cli/passthrough.py` | 已完成 |
20
21
  | cli/pack | IP 包打包命令(pack,合并原 export) | -- | `src/ipman/cli/pack.py` | 已完成 |
21
22
  | cli/hub | IpHub 命令(search/info/top/publish) | `.claude/research/iphub-design.md` | `src/ipman/cli/hub.py` | 已完成 |
22
23
 
@@ -65,6 +66,15 @@
65
66
 
66
67
  ---
67
68
 
69
+ ## 文档目录索引
70
+
71
+ | 目录 | 用途 | 说明 |
72
+ |------|------|------|
73
+ | `docs/` | 设计文档 | PRD、IP 包规格、架构报告、IpHub 工作流等内部设计资料 |
74
+ | `docs-src/` | 帮助文档与教程 | 面向用户的安装指南、快速上手、CLI 参考、FAQ 等,支持中英双语(`zh/` 子目录) |
75
+
76
+ ---
77
+
68
78
  ## 基础设施模块索引
69
79
 
70
80
  | 模块 | 说明 | 设计文档 | 源代码目录 | 状态 |
@@ -140,6 +140,18 @@ Markdown content...
140
140
  - `skills.load.extraDirs` 配置额外加载目录
141
141
  - Plugin skills 通过 `openclaw.plugin.json` 加载
142
142
 
143
+ ### Plugins / Extensions CLI 命令
144
+
145
+ OpenClaw 有 Gateway Plugins / Extensions 的概念,通过 `openclaw plugins` 子命令管理:
146
+
147
+ | 命令 | 说明 |
148
+ |------|------|
149
+ | `openclaw plugins install <name>` | 安装一个 Gateway Plugin/Extension |
150
+ | `openclaw plugins list` | 列出已安装的 plugins |
151
+ | `openclaw plugins uninstall <name>` | 卸载 plugin |
152
+
153
+ > 注:OpenClaw 的 skills 和 plugins 是两个独立的概念。Skills 是技能(一等公民),Plugins 是 Gateway 扩展。
154
+
143
155
  ### 配置方式
144
156
 
145
157
  `~/.openclaw/openclaw.json`:
@@ -177,6 +189,7 @@ Markdown content...
177
189
  | **作用域** | user / project / local | workspace / user / bundled |
178
190
  | **市场** | GitHub 仓库(marketplace) | ClawHub(独立注册表) |
179
191
  | **市场规模** | ~25 个官方插件 | 13,729 个社区技能 |
192
+ | **Plugin 命令** | `claude plugin install/list/...` | `openclaw plugins install/list/...` |
180
193
  | **CLI 工具** | `claude` 子命令 | `openclaw` + `clawhub` 两个 CLI |
181
194
  | **元数据格式** | plugin.json(插件级) | SKILL.md frontmatter(技能级) |
182
195
  | **加载机制** | 插件缓存目录 + 符号链接 | 三层目录优先级覆盖 |
@@ -201,10 +214,22 @@ Markdown content...
201
214
  - 启用/禁用: `claude plugin enable/disable <name>`
202
215
 
203
216
  **OpenClaw adapter:**
204
- - 安装: `clawhub install <slug>`
217
+ - 安装: `clawhub install <slug>` 或 `openclaw skills install <name>`
205
218
  - 卸载: (需进一步调研)
206
- - 列表: (需进一步调研,可能通过读取 workspace/skills/ 目录)
219
+ - 列表: `openclaw skills list` 或读取 workspace/skills/ 目录
207
220
  - 更新: `clawhub update --all`
221
+ - Plugins 安装: `openclaw plugins install <name>`
222
+ - Plugins 列表: `openclaw plugins list`
223
+ - Plugins 卸载: `openclaw plugins uninstall <name>`
224
+
225
+ **IpMan CLI 命令映射表:**
226
+
227
+ | IpMan 命令 | Claude Code 映射 | OpenClaw 映射 |
228
+ |---|---|---|
229
+ | `ipman skills <args>` | `claude plugin <args>` | `openclaw skills <args>` |
230
+ | `ipman plugins <args>` | `claude plugin <args>` | `openclaw plugins <args>` |
231
+
232
+ > 注:Claude Code 的 plugin 概念包含了 skills + plugins 两层,因此 ipman 的 skills 和 plugins 在 Claude Code 下都映射到 `claude plugin`。
208
233
 
209
234
  ### IP 包的角色
210
235
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ipman-cli
3
- Version: 0.2.13
3
+ Version: 0.2.27
4
4
  Summary: Intelligence Package Manager - Agent skill virtual environment manager
5
5
  Project-URL: Homepage, https://github.com/twisker/ipman
6
6
  Project-URL: Repository, https://github.com/twisker/ipman
@@ -0,0 +1 @@
1
+ 0.2.27