sf

轻量快速的脚本语言 - 字节码 VM / 680+ 内置函数 / AI 友好 / 跨平台

📂 开发工具#编程语言#脚本#解释器#跨平台#AI#开发工具📅 2026-8-30

AI 协作指南

📅 2026-8-30

为什么适合 AI 写脚本

sf 把「AI 写脚本最常见的失败模式」在语言层做了消解:

1. 运行时自省,不用猜 API

help()                 // 全部分类一览
help("http")           // 网络类函数 + 简介
help("rsaEncryptRaw")  // 签名/参数/返回/示例/常见错误

--list-builtins 可全量导出。函数名拼写容错:help("strsplite") 会给出最接近的 strSplit。

2. 报错自带修复线索

内置函数失败返回 error 值,信息包含:函数名、实参回显、期望类型、常见原因。例如:

downloadFile() 下载失败: HTTP GET 请求失败: io: Connection refused
(可能原因:DNS 解析失败、网络不通、TLS 证书验证失败、服务器拒绝连接)

AI 拿到即可判断是地址写错还是服务未启动,无需二次试探。

3. 参数顺序容错设计

历史上 AI 常在 regFind(参数顺序) 一类调用上反复出错。sf 的函数命名与参数约定稳定一致(目标在前、模式在后),配合 help 当场确认,出错即自纠。

4. 稳态错误处理

一般错误(IO 失败、参数不匹配)返回 error 值而非抛异常,脚本用 isErr 分支处理,控制流确定;只有除零等真正不可恢复的情况才抛异常。

嵌入与自动化

  • 退出码契约:脚本 exit(1) 即退出码 1,fatalf 输出到 stderr 并以 1 退出,方便调用方判断
  • --remote <url> / --cloud <名> 远程脚本执行;import "lib.sf" 模块化复用
  • 作为 Rust crate(sflang)嵌入宿主程序,注入自定义全局与函数