cleanup_tool.py 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. """清理工具:调用注册层删除工具的项目文件和注册信息
  2. 用法:
  3. uv run python -m tests.cleanup_tool image_stitcher
  4. uv run python -m tests.cleanup_tool --all
  5. """
  6. import argparse
  7. import sys
  8. from pathlib import Path
  9. ROOT = Path(__file__).resolve().parent.parent
  10. sys.path.insert(0, str(ROOT / "src"))
  11. from tool_agent.registry.registry import ToolRegistry
  12. def main():
  13. parser = argparse.ArgumentParser(description="清理工具")
  14. parser.add_argument("tool_id", nargs="?", help="要清理的 tool_id")
  15. parser.add_argument("--all", action="store_true", help="清除所有工具")
  16. args = parser.parse_args()
  17. import logging
  18. logging.basicConfig(level=logging.INFO, format="%(asctime)s %(levelname)s: %(message)s")
  19. registry = ToolRegistry()
  20. if args.all:
  21. result = registry.destroy_all()
  22. print(f"Cleaned {result['count']} tools")
  23. elif args.tool_id:
  24. result = registry.destroy(args.tool_id)
  25. print(f"Cleaned: {result['cleaned']}")
  26. else:
  27. parser.print_help()
  28. if __name__ == "__main__":
  29. main()