| name | test_module |
| description | 测试模块 - 演示 gtoolkits 注册机制的示例模块,展示参数解析、配置加载、函数注册的标准用法。使用当学习如何开发新模块时。 |
| homepage | |
| metadata | {"openclaw":{"emoji":"🧪","requires":{"bins":["python3"]}}} |
test_module 模块
使用时机
✅ 使用场景:
- 学习 gtoolkits 模块开发规范时
- 测试 gtoolkits 框架是否正常工作
- 作为新模块开发的参考模板
- 验证注册机制(
@FUNCTION.regist、@ARGS.regist)
❌ 不使用场景:
- 实际生产任务(这是示例模块,无实际功能)
- 性能测试(包含
time.sleep 演示延迟)
- 数据处理(无实际数据处理逻辑)
功能说明
主要功能
- 演示注册机制:
@FUNCTION.regist(module_name="test_module") - 注册主函数
@ARGS.regist(module_name="test_module") - 注册参数解析器
- 参数解析示例:展示如何使用
argparse 定义参数
- 配置加载示例:演示如何读取配置文件
- 运行模式演示:支持详细模式、试运行模式
输入参数
| 参数 | 类型 | 必填 | 说明 |
|---|
--config-file / -c | string | 否 | 配置文件路径(默认:default.json) |
--output-dir / -o | string | 否 | 输出目录(默认:/tmp/gtools_output) |
--verbose / -v | bool | 否 | 启用详细输出模式 |
--dry-run | bool | 否 | 试运行模式,不执行实际操作 |
--items | list | 否 | 要处理的项目列表 |
输出
- 控制台输出:显示配置信息、运行状态、完成提示
- 执行日志:展示模块执行流程
命令/用法
基本用法
gtools test_module
gtools test_module -c custom.json
gtools test_module -o /tmp/output -v
gtools test_module --items item1 item2 item3
gtools test_module --dry-run
输出示例
$ gtools test_module -v --items test1 test2
==================================================
测试模块执行中...
配置文件路径:default.json
输出目录:/tmp/gtools_output
详细模式:True
处理项目:test1, test2
✅ 执行实际操作
正在处理...
✨ 测试模块执行完成!
==================================================
配置示例
{
"_positional_args": {
"command": "run"
},
"config_file": "default.json",
"output_dir": "/tmp/test_output",
"verbose": true,
"dry_run": false,
"items": ["item1", "item2"]
}
代码结构示例
标准模块模板
"""
模块名称:功能描述
用法:gtools module_name [参数]
"""
import argparse
from gtools.registry import ARGS, FUNCTION
@FUNCTION.regist(module_name="module_name")
def main(args: argparse.Namespace):
"""主函数:处理模块逻辑"""
pass
@ARGS.regist(module_name="module_name")
def parse_args():
"""参数解析函数"""
parser = argparse.ArgumentParser(description="功能描述")
parser.add_argument("--param", "-p", type=str, help="参数说明")
return parser
注意事项
- 示例模块:这是学习参考用的示例,无实际业务功能
- 注册装饰器:必须同时注册
main 函数和 parse_args 函数
- 模块命名:模块名必须与
@FUNCTION.regist(module_name=xxx) 中的名称一致
- 参数解析:
parse_args() 必须返回 argparse.ArgumentParser 对象
相关文件
- 主模块:
functions/test_module/main.py
- 配置文件:
configs/test_module/default.json