Repository navigation
Releases
Releases · binyouo/Biny-Agent
Biny 0.0.1
Biny 是本地优先、记忆优先的开发协作 Agent,提供 macOS Desktop、TUI 与 CLI,支持通过 MCP、Skills 和插件扩展。
macOS 安装
- Apple Silicon 下载
arm64.dmg。打开 DMG 后将 Biny 拖入 Applications。 - 此安装包未使用 Apple Developer ID 签名或公证。首次打开可能被 macOS 拦截;确认下载来源后,在“系统设置 → 隐私与安全性”中选择“仍要打开”。Apple 操作说明
- 首次使用请配置模型服务商;桌面观察与操作需要相应的 macOS 权限。配置入口见 用户文档。
- 安装、首次启动及界面交互待人工验收。
Full Changelog: v0.2.3-beta.2...v0.0.1
Biny 0.2.3-beta.2
Biny 是本地优先、记忆优先的开发协作 Agent,提供 macOS Desktop、TUI 与 CLI,支持通过 MCP、Skills 和插件扩展。
macOS Beta 安装
- Apple Silicon 下载
arm64.dmg。打开 DMG 后将 Biny 拖入 Applications。 - 此 Beta 未使用 Apple Developer ID 签名或公证。首次打开可能被 macOS 拦截;确认下载来源后,在“系统设置 → 隐私与安全性”中选择“仍要打开”。Apple 操作说明
- 首次使用请配置模型服务商;桌面观察与操作需要相应的 macOS 权限。配置入口见 用户文档。
- 此版本供测试使用;安装、首次启动及界面交互待人工验收。
Full Changelog: v0.0.1-beta.6...v0.2.3-beta.2
Biny 0.0.1-beta.6
本次图标更新
- 桌面端与 Biny Agent 官网统一使用白色毛绒兔子图标。
- macOS Dock 启动期间眨眼,启动完成后恢复静态;尊重系统减少动态效果设置。
- 更新应用内头像、favicon 与分享图,并适配多尺寸图标。
Biny 是本地优先、记忆优先的开发协作 Agent,提供 macOS Desktop、TUI 与 CLI,支持通过 MCP、Skills 和插件扩展。
macOS Beta 安装
- Apple Silicon 下载
arm64.dmg;Intel 下载x64.dmg。打开 DMG 后将 Biny 拖入 Applications。 - 此 Beta 未使用 Apple Developer ID 签名或公证。首次打开可能被 macOS 拦截;确认下载来源后,在“系统设置 → 隐私与安全性”中选择“仍要打开”。Apple 操作说明
- 首次使用请配置模型服务商;桌面观察与操作需要相应的 macOS 权限。配置入口见 用户文档。
- 此版本供测试使用;安装、首次启动及界面交互待人工验收。
What's Changed
- fix(crystal): preserve distinct topic identities on hash collision by @binyouo in #259
- fix(ui): respect quote selection dismissal by @binyouo in #263
- fix(crystal): derive ready indicator from current validation by @binyouo in #265
- fix(desktop): guard quote additions across navigation epochs by @binyouo in #267
- fix(desktop): cancel superseded quote append focus by @binyouo in #268
- fix(mcp): await pending transport cleanup during shutdown by @binyouo in #274
- fix(activity): renew canceled operation lifetime after unchanged settings by @binyouo in #275
- fix(activity): settle trailing keypresses before recorder restart by @binyouo in #277
- fix(mcp): support servers without tools capability by @binyouo in #280
- fix(desktop): keep message-menu references in their navigation scope by @binyouo in #282
- fix(desktop): keep reference dialogs with their source owner by @binyouo in #284
- fix(mcp): preserve private resource and prompt pagination cursors by @binyouo in #285
- fix(memory): keep continued drafts editable after save reordering by @binyouo in #286
- fix(crystal): preserve seed drafts when earlier creation completes by @binyouo in #290
- fix(cli): report resolved Todo session identities by @binyouo in #291
- fix(imports): preserve sync preview target while adjustment is pending by @binyouo in #292
- fix(desktop): release canceled attachment preparation waits by @binyouo in #296
- fix(session): keep fork identity bound to its source read by @binyouo in #298
- fix(crystal): commit material attachments with metadata atomically by @binyouo in #299
- fix(activity): preserve initial click application after idle resume by @binyouo in #302
- fix(runtime): bind resumed history to its claimed session by @binyouo in #303
- fix: prevent queued automation fires from starving independent discovery by @binyouo in #305
- fix(activity): recover fallback OCR after history deletion by @binyouo in #306
- fix: drain native tools before completing cancelled turns by @binyouo in #309
- fix(desktop): isolate preference publication from queued state writes by @binyouo in #311
- fix(attachments): budget storage names by UTF-8 bytes by @binyouo in #312
- fix(desktop): lock provider dialogs during pending saves by @binyouo in #330
- fix(desktop): preserve current catalog after archive completion by @binyouo in #338
- fix(desktop): reconcile pin and rename catalogs after metadata writes by @binyouo in #339
- fix(desktop): refresh image bytes on explicit file refresh by @binyouo in #341
- fix(desktop): clean up audio graph after failed replay by @binyouo in #343
- fix(automation): preserve final year-limited cron occurrences by @binyouo in #344
- fix(desktop): retire stale Crystal details before reopening by @binyouo in #345
- fix(mcp): detach settled request cancellation from callers by @binyouo in #346
- fix(mcp): preserve Unicode pairs at output byte limits by @binyouo in #347
- fix(codemode): preserve Unicode pairs in stdout previews by @binyouo in #348
- fix(skills): preserve Unicode pairs in description clipping by @binyouo in #349
- fix(context): preserve Unicode within instruction byte budgets by @binyouo in #350
- fix(todo): preserve newer plans when stale reads settle by @binyouo in #351
- fix(heartbeat): review the current foreground session checklist by @binyouo in #352
- fix(runtime): keep child notices with their receiving session by @binyouo in #353
- fix(runtime): scope TaskStatus reads to the executing session by @binyouo in #354
- fix(runtime): validate TaskCancel against the executing session by @binyouo in #355
- fix(runtime): isolate historical task inspection mailboxes by @binyouo in #356
- fix(runtime): align task input status with communication admission by @binyouo in #357
- fix(desktop): bind recorded subagent output to its attempt by @binyouo in #358
- fix(calendar): preserve local date boundaries across missing midnight by @binyouo in #359
- fix(edit): preserve the leading BOM when prepending Hashline content by @binyouo in #360
- fix(browser): align download tool timeout schema with runtime by @binyouo in #361
- test(ci): strengthen Host regressions and diagnose remaining failures by @binyouo in #239
- fix(runtime): settle observations when reconnect stops by @binyouo in #244
- test(attachments): preserve imported bytes under path-only document hydration by @binyouo in #248
- test(runtime): await secured Host readiness in title race fixture by @binyouo in #255
- test(todo): harden fixture isolation and failure cleanup by @binyouo in #256
- fix(context): refresh prepared runtime dates without duplicate reminders by @binyouo in #258
- fix(context): persist retry preparation checkpoints on the shared prefix by @binyouo in #260
- fix(memory): retain extraction source anchors across completed turns by @binyouo in #261
- fix(crystal): resolve activity evidence in runtime prefill by @binyouo in #262
- fix(memory): preserve source-time context in temporary cleanup by @binyouo in #264
- fix(desktop): preserve newer quote selection after old-request settlement by @binyouo in #266
- fix(chat): preserve canonical quote sources for delivered user steps by @binyouo in #269
- fix(tools): avoid caching all-invalid ToolSearch selections as no match by @binyouo in #270
- fix(memory): preserve extraction ownership across session handoff by @binyouo in #271
- fix(crystal): preserve manual conflicts during prefill by @binyouo in #278
- test(activity): align greeting assertions with extracted persona prompt by @binyouo in #279
- fix(memory): preserve facts when extracted additions are blank by @binyouo in #281
- fix(memory): preserve current recall when deleting updated archives by @binyouo in #283
- fix(activity): preserve newer summaries when older narratives finish by @binyouo in #287
- fix(activity): reject superseded report fallbacks before response and export by @binyouo in #288
- fix(crystal): read active canonical assistant materials by @binyouo in #289
- fix(crystal): deduplicate material references independently of object key order by @binyouo in #293
- fix(desktop): keep confirmed session metadata across stale event refreshes by @binyouo in #294
- fix(desktop): preserve message edit ownership across async settlement by @binyouo in #295
- fix(diary): preserve committed summaries across concurrent refre...
Biny 0.0.1-beta.4
本版重点更新
- 更新 Biny 应用图标与桌面形象,主 App、Computer Use 辅助 App 和网页图标随构建同步生成。
- 修复共享配置写入空
imageGen后,旧版 App 因不识别该字段而无法启动的问题;保留显式配置的图像生成设置。 - 改善流式 Markdown、消息时间线与文件预览,修复多项桌面状态和运行时资源清理问题。
- 人格反思通过普通工具与 Skills 执行,提供旅行、自拍和按天查看历史等能力。
- 改善 TUI 输入、工具卡片和 Computer Use 接入,并限制历史工具输出占用的上下文。
Biny 是本地优先、记忆优先的开发协作 Agent,提供 macOS Desktop、TUI 与 CLI,支持通过 MCP、Skills 和插件扩展。
macOS Beta 安装
- Apple Silicon 下载
arm64.dmg;Intel 下载x64.dmg。打开 DMG 后将 Biny 拖入 Applications。 - 此 Beta 未使用 Apple Developer ID 签名或公证。首次打开可能被 macOS 拦截;确认下载来源后,在“系统设置 → 隐私与安全性”中选择“仍要打开”。Apple 操作说明
- 首次使用请配置模型服务商;桌面观察与操作需要相应的 macOS 权限。配置入口见 用户文档。
- 此版本供测试使用;安装、首次启动及界面交互待人工验收。
What's Changed
- fix(session): 保留游标边界上排序等价的不同会话 ID by @binyouo in #145
- perf(emotion): transform only the selected message tail by @binyouo in #146
- fix(skills): cancel HTTP error response bodies without delaying errors by @binyouo in #147
- fix(runtime): reject stale completion after verification reuse by @binyouo in #149
- fix(session): invalidate old pause after resumed tool execution by @binyouo in #150
- fix(runtime): recover completions by owner after pending admission by @binyouo in #151
- fix(runtime): retain paused queues during automatic disposal by @binyouo in #152
- fix(session): preserve active branch in Claude exports by @binyouo in #153
- fix(session): honor latest branch selection over stale descendant choices by @binyouo in #154
- fix(runtime): notify secondary sessions after replay-gap recovery by @binyouo in #155
- fix(runtime): recheck pause admission after asynchronous preparation by @binyouo in #156
- fix(agent): enforce active goal budget after compaction requests by @binyouo in #157
- fix(mcp): retain tool catalog invalidations during startup by @binyouo in #158
- fix(runtime): reject cancelled background starts before spawn by @binyouo in #159
- fix(host): keep automation controls responsive during manual runs by @binyouo in #160
- fix(agent): decline ambiguous normalized tool name repairs by @binyouo in #162
- fix(activity): preserve new input when stale analysis completes by @binyouo in #163
- fix(runtime): allow clearing text from queued native media by @binyouo in #165
- fix(agent): reject quoted archive references in raw file results by @binyouo in #161
- fix(agent): retain completed step usage when later requests fail by @binyouo in #164
- fix(llm): preserve auxiliary finish reasons in request metrics by @binyouo in #183
- fix(web): preserve Unicode characters at fetch page boundaries by @binyouo in #205
- fix(activity): preserve fences inside analysis JSON strings by @binyouo in #207
- fix(emotion): honor cancellation before context publication by @binyouo in #169
- fix(skills): protect managed versions from automatic extraction by @binyouo in #170
- fix(browser): stop undispatched keys after press cancellation by @binyouo in #172
- fix(browser): report explicit cookie synchronization failures by @binyouo in #173
- fix(context): preserve distinct Git query evidence by @binyouo in #174
- fix(crystals): preserve user edits during semantic scans by @binyouo in #175
- fix(briefs): preserve suggestion changes during rewrite commit by @binyouo in #176
- fix(temporal): preserve active user dates after answer selection by @binyouo in #177
- fix(session): restore historical attachments on snapshot resume by @binyouo in #179
- fix(session): align attachments after interrupted user markers by @binyouo in #180
- fix(memory): keep newer vectors when old updates settle by @binyouo in #181
- fix(briefs): discard results after active-source changes by @binyouo in #182
- fix(context): invalidate workspace caches after native patches by @binyouo in #184
- perf(glob): prune directory subtrees before the page cursor by @binyouo in #185
- perf(mcp): binary-search bounded UTF-8 prefixes by @binyouo in #186
- fix(memory): bound WebSocket overview projections by @binyouo in #188
- fix(memory): close owned cold desktop stores by @binyouo in #189
- fix(preview): close file readers when responses cancel by @binyouo in #190
- fix(diff): preserve header-looking hunk content in previews by @binyouo in #191
- fix(plugins): add a registry request deadline by @binyouo in #193
- fix(host): prevent oversized Bash results from poisoning live and replay connections by @binyouo in #194
- fix(host): observe orphaned interrupted completions after transient errors by @binyouo in #195
- fix(activity): prevent delayed narratives from reviving invalidated reports by @binyouo in #196
- fix(cli): observe cancellation RPC failures without bypassing completion cleanup by @binyouo in #197
- fix(agent): keep queued cancellation from bypassing live permission requests by @binyouo in #198
- perf(context): avoid duplicate token scan during tool-result pruning by @binyouo in #199
- fix(session): preserve healthy parse cache when oversized history is read by @binyouo in #200
- fix(host): close failed initial clients before they can reconnect by @binyouo in #201
- fix(models): isolate catalog cache and validators by protocol by @binyouo in #202
- perf(context): avoid pricing the final assembly budget twice by @binyouo in #203
- fix(shell): drain pending output before timeout settlement by @binyouo in #204
- perf(agent): reuse serialization within single-result projection by @binyouo in #206
- perf(desktop): reuse workspace model choices for picker by @binyouo in #208
- fix(observability): count terminal model errors as failed requests by @binyouo in #211
- fix(mcp): report prompt text clipping with residual byte budget by @binyouo in #212
- fix(context): preserve actual ranges for archived Read results by @binyouo in #215
- fix(desktop): route preview terminal restarts through preview launch by @binyouo in #216
- fix(acp): retain partial tool output until terminal status by @binyouo in #225
- fix(agent): retain active-turn compaction usage on replay by @binyouo in #167
- fix(llm): apply capability-aware auxiliary reasoning overrides by @binyouo in #192
- fix(acp): retain final tool evidence during cancellation by @binyouo in #224
- fix(acp): honor cancellation before adapter startup by @binyouo in #227
- fix(ci): identify failing Code Mode timing fixtures by @binyouo in #228
- test(desktop): align color checks with delegated window appearance by @binyouo in #221
- perf(session): make Markdown archive ID pre-scan linear by @binyouo in #210
- perf(web): defer unused HTML fallback text conversion by @binyouo in #214
- perf(desktop): skip unused Git probes for session tree pages by @binyouo in #217
- perf(browser): avoid sending file data during upload wait by @binyouo in #218
- fix(acp): preserve failed tool status in saved history by @binyouo in #226
- fix(runtime): enforce exhausted budgets for paused background goals by @binyouo in #229
- fix(context): preserve warm history on pre-dispatch...
Biny 0.0.1-beta.2
Biny 是本地优先、记忆优先的开发协作 Agent,提供 macOS Desktop、TUI 与 CLI,支持通过 MCP、Skills 和插件扩展。
macOS Beta 安装
- Apple Silicon 下载
arm64.dmg;Intel 下载x64.dmg。打开 DMG 后将 Biny 拖入 Applications;ZIP 提供相同 App 的压缩包。 - 此 Beta 未使用 Apple Developer ID 签名或公证。首次打开可能被 macOS 拦截;确认下载来源后,在“系统设置 → 隐私与安全性”中选择“仍要打开”。Apple 操作说明
SHA256SUMS.txt提供全部 DMG / ZIP 的校验值,可使用shasum -a 256 <下载文件>核对。- 首次使用请配置模型服务商;桌面观察与操作需要相应的 macOS 权限。配置入口见 用户文档。
- 此版本供测试使用;安装、首次启动及界面交互待人工验收。
What's Changed
- 发布 v0.2.0:完善桌面交互与运行时状态 by @binyouo in #1
- fix(runtime): TDD 修复调度与取消竞态,优化会话与流式热路径 by @binyouo in #4
- fix(runtime): TDD 修复写入竞态,缩短历史与准入热路径 by @binyouo in #5
- feat(agent): add opt-in read-only Code Mode by @binyouo in #6
- fix(memory): scope unread temporal clues to requested sessions by @binyouo in #7
- feat(agent): truthful Code Mode discovery and memory reads by @binyouo in #8
- fix(memory): preserve recall and history cancellation lifetimes by @binyouo in #9
- fix(code-mode): isolate execution timing and bundle reviewed runtime by @binyouo in #10
- feat(code-mode): admit trusted task and skill metadata queries by @binyouo in #11
- fix(code-mode): harden and admit host-owned file read queries by @binyouo in #12
- fix: harden checkpoint, history and MCP pagination recovery by @binyouo in #13
- fix(search): isolate cancellable regex matching by @binyouo in #15
- fix(ui): align memory disclosure arrows and state by @binyouo in #14
- fix(todo): serialize durable plan publication by @binyouo in #16
- fix(runtime): preserve host handshake timeout options by @binyouo in #17
- fix(desktop): keep scheduled timeline reads read-only by @binyouo in #18
- fix(mcp): close transports still opening during shutdown by @binyouo in #19
- feat(agent): bound shell model output with recoverable archives by @binyouo in #20
- Harden runtime, provider, and desktop lifecycles by @binyouo in #21
- 修复 proxy-addr 与 source-map-js 的安全告警 by @binyouo in #30
- 修复旧会话导出的工具调用关联与扫描开销 by @binyouo in #22
- 让 MCP 资源发现及时响应调用者取消 by @binyouo in #23
- 保留 Git 仓库路径与本地分支名称的准确边界 by @binyouo in #24
- 修复网页声明编码解码与正文段落边界 by @binyouo in #25
- 修复 Embedding 归一化前 Float32 转换丢失有限数值 by @binyouo in #26
- 缩小带路径 Grep 的目录遍历范围 by @binyouo in #27
- 修复 anyOf 跳过同层工具参数约束的问题 by @binyouo in #28
- 改善 MCP 连接测试小号标题的对比度 by @binyouo in #29
- 修复仓库根 Skill 安装后的更新失败 by @binyouo in #31
- 修复项目诊断命令在无关设置保存时污染全局配置 by @binyouo in #33
- 修复本地 Embedding 关闭与删除时的资源退役竞态 by @binyouo in #34
- 修复生成锁 nonce 失败时未释放的本地文件锁 by @binyouo in #35
- 在文件编辑审批 diff 中保留末尾换行变化 by @binyouo in #36
- 等待聚焦会话快照就绪后完成 Runtime Host 接管测试 by @binyouo in #37
- 修复工具参数校验将原型成员当作 JSON 属性的问题 by @binyouo in #38
- 修复 Runtime Host 自动重连时遗漏的通知重放 by @binyouo in #39
- 修复皮肤作用域测试误读 CSS 注释的问题 by @binyouo in #40
- 修复活动配置监听安装前丢失的原子保存 by @binyouo in #41
- 修复记忆 REST 查询把零条分页替换成默认页的问题 by @binyouo in #42
- 修复手动压缩会话重开后丢失的摘要用量 by @binyouo in #43
- 修复重试时丢弃 HTTP 响应正文未清理的问题 by @binyouo in #44
- 修复 Embedding 最终失败响应的正文清理 by @binyouo in #45
- 修复活动 daemon 响应跨数据块的 UTF-8 解码 by @binyouo in #46
- 修复同运行时切换会话后丢失的标题生成触发 by @binyouo in #47
- 修复记忆 WebSocket 晚订阅重放旧 Sleep 生命周期的问题 by @binyouo in #48
- 修复模型目录新正文沿用旧 HTTP 校验值的问题 by @binyouo in #49
- 对齐固定语义状态色的两处旧测试预期 by @binyouo in #50
- 修复附件随机名称碰撞时覆盖已有文件 by @binyouo in #51
- 减少长历史时间线构建的重复 assistant 扫描 by @binyouo in #52
- 修正 Host 定时记忆维护测试夹具的策略一致性 by @binyouo in #53
- 避免设置恢复文件写入已引用的 MCP 凭据值 by @binyouo in #54
- fix(settings): require edits before saving revealed API keys by @binyouo in #55
- 修复删除会话时历史检索打开文件的竞态 by @binyouo in #56
- fix(settings): ignore stale provider key reads by @binyouo in #57
- 修复 Edit 重叠精确匹配被误判为唯一的问题 by @binyouo in #58
- fix(attachments): tolerate overlong optional context names by @binyouo in #59
- fix(settings): deduplicate pending API-key saves by @binyouo in #60
- 减少安静流式输出期间的事件队列内存保留 by @binyouo in #61
- 将撤销授权弹窗遮罩归入共享调色板 by @binyouo in #62
- 修复新建及重算一次性定时任务的时间戳比较 by @binyouo in #63
- 修复 TUI 退出后晚到连接和状态计时器未释放的问题 by @binyouo in #64
- 修复 TUI 本地 Host 关闭失败后客户端未释放的问题 by @binyouo in #65
- 修复 Desktop 浏览器能力重绑和撤销时的镜像工具注册 by @binyouo in #66
- 修复文件预览截断 UTF-8 字符时的替换字符 by @binyouo in #32
- 修正日期详情与时间线索的实际时间排序 by @binyouo in #67
- perf(session): 复用日期详情查询内的日期格式器 by @binyouo in #68
- 修复停用后迟到的 Computer Use 预览与镜像请求 by @binyouo in #69
- 修复 Computer Use 停止后的预览订阅与来源捕获竞态 by @binyouo in #70
- fix(desktop): 保留发送和编辑时的导入图片 by @binyouo in #72
- fix(runtime): preserve images on retry and resume by @binyouo in #73
- fix(runtime): 取消任务后唤醒等待中的状态查询 by @binyouo in #74
- fix(desktop): 修复删除默认模型后的有效替换保存 by @binyouo in #75
- fix(cli): report missing task IDs as errors by @binyouo in #76
- fix(history): report transcript stat failures by @binyouo in #77
- fix(memory): reject invalid correction content by @binyouo in #78
- fix(activity): preserve pending-analysis report notices by @binyouo in #80
- perf(session): bound concurrent catalog metadata reads by @binyouo in #81
- fix(mcp): preserve structured tool error explanations by @binyouo in #83
- fix(history): retain matched context in Chinese excerpts by @binyouo in #85
- fix(memory): reject non-object update patches by @binyouo in #86
- fix(edit): preserve BOM in normalized replacements by @binyouo in #87
- fix(automation): reject malformed cron definitions by @binyouo in #88
- perf(memory): 复用单次读取中的来源时区校验 by @binyouo in #93
- perf(memory): 复用向量查询中的 Float32 转换 by @binyouo in #94
- fix(memory): reject invalid Host archive states by @binyouo in #95
- fix(cli): report persisted activity config values by @binyouo in #96
- fix(cli): honor activity config JSON output by @binyouo in #97
- fix(desktop): preserve drafts when sending suggestions by @binyouo in #98
- fix(activity): use local calendar dates for yesterday by @binyouo in #99
- fix(agent): retain refreshed context when retrying replies by @binyouo in #100
- fix(desktop): preserve model selection order across navigation by @binyouo in #101
- fix(desktop): retain theme edits when global saves fail by @binyouo in #102
- fix(todo): reject invalid replacement input by @binyouo in #103
- fix(appearance): reject invalid literal Lua theme colors b...