v2.1 灵感库 + AI Agent 面板合并(含自动更新重新接入) - #174
Open
mufanmu wants to merge 69 commits into
Open
Conversation
- 新增 AI Agent 侧边聊天面板(smart-canvas.html/js/css) - 支持上传 .md skill 文档引导生图风格 - 支持上传参考图片作为角色/风格附件 - 理解模型与生图模型独立选择 - 出图参数:比例/分辨率/数量 - 多轮对话上下文,自动携带最近生成的图 - localStorage 持久化对话状态 - API 设置界面优化(api-settings.html/js) - 推荐 API 快捷配置(APIMART/RunningHub/Agnes AI 等) - 模型拉取与分类选择 - 协议与图片模式选择 - 添加 .gitignore 排除敏感文件和运行时数据
- 统一附件管理:Skill 和图片合并到输入框上方附件行,支持多个 Skill - @ 引用画布图片:输入 @ 弹出画布图片列表(最新优先),支持键盘选择和过滤 - 输入框拖拽高度:底部拖拽手柄,高度持久化 - 附件持久化:attachments 和 skills 保存到 localStorage,刷新不丢失 - LLM 提示词优化:增加澄清规则(需求模糊时主动反问)、鼓励展示推理和多方案 - 旧数据迁移:单个 skill 对象自动迁移为 skills 数组
- OneBox 输入容器:附件行内嵌输入框上方,整体圆角边框 - 底部工具栏:附件按钮 + 模型下拉 + 参数下拉 + 发送按钮 - 模型下拉:合并理解模型和生图模型到一个面板 - 参数下拉:比例/分辨率/数量合并到一个面板,按钮显示当前值 - 移除自动上下文开关(默认开启) - 批量完整性检查:用户请求 N 张但 LLM 返回不足时提示 - 下拉面板初始化时正确隐藏
- 画布缩略图预览窗口从右下角移到左下角,给 Agent 面板腾出高度 - 修复下拉面板无法关闭:CSS display:flex 覆盖 hidden 属性,添加 [hidden] 规则 - 修复下拉面板关闭:document click 改为 pointerdown capture 阶段 - 参数面板重新设计:质量 segmented control(自动/高/中/低) - Size 网格:12 个比例+分辨率组合按钮(1:1 到 16:9(4k)) - Image 数量网格:1-4 img 按钮 - 工具栏标签显示质量参数 - 移除旧的比例/分辨率/数量 select 事件绑定
- 新建对话/删除当前对话/对话列表(和画布绑定) - 关闭图标从收起改为 x - 消息操作:复制(所有消息)+ 重试(assistant 消息),hover 显示图标 - Agent 面板高度铺满(bottom 从 168px 改为 22px) - OneBox overflow 改为 visible,修复下拉面板被裁剪 - 参数面板右对齐,避免偏右显示不全 - 旧数据迁移:messages 自动迁移为 conversations[0]
- @引用图片以OneBox形式呈现:小缩略图(24px) + 简短名称(超12字截断) - 点击附件跳转到画布中图片位置(通过nodeId定位+centerViewportOnWorldPoint) - 关闭自动更新检查:禁用checkForUpdates()自动调用 - 禁用checkForUpdates函数:只显示版本号,不获取远程更新信息 - 隐藏一键更新按钮 - 版本号徽章不可点击
- 下拉面板改为 fixed 定位,不再被 Agent 面板框住 - 比例和分辨率分开:独立的比例网格(9种)和分辨率网格(auto/1K/2K/4K) - 比例选项添加矩形描边框图标,直观展示比例样式 - 图片数量从最多4张扩展到8张 - 尺寸支持 auto 分辨率 - Agent 面板顶部按钮添加文字描述(新建/对话/删除/关闭)
- 图片附件改回44px大缩略图样式,保留点击跳转功能 - 悬浮工具栏最左边加'发送至Agent'按钮(bot图标),点击后图片作为附件发送到Agent - 跳转位置修复:考虑Agent面板宽度(360px),跳转位置偏左180px使图片居中 - 参数面板点击不展开修复:showDropdown添加top/right重置 - 顶部按钮改为折叠菜单:新建(+)、对话列表(☰)、更多(...)包含删除当前对话 - 去掉关闭按钮,再次点击AI Agent入口按钮相当于关闭
- 参数面板显示修复:移到 document.body 中,避免被 Agent 面板 backdrop-filter 遮挡 - Agent 面板 overflow:hidden 改为 visible,允许下拉面板显示 - showDropdown 添加水平边界检查,确保面板不会超出屏幕右边界 - 图片叠在一起:A+C 方案(计算空白区域+右侧追加),新图放在最右边节点右侧 - 运行过程中聊天锁定:禁用重试/新建对话/删除对话/对话列表/输入框,允许复制 - 按钮右对齐:asset-head 改为 flex 布局,标题 flex:1,按钮组靠右 - 跳转居中:agentCenterOnPoint/agentCenterOnNode 考虑 Agent 面板宽度(382px),使用可视区域中心
- 参数面板点击修复:关闭逻辑添加 .agent-dropdown-panel 检查,点击面板内部时不关闭 - 下拉面板 z-index 从 100 提升到 9999,确保不被画布节点遮挡
- runAgentGenerations() 中保存节点 ID 和坐标到 gen.results - agentGenCardHtml() 中缩略图添加 data-agent-gen-jump 属性和 cursor:pointer - renderAgentMessages() 中绑定缩略图点击跳转事件,点击后跳转到画布中对应图片位置并选中
- 没有 nodeId 的旧消息通过 url 在画布中查找对应节点 - 优先 nodeId 查找,其次 url 匹配,最后坐标跳转
- 去掉分辨率自动选项,只保留1K/2K/4K - 左下角版本号写上'Agent版(无自动更新)' - 生成速度优化:for循环改为Promise.all并发处理,所有图片同时返回 - 多张生成水平排列:agentFindEmptyPosition返回水平位置,间隔40px - 关键词检测选项按钮:assistant消息包含确认/修改/取消/继续关键词时显示选项按钮,点击后自动发送对应文本
- 聊天框根据文字自动拉高,最高500px,保留拖拽手柄 - 结构化options字段:LLM在JSON中返回options字段,明确指定选项按钮 - AGENT_FORMAT_INSTRUCTION添加options字段说明 - parseAgentResponse()解析options字段 - agentMessageHtml()使用msg.options而不是关键词检测 - 移除关键词检测函数agentDetectOptions()
- 生成好的图片不显示选项按钮(只在generations为空时显示) - 确认按钮直接开始生成图片(调用runAgentGenerations,不发送消息给LLM) - 修改按钮发送文本给LLM,LLM修改提示词后再次确认 - 系统提示词明确修改含义
- 图片排列方式:按照上一张图的顶部对齐往右排列,间距40px - GitHub项目主页链接到当前分支 feature/ai-agent-panel
- 按钮文本从'修改'改为'重新生成提示词' - 系统提示词明确说明:返回 generations: [],不生图,等待用户确认 - parseAgentResponse() 后检查:如果用户点击了'重新生成提示词',强制将 generations 设为空数组
- 生成N张意味着返回N个不同的提示词(不是1个提示词但count是N) - 角色一致性:记住用户上传的角色形象,后续生成保持一致 - 风格一致性:严格遵循skill文档的风格规则 - 图片编辑:理解图片引用,使用use_last_outputs - 批量多样性:确保每个提示词都不同(角度/场景/动作/构图) - 图片质量:生成详细提示词(光线/构图/色彩/细节/氛围) - 实时反馈:理解用户反馈并修改提示词 - 图片组合:支持图片组合和布局描述 - 动态参数:理解用户指定的参数要求 - 风格迁移:支持风格转换描述 - 图片理解:支持图片内容分析和描述
- 生成开始时先创建占位节点(按照图片尺寸来,显示loading-skeleton样式) - 生成完成后更新占位节点为实际图片 - 生成失败时删除占位节点
- LLM提出方案时返回prompts字段(不包含count等参数) - 点击确认后使用prompts构建generations并开始生成 - AGENT_FORMAT_INSTRUCTION添加prompts字段说明 - parseAgentResponse()解析prompts字段 - sendAgentMessage()保存prompts到assistantMsg
- AI Agent 侧边聊天面板(OneBox 风格) - 统一附件管理(Skill + 图片) - @ 引用画布图片 - 多对话管理(新建/删除/对话列表) - 消息操作(复制/重试) - 生图占位功能 - LLM 结构化 options 字段 - 确认工作流程优化(确认=开始生成,修改=重新生成提示词) - LLM 生图能力 11 项核心升级 - 图片排列顶部对齐 - 聊天框自动拉高 - 关闭自动更新功能 - GitHub 链接到当前分支
added 30 commits
July 19, 2026 15:51
… user message 注入 skill 强制提醒,确保 agy(gemini-cli)/agnes/魔搭及所有模型都能完整保留 skill 内容;升级版本号到 v1.4.1784458000
…转prompts移除options限制 - thinkingModeOn计算提前
…Skill描述单张图样式(含画面内排列),不决定出图数量 - 新增resolveFinalGenCount: 输入框显式要求(软参数)>工具栏(默认), 比例/分辨率为硬参数工具栏说了算 - 增强chatRequestedImageCount: 支持1-8,增加条/只/版/款等量词 - sendAgentMessage: 算finalCount传给agentSystemPrompt, Skill提醒加数量归属说明 - processAgentLlmResult: requestedCount用resolveFinalGenCount统一决策
…ERSION更新为v1.5 - HTML版本号更新为v1.5
…ount=1)而非增加count - 强制所有generation的count=1 - 直接模式系统提示词明确要求返回N条不同generation - 出图数量指令措辞统一为'返回N条'
- 生成图每轮编号(跨卡片连续编号,蓝色方块标记) - 附件编号显示统一索引(生成图数量+附件序号) - 非思维模式下「图X」引用解析→直连生图模型 - parseImageRefTasks 重写:中文数字+底图检测+默认不拆分 - 编号翻译层:图N→第X张参考图+角色说明注入 - 参考图上限 20→10 + 超限 toast 提示 - UI:理解模型移到模型面板(始终可见) - UI:思维按钮改纯开关(ON=深度创作 OFF=快速执行) - 附件编号改蓝色方块+删除按钮hover显示
- OFF模式架构重写:删除前端规则引擎,改为1次LLM调用理解意图 - 新增AGENT_OFF_MODE_INSTRUCTION系统提示词(快速执行器角色) - 分析请求防护:前端拦截+系统提示词加强(防止分析时误生图) - 自定义输入按钮bug修复(点击不再直接发送) - CLI子进程代理环境变量继承(env=os.environ+大写补全) - 启动脚本加载.zshrc确保代理变量可用
- 重写 AGENT_OFF_MODE_INSTRUCTION: 支持8种意图(generate/edit/analyze/refine/composite/clarify/meta/cancel) - 新增快速路径: 纯文生图和简单修改跳过LLM直接执行 - 新增 parseAgentIntentRoute: 意图路由JSON解析(含正则回退) - 分析/反推区分: 反推只输出prompt, 分析输出结果+行动引导选项 - 新增 clarify 意图: 意图不明时主动问用户并提供选项 - 新增生成后快捷操作栏: 修改/变体/反推 - 新增分析卡片和提示词建议卡片UI - 流式输出: 后端canvas_llm_stream + WebSocket逐token推送 - 思维模式接入流式(stream=true) - 流式气泡: max-height 200px + 滚动 + 停止按钮 - 最小安全网: 剥离@mention后分析动词强制text_only - mac启动脚本: 添加no_proxy避免Clash劫持本地请求 - 后端: 新增broadcast_agent_llm_token, canvas_llm_stream, stream参数
- 变体按钮改为气泡弹出选择数量(×1 ×2 ×3 ×4),支持差异化生成 - 修复思维模式 genCount=1 时 LLM 返回多条 prompts 的 bug(前端截断+提示词约束) - 思维模式 tooltip/toast 文案更新:强调适合灵感探索,明确需求建议关闭 - tooltip 样式优化:限宽200px、文字折行、左对齐 - 页面版本号更新
- 新增灵感库面板:Civitai 海量 AI 图片排序浏览(热门/最新/点赞/收藏) - 真关键词搜索:接入 Civitai Meilisearch 搜索服务,中英文均可搜 - 中文搜索词典:常用中文词自动映射 Civitai 英文标签 - 分类标签筛选:chips 换行布局 + 更多标签分组下拉面板(6组58标签) - 一键导入画布:图片本地化(刷新不丢)+ 双重去重 + 来源署名 - 体验优化:按真实宽高比预留高度修复布局跳动、加载重试、429降级、TTL缓存 - README 版本表格改为大白话并新增 v2.1 说明
- 恢复加载时自动检查更新(取消注释 checkForUpdates + 移除禁用用提前return) - PROJECT_URL 从 fork 改回主项目 hero8152/Infinite-Canvas - 版本徽章文案去掉(无自动更新);更新源 URL 已指向主项目 - VERSION 改为日期格式 2026.07.22(与主项目版本规范一致,确保老用户收到更新) - README:当前版本更新、自动更新说明改为已开启、删除过时的分支分叉提示 - 静态资源版本号统一升至 v2.1
# Conflicts: # VERSION # static/angle.html # static/api-settings.html # static/asset-manager.html # static/canvas-list.html # static/canvas.html # static/comfyui-settings.html # static/enhance.html # static/gpt-chat.html # static/index.html # static/klein.html # static/online.html # static/smart-canvas.html # static/zimage.html
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
合并说明
将 AI Agent 智能画布分支合并回主项目,本次包含 v2.1 灵感库 与 v2.0 Agent 架构,并已重新开启自动更新、连回主项目。
一、灵感库(v2.1 新增)
内置 AI 图片灵感面板:刷图 → 一键导入画布当参考。数据源为 Civitai(AI 生成图,参考性强)。
/api/inspire-civitai/api/v1/images(热门/最新/点赞/收藏排序)二、AI Agent 面板(v2.0 架构)
LLM-first 意图驱动的 AI 生图协作面板:
三、自动更新
注意事项