4.2 操作系统
这部分功能涉及控制一些基本特性,有些由浏览器提供,其他则源自Lua调试。
浏览器
浏览器提供JavaScript运行环境、存储和网络通信功能。
访问底层JavaScript引擎的接口。此函数将等待 eval() 给定的JavaScript,并将结果作为字符串返回。
动态执行JavaScript可以极大地扩展MicroCity Web的功能。请注意,Lua引擎在web worker中运行,因此访问DOM需要执行辅助函数RemoteCall。以下是一个简单的示例:
os.execute("RemoteCall('alert', 'hello!')")
一个更复杂的示例是使用Python的fastapi创建应用程序,并在MicroCity Web中调用:
1. 首先安装fastapi:pip install fastapi uvicorn
2. 然后创建 main.py:
from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
app = FastAPI()
app.add_middleware(
CORSMiddleware,
allow_origins=['\*'],
allow_credentials=True,
allow_methods=['\*'],
allow_headers=['\*'],
)
@app.get("/msg")
async def read_msg():
return {"msg": "Hello from FastAPI"}
3. 执行 main.py:uvicorn main:app --reload
4. 最后在MicroCity Web中运行以下脚本:
print(os.execute("(async () => (await (await fetch('http://127.0.0.1:8000/msg')).json()).msg)()"))
或
print(os.execute("fetch('http://127.0.0.1:8000/msg').then(res => res.json()).then(data => data.msg)"))
将睡眠ms
毫秒。
如果单击暂停将暂停执行,如果单击停止将返回false。
这对控制长时间运行脚本很有用。用户可以暂停它,然后在控制台运行一些命令或停止它。
访问url链接中的文件或提示用户选择要上传到虚拟磁盘的本地文件。
此功能用于使脚本访问外部文件变得更便捷。用户可以先上传文件,然后启动程序。
从fpath路径或提示用户选择要从虚拟磁盘下载的文件。
大型语言模型
这些函数可以触发远程REST API进行对话完成和嵌入。API可以进行自定义。
给定一个系统消息(提示)和由对话组成的用户消息,模型将返回一个响应。
创建代表输入文本的嵌入向量(具有1024个浮点数的数组)。
调试
调试库保留了 Lua 的原始功能并进行了修改。用户可以在脚本中或控制台上执行它们。
进入调试模式(无参数或 b 为 true)或退出调试模式(b 为 false)。
在调试模式下暂停执行。
在调试模式下继续执行。
在调试模式下逐步执行。
在调试模式下逐步执行进入。
在调试模式下逐步执行退出。
将具有名称(字符串)的变量添加到监视列表,或清除监视列表(没有名称)。
本文使用ChatGPT翻译,如有遗漏请反馈。