# web.rest.aiChat.message 库模块帮助文档

## web.rest.aiChat 成员列表 <a id="web.rest.aiChat" href="#web.rest.aiChat">&#x23;</a>

### web.rest.aiChat.message() <a id="web.rest.aiChat.message" href="#web.rest.aiChat.message">&#x23;</a>
创建 AI 聊天助手消息队列。  
可选用参数 @1 指定初始化消息数组。  
可以在界面线程单独创建与管理消息队列，  
然后再通过线程参数发给后台线程的 web.rest.aiChat 对象。  

[返回对象:webRestChatMessageObject](#webRestChatMessageObject)

## webRestChatMessageObject 成员列表 <a id="webRestChatMessageObject" href="#webRestChatMessageObject">&#x23;</a>

### webRestChatMessageObject.aardioSystem <a id="webRestChatMessageObject.aardioSystem" href="#webRestChatMessageObject.aardioSystem">&#x23;</a>
自动创建 aardio 编程助手系统提示词。  
除函数自带的基本的 aardio 助手提示词以外，EXE 目录下必须存在待添加的文档。

### webRestChatMessageObject.aardioSystem(prompt) <a id="webRestChatMessageObject.aardioSystem" href="#webRestChatMessageObject.aardioSystem">&#x23;</a>
增加 aardio 编程助手提示词（如果已添加则忽略）。  
如果指定参数 prompt 则追加到系统提示词（不检测之前是否已添加过）。

### webRestChatMessageObject.aardioSystemPrompt <a id="webRestChatMessageObject.aardioSystemPrompt" href="#webRestChatMessageObject.aardioSystemPrompt">&#x23;</a>
是否自动附加了 aardio 编程助手系统提示词。  
不可手动修改此属性。

### webRestChatMessageObject.assistant(增量文本) <a id="webRestChatMessageObject.assistant" href="#webRestChatMessageObject.assistant">&#x23;</a>
显示并记录 AI 接口返回的增量文本。  
参数必须是文本或者表示输出完成的 null 值。

### webRestChatMessageObject.clear() <a id="webRestChatMessageObject.clear" href="#webRestChatMessageObject.clear">&#x23;</a>
清除会话记录。

### webRestChatMessageObject.findSystem(模式串) <a id="webRestChatMessageObject.findSystem" href="#webRestChatMessageObject.findSystem">&#x23;</a>
使用模式匹配语法查找消息队列中是否存在指定的系统提示词

### webRestChatMessageObject.lastAssistantMessage() <a id="webRestChatMessageObject.lastAssistantMessage" href="#webRestChatMessageObject.lastAssistantMessage">&#x23;</a>
获取 AI 最后一次返回的消息，如果没有则返回 null。  
无参数返回包含 content 字段的表对象。  
参数 @1 为  true 返回 content 字段（通常是 Markdown 格式字符串）

### webRestChatMessageObject.limit <a id="webRestChatMessageObject.limit" href="#webRestChatMessageObject.limit">&#x23;</a>
可选指定一个限制消息队列大小的数值。  
limit 限制的队列大小不包含第一个系统提示词与最后一个系统提示词。

### webRestChatMessageObject.prompt <a id="webRestChatMessageObject.prompt" href="#webRestChatMessageObject.prompt">&#x23;</a>
添加提示词。

### webRestChatMessageObject.prompt(content) <a id="webRestChatMessageObject.prompt" href="#webRestChatMessageObject.prompt">&#x23;</a>
添加用户提示词。  
content 可以是字符串，也可以是对象数组。  
请参考调用模型与接口的文档了解支持的对象格式。

### webRestChatMessageObject.prompt(txtContent,imageBufferOrPath) <a id="webRestChatMessageObject.prompt" href="#webRestChatMessageObject.prompt">&#x23;</a>
添加并显示用户 @txtContent 参数指定的文本提示词。  
可选用 @imageBufferOrPath 指定图像数据（必须是 buffer 对象），  
支持 JPG,PNG,GIF,WEBP 格式图像。  

注意请参考接口文档以了解调用模型是否支持图像识别。  

如果 @imageBufferOrPath 使用字符串指定文件路径则调用 string.loadBuffer 读取为 buffer。

### webRestChatMessageObject.prompt(txtContent,imageUrl) <a id="webRestChatMessageObject.prompt" href="#webRestChatMessageObject.prompt">&#x23;</a>
添加并显示用户 @txtContent 参数指定的文本提示词。  
可选用 @imageUrl 指定图像网址（通常不支持远程网址），  
本地图像可调用 inet.urlData 转换为 Data URL（Base64) 格式。  
注意请参考接口文档了解调用模型是否支持图像识别。

### webRestChatMessageObject.started() <a id="webRestChatMessageObject.started" href="#webRestChatMessageObject.started">&#x23;</a>
是否已经发起对话。  
发起对话指的是消息队列中包含非 system 角色的消息。

### webRestChatMessageObject.system(提示词) <a id="webRestChatMessageObject.system" href="#webRestChatMessageObject.system">&#x23;</a>
添加并显示系统提示词。

### webRestChatMessageObject.url() <a id="webRestChatMessageObject.url" href="#webRestChatMessageObject.url">&#x23;</a>
获取参数 @1 指定网址的内容并转换为 Markdown 格式或者文本格式提示词。  
参数 @1 也可以指定包含 url 字段的对象，或这样的对象数组。  
参数为 包含 url 字段的对象时如果同时包含 text 字段，则直接自 text 字段获取网页文本。  
如果参数 @1 指定数组参数，则将所有数组成员作为参数获取目标内容。  
如果参数为空数组、空字符串、null 则返回 null。  

可选用参数 @2 指定每个 URL 返回内容的最大字节数（默认为 64000），超过设定的页面将被忽略。  

成功返回添加的提示词，失败返回  null,错误信息 。  

如果提前导入 web.turndown 库则支持自动转换 HTML 为 Markdown 格式文本。
