Releases: qiuqiukof-oss/Hesi
Release list
v0.2.8 — 全局工作空间选择器 + 文档拆层
本次更新
全局工作空间选择器(新功能)
- 终端标签栏 + 聊天工具栏各新增醒目「📂 选择工作空间 ▾」按钮
- 点击打开服务端目录浏览弹窗(浏览器原生选择器无法暴露绝对路径,故由后端列目录),选定即生效
- 一次性驱动:① 新开终端默认 cwd ② AI 工具 exec/文件操作默认目录,消除「终端在 A 目录、AI 在 B 目录」的割裂
- 选择持久化到 localStorage,重启自动回写;确认时可顺带把当前终端
cd过去 - 新增
lib/workspace.js/routes/workspace.js(GET/POST /api/workspace)/routes/fs.js(GET /api/fs/dirs),均受requireToken保护(loopback 默认豁免)
📘 文档与新手体验
- README 顶部新增「🚀 30 秒快速体验」速览(零安装便携包 / 源码运行 / 让 AI 干活 三入口),并链接新手指引与贡献者指南
- 新增
docs/getting-started.md:面向新手的完整上手指南 - 新增
CONTRIBUTING.md:重点标注仓库特有地雷(bundle 双轨 build:main vs build:lazy、eslint 前端 globals、husky、gh-pages worktree、禁止 git add -A)
基于《Hesi 可用性缺口分析》实证复核落地——只做已证伪后仍成立的真实短板,未动已修复的旧伤(测试覆盖、根目录模块化、后端热重载)。
完整变更:见 CHANGELOG.md
v0.2.7 — Lint 归零 & agnes-ai 崩溃修复
工程健康度修复(响应第三方实地评测复核)
Lint 归零
eslint.config.js 为 plugins/agnes-ai/web/**/*.js 补充浏览器全局变量(document / window / navigator 等),消除此前误判为 Node 后端导致的 201 个 no-undef 误报。npm run lint 由 201 errors → 0 errors,CI lint 步骤转绿。
修复潜在运行时崩溃
删除 plugins/agnes-ai/web/js/app.js 中 totalAdjusted++ 死代码:该变量从未声明、也从未被读取,在 class 严格模式下执行「场景时长分析」路径会抛出 ReferenceError。删之既清死代码又消除真实崩溃点。
本次仅修复工程健康度问题,未改动任何运行时功能与 UI 行为,未涉及版本主线的公网加固范围。
v0.2.6 — 新手指引气泡精修 + 默认亮色
新手指引气泡定位精修(基于自动化截图诊断):
- 等聊天抽屉滑入动画结束再定位气泡,修复 ⭐AI讨论 步气泡悬空 ~200px
- 移除每步气泡的全屏黑色遮罩暗化(
.og-overlay不再rgba(0,0,0,0.55)),主界面不再变暗 - 删除
hideWelcomeOverlay()误判(chat-drawer z-index:6 天然在 welcome-overlay:5 之上),欢迎页始终可见、背景不再消失 - AI讨论气泡位置微调(最终 offset.y=-90,累计上移 90px)
主题:
- 默认主题改为亮色(首次访问/清缓存后自动亮色,预设 active 指向「亮色默认」)
v0.2.5
[v0.2.5] — 2026-07-25
侧栏新手引导(onboarding)全套上线 + 欢迎页/气泡像素级打磨 + 整体代码审查修复 + 主题切换重新开放 + Logo 光晕清理。
Added
- 侧栏新手引导 v1→v4 — 气泡 A/B 混合(目标不可见时自动开对应面板、可见时静默跳过);四方位智能定位 + 箭头指向 + 像素级偏移微调;⭐AI 讨论步骤金色高亮着重标记(
highlightTarget精确圈选开关)。 - 新手教程页(独立标签页) — 双语(中/EN)产品介绍风格 7 页幻灯片:Start Page → Hesi 是什么 → 为什么选 → 核心功能 → 三步上手 → ⭐AI 讨论 → 📎多模态;原生
speechSynthesisTTS 朗读旁白 + 语言切换 + 自动播放进度条;虚化主界面截图作背景。
Changed
- 欢迎页布局美化 — 压缩密度使 Slide 0/1 不滚动;修复欢迎层横向溢出(
-16px负边距)。 - 主题切换功能重新开放 — 移除 🌙暗/亮与 🎨背景定制按钮的
display:none(图标换新设计后暗色下不再失真);亮色/半透/纸质等预设可用。 - Logo 光晕清理 — 源图自带外发光+投影是 alpha=255 实色浅蓝白渐变环(非半透明),大图露白边毛刺;改用 BFS 泛洪填充 + 双阈值(
lum>140 AND r>100)从四边吃掉光晕、保留图标青色渐变本体(清除 182,293 像素)。
Fixed
- 确凿 Bug(整体检查) —
index.html的#discuss-switch漏 id 致 ⭐AI 讨论高亮框静默失效;welcome.css孤立多余};state.js分类筛选记忆恢复后高亮 chip 与状态不同步。 - 中危项(整体检查) — ① onboarding 进 chat 步时临时隐藏
#welcome-overlay防遮挡气泡目标;② 全局 Enter 监听加焦点判断防误推进;③ 教程页切语言时页码提示与「下一步」文案即时跟随;④/api/tools补requireToken与其他/api路由对齐(requireToken未设 token 时为空操作、回环默认放行,本地使用无影响)。
v0.2.4
Hesi v0.2.4
侧栏/右面板布局精细化 + 对话框多媒体输入 + 全新品牌 Logo。
✨ 新增 (Added)
- 对话框多模态输入 — 聊天框可发送图片 / 视频 / 文本·代码文件,后端同机转码为 base64 喂给模型(Claude 真看视频、OpenAI 降级提示),持久化只存短 URL 不爆上下文。
- 全新品牌 Logo — 换用「圆角方块 + 蓝青渐变 + 脑形 H」图标,统一托盘 / 应用内 / 欢迎页;托盘图标最大化至 88% 填充,与系统图标尺寸一致。
- 左栏工具去重 — 13 个工具按钮收敛为 3 个独立页面入口,其余统一以右面板 Tab 为唯一入口,消除全局重复。
- Workflows 迁移到右面板 — 从左栏网格改为右面板独立 Tab 的卡片行样式;修复双图标重复渲染、网格化 + 悬停 tooltip。
🔧 改进 (Changed)
- 右面板收窄 480→300px,并在全标签页做 UI 美化(dashboard 去重+折叠、抽共享 .rp-card 基类、插件 2 列、图表/长表默认折叠)。
- Tab 顺序重排 + 默认强制仪表盘;修复 category 漏改与异步注册不重排导致的顽固乱序;修复 Tab 点击偶尔空白(switchTab 守卫与重排时序矛盾)。
- 无障碍 — 11 个搜索框补 aria-label;Logo 图片补 alt;文件上传 input 补 aria-label。
🐛 修复 (Fixed)
- 工作流面板 ID 选择器覆盖 — #rp-workflows specificity 压过 .rp-panel 导致所有 tab 内容被推到底部,改为统一由 .rp-panel.active 控制显隐。
完整改动见 CHANGELOG.md。
v0.2.3 — AI 多媒体生成 + 聊天框链接可点击
AI 多媒体生成能力 + 聊天框链接可点击。
Added
- AI 多媒体生成引导提示词 — 主聊天系统提示词新增「多媒体生成」段,引导 AI 主动、且高质量地调用
generate_image/generate_video(Agnes 插件),并把中文意图改写为细节化英文 prompt + 负面提示词。 - 聊天框链接可点击 —
renderMarkdown新增白名单链接化(http(s)://、file://、/uploads/),代码块/行内代码内的 URL 不会被误链;输入已转义且不接受javascript:等协议 ⇒ XSS 安全。
Fixed
- 视频生成不可用(真 bug) —
routes/ai-tools/builtin/index.js此前漏注册videoGen,generate_video从未进入工具表,主聊天 AI 只能生图不能生视频;现已补注册。 - 视频生成进度回调硬报错 —
video-gen.js的progressFn实为字符串(registry 第三参透传的是 requestId),每次调用必抛 TypeError 被 catch → 返回"生成失败";统一改为emitProgress走broadcastFn。 - 图片/视频返回 token 精简 —
image-gen.js最终返回从 verbose 表格(~250 token)改为简洁一行(~60 token),降低回灌 LLM 上下文占用。 - 首次对话必现 "messages array is required" — 首条消息 push 进
this.messages后,发送用的msgs却在isConfigured()异步回调里才读取;首次运行MemorySession.init()拉回的历史会整体覆盖this.messages,竞态窗口内刚 push 的消息被抹空 → 发出空messages→ 后端 400。改为 push 后立即同步拍快照requestMsgs,发送用快照,消除竞态。
v0.2.2
[v0.2.2] — 2026-07-24
Maintenance drop: dependency hygiene + persisted LLM key. No breaking changes.
Fixed
- Dependency security upgrade —
npm audit fix(non-force) upgraded 42 compatible packages, eliminatingfast-uri(high, authority-host confusion) andbody-parser(moderate, DoS via invalidlimit). The remaining@hono/node-servermoderate is an unused transitive dep of@modelcontextprotocol/sdk(Hesi uses Express, loopback-only) — a supply-chain false positive with zero real impact.
Changed
- Persisted LLM API key —
chat-api.jsnow stores the key inlocalStorageinstead ofsessionStorage, so it survives browser restarts. Local single-machine scope; the key stays in the browser's Web Storage and never enters Hesidata/or git.
Docs
- README (zh/en) — added an "On
npm auditWarnings" note under Secure Deployment so downloaders know the@honomoderate is a benign false positive.
Full diff: v0.2.1...v0.2.2
v0.1.0-optimized
Hesi 优化方案落地(Phase 0–4)
本 Release 对应提交 7ef9d71(feat: implement Hesi optimization plan)。
改动要点
- Phase 0 文档/定位对齐:README、SECURE_DEPLOY、AGENTS、CLAUDE 对齐到「面向个人的本地运行」定位。
- Phase 1 工程健康度:新增 GitHub Actions CI(build + node --test + plans)、ESLint flat config、husky pre-commit 脚手架、9 个单元测试、bundle 资源哈希(lib/asset-hash.js)。
- Phase 2 功能落差:数字员工圆桌真实执行(ws/digital-employee-worker.js)、headless 补全(lib/cli-headless.js)、orchestrator 按 ws 并发 workflow、托盘/USB 打包脚本。
- Phase 3 本地安全:localOriginGuard(server.js)+ 工具/上传接口 requireToken 加固,防御同机恶意网页盲 RCE。
- Phase 4 前端治理:17 处重复 escapeHtml 收敛到 public/escape.js 单一真源;AI API key 移出 localStorage(改存 sessionStorage);新增 XSS scheme 白名单(safeImageUrl)与字段转义。
说明
window.QCLI全局单例收敛(~85 文件引用、~40 文件直接赋值)因初始化顺序耦合风险高,按计划显式后置为 P2,本版本未改动。- 验证:npm test 66 通过 / 0 失败;lint 0 error;npm run plans 2/2;npm run build 成功。