aardio 文档
aardio 范例: lmarena 前沿大模型快速切换工具
import win.ui;
import win.ts;
import fonts.fontAwesome;
import key;
/*DSG{{*/
mainForm = win.form(text="lmarena 前沿大模型快速切换工具";right=1040;bottom=642;bgcolor=0xFFFFFF;border="none")
mainForm.add(
btnCopySystemPrompt={cls="plus";left=814;top=5;right=848;bottom=40;align="left";color=0xFFFFFF;dl=1;dt=1;font=LOGFONT(h=-14);iconStyle={font=LOGFONT(h=-14;name='FontAwesome')};iconText='\uF031';notify=1;paddingLeft=1;paddingRight=1;paddingTop=3;textPadding={left=39;bottom=1};x=0.5;y=0.2;z=10};
chkImage={cls="plus";text="图像";left=717;top=5;right=777;bottom=40;align="left";color=0xFFFFFF;dl=1;dt=1;font=LOGFONT(h=-14);iconStyle={align="left";font=LOGFONT(h=-14;name='FontAwesome')};iconText='\uF0C8 ';notify=1;textPadding={left=21};x=0.5;y=0.2;z=9};
chkSearch={cls="plus";text="联网";left=653;top=4;right=713;bottom=39;align="left";color=0xFFFFFF;dl=1;dt=1;font=LOGFONT(h=-14);iconStyle={align="left";font=LOGFONT(h=-14;name='FontAwesome')};iconText='\uF0C8 ';notify=1;textPadding={left=21};x=0.5;y=0.2;z=8};
nav1={cls="plus";text="Gemini 3 Flash";left=10;top=5;right=148;bottom=40;align="left";color=0xFFFFFF;dl=1;dt=1;font=LOGFONT(h=-14);iconStyle={align="left";font=LOGFONT(h=-14;name='FontAwesome');padding={left=12;top=4}};iconText='\uF1D8';notify=1;paddingLeft=1;paddingRight=1;paddingTop=3;textPadding={left=35;bottom=1};x=0.5;y=0.2;z=5};
nav2={cls="plus";text="Grok 4.20";left=149;top=5;right=265;bottom=40;align="left";color=0xFFFFFF;dl=1;dt=1;font=LOGFONT(h=-14);iconStyle={align="left";font=LOGFONT(h=-14;name='FontAwesome');padding={left=12;top=4}};iconText='\uF121';notify=1;paddingLeft=1;paddingRight=1;paddingTop=3;textPadding={left=35;bottom=1};x=0.5;y=0.2;z=3};
nav3={cls="plus";text="Claude Sonnet 4.5";left=267;top=5;right=429;bottom=40;align="left";color=0xFFFFFF;dl=1;dt=1;font=LOGFONT(h=-14);iconStyle={align="left";font=LOGFONT(h=-14;name='FontAwesome');padding={left=12;top=4}};iconText='\uF11C';notify=1;paddingLeft=1;paddingRight=1;paddingTop=3;textPadding={left=35;bottom=1};x=0.5;y=0.2;z=4};
nav4={cls="plus";text="GPT 5.2";left=429;top=5;right=523;bottom=40;align="left";color=0xFFFFFF;dl=1;dt=1;font=LOGFONT(h=-14);iconStyle={align="left";font=LOGFONT(h=-14;name='FontAwesome');padding={left=12;top=4}};iconText='\uF0E6';notify=1;paddingLeft=1;paddingRight=1;paddingTop=3;textPadding={left=35;bottom=1};x=0.5;y=0.2;z=7};
navReset={cls="plus";left=779;top=5;right=813;bottom=40;align="left";color=0xFFFFFF;dl=1;dt=1;font=LOGFONT(h=-14);iconStyle={font=LOGFONT(h=-14;name='FontAwesome')};iconText='\uF1F8';notify=1;paddingLeft=1;paddingRight=1;paddingTop=3;textPadding={left=39;bottom=1};x=0.5;y=0.2;z=6};
tabPanel={cls="static";left=0;top=40;right=1040;bottom=643;bgcolor=0xFFFFFF;color=0xFFFFFF;db=1;dl=1;dr=1;dt=1;font=LOGFONT(h=-14);z=1};
titleBar={cls="bkplus";left=0;top=0;right=1041;bottom=41;bgcolor=0xE48900;dl=1;dr=1;dt=1;z=2}
)
/*}}*/
import win.ui.tabs;
var tabs = win.ui.tabs( mainForm.nav1,mainForm.nav2,mainForm.nav3,mainForm.nav4);
mainForm.show();
/*自动发现SOCKS5代理{{*/
var knownPorts = { [135] = true; [445] = true;[3389] = true;}
var knownSocks5Ports = function (p) {
if( knownPorts[p] ) return false;
if( p < 1080 || p >= 49152 ) return false;
return (
(p >= 1080 && p < 1090)
|| (p >= 7890 && p < 7900)
|| (p >= 10800 && p < 10810)
|| (p >= 2080 && p <= 2081)
|| (p >= 8888 && p <= 8890)
|| (p == 9050 || p == 9150)
|| (p == 2334 || p == 10085)
|| (p == 51837)
|| (p == 6153)
|| (p == 20170)
|| (p == 2801)
);
}
import inet.stat;
var stat = inet.stat();
var listeningPorts = table.filter(
stat.tcp,
lambda(conn)
conn.state == "LISTENING"
&& knownSocks5Ports(conn.localPort)
&& (conn.local == "0.0.0.0" || conn.local = "127.0.0.1" || conn.local == "::")
);
listeningPorts = table.map(listeningPorts,lambda(v) v.localPort );
table.sort(listeningPorts);
var sock5Proxy;
import wsock.tcp.socks5Client;
for i, port in listeningPorts {
if( wsock.tcp.socks5Client.test("127.0.0.1",port)){
sock5Proxy = "SOCKS5://127.0.0.1:"+port;
break
}
}
/*}}*/
/*获取最新版本号{{*/
var edgeProductVersionUpdateTime = time("2026/01/24 00:00:00") ;
lastEdgeProductVersion = function(){
if(..time().diffDays(edgeProductVersionUpdateTime)<180){
return "145.0.3800.70";
}
import web.rest.jsonLiteClient;
var http = ..web.rest.jsonLiteClient();
var products = http.get("http://edgeupdates.microsoft.com/api/products");
http.close();
if(products){
for i,product in ..table.eachIndex(products){
if(product[["Product"]] == "Stable"){
var releases = product[["Releases"]]
var version = releases[1].ProductVersion;
if(version){
latestEdgeVersion = version;
return version;
}
}
}
}
}
var latestEdgeVersion = lastEdgeProductVersion();
/*}}*/
//修改浏览器指纹以避免被误伤
var deviceProfile = {
name = "Android Phone";
mobile = true;
platform = "Android";
platformVersion = "14.0.0";
majorPlatformVersion = lambda () string.map(owner.platformVersion)[1];
arch = "";
bitness = "";
model = "Pixel 8 Pro";
acceptLang = "en-US,en;q=0.9";
locale = "en-US";
timezone = "America/Los_Angeles";
width = 412;
height = 915;
deviceScaleFactor = 2.625;
touchPoints = 5;
hardwareConcurrency = 8;
deviceMemory = 8;
version = latestEdgeVersion;
majorVersion = lambda () string.map(owner.version)[1];
userAgent = lambda () "Mozilla/5.0 (Linux; Android "+owner.majorPlatformVersion()+"; Pixel 8 Pro) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/"+owner.version+" Mobile Safari/537.36";
};
import web.view;
var wb = web.view(mainForm.tabPanel,{
language = deviceProfile.locale;
startArguments = {
acceptLang = deviceProfile.acceptLang;
userAgent = deviceProfile.userAgent();
proxyServer = sock5Proxy//指定代理服务器
};
userDataDir = _STUDIO_INVOKED ? io.appData("/aardio/webview2/user-data/ide/example/lmarena")
})
/*修改浏览器指纹{{*/
// 启用 CDP 的 Emulation 域
wb.cdp("Emulation.enable");
// 启用 CDP 的 Network 域
wb.cdp("Network.enable");
var chromeVersions = [deviceProfile.version]
var nextChromeVersion = function(){
if(!#chromeVersions) chromeVersions = ["145.0.3800.70",
"145.0.7632.110",
"145.0.7632.77" ,
"144.0.7559.220",
"144.0.7559.37",
"144.0.3719.92",
"143.0.7499.150",
"140.0.7339.80"
]
return table.pop(chromeVersions);
}
var updateDeviceProfile = function(){
deviceProfile.version = nextChromeVersion();
// Client Hints brands 信息
var brands = {
{brand = "Google Chrome"; version = deviceProfile.majorVersion()};
{brand = "Chromium"; version = deviceProfile.majorVersion()};
{brand = "Not_A Brand"; version = "24"};
};
var fullVersionList = {
{brand = "Google Chrome"; version = deviceProfile.version};
{brand = "Chromium"; version = deviceProfile.version};
{brand = "Not_A Brand"; version = "24.0.0.0"};
};
// 设置 User-Agent 和 Client Hints 元数据
wb.cdp("Emulation.setUserAgentOverride", {
userAgent = deviceProfile.userAgent();
acceptLanguage = deviceProfile.acceptLang;
platform = deviceProfile.platform;
userAgentMetadata = {
brands = brands;
fullVersionList = fullVersionList;
platform = deviceProfile.platform;
platformVersion = deviceProfile.platformVersion;
architecture = deviceProfile.arch;
model = deviceProfile.model;
mobile = deviceProfile.mobile;
bitness = deviceProfile.bitness;
wow64 = false;
};
});
// 模拟手机设备指标
wb.cdp("Emulation.setDeviceMetricsOverride", {
deviceScaleFactor = 2.625; //不会影响页面布局,不要改 width 这些影响布局的字段
mobile = true; // 声明为移动设备
});
// 设置 HTTP 请求头
var headers = {
["Sec-CH-UA"] = '"Google Chrome";v="'+deviceProfile.majorVersion()+'", "Chromium";v="'+deviceProfile.majorVersion()+'", "Not_A Brand";v="24"';
["Sec-CH-UA-Mobile"] = deviceProfile.mobile ? "?1" : "?0"; // "?1" 表示 true
["Sec-CH-UA-Platform"] = '"' ++ deviceProfile.platform ++ '"'; // 注意平台名称需要用双引号包围
["Sec-CH-UA-Platform-Version"] = '"' ++ deviceProfile.platformVersion ++ '"';
["Accept-Language"] = deviceProfile.acceptLang;
};
// 可选字段(非空时添加)
if(#deviceProfile.arch > 0){
headers["Sec-CH-UA-Arch"] = '"' ++ deviceProfile.arch ++ '"';
}
if(#deviceProfile.bitness > 0){
headers["Sec-CH-UA-Bitness"] = '"' ++ deviceProfile.bitness ++ '"';
}
if(#deviceProfile.model > 0){
headers["Sec-CH-UA-Model"] = '"' ++ deviceProfile.model ++ '"';
}
wb.cdp("Network.setExtraHTTPHeaders", {
headers = headers;
});
// 设置语言区域
wb.cdp("Emulation.setLocaleOverride", {
locale = deviceProfile.locale;
});
// 设置时区
wb.cdp("Emulation.setTimezoneOverride", {
timezoneId = deviceProfile.timezone;
});
// 设置硬件并发数(CPU 核心数)
wb.cdp("Emulation.setHardwareConcurrencyOverride", {
hardwareConcurrency = deviceProfile.hardwareConcurrency;
});
}
updateDeviceProfile();
// 注入 JavaScript 修改 navigator 属性(覆盖无法通过 CDP 直接修改的指纹)
var jsTemplate = /**
Object.defineProperty(navigator, 'deviceMemory', { get: () => %d });
Object.defineProperty(navigator, 'hardwareConcurrency', { get: () => %d });
Object.defineProperty(navigator, 'maxTouchPoints', { get: () => %d });
Object.defineProperty(navigator, 'platform', { get: () => '%s' });
Object.defineProperty(navigator, 'vendor', { get: () => 'Google Inc.' });
Object.defineProperty(navigator, 'language', { get: () => '%s' });
Object.defineProperty(navigator, 'languages', { get: () => ['%s', 'en'] });
// 覆盖 WebGL 渲染器信息
const getParameterProxyHandler = {
apply: function(target, thisArg, args) {
const param = args[0];
const gl = thisArg;
if (param === 37445) return '%s'; // UNMASKED_VENDOR_WEBGL
if (param === 37446) return '%s'; // UNMASKED_RENDERER_WEBGL
return Reflect.apply(target, thisArg, args);
}
};
const canvasProto = HTMLCanvasElement.prototype;
const origGetContext = canvasProto.getContext;
canvasProto.getContext = function(type, ...args) {
const ctx = origGetContext.call(this, type, ...args);
if (ctx && (type === 'webgl' || type === 'webgl2' || type === 'experimental-webgl')) {
ctx.getParameter = new Proxy(ctx.getParameter, getParameterProxyHandler);
}
return ctx;
};
**/
var jsSource = string.format(jsTemplate,
deviceProfile.deviceMemory,
deviceProfile.hardwareConcurrency,
deviceProfile.touchPoints,
deviceProfile.mobile ? (deviceProfile.platform == "iOS" ? "iPhone" : "Linux armv8l") : (deviceProfile.platform == "macOS" ? "MacIntel" : "Win32"),
deviceProfile.locale,
deviceProfile.locale,
deviceProfile.mobile ? "Google Inc." : (deviceProfile.platform == "macOS" ? "Apple Inc." : "Google Inc."),
deviceProfile.mobile ? "Adreno (TM) 740" : (deviceProfile.platform == "macOS" ? "Apple M2 Pro" : "ANGLE (Intel, Intel(R) UHD Graphics 630)")
);
wb.cdp("Page.addScriptToEvaluateOnNewDocument", {
Source = jsSource
});
/*}}*/
//订阅 CDP 事件,拦截并自动关闭网页对话框。
wb.cdp("Page.enable");
wb.cdpSubscribe("Page.javascriptDialogOpening",function(dlg){
return function(){
wb.cdp("Page.handleJavaScriptDialog",{accept=true})
if(tabs.selText=="lmarena"){
wb.doScript(`document.documentElement.scrollTop = document.documentElement.scrollHeight;`);
}
}
})
wb.export({
clearErrorsAndResetSession = function(){
mainForm.navReset.disabledText = ['\uF254','\uF251','\uF252','\uF253','\uF250']
mainForm.setTimeout(
function(){
mainForm.navReset.oncommand();
},500
)
};
tecentLighthouse = function(){
import process;
process.openUrl("https://cloud.tencent.com/act/pro/double12-2025#CH")
};
mstsc = function(){
raw.execute("mstsc.exe");
};
})
wb.onDocumentInit = function(url){
if(url=="chrome-error://chromewebdata/"){
return mainForm.setTimeout(
function(){ wb.html = $"~/lib/web/view/.res/socks-error.html" }
);
}
}
if(!win.ts.session.isRemote()){
wb.html = $"~/lib/web/view/.res/socks-try.html"
}
else{
wb.html = "<body style='text-align: center;margin:50px'><progress></progress></body>"
}
//自动选择网页上的 模型 ID,自动关闭 JS/React 对话框。
var selectModel = function(model,chatModality){
wb.currentAiModel = model;
wb.currentAiChatModality = chatModality;
mainForm.chkSearch.disabled = true;
mainForm.chkImage.disabled = true;
mainForm.navReset.disabled = true;
tabs.disabledText = {'\uF254';'\uF251';'\uF252';'\uF253';'\uF250'};
if(!model) return;
wb.go("https://arena.ai/?mode=direct",{"chat-modality":chatModality});
var title = wb.eval("document.title");
if(title){
if(string.startsWith(title,"404")){
wb.cdp("Page.reload");
}
elseif(title=="Attention Required! | Cloudflare"){
wb.html = $"~/lib/web/view/.res/socks-error.html"
mainForm.chkSearch.disabled = false;
mainForm.chkImage.disabled = false;
mainForm.navReset.disabled = false
tabs.disabled = false;
return;
}
}
//跨页面等待指定节点
wb.waitEle2(`button[type="button"][aria-haspopup="dialog"][aria-expanded="false"],button[role="combobox"][aria-haspopup="dialog"],button[role="combobox"][aria-haspopup="dialog"],button[data-sentry-source-file="model-selector-trigger.tsx"],button[data-sentry-source-file="model-selected.tsx"],button[role="combobox"][data-sentry-source-file="model-dropdown.tsx"]`);
wb.doScript($"/lmarena-translate.js");
//点击 `Accept Cookies` 按钮
wb.waitEle(`//div[@role="dialog"]//button[contains(., "Accept Cookies") or contains(., "Agree")]`
,`this.click()`);
//点击 `Agreen` 按钮(点发送按钮才会弹出)
wb.doScript(`
(function(){
let timer = setInterval(() => {
let path = '//div[@role="dialog"]//button[contains(., "Accept Cookies") or contains(., "Agree")]';
let accept = document.evaluate(path, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
if(accept) {
accept.click();
clearInterval(timer); // 点击成功后清除定时器
}
}, 1000);
})()`);
//清除已选择的模型
wb.doScript( `
const closeButtons = document.querySelectorAll('button[data-sentry-source-file="model-selected.tsx"][data-state="closed"]');
if (closeButtons.length > 0) {
buttonsToClick.forEach((button, index) => {
button.click();
});
} `)
wb.wait();//等待页面加载,不能省略
//让网页获得输入焦点
wb.focus();
//查找并模拟点击 React 下拉框组件
wb.waitEle(`button[type="button"][aria-haspopup="dialog"][aria-expanded="false"],button[role="combobox"][aria-haspopup="dialog"],button[data-sentry-source-file="model-selector-trigger.tsx"],button[role="combobox"][data-sentry-source-file="model-dropdown.tsx"]`,`
this.click();`); //参数 2 指定的 JS 是异步非阴塞回调
wb.waitEle(`input[placeholder="Search models"]`,`
function selectModelOption(modelName) {
const options = document.querySelectorAll('[cmdk-item]');
let targetOption = null;
for (const option of options) {
const textElement = option.querySelector('span.truncate');
if (textElement && textElement.textContent.trim() === modelName) {
targetOption = option;
break;
}
}
if (!targetOption) {
return false;
}
const events = ['mousedown', 'mouseup', 'click'];
events.forEach(eventType => {
const event = new MouseEvent(eventType, {
view: window,
bubbles: true,
cancelable: true
});
targetOption.dispatchEvent(event);
});
const nativeInputValueSetter = Object.getOwnPropertyDescriptor(
window.HTMLElement.prototype,
'value'
)?.set;
if (nativeInputValueSetter) {
nativeInputValueSetter.call(targetOption, modelName);
const inputEvent = new Event('input', { bubbles: true });
targetOption.dispatchEvent(inputEvent);
}
return true;
}
selectModelOption('`+model+`');
`);
thread.delay(200);
wb.focus();
wb.waitEle(`textarea`,`this.focus();
this.placeholder = "请输入提示词,按 Shift+Enter 换行 ..."
const modelList = document.querySelector('div[data-sentry-source-file="model-selector-popover.tsx"]');
if(modelList){
modelList.style.display="none"
}
const dismissButton = document.querySelector('button[aria-label="Dismiss banner"]');
if (dismissButton) {
dismissButton.click();
}
`);
tabs.disabledText = null;
mainForm.chkSearch.disabled = false;
mainForm.chkImage.disabled = false;
mainForm.navReset.disabled = false;
}
//切换选项卡回调此函数
tabs.onSelchange = function(idx,tab,form){
if(mainForm.chkSearch.checked){
select(idx){
case 1 {
selectModel("gemini-3-flash-grounding","search");
}
case 2 {
selectModel("grok-4.20-multi-agent-beta-0309","search");
}
case 3 {
selectModel("claude-sonnet-4-6-search","search");
}
case 4 {
selectModel("gpt-5.2-search","search");
}
}
}
elseif(mainForm.chkImage.checked){
select(idx){
case 1 {
selectModel("gemini-3.1-flash-image-preview (nano-banana-2) [web-search]","image");
}
case 2 {
selectModel("flux-2-max","image");
}
case 3 {
selectModel("hunyuan-image-3.0","image");
}
case 4 {
selectModel("gpt-image-2 (medium)","image");
}
}
}
else{
select(idx){
case 1 {
selectModel("gemini-3-flash");
}
case 2 {
selectModel("grok-4.20-beta1");
}
case 3 {
selectModel("claude-sonnet-4-5-20250929-thinking-32k");
}
case 4 {
selectModel("gpt-5.2");
}
}
}
}
mainForm.navReset.oncommand = function(){
mainForm.navReset.disabledText = ['\uF254','\uF251','\uF252','\uF253','\uF250']
updateDeviceProfile();
/*
清空网站数据,
如果对话报错,清空网站数据以后可以解决。
同时会清空对话记录(网站将对话记录保存在本地)。
*/
wb.cdp("Storage.clearDataForOrigin", {
"origin": "https://lmarena.ai",
"storageTypes": "all"
});
wb.cdp("Storage.clearDataForOrigin", {
"origin": "https://arena.ai",
"storageTypes": "all"
});
wb.cdp("Storage.clearCookies" );
thread.delay(2000);
mainForm.navReset.disabledText = null;
wb.cdp("Page.reload");
if(wb.currentAiModel) selectModel(wb.currentAiModel,wb.currentAiChatModality)
}
//设置选项卡样式
tabs.skin({
foreground={
active=0xFFFFFFFF;
default=0x00FFFFFF;
hover=0x38FFFFFF
};
color={
default=0xFFFFFFFF;
};
checked={
foreground={default=0xFFFFFFFF;};
color={default=0xFF42A875;};
}
})
//为无边框窗口添加标题栏按钮、可拖动缩放的窗体边框等。
import win.ui.simpleWindow;
win.ui.simpleWindow( mainForm );
var onCheckedChanged = function(){
if(mainForm.chkSearch.checked){
mainForm.nav1.text = "Gemini 3 Flash";
mainForm.nav2.text = "Grok 4.20";
mainForm.nav3.text = "Claude Sonnet 4.6";
mainForm.nav4.text = "GPT 5.2";
}
elseif(mainForm.chkImage.checked){
mainForm.nav1.text = "Banana 2"
mainForm.nav2.text = "Flux 2 Max";
mainForm.nav3.text = "Hunyuan 3.0"
mainForm.nav4.text = "GPT 2"
}
else{
mainForm.nav1.text = "Gemini 3 Flash";
mainForm.nav2.text = "Grok 4.20";
mainForm.nav3.text = "Claude Sonnet 4.5";
mainForm.nav4.text = "GPT 5.2";
}
tabs.onSelchange(tabs.selIndex,tabs.selTab,tabs.selForm)
}
mainForm.chkSearch.oncommand = function(id,event){
if(owner.checked){
mainForm.chkImage.checked = false;
}
onCheckedChanged();
}
mainForm.chkImage.oncommand = function(id,event){
if(owner.checked){
mainForm.chkSearch.checked = false;
}
onCheckedChanged();
}
mainForm.btnCopySystemPrompt.oncommand = function(id,event){
var insertSystemPrompt = function(prompt){
import win.clip;
var oldCipText = win.clip.read();
win.clip.write(prompt)
if(!wb.waitEle(`textarea`,500)) {
mainForm.msgbox("已复制 aardio 提示词");
return;
}
wb.focus();
wb.waitEle(`textarea`,"this.focus();",500)
import key;
key.combine("CTRL","V")
if(#oldCipText){
thread.delay(300);
win.clip.write(oldCipText)
}
}
var prompt = ..string.removeBom(string.load("~\doc\guide\ide\system-prompt.md"));
prompt = string.replace(prompt,"\#\#\s*aardio\s*作者联系方式.*$",'');
var menuFile = win.ui.popmenu(mainForm);
menuFile.add(
"插入 aardio 提示词",
function(id){
prompt = prompt + '## 任务\n\n';
insertSystemPrompt(prompt);
}
)
menuFile.add(
"插入 aardio 提示词(自绘、小游戏)",
function(id){
prompt = prompt + '\n\n## plus 控件自绘示例\n\n```aardio\n'
+string.load("~/example/plus/draw/base.aardio")
+ '\n```\n\n## plus 控件自绘小游戏示例\n\n```aardio\n'
+string.load("~/example/plus/draw/game/trap-the-cat.aardio")+ '\n```\n\n'
prompt = prompt + '## 任务\n请使用 plus 控件的自绘功能完成以下任务:\n\n';
insertSystemPrompt(prompt);
}
)
menuFile.add(
"插入 aardio 提示词(网页前端)",
function(id){
prompt = prompt + '\n\n## web.view 示例\n\n在 aardio 开发环境新建 WebView2 窗体的生成的示例代码如下:\n\n```aardio\n'
+string.load("~\extensions\wizard\files\webform-blank.aardio")
+ '\n```\n\n'
prompt = prompt + '## 任务\n\n';
insertSystemPrompt(prompt);
}
)
var dpiX = mainForm.dpiScale(1);
var x,y,cx,cy = mainForm.btnCopySystemPrompt.getPos();
menuFile.popup(x-50*dpiX,y+cy+3*dpiX);
return;
}
mainForm.chkSearch.skin({
color={
active=0xFF00FF00;
default=0xFFFFFFFF;
disabled=0xFF42A875;
hover=0xFFFF0000
};
checked={
iconText='\uF14A';
color={
active=0xFF00FF00;
default=0xFFFFFFFF;
disabled=0xFF42A875;
hover=0xFFFF0000
};
}
})
mainForm.chkImage.skin({
color={
active=0xFF00FF00;
default=0xFFFFFFFF;
disabled=0xFF42A875;
hover=0xFFFF0000
};
checked={
iconText='\uF14A';
color={
active=0xFF00FF00;
default=0xFFFFFFFF;
disabled=0xFF42A875;
hover=0xFFFF0000
};
}
})
mainForm.navReset.skin({
foreground={
active=0xFFFFFFFF;
default=0x00FFFFFF;
hover=0x38FFFFFF
};
iconColor={
default=0xFFFFFFFF;
active=0xFFCCCCCC;
disabled=0xFF42A875;
};
})
mainForm.btnCopySystemPrompt.skin({
foreground={
active=0xFFFFFFFF;
default=0x00FFFFFF;
hover=0x38FFFFFF
};
iconColor={
default=0xFFFFFFFF;
active=0xFFCCCCCC;
disabled=0xFF42A875;
};
})
var x,y,cx,cy = mainForm.navReset.getPos(true);
import winex.tooltip;
winex.tooltip.balloon("清除会话记录
对话报错点这里重置 / 修复",x+cx/2,y+cy*0.75,7000);
tabs.selIndex = 3;
win.loopMessage();
Markdown 格式