Skip to content

Releases: xuanlv2002/ezharness

ezharness v1.0.1:安全加固与鉴权统一

Choose a tag to compare

@github-actions github-actions released this 26 Oct 16:13

变更内容

安全加固(本版主线)

  • 移除同源鉴权放行,所有本机 API 一律校验令牌
  • 快应用改用受限令牌;后续统一访问令牌,移除快应用首次授权卡
  • 终端命令白名单拒绝 shell 拼接元字符
  • 收紧默认审批:浏览器导航 / 脚本执行 / 上传、以及应用写入均需确认
  • models.json 权限收敛为仅属主可读写
  • 升级前端高危依赖(DOMPurify / Vite / xlsx);Electron 升至 45,桌面依赖漏洞清零
  • CI 构建前使用官方 registry 做高危依赖审计

新功能

  • 轮次压力提醒:按总迭代上限的 20% / 50% / 70% / 90% 四档各提醒一次
  • task 结果附子会话存档地址,主模型可 read_file 回查执行过程;并行分身事件不再覆盖主轮迭代数
  • 图片读取与截图支持注明「看图目的」(note),目的随图片写入上下文,抑制重复截图

体验优化

  • 工作区抽屉头部改为两行标题(主名 + 用途),操作按钮右对齐独立成组,补分隔线与顶距
  • 模型选择改为自绘下拉,输入条工具保持单行
  • 空态快捷卡改为三列一行,图标与 logo 小球对齐

发布与工程

  • 本机 API 令牌注入终端环境变量,脚本恢复直调
  • 发布产物补充 SHA256 校验和与未签名安装说明
  • macOS 产物改为 ad-hoc 签名(强置 identity=- + hardened runtime entitlements),修复无开发者证书时提示「已损坏」无法打开
  • 系统提示词统一本机 API 鉴权与端点说明,清理重复约束

ezharness v1.0.0:一张可持续进化的工作台

Choose a tag to compare

@xuanlv2002 xuanlv2002 released this 25 Oct 16:51

变更

快应用

  • 快应用协议落地:目录即身份,app.quick 声明 + APP.md 调用文档,同源运行
  • 应用清单进入系统提示,增删改通过 resource_change 通知,load_app 按需读取
  • 桌面宠物环形菜单可钉住最多 3 个应用,一键启动

会话与上下文

  • 分支面板:分叉复制完整前缀、归档沉淀换代、旧世代可回读
  • 修剪四节摘要 + progress.md 进度档案;大结果卸载
  • plan 计划工具(方案审批 + 进度面板)、记忆变更 diff 卡
  • 任务收敛护栏:重复调用拦截、轮数压力线

协同与交互

  • 共享终端 / 浏览器 / 资源页三页抽屉,分身与主时间线同构渲染
  • 顶栏全局搜索(技能 / MCP / 设置);通知入顶栏
  • 用量统计:小时/天粒度、模型页折线弹窗
  • 审批卡与工具卡可读化;超长消息折叠渲染;快速回顶/回底;空状态快速开始示例

模型与平台

  • 厂商预设(DeepSeek 官方 / 硅基流动)、模型可关闭、三槽位
  • Linux / macOS 适配;三平台 CI 自动构建
  • ezloop 升级 v1.4.2

文档

  • 文档站重构:主页内嵌设计理念 + 8 篇主题文档,截图与演示 GIF 接入(素材 23MB → 9.5MB)

修复

  • 静态资源 embed all: 前缀、用量统计恒空、browser eval 多语句取值、模型页入口、抽屉折叠、CI 前端产物缺失

What's Changed

Full Changelog: v0.3.0...v1.0.0

ezharness v0.3.0:下一个阶段

Pre-release

Choose a tag to compare

@xuanlv2002 xuanlv2002 released this 25 Oct 14:42
557f2c8

What's Changed

Full Changelog: v0.2.6...v0.3.0

ezharness v0.2.6:工作台重排、模型厂商预设与快应用规范

Choose a tag to compare

@xuanlv2002 xuanlv2002 released this 25 Oct 13:56
1fe92f0

界面与交互

  • 拆解右侧悬浮列:通知收进顶栏铃铛,会话运行状态(上下文圆环)移入输入条,终端/浏览器/资源入口移到工具条左侧
  • 顶栏改三栏网格,搜索框在内容区居中并随侧栏收展偏移
  • 用户消息改为右对齐浅色气泡,超长自动折叠、可展开全文
  • 分身与主时间线共用渲染、统一排版;技能支持查看 SKILL.md
  • 添加表单统一为居中弹框;话题树限高;回顾页可查看完整系统提示词
  • 超长消息折叠渲染 + 屏外跳过布局;审批卡/工具卡可读化(代码块、行级 diff、命令高亮)

模型与用量

  • 支持厂商预设(DeepSeek 官方、硅基流动),一键回填端点/上下文窗口/视觉/协议
  • 添加/编辑模型改为统一弹框;模型可关闭(Disabled)
  • 用量统计:小时粒度、近 30 天折线图、按天按模型分桶,修复统计恒为空

快应用与资源

  • 快应用规范落地:应用清单、resource_change 区分增删改与启停、load_app
  • plan 任务计划工具(方案审批 + 进度面板)与记忆变更 diff 卡片
  • 资源查看器扩展:图片、Excel、Word、PPT

长期记忆

  • 布局重构与 agent soul 语义;条目三行截断+渐隐、单条限高、展开/收起

浏览器

  • 撤掉标签操作锁,指令直接执行、用户可随时接管
  • eval 支持多语句末尾取值与顶层 await,语法错误回传真实行列

稳定性与工程

  • 任务收敛护栏升级(重复任务 Skip、轮数压力线)
  • Linux/macOS 适配;CI 三平台构建;工程结构归位(build.bat、release/dev)
  • 首启在监听前一次性初始化数据目录;修复静态资源共享 chunk 404
  • 滚动条贴右缘并淡化,时间线头像移至内容列左侧,窄列布局修复

ezharness v0.2.5:卸载阈值自定义 + 渲染性能优化

Choose a tag to compare

@xuanlv2002 xuanlv2002 released this 15 Oct 16:20
db54873

上下文与性能

  • 工具结果卸载阈值可配置:设置页新增「工具结果卸载阈值」,超过阈值的工具输出自动卸载为文件、上下文只留摘要头部,0 = 默认 4096
    字节,保存后下一轮对话生效
  • 长输出收尾渲染优化:模型输出结束的瞬间不再全文重排,复用流式渲染缓存只重排尾部,长回答收尾卡顿消除

会话与审批

  • 审批档位全局化:输入框的审批档与模型、思考档同作用域,一处切换全局生效,不再跟随单个会话
  • 关闭会话标签即停止:关掉正在运行中的会话线,当前对话轮自动取消,不再后台空跑

共享浏览器

  • 支持全屏:网页全屏请求正常生效,画面只落在共享浏览器的视图框内,不会铺满整个窗口

桌面悬浮球

  • 右键悬浮球一键关闭;关闭后在设置页可随时重新开启,重启应用不会自动重建悬浮球

记忆

  • 记忆工具提示词明确项目记忆分层:名称与描述默认随索引加载(项目基本描述),具体记忆(坑点、约束等)按需读取全文

What's Changed

Full Changelog: v0.2.4...v0.2.5

ezharness v0.2.4:记忆待确认制与条目式长期记忆

Choose a tag to compare

@xuanlv2002 xuanlv2002 released this 13 Oct 17:01
156d64a

🌟 记忆(本次重点)

  • 条目化存储:用户信息 / agent 工作习惯拆成一条条(带唯一键);项目记忆 = 索引行(名称 + 描述)+ 全文文件。
  • memory 工具全量增删改查:条目 add / update / remove,项目 project-save / project-remove / project-read。
  • 待确认制:agent 的记忆变更不直接落库,先进待确认区并出现在通知栏,逐条「确认」才生效、「取消」即丢弃;重启不丢;同一轮并行多次写入各成一条独立记录。
  • 记忆页可视可编辑:条目面板直接增删改,项目全文编辑器。
  • 归档沉淀:一次模型调用读现有全部记忆 + 会话,产出「修改方案」(条目新增/更新/删除 + 项目保存/删除),同样进待确认。
  • 变更追踪:记忆改动(含项目描述、项目内容更新)进入 resource_change 与通知栏,与 skill / MCP / 模型切换同通道。
  • 更新时间:注入系统提示词时按更新时间新→旧排序,每条标「更新于 YYYY-MM-DD」;模型每轮对照当前时间自行判断是否可能已漂移(不写会随对话失真的「距今
    X」)。

🔧 修复

  • task 分身长文本输出卡死(流式截断的平方复杂度)。
  • SVG 在画板 / 资源页打开即损坏 → 改为绘制另存 PNG 草稿,原 SVG 不再被改写。
  • 输入框模型切换器不刷新 → 设置页改模型即时生效,无需重启。
  • 桌面小助手红点不响应记忆通知。
  • 记忆保存 400(时间字段解析)修复。

🎨 界面

  • 标签栏去掉独立底色与分割线,与内容同底。
  • 分身抽屉头部重排(去掉分割线、名称与状态分行分色)。
  • 分身头像神态:待命固定 look、运行 spin,与主会话同角色相区分(父与子)。

⚠️ 说明

  • 记忆为条目式新格式,旧的 user.md / soul.md / project.md 不迁移(永远破坏性变更);提案制已整体移除。

ezharness v0.2.3: MCP OAuth 认证、输入框工具条、模型清单与直调

Choose a tag to compare

@xuanlv2002 xuanlv2002 released this 12 Oct 17:33
a0d0303

新功能

MCP OAuth 认证(零配置)

  • 自动检测:服务端返回 401(含 RFC9728 资源元数据或经发现文档兜底探测)即判定需
    OAuth,无需任何配置;
  • MCP 页:卡片显示「已授权 / 未授权」徽标,新建即自动探测,点「连接」遇需认证自动触发授权(系统
    浏览器完成、轮询回填),可注销;
  • 会话内:agent 调到一个需认证的 MCP 时弹出授权卡片,授权完成后同一次调用自动重试、本轮无缝继续
    ;取消则明确告知模型"用户拒绝"(不误判为失败、不绕道);
  • 快应用:统一同源组件 ez-mcp-auth.js——ezMcp.call(server, tool, args)
    需要授权时自动居中弹框、开浏览器、授权后重试;/api/mcp/call 未授权返回 401 + needs_auth
    契约(已写进技能文档);
  • 令牌落盘持久化、自动刷新;客户端注册自动 DCR。

输入框工具条(三个下拉)

  • 思考档:默认 / 无(关闭)/ low / medium / high / xhigh / max,按协议智能映射;
  • 审批档:跟随安全配置 / 无审批 / 严格审批——会话级、实时生效、持久化;
  • 主模型切换:下一次输入生效,切换作为资源变更记入上下文。

模型清单与直调

  • 可用模型清单进入系统上下文(模型知道可选项);模型新增/移除/主模型切换作为变更记录出现;
  • task 分身可指定模型(视觉子任务交给多模态模型);model_call 工具 + POST /api/model/call
    让模型/快应用把一次性子任务(识别/翻译/摘要,支持图片)交给指定模型,快应用无需密钥。

长任务可见性

  • 实时轮次(时间线 + 状态栏「第 N 轮」);
  • 迭代上限软收尾(模型总结收尾而非硬截断,界面明确标示);
  • 重试可见(原因、第 N/M 次、倒计时);切分支回来仍显示「思考中」。

修复

  • 修复偶发「发消息没回复」(工具 schema 非法 JSON 致请求本地失败 + 无谓重试),加 schema
    校验测试;
  • 修复设置项「单轮最大迭代次数」切页回落 64 的显示问题;
  • 技能启停/模型切换正确进入变更记录; 只列启用的(省上下文)。

ezharness v0.2.2:桌面小助手,终端 / 浏览器工具组重做

Choose a tag to compare

@xuanlv2002 xuanlv2002 released this 11 Oct 16:21
36cd9c0

桌面小助手(全新重做,回归)

  • 悬浮头像常驻屏幕右下(透明置顶小窗),拖拽移动;默认整窗鼠标穿透,透明处点击归下层应用
  • 环形菜单:从弹出箭头起顺时针固定角距(每颗 36°,满 6 颗恰 180°)——箭头(开主客户端)/
    铃铛(通知)/ 钉选快应用(≤3,点击启动)/「…」(全部应用栏)
  • 精确穿透:elementFromPoint 判定,只有压到头像 / 环形球 /
    应用栏才实体化,透明处一律漏点(桌面图标可点)
  • 全部应用栏:贴左缘竖列,滚轮纵向滚动
  • 快应用钉选:钉满 3 顶掉最早;客户端快应用页钉选后即时同步(不再显示多于 3 个)

通知

  • 头像红点 → 铃铛球(环形第 2 位);点开独立通知窗,复用客户端通知面板(批准 / 拒绝 / 回答
    / 查看),点条目跳主客户端并定位
  • 执行完成也发通知(结束原因 · 轮数 · 耗时),与未决请求同列;点条目 / 分支 / Tab 进会话即已读

终端 / 浏览器工具组重做

  • 终端:term_* 五件收敛为 term_tab(list/new/close) / term_action(send/read);send
    写完即回不等输出(唯一阻塞原语 terminal);新增 sleep 定时等待
  • 浏览器动作面 16 → 7:navigate / read / eval / console / network / screenshot / upload,DOM
    操作全交 eval
  • 选择器穿透 shadow DOM 与同源 iframe;console / network 走 CDP(调用栈、请求 /
    响应头、耗时、失败原因、按需响应体)
  • 截图默认视口、fullPage 分段、selector 截元素(修黑边);原生 alert/confirm 接管

审批与安全(破坏性)

  • 审批单位由工具名扩为 key(工具名或「工具名:action」)
  • write_file/edit_file 路径前缀白名单、browser_action 逐 action 配档、term_action send
    命令名单,其余自带工具默认免审
  • 安全页按工具分组、合并式工具逐 action 渲染、工具级一键(全部审批 / 全部免审)

桌面体验

  • 抽屉宽度模型重做、悬浮列随 TabBar 高度避让;主窗口右键开开发者工具
  • 分叉按钮三修;输入框发送后高度即时回落;会话区不出横向滚动条
  • 终端复制粘贴、输入框空格、资源管理器定位、图片加载快照缩略图

移除

  • 图片识别槽(image_recognize 全链路)——识图只靠主模型多模态

文档

  • README 双语重写 + 在线文档门户(md 就地阅读)

安装

下载 ezharness-v0.2.2-setup.exe(Windows)。

What's Changed

  • feat: 文档更新 by @xuanlv2002 in #18
  • docs: 修复 Pages 上线后的死链——新增 start.md 快速上手页、越界链接改绝对地址、md 锚点就地定位、README 指… by @xuanlv2002 in #19
  • Cyk dev by @xuanlv2002 in #20

Full Changelog: v0.2.1...v0.2.2

ezharness v0.2.1:安全鉴权与稳定性加固

Choose a tag to compare

@xuanlv2002 xuanlv2002 released this 28 Sep 15:49
4c33c16

What's Changed

Full Changelog: v0.2.0...v0.2.1
Security

  • core API 全量鉴权:token 校验 + 同源放行(#0fb97f5)
  • 审批名单终端命令改包含匹配(#852e165)
  • 设置页展示 API 访问令牌并支持复制(GET /api/app/token)(#ba6c816)

Fixes

  • desktop:pageUrl 漏拼 suffix 致全部窗口 ERR_INVALID_URL 白屏;浏览器桥 token 显式传参(#bc41de8)
  • desktop:主窗口导航守卫 + core 退出树杀(#cb5c571)
  • core:修复三处并发隐患——Hub.Active 数据竞争、PTY 持锁写死锁、快照 O(n²) 序列化(#d4b3156)

Refactor / Chores

  • store:会话内容 jsonl 追加化 + 分层归位 ⚠️ 不兼容旧 data,需迁移/清空数据目录(#14fd9e5)
  • 请求路径 ctx 透传、超时常量集中、静默写盘错误补日志、osfs 测试(#3deb350)
  • 死代码删除、注释瘦身、重复递归拷贝合并(#5390c83)
  • go mod 修正等杂项(#ac0d9ca / #779058b / #58cf373)

ezharness v0.2.0:记忆树 · 快应用 · 会话标签页

Choose a tag to compare

@xuanlv2002 xuanlv2002 released this 28 Sep 01:41
1c532e9

What's Changed

Full Changelog: v0.1.6...v0.2.0


ezharness v0.2.0 发版内容

长期记忆与技能

  • 记忆树:长期记忆重构为 memory/longterm/——harness.md 入口 + user.md/soul.md/project.md
    常驻系统提示,项目详情按需读取
  • 归档沉淀:Compact 换代时单次模型调用分段覆盖写各记忆文件,不再丢失跨话题沉淀
  • 内建技能:mcp-config / skill-install / quick-app 内置进二进制,模型可经文件通道自配置
    MCP、安装技能、搭建快应用(记忆页可见,可禁用不可删)
  • 路径纪律:给模型的一切路径均输出绝对路径,修掉相对路径按工作目录拼错的老问题

快应用

  • 归一化协议:apps/<名>/app.quick 声明式目录应用(title/entry/backend/icon),笔点启动 = 开窗 +
    在共享终端把后端跑起来,同名复用
  • 浏览器标签页与快应用窗口支持右键 → 检查元素 / 开发者工具

浏览器自动化

  • 新增 browser_read mode=elements:采集可交互元素并生成 CSS 选择器,点击/输入不再靠截图猜坐标
  • 截图护栏:目标视图未上屏时临时挂载后截取,不再挂死到桥超时
  • 修复三连坑:滚轮方向颠倒、合成点击不触发链接导航、操作后 url/title 返回值滞后

会话与交互

  • 标签页管理:VSCode/浏览器式多会话标签,关标签≠停会话(后台轮照跑);右键可「关闭其他 / 关闭右侧」
  • 紧凑回复组:一个用户输入只对应一个头像,工具 ≥2 折叠成一行,思考收为单行 chip
  • 表情头像:运行中转圈、平时四种表情轮询、历史组静帧、空页面随机轮播;用户消息去掉头像并留对齐占位
  • 左下角新增「模型思考中…」活动指示(思考流式阶段不再静默)
  • 稳定性修复:运行中切回会话/断线重连不再丢失 in-flight
    思考与工具调用;残留工具卡不再转圈卡死;审批帧在慢消费者下必达

运行观测

  • 日志落盘:logs/core-YYYYMMDD.log 按天滚动保留 7 天(GUI 版无控制台时的唯一出口)
  • 设置页新增「调试模式」:开启后模型的完整输入(消息 + 工具)进日志,关闭则不记录

引擎与工具(ezloop)

  • terminal 工具总超时:默认 10 分钟、timeout_s 可调(上限 1 小时),超时杀进程树、已产出输出照常回传
  • 流式超时改为空闲超时:长思考/长输出不再被总时长掐断(修 context deadline exceeded 丢上下文)
  • 默认最大输出 token 提升:修长工具参数被截断(path is required)
  • 工具参数损坏防线(SafeArgs)、offload 绝对路径、load_skill 支持非文件系统技能

其他

  • 循环护栏:同工具同参数重复 4 次即提醒模型自省(只提醒不拦截)
  • 默认迭代上限 50 → 128