对话
右侧栏有两个页签:AI 助手 和 属性。AI 助手用来说清当前这个工业视觉项目该怎么往下做。它按工业视觉答,不是 PLC 助手,也不是 CAD 助手。

图:AI 助手面板。头部一行是余额、历史、新建、清空;中间对话区按当前项目的模型与数据集作答;底部是输入框和纸夹。
功能概览
| 想做什么 | 在哪 |
|---|---|
| 打开 / 切到对话面板 | 右上角 AI 助手(在 AI 助手和属性两个页签之间切) |
| 看还剩多少钱 | 面板头部 |
| 开一段新对话 | 头部 新建 |
| 翻以前的对话 | 头部 历史 |
| 传个文件给它看 | 输入框左边的纸夹,或直接拖进面板 |
| 登录 | 右上角 登录 |
| 看会话存在哪 | 本页 会话与历史 |
快速开始
- 右上角 AI 助手 切到对话页签。
- 头部显示 未登录 就先点右上角 登录,登录后头部变成余额;右上角按钮、设置页、在线模型库同时变成同一账号。
- 空状态下面有三条建议,点一条开始;或者直接在输入框里敲问题,回车发送。
- 要传图或文件,点纸夹选,或者拖进面板、粘贴。
- 这段聊完了点 新建 开下一段,旧的留在历史里。
面板在哪
面板在右侧栏,和 属性 共用一个页签条。右上角的 AI 助手 按钮在这两个页签之间来回切,不是把面板显示 / 隐藏。启动时默认停在 属性 页签。工具条是固定那一条,不能自定义。
头部
官方头是开着的,一行里有这些:
| 元素 | 行为 |
|---|---|
| 余额 | 未登录写 未登录;已登录写 剩余 12.34 USD 这样两位小数;查不到额度写 剩余 -- USD,不弹错 |
| 历史 | 打开历史浮窗 |
| 新建 | 开一段新对话 |
| 刷子 | 删掉当前这段会话 |
余额每 60 秒更新一次;登录、登出、令牌过期后立刻更新。
刷子那个图标是官方 Clear 控件,但 Studio 把它的点击改成了删除当前会话,不是官方原本的「清空当前视图」。想留着这段只翻走的话,用 新建,不要点刷子。
建议词
空状态标题是「Darra AI 助手」,说明是「选择下方建议,或直接输入问题开始对话。」输入框的占位提示是「输入问题…」。
每次给三条建议,按这个顺序凑:
- Studio 是工业视觉上下文,空会话先直接给产品默认三条(界面原文):「用更优数据集自动训练当前模型」「自动训练性能更强的模型」「持续自动优化直到效果最优」。这三条会占满三个坑。
- 会话里最近几轮提到过关键词,就出「继续讨论某关键词」这类接着聊的建议。
- 已注册的产品工具,翻成一句人话任务。
- 还不够就用默认池补位。
输入与附件
回车发送。流式输出固定开着,回复按 Markdown 渲染。
点纸夹传文件,也支持直接拖进面板、粘贴进来。不做扩展名白名单拦截。
单个文件超过 20 MB、或者一次传超过 10 个,会被静默忽略,不提示、不进错误链路。真没传上去就少传几个、压小一点再试。
登录
登录入口是右上角 登录,本面板自己没有登录按钮。头部写「未登录」就是在提醒去右上角登录。
登录态是全程序一份,本面板头部、右上角按钮、设置页、在线模型库看的是同一个结论:
| 动作 | 面板头部 | 右上角 |
|---|---|---|
| 在右上角登录 | 未登录 → 剩余 xx.xx USD | 登录 → 账号名 |
| 在在线模型库的网页里登录 | 同上 | 同上 |
| 登出 | 回到 未登录 | 回到 登录 |
| 令牌过期 / 续期被拒 | 回到 未登录 | 回到 登录 |
登录态一变就刷新,不用等下一次更新。登录页只记住账号,不记密码。
登录不等于商用授权。 登录说明现在是哪个账号;模型加密签发那类商业功能还要单独查授权,查不到就明确拒绝。AI 对话用的是调用密钥 / 配额,也不是授权。三者区别:常见问题。
后端与密钥
请求打 AI 控制台 https://ai.darra.xyz,边生成边显示。这个地址是钉死的,界面里改不了。
密钥按这个顺序取,取到就用:
| 顺位 | 来源 |
|---|---|
| 1 | 后端配置里的密钥引用(指向某个环境变量或凭据别名) |
| 2 | 环境变量 DARRA_AI_API_KEY |
| 3 | 本次运行里已经取到的控制台 Key(登出即作废) |
| 4 | 登录后自动换到的控制台 Key |
四层都没有就不发请求:未登录时提示「密钥未配置」,让你设环境变量或登录;已登录时提示服务端给的原因(例如「登录已过期」)。登录令牌不会拿去当 AI 调用密钥,两者是两回事。余额查的是登录账号的配额,和 AI 调用密钥无关;配了密钥不等于已登录。
助手的身份是嵌在 Studio 里的工业视觉 / 训练助手:只用已注册的产品工具做数据集、标注、采集静帧、训练、蒸馏、推理、评估、导出、加密签发、环境准备和发布,超出能力的就直说做不了,不编。失败时返回真实错误原因,不许把失败说成成功。工具集初始化失败时聊天主链路照常工作,只是少了工具,该拒的照样拒。
失败与空输入
失败把能直接处置的那句话写进助手气泡,不抛未处理异常:
| 情况 | 气泡里看到 |
|---|---|
| 密钥没配 / 登录过期 | 对应的中文提示,让你去设环境变量或重新登录 |
| 配额不足 | 提示去控制台加购配额 |
| 请求被拒 | 请重试 |
| 请求过于频繁 | 请稍后重试 |
| 连不上 AI 服务 | 请检查网络后重试 |
| 服务暂不可用 | 请稍后重试 |
HTTP 状态码只进日志,气泡里不显示数字,需要排查就去看日志。
空输入不产生助手气泡,也不会写进历史。边界情况下的固定串是「(空回复)」「(未收到消息内容)」「(输入为空)」,它们只表示确实什么都没拿到,不是编的答复。
会话与历史
| 动作 | 行为 |
|---|---|
| 新建 | 当前这段留在历史里,另开一份空白草稿 |
| 空白草稿 | 不保存、不进历史浮窗。发出第一条消息并保存成功后才进历史 |
| 首条消息 | 会话默认叫「新对话」。发出第一条消息后,标题自动换成那条消息的前 20 个字;已经自己改过名的不再动 |
| 历史浮窗 | 只列有消息的会话,一行是标题加 MM-dd HH:mm,当前那条高亮。空列表写「暂无历史对话」 |
| 切换 | 点一条就整体回填那段对话 |
| 刷子 / 历史条的 × | 删掉那一段会话,不弹确认 |
| 删光了 | 自动补一份空白草稿 |
会话存在 %AppData%\DarraAI\chat-history\,每个会话一个 json 文件,内容加密后再存——防的是被人随手翻文件,不承诺防本机同用户的其他进程。每会话最多存 200 条,最多 50 个会话,超了自动裁最旧的。
边界
- 面板是 Studio 内嵌的对话工具,不是独立的 AI 客户端,也不改你的模型和数据集——真正动手的是已注册的产品工具。
- 控制台地址、密钥获取链都是固定的,界面里没有后端地址配置,也没有「测试连接」按钮。
- 删除会话不弹确认,删了就没了。
- 附件超 20 MB 或一次超 10 个会被静默忽略。