Skip to content
On this page

工具函数 AI 规范

本文档用于 AI 生成运行时工具函数代码。参数规则已按 HexLuaAPI_Tools.hppHexLuaRunner.cpp 校对。

时间与控制台

lua
local ns = getNanoTime()
local us = getMicroTime()
local ms = getMilliTime()

print("日志")
clearConsole()
sleep(1.5)

规则:

  • sleep(seconds) 参数是秒,可以是小数。
  • print(...) 支持多参数,输出到运行日志。
  • 时间函数无参数,返回数字时间戳。

INI 配置

lua
local value = readIni("config.ini", "Section", "Key")
local ok = writeIni("config.ini", "Section", "Key", "value")

参数:

  • filename:相对脚本目录文件名,不能包含 ..
  • section:节名,字符串。
  • key:键名,字符串。
  • newValue:写入值,建议转成字符串。

返回值:

  • readIni:成功返回字符串,找不到返回 nil
  • writeIni:成功返回 true,失败返回 false

文件与目录

lua
local file, err = io.open("data.txt", "r")
local ok, msg = io_mkdir("logs")
local count, err = io_remove_dir("logs")
local files, err = io_list_files("logs")

安全规则:

  • 路径必须是脚本目录内的相对路径。
  • 不要生成包含 .. 的路径。
  • 不要生成绝对路径访问项目外文件。

MD5

lua
local md5, err = get_file_md5("data.txt")
local textMd5 = get_string_md5("hello")

规则:

  • get_file_md5(filename) 读取脚本目录内文件。
  • get_string_md5(str) 对字符串计算 MD5。
  • 文件不存在时通常返回 nil, err

动态执行

lua
local result = exec_string("return 1 + 2")
local enc = encrypt_code("return 123", "key")
local ok, value = decrypt_and_exec(enc, "key")

AI 生成规则:

  • 只在用户明确需要动态执行时生成这些函数。
  • 不要把用户输入直接拼成可执行 Lua 代码。
  • 密钥必须是字符串。

授权限制

lua
local ok = device_limit_due("2026-12-31")
local ok2 = datetime_limit_due("2026-12-31 23:59:59")
local uuid = get_uuid()

如果文档或项目未明确授权逻辑,不要主动生成限制代码。

AI 生成禁忌

  • 不要使用项目目录外路径。
  • 不要用 os.executeio.popen 代替受限 API。
  • 不要默认清空或删除目录,除非用户明确要求。
  • 不要在循环里频繁写文件,必要时加间隔或条件。