mcpField
C
cli-anything-hermes

cli-anything-hermes

github.com/hkuds开发57.6k266 次安装5 周前更新
代码仓库

关于 cli-anything-hermes

CLI-Anything for Hermes Agent 是一项技能,引导 Hermes Agent 为软件构建、改进、测试和验证命令行工具。它说明开发流程、打包要求及后端选择原则。

主要功能

  1. 01构建和改进命令行工具
  2. 02规划单元及端到端测试
  3. 03验证打包与命令行为
  4. 04优先使用软件原生后端

适用场景

  1. 01根据本地软件源码构建工具
  2. 02为 GitHub 项目开发工具
  3. 03检查并测试现有工具

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/hkuds/cli-anything --skill cli-anything-hermes

安装后在 Claude Code 中输入/cli-anything-hermes确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

agents/
hermes.yaml
scripts/
install.ps1
install.sh

详细介绍

适用于 Hermes Agent 的 CLI-Anything

当用户希望 Hermes Agent 像 CLI-Anything 构建器一样工作时,请使用此技能。

在实现之前,如果可用,请使用完整的方法论权威来源:

  1. 如果此技能是在 CLI-Anything 仓库内部使用的,请先阅读 ../cli-anything-plugin/HARNESS.md。
  2. 如果该本地文件不可用,请从 https://github.com/HKUDS/CLI-Anything/tree/main/cli-anything-plugin 克隆或下载 cli-anything-plugin,然后使用该文件夹中的 HARNESS.md 及其周边资源。
  3. 只有在本地和网络获取都失败时,才遵循下面的精简规则。

输入

接受以下任一形式:

  • 本地源路径,例如 ./gimp 或 /path/to/software
  • GitHub 仓库 URL

如有需要,在克隆后从本地目录名推导软件名称。

Hermes 工具绑定

Hermes Agent 通过组合以下内置工具来构建 harness:

工具在 Harness 工作流中的角色
terminal运行 shell 命令、安装软件包、执行 CLI 工具、运行测试
execute_code生成并写入 Python 文件(Click CLI、后端模块、测试)
delegate_task并行化分析或生成子任务
read_file / write_file读取和写入 harness 源文件
patch对生成的代码进行针对性编辑

有关确切的工具调用语法,请查阅 Hermes Agent 文档。

模式

构建

当用户想要一个新的 harness 时使用。

生成此结构:

<software>/
└── agent-harness/
    ├── <SOFTWARE>.md
    ├── setup.py
    └── cli_anything/
        └── <software>/
            ├── README.md
            ├── __init__.py
            ├── __main__.py
            ├── <software>_cli.py
            ├── core/
            ├── utils/
            └── tests/

实现一个有状态的 Click CLI,具有:

  • 一次性子命令
  • 当未给出子命令时,默认使用 REPL 模式
  • --json 机器可读输出
  • 在目标软件支持的情况下,具有撤销/重做的会话状态
完善

当 harness 已存在时使用。

首先盘点当前命令和测试,然后针对目标软件进行差距分析。优先考虑:

  • 高影响力的缺失功能
  • 围绕现有后端 API 或 CLI 的简单封装
  • 能与现有命令良好组合的补充

除非用户明确要求破坏性变更,否则不要移除现有命令。

测试

在编写测试之前先规划测试。同时保留:

  • test_core.py 用于单元覆盖
  • test_full_e2e.py 用于工作流和后端验证

如有可能,通过子进程使用 cli-anything-<software> 测试已安装的命令,而不仅仅是模块导入。

验证

检查 harness:

  • 使用 cli_anything.<software> 命名空间包布局
  • 具有可安装的 setup.py 入口点
  • 支持 JSON 输出
  • 具有 REPL 默认路径
  • 记录了用法和测试

后端规则

优先使用真实软件后端,而不是重新实现。如有可能,在 utils/<software>_backend.py 中封装实际的可执行文件或脚本接口。只有在项目明确要求或不存在可行的原生后端时,才使用合成重新实现。

打包规则

  • 使用 find_namespace_packages(include=["cli_anything.*"])
  • 将 cli_anything/ 保持为命名空间包,不带顶层 __init__.py
  • 通过 console_scripts 暴露 cli-anything-<software>

工作流

  1. 在本地获取源码树(克隆或使用现有路径)。
  2. 分析架构、数据模型、现有 CLI 以及 GUI 到 API 的映射。
  3. 设计命令组和状态模型。
  4. 实现 harness。
  5. 编写 TEST.md,然后编写测试,然后运行它们。
  6. 更新 README 用法文档。
  7. 使用 pip install -e . 验证本地安装。

现有 Harness(参考)

有关受支持 harness 及其后端模式的最新列表,请参阅仓库根目录下的 registry.json。

输出预期

在报告进度或最终结果时,包括:

  • 目标软件和源路径
  • 添加或更改的文件
  • 运行的验证命令
  • 未解决的风险或后端限制

评论

支持 Markdown