Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
123 commits
Select commit Hold shift + click to select a range
c65d2f9
feat: integrate verified Memmy 1.2.3 candidate
Grace-dev11 Oct 13, 2026
7a65977
test: make Windows CI checks platform-compatible
Grace-dev11 Oct 13, 2026
050d282
ci: exercise Windows scripts with production encoding and paths
Grace-dev11 Oct 13, 2026
62308e6
test: compile Windows fixture with PowerShell 5.1-compatible Add-Type
Grace-dev11 Oct 13, 2026
9e9582a
fix: accept release candidates in Linux CLI installer
Grace-dev11 Oct 13, 2026
b2f070e
test: validate Windows 11 History and treat native binary as data
Grace-dev11 Oct 13, 2026
b66ccb1
ci: validate macOS helper with release bundle identity
Grace-dev11 Oct 13, 2026
fe61660
test: resolve History package fixtures as filesystem paths
Grace-dev11 Oct 13, 2026
249fb3b
ci: diagnose Windows History test module loading
Grace-dev11 Oct 13, 2026
bad5046
ci: run Windows History package test with native ESM loader
Grace-dev11 Oct 13, 2026
dce29c5
Merge pull request #626 from Grace-dev11/codex/v1.2.3-e561-clean-2026…
syzsunshine219 Oct 14, 2026
cdab0b2
Record token limits for chat models released after the September review.
Wang-Daoji Oct 14, 2026
1cebd68
chore(release): prepare v1.2.3
Oct 14, 2026
ee417f2
chore(release): clear v1.2.3 gate hygiene
Oct 14, 2026
71ef30d
chore(release): align workspace lint rules
Oct 14, 2026
d6b9fbf
fix(agent): preserve model error localization under small context win…
Oct 14, 2026
ac5e54b
fix(agent): preserve legal history snip boundaries
Oct 14, 2026
dc0d023
test(agent): align context budget regression fixtures
Oct 14, 2026
3eea4be
test(agent): use realistic context budget fixture
Oct 14, 2026
9155134
test(agent): align lifecycle compaction context fixture
Oct 14, 2026
2fd55a0
test(agent): make native regression fixtures self-contained
Oct 14, 2026
10cc6ef
test(agent): cover model refresh context budgets
Oct 14, 2026
f556e8f
test(agent): align runtime refresh context fixture
Oct 14, 2026
2d4c3f3
test(release): stabilize local async workspace fixtures
Oct 14, 2026
33a4e4a
test(memory): stabilize agent source runtime scan fixture
Oct 14, 2026
905db85
Record qwen-plus token limits so BYOK requests stay inside the offici…
Wang-Daoji Oct 14, 2026
0a0c226
Merge pull request #629 from Wang-Daoji/feature/model-token-defaults-…
Wang-Daoji Oct 14, 2026
fd86789
fix(browser): route new-window links to embedded tabs
endxxxx Oct 14, 2026
3dbcac2
fix(preview): open overview list from browser-only tabs
endxxxx Oct 14, 2026
cecb3b8
fix(preview): fit overview popover to content and show all artifacts
endxxxx Oct 14, 2026
d546f96
Merge pull request #630 from endxxxx/codex/file-preview-fixes-v1.2.3-…
endxxxx Oct 14, 2026
466024d
fix(excel): handle Windows startup attachment delay
Oct 14, 2026
677f799
fix: keep Anthropic extra headers out of the messages body
Wang-Daoji Oct 14, 2026
2af1dea
fix(excel): show Windows connection check before enabling switch
Oct 14, 2026
191184c
Merge pull request #633 from Wang-Daoji/fix/anthropic-extra-headers-body
Wang-Daoji Oct 14, 2026
c118213
Merge pull request #632 from Grace-dev11/codex/fix-win-excel-startup-…
syzsunshine219 Oct 14, 2026
ec350dc
fix(desktop): wait for Agent readiness before showing main window
Oct 14, 2026
228083c
fix(desktop): prepare local tool bridge before Agent startup
Oct 14, 2026
c093cbc
Merge pull request #638 from Grace-dev11/codex/fix-windows-startup-re…
syzsunshine219 Oct 15, 2026
6b19b93
fix(mac): guide native PiP screen permission before capture
Oct 14, 2026
acdd563
feat(browser): unify Playwright interaction and semantic History
Oct 14, 2026
4ba65ac
fix(browser): guard untargeted input around blocked frames
Oct 14, 2026
b28f1e2
test(desktop): bind PiP permission guide in startup fixture
Oct 15, 2026
80549fc
Guard upgraded browser execution against connected legacy extensions
Oct 15, 2026
5b46169
Keep extension capability failures internal without a new upgrade flow
Oct 15, 2026
c1d75be
docs(qa): pin release baseline and upgrade acceptance for browser rc3
Oct 15, 2026
7e609e0
fix(memory): group Computer History under Memmy agent in 1.2.3
Oct 15, 2026
d923a5e
fix(history): hide webpage enhancement before History starts
Oct 15, 2026
2db59aa
feat(browser): unify authorization and task-directed execution
Oct 15, 2026
67862ae
fix(browser): skip unknown optional inputs and redact duplicate auth …
Oct 15, 2026
df77b8e
docs(agent): explain tool strengths without fixed routing or task exc…
Oct 15, 2026
b0d8363
fix(desktop): shorten the always-allow description on computer use
Oct 15, 2026
30caf7a
fix(browser): prevent snapshot bootstrap stalls and revoke stale actions
Oct 15, 2026
28a92c7
fix(browser): preserve task state and reconcile frame lifecycles
Oct 15, 2026
88daf67
fix(browser): revoke ended turns and bind actions to observed nodes
Oct 15, 2026
10d7564
fix(browser): order executor replies and finish actions that change t…
Oct 15, 2026
812503f
perf(history): let idle page sensors wait to be woken
Oct 15, 2026
906e89b
fix(browser): keep site access when Debug / CDP is always allowed
Oct 15, 2026
9c647ea
fix(history): keep page recording light, private and replayable
Oct 15, 2026
18569da
feat(browser): report page dialogs and accept them only on request
Oct 15, 2026
7e1e467
fix(browser): end a cancelled download destination after its late window
Oct 15, 2026
f2472b6
docs(qa): record the second browser executor review and its open items
Oct 15, 2026
3af603e
feat(browser): observe pages in order under their dialogs, forms and …
Oct 15, 2026
b679bd7
fix(history): exclude frames nested inside an excluded site's iframe
Oct 15, 2026
e7badf2
perf(history): let frames refused for their ancestry wait to be woken
Oct 15, 2026
ec31c46
fix(browser): keep Agent device grants to the task that made them
Oct 15, 2026
5b31088
chore(browser): release extension 1.0.9 for the History ancestry check
Oct 15, 2026
e6c8d98
docs(qa): record snapshot structure, nested-frame exclusion and task …
Oct 15, 2026
7065e23
fix(history): show Windows application icons
Oct 15, 2026
be9e6ed
release: set integrated desktop candidate to 1.2.3
Oct 15, 2026
301a54d
fix(browser): wait for embedded document readiness before observation
Oct 15, 2026
6174d20
fix(wechat): recover interrupted source metadata safely
Oct 15, 2026
e94911f
fix(wechat): retry lost macOS data approvals and skip container metadata
Oct 15, 2026
f183d2c
fix(wechat): discover moved Weixin storage on Windows connect
Oct 15, 2026
53d9971
fix(wechat): replace LLDB key capture with an injected interpose on Mac
Oct 15, 2026
d7338d6
fix(wechat): bundle a private Python for Mac so no Xcode is needed
Oct 15, 2026
265d33e
fix(wechat): resolve the Mac WeChat app by bundle id, not a fixed path
Oct 15, 2026
8f29a22
fix(wechat): require a verified message key before Windows connect su…
Oct 15, 2026
1b69ca3
fix(wechat): correct the WeChat support message to include Windows 11
Oct 15, 2026
96ae120
test(wechat): align Windows default-store fixture path
Oct 15, 2026
f7edfc1
docs(release): describe integrated 1.2.3 fixes
Oct 15, 2026
6e3d38f
fix(history): retain native browser windows and unidentified input
Oct 15, 2026
59e27e1
fix(history): align WeChat settings copy and row typography
Oct 15, 2026
a5f8fe5
fix(history): flatten Windows PowerShell icon ID arrays
Oct 15, 2026
61d5d1a
fix(browser): pause only on observed user input
Oct 15, 2026
a954881
fix(wechat): verify message shards and discover Windows account storage
Oct 15, 2026
da8c151
fix(wechat): verify complete Mac message key capture
Oct 15, 2026
b76b7c7
fix(wechat): skip unusable historical Windows account candidates
Oct 15, 2026
29cf661
build(wechat): optimize bundled native key capture
Oct 15, 2026
004f5a5
fix(wechat): recover verified Mac keys without locale crashes
Oct 15, 2026
69dcf78
fix(browser): preserve user takeover across input and frame races
Oct 15, 2026
be2df08
fix(wechat): identify active Mac account across firmlink paths
Oct 15, 2026
62daf72
fix(browser): harden external input observer guards
Oct 16, 2026
75a3316
test(wechat): retain native layout and concurrent capture regressions
Oct 16, 2026
29144a3
fix(wechat): clean Windows reader plaintext after failed opens
Oct 16, 2026
85702ef
docs(wechat): hand off acquisition fixes and verification evidence
Oct 16, 2026
7132e3a
fix(browser): bind embedded input to its guest and verify form edits
Oct 16, 2026
c3bbbce
fix(history): restore Windows capture and preserve evidence continuity
Oct 16, 2026
ad997c3
fix(history): fall back to Squirrel shortcut icons
Oct 15, 2026
665007a
fix(windows): acknowledge installer clicks during Memmy checks and la…
Oct 16, 2026
d67fc26
chore(windows): shorten installer progress labels
Oct 16, 2026
34934eb
fix(browser): preserve integrated observer lifecycle and fixtures
Oct 16, 2026
8968ede
release: finalize 1.2.3 refresh scope and browser settings copy
Oct 16, 2026
874d712
Merge pull request #649 from Grace-dev11/codex/release-v1.2.3-integra…
syzsunshine219 Oct 16, 2026
90b2adf
fix(agent): stabilize latest browser runtime regression
Oct 16, 2026
7fff209
fix(browser): recover dormant extension connections across desktop pl…
Oct 16, 2026
0e018f4
fix(history): extract higher-resolution Windows app icons
Oct 16, 2026
e47f308
style(desktop): integrate final browser controls and History separators
Oct 16, 2026
d8871b9
docs(release): record second 1.2.3 refresh and accepted baseline
Oct 16, 2026
76904c7
test(browser): align packaged extension guard with 1.0.12
Oct 16, 2026
212f2e4
style(desktop): restore accepted controls and scope Skill approval st…
Oct 16, 2026
1953ad9
docs(release): narrow final 1.2.3 UI scope to approved changes
Oct 16, 2026
c087762
fix(browser): preserve unreadable extension status in settings
Oct 16, 2026
52fd696
docs(release): record browser installation status candidate
Oct 16, 2026
679b052
fix(browser): recover running browsers without profile read access
Oct 16, 2026
febbdad
merge: integrate permissionless browser recovery into 1.2.3 candidate
Oct 16, 2026
4bf0fd5
docs(release): include protected browser recovery in final candidate
Oct 16, 2026
314ae82
Merge pull request #651 from Grace-dev11/codex/release-v1.2.3-refresh…
syzsunshine219 Oct 16, 2026
4519a2d
bugfix: show WeChat in the Computer History launch example
Oct 19, 2026
7683573
Merge pull request #658 from Grace-dev11/bugfix/history-launch-wechat…
syzsunshine219 Oct 19, 2026
8cd095c
Merge pull request #667 from MemTensor/release/v1.2.3
syzsunshine219 Oct 19, 2026
7cba17e
Merge v1.2.4 into main for PR #668
Oct 19, 2026
98f629b
fix: close PR 668 merge verification
Oct 20, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
12 changes: 12 additions & 0 deletions .github/release-notes/v1.1.9-rc.1.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Memmy v1.1.9-rc.1

## Integration candidate

- Integrates the v1.1.9 Memory baseline with consent gated Computer History, personal WeChat History source controls, and reviewed Skill links.
- Adds a shared Agent browser session, Computer Use side panel and live macOS window preview, with Chrome and Edge extension pairing for explicitly claimed tabs.
- Adds per app desktop approval, site and download approval, browser annotations and manual autofill, plus a local Excel task pane bridge.
- Packages the integrated Mac and Windows desktop runtimes with their native Computer Use helpers.

## Validation scope

This is a local test candidate. Locked Mac use still requires a separate authorization plugin and guardian. Excel and Windows native application control require host testing before release. The Memory service keeps its independent version.
7 changes: 7 additions & 0 deletions .github/release-notes/v1.2.2-rc.1.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Memmy v1.2.2-rc.1

本地候选测试版本,基于正式 1.2.1 汇总 9 月 23 日以来已确认的桌面、聊天、浏览器、Computer Use、History、微信、Excel 和桌宠改动。未合入另行发布的插件和文献综述分支。

修复记忆服务的测试版比较和并发安装、Mac 升级验证与失败恢复、Windows 安装器验证、微信读取运行组件和权限准备链路。Windows 微信使用安装包内的独立运行组件。

源码回归与构建检查和普通用户安装验收分别记录。最终签名安装包的 Mac 和 Windows 首次安装、从 1.2.1 升级及真实微信读取仍需实机验收。完整范围与测试顺序见 `docs/cn/desktop/local-release-test-20261009.md`。
11 changes: 11 additions & 0 deletions .github/release-notes/v1.2.3-rc.2.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Memmy v1.2.3-rc.2

基于同事已定版的 `origin/v1.2.2`(`2069443c`),整合 2026-09-23 以来的本地开发与后续 Cursor 修复,供 Mac 与 Windows 安装、覆盖升级验收。

- 保留 1.2.2 的 Memory 构建身份识别、数据库版本保护、对话捕获期限和后台捕获队列。
- 补入微信窗口上下文与聊天名修复、History 入库调度、Agent 历史增量扫描及证据引用校验。
- 补入 Excel 工作簿选择与授权、Windows Excel 错误反馈、浏览器能力探测及桌面白屏恢复。
- 补入初见报告采样与流读取期限,避免等待全量历史。
- 同时检查 Mac 与 Windows 的老用户数据、设置、登录状态、Memory 运行时、微信游标及权限迁移。

本地测试包;Mac arm64 使用 Developer ID 签名及 Apple 公证,Windows x64 使用无签名安装包。真实安装、覆盖升级和 GUI 验收由用户执行,源码测试及包内容检查不替代这些验收。
13 changes: 13 additions & 0 deletions .github/release-notes/v1.2.3-rc.3.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# Memmy v1.2.3-rc.3

在同事已定版的 1.2.2 和上一轮 1.2.3-rc.2 整合结果上,补入截至 2026-10-12 的有效 Agent / Cursor 后续代码,供 Mac 与 Windows 覆盖升级验收。

- 微信原库读取改用独立 DB/WAL 副本,避免 SQLite 只读连接影响原库共享索引。
- 浏览器截图按图片交给模型,兼容旧会话截图,并保持当前请求、截图和工具调用配对的输入预算。
- 浏览器支持新标签、标签切换、会话最近标签及扩展能力检测;插件更新到 1.0.2。保留用户已保存的站点允许/拒绝规则,改善四种审批的可见性。
- Excel 实时工作簿支持公式、日期和错误格反馈,写入结果未知时先读回核对。
- 合齐 Finder / Windows 已安装应用发现、后台输入与显式前台点击/键盘能力;保留模型按任务选择操作方式的后续方案。
- 修复 Mac 系统权限 Quit & Reopen、锁屏实际解锁和重新锁定;旧锁屏组件按构建身份检测更新。
- 保留 rc.2 的 Memory 安装锁、Windows 迁移路径、旧 rc 迁移 ID、数据库 schema 和构建身份保护。

本地候选包:Mac arm64 Developer ID 签名及 Apple 公证,Windows x64 未签名。真实安装、普通用户覆盖升级、Windows 原生运行和 GUI 验收由用户执行;源码及包内容检查分别记录。
7 changes: 7 additions & 0 deletions .github/release-notes/v1.2.3-rc.4.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Memmy v1.2.3-rc.4

在同事最终 1.2.2 基线及 9.23 至今 Agent 整合代码上更新候选。纳入最新 Cursor 扩展重连、Windows History、微信慢连接/WAL、Windows 启动和窗口操作、Excel 设置引导、浏览器自动安装,并按最新决定移除锁屏操作。

覆盖升级保留旧聊天、Memory、设置和微信游标;原生 helper 通过编译期版本与协议握手拒绝继续复用旧进程。旧锁屏系统组件由用户使用独立手动恢复文件清理,应用不自动修改登录策略。

源码和包内核验见本轮整合说明及交付 evidence。Mac arm64 签名公证,Windows x64 未签名;真实安装、旧用户覆盖升级、Windows ABI、GUI 和系统策略清理仍需用户验收。
11 changes: 11 additions & 0 deletions .github/release-notes/v1.2.3-rc.5.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Memmy v1.2.3-rc.5

在同事定版 1.2.2 和 9.23 至今本地 Agent 整合代码上更新候选,补齐新会话中的已提交及已完成未提交改动。

本轮纳入 Windows 原生 History 常驻采集与隐私判断、微信连接风险确认、定时回复可靠投递与任务名称分隔、最终文件随回复发送、活动队列展开、Windows 窗口及预览布局、工作区 Git 修复、浏览器安装状态与真实连接分离、扩展恢复与接管提示。修复 Windows 扩展自动安装对不支持系统接口的引用,并对冲突保留后续确认逻辑。

Mac 微信 SQLCipher/OpenSSL 依赖改用同版本、明确部署目标的源码构建;打包检查拒绝最低系统版本高于 macOS 12 的依赖,避免当前开发机可加载但低版本老用户失败。

覆盖升级保留旧聊天、Memory、设置、微信游标和授权边界;独立 Memory 2.1.6 通过内容构建标识替换旧运行时,保留升级锁与 schema 防降级。原生 helper 仍校验编译期版本和协议。应用不自动修改旧锁屏系统组件或登录策略。

Mac arm64 签名公证,Windows x64 未签名。源码测试与安装包内容核验另附交付证据;真实安装、旧用户覆盖升级、Windows ABI、权限、微信和 GUI 行为需设备验收。
9 changes: 9 additions & 0 deletions .github/release-notes/v1.2.3-rc.6.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Memmy v1.2.3-rc.6

以同事定版 1.2.2 为基线,保留 9 月 23 日以来已整合的产品改动,并按后续会话的最终决策纳入新增代码。浏览器扩展改为手动安装:只在点击对应浏览器的“安装”后展开教程;已安装、已连接和断连状态分别显示,撤回此前的自动安装方案。

补入 Mac 屏幕权限重启后的会话恢复、Windows 首个窗口显示后再启动后台服务、聊天返回时保留未查看的内嵌浏览器标签、Windows 文件预览对盘符和共享文件夹路径的处理,以及定时回复分隔线的最终样式。

History 增加受隐私边界约束的可读文本采集、Windows 微信空 WAL 和授权起点修复;摘要使用用户配置的文本模型、计量及预算,生成的 Skill 展示来源与未验证边界。保留旧数据、设置、授权及 Memory 2.1.6 升级路径,运行时以内容构建标识更新,不降低数据库 schema。

源码、静态包内容和签名检查不能替代真实安装及升级验收。Mac、Windows 老用户应在各自设备上用现有数据做覆盖升级,重点检查聊天和 Memory、History 与微信授权、浏览器扩展、Excel 授权、首次启动和文件预览。
9 changes: 9 additions & 0 deletions .github/release-notes/v1.2.3-rc.7.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Memmy v1.2.3-rc.7

以同事定版 1.2.2 为基线,继承 rc.6 已整合的微信与 History、Excel 工作簿授权、白屏恢复、初见报告防卡顿、浏览器与老用户迁移修复。本轮仅加入后续已完成且确认的代码。

- macOS 从 Memmy 内打开完全磁盘访问或自动化设置,以及 Computer Use 的辅助功能、输入监控和录屏授权引导后,系统发出可信的“退出并重新打开”事件时保留短时重启意图;真正注销、关机及普通退出仍按原保护处理。
- Excel 连接状态短暂检查失败时显示温和提示,持续失败再提示重试,恢复后清除匹配操作留下的旧错误;授权拒绝、锁屏、多个 Excel 进程等明确问题仍直接给出可操作提示。Excel 读写逻辑和旧工作簿授权未改。
- 定时回复分隔线采用用户最终确认的 20px 上下间距,保留 rc.6 的浅绿背景与 1px 内线。

继续保留旧账号、聊天、附件、设置、History 排除规则、微信授权与游标、Memory 2.1.6 及 Windows 数据目录迁移路径。源码与安装包静态检查不能代替真实安装和覆盖升级;Mac、Windows 老用户请在各自设备上保留原数据进行验收。
15 changes: 15 additions & 0 deletions .github/release-notes/v1.2.3.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Memmy v1.2.3

以 v1.2.3-rc.7 的已验证内容为基础,发布稳定版 v1.2.3;保留 rc.7 已整合的微信与 History、Excel 工作簿授权、白屏恢复、初见报告防卡顿、浏览器与老用户迁移修复。

- macOS 从 Memmy 内打开完全磁盘访问或自动化设置,以及 Computer Use 的辅助功能、输入监控和录屏授权引导后,系统发出可信的“退出并重新打开”事件时保留短时重启意图;真正注销、关机及普通退出仍按原保护处理。
- Excel 连接状态短暂检查失败时显示温和提示,持续失败再提示重试,恢复后清除匹配操作留下的旧错误;授权拒绝、锁屏、多个 Excel 进程等明确问题仍直接给出可操作提示。Excel 读写逻辑和旧工作簿授权未改。
- 定时回复分隔线采用用户最终确认的 20px 上下间距,保留 rc.6 的浅绿背景与 1px 内线。
- 内置浏览器与 Chrome/Edge 插件共用网站授权,电脑操控总授权可覆盖浏览器操作;网页执行补充连续操作、子页面、弹窗与导航的处理。修复内置浏览器输入焦点错位、富文本填写核验和后台页面操作;外部浏览器保留真人接管并等待子页面输入监听就绪,补齐后台浏览器唤醒、慢握手、休眠与重连恢复,浏览器插件更新至 1.0.12。
- 电脑历史补充网页语义记录,并将电脑历史记忆归在 Memmy 下展示;修复 Windows History 全量内容采集与 PowerShell 5.1 图标读取,保留采集缺口、质量和操作顺序。网页记录继续遵守暂停、排除网站及敏感内容过滤。
- 微信连接补充 macOS 应用定位、私有 Python 和密钥获取路径,以及 Windows 数据目录发现、多账号识别与完整消息分库校验;Windows 读取失败后清理明文临时副本。连接效果仍须在实际用户设备上确认。
- Windows 安装器在目录检查和启动回调期间及时显示“检查中”“启动中”,并记录启动结果和耗时。
- Windows History 优先提取原生高清图标,保留透明度与快捷方式回退;技能审批按钮沿用技能卡片样式,并保留 History 各设置区之间的分隔线。
- 浏览器扩展设置页区分未安装、停用和状态无法读取;系统拒绝读取浏览器配置时保留未知状态,不再误报未安装。实时连接仍以实际在线状态为准。明确使用正在运行的 Chrome/Edge 时,配置无法读取不再阻止按需唤醒,随后等待真实扩展握手;停用、缺失及任务取消边界保留。

继续保留旧账号、聊天、附件、设置、History 排除规则、微信授权与游标、Memory 2.1.6 及 Windows 数据目录迁移路径。源码与安装包静态检查不能代替真实安装和覆盖升级;Mac、Windows 老用户请在各自设备上保留原数据进行验收。
58 changes: 40 additions & 18 deletions .github/workflows/computer-use-native.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,12 @@ on:
- ".github/workflows/computer-use-native.yml"
- "App/memmy-agent/package*.json"
- "App/memmy-agent/src/tools/computer-use/**"
- "App/native-computer-use/**"
- "App/shell/desktop/electron-builder*.yml"
- "scripts/internal/shared/check-open-computer-use.mjs"
- "scripts/internal/linux/**"
- "scripts/internal/mac/**"
- "scripts/internal/win/build-memmy-computer-use.sh"
- "tests/ocu-dev-install.test.mjs"
- "scripts/internal/win/build-nsis.sh"
workflow_dispatch:
Expand All @@ -22,7 +24,7 @@ jobs:
strategy:
fail-fast: false
matrix:
runner: [ubuntu-24.04, ubuntu-24.04-arm, macos-15, windows-2025]
runner: [ubuntu-24.04, ubuntu-24.04-arm, macos-26, windows-2025]
runs-on: ${{ matrix.runner }}
timeout-minutes: 10
defaults:
Expand All @@ -35,20 +37,38 @@ jobs:
- uses: actions/setup-node@v4
with:
node-version: 22
- name: Install the pinned native package into an isolated directory
- uses: actions/setup-go@v5
if: runner.os == 'Windows' || runner.os == 'Linux'
with:
go-version: '1.22'
- name: Build Memmy Computer Use for Linux
if: runner.os == 'Linux'
run: |
version="$(node -p "require('./App/memmy-agent/package.json').dependencies['open-computer-use']")"
npm install --prefix "$RUNNER_TEMP/ocu-native" --ignore-scripts --no-audit --no-fund "open-computer-use@$version"
node --input-type=module <<'NODE'
import fs from 'node:fs';
import path from 'node:path';
const root = path.join(process.env.RUNNER_TEMP, 'ocu-native/node_modules/open-computer-use');
const arch = process.arch === 'x64' ? 'amd64' : process.arch;
const relative = process.platform === 'darwin'
? 'dist/Open Computer Use.app/Contents/MacOS/OpenComputerUse'
: `dist/${process.platform === 'win32' ? 'windows' : 'linux'}/${arch}/open-computer-use${process.platform === 'win32' ? '.exe' : ''}`;
fs.appendFileSync(process.env.GITHUB_ENV, `OCU_BINARY=${path.join(root, relative)}\n`);
NODE
(cd App/native-computer-use/apps/OpenComputerUseLinux && go test ./...)
bash scripts/internal/linux/build-memmy-computer-use.sh "$RUNNER_TEMP/native-computer-use/linux"
arch="$(node -p "process.arch === 'x64' ? 'amd64' : process.arch")"
echo "OCU_BINARY=$RUNNER_TEMP/native-computer-use/linux/$arch/memmy-computer-use" >> "$GITHUB_ENV"
- name: Build Memmy Computer Use for Windows
if: runner.os == 'Windows'
run: |
(cd App/native-computer-use/apps/OpenComputerUseWindows && go test ./...)
bash scripts/internal/win/build-memmy-computer-use.sh "$RUNNER_TEMP/memmy-computer-use.exe" amd64
echo "OCU_BINARY=$RUNNER_TEMP/memmy-computer-use.exe" >> "$GITHUB_ENV"
- name: Check Windows runtime fixtures with native PowerShell 5.1
if: runner.os == 'Windows'
shell: powershell
run: |
if ($PSVersionTable.PSVersion.Major -ne 5) { throw 'These fixtures must use Windows PowerShell 5.1.' }
& ./App/native-computer-use/apps/OpenComputerUseWindows/runtime-safety.tests.ps1 | Tee-Object -FilePath ocu-windows-fixtures.json
if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE }
- name: Build Memmy Computer Use for macOS
if: runner.os == 'macOS'
run: |
bash scripts/internal/mac/build-memmy-computer-use.sh "$RUNNER_TEMP/Memmy Computer Use.app" "$(uname -m)" - cn.memtensor.memmy
echo "OCU_BINARY=$RUNNER_TEMP/Memmy Computer Use.app/Contents/MacOS/MemmyComputerUse" >> "$GITHUB_ENV"
- name: Test Memmy macOS native source
if: runner.os == 'macOS'
run: swift test --package-path App/native-computer-use -c release
- name: Prepare an isolated Linux desktop session
if: runner.os == 'Linux'
run: |
Expand All @@ -62,11 +82,11 @@ jobs:
- name: Check Windows MCP and desktop backend
if: runner.os == 'Windows'
run: node scripts/internal/shared/check-open-computer-use.mjs "$OCU_BINARY" --list-apps | tee ocu-native-result.json
- name: Validate the published macOS bundle and installer
- name: Validate the Memmy macOS bundle and installer
if: runner.os == 'macOS'
run: |
codesign --verify --deep --strict "$RUNNER_TEMP/ocu-native/node_modules/open-computer-use/dist/Open Computer Use.app"
lipo "$OCU_BINARY" -verify_arch arm64 x86_64
codesign --verify --deep --strict "$RUNNER_TEMP/Memmy Computer Use.app"
lipo "$OCU_BINARY" -verify_arch "$(uname -m)"
node --test tests/ocu-dev-install.test.mjs
- name: Check macOS MCP discovery
if: runner.os == 'macOS'
Expand All @@ -75,7 +95,9 @@ jobs:
if: always()
with:
name: ocu-native-${{ matrix.runner }}
path: ocu-native-result.json
path: |
ocu-native-result.json
ocu-windows-fixtures.json
if-no-files-found: warn
- name: Record validation boundary
if: always()
Expand Down
9 changes: 6 additions & 3 deletions .github/workflows/linux-cli-installer.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,11 @@ on:
- "scripts/install.sh"
- "scripts/internal/linux/**"
- "App/memmy-agent/**"
- "App/native-computer-use/**"
- "Memory/**"
- "Migrations/**"
- "App/backend/**"
- "tests/linux-cli-packaging.test.mjs"
- "tests/linux-open-computer-use-bundle.test.mjs"
- "tests/linux-computer-use-deps.test.mjs"
- "scripts/internal/shared/check-open-computer-use.mjs"
- "package.json"
Expand All @@ -25,11 +25,11 @@ on:
- "scripts/install.sh"
- "scripts/internal/linux/**"
- "App/memmy-agent/**"
- "App/native-computer-use/**"
- "Memory/**"
- "Migrations/**"
- "App/backend/**"
- "tests/linux-cli-packaging.test.mjs"
- "tests/linux-open-computer-use-bundle.test.mjs"
- "tests/linux-computer-use-deps.test.mjs"
- "scripts/internal/shared/check-open-computer-use.mjs"
- "package.json"
Expand Down Expand Up @@ -63,6 +63,9 @@ jobs:
with:
node-version: 22
cache: npm
- uses: actions/setup-go@v5
with:
go-version: '1.22'
- run: npm ci
- run: npm ci --prefix App/memmy-agent
- name: Resolve and verify version
Expand Down Expand Up @@ -143,7 +146,7 @@ jobs:
ocu_arch="$EXPECTED_ARCH"
[[ "$ocu_arch" != "x64" ]] || ocu_arch="amd64"
node scripts/internal/shared/check-open-computer-use.mjs \
"$MEMMY_INSTALL_ROOT/current/App/memmy-agent/node_modules/open-computer-use/dist/linux/$ocu_arch/open-computer-use"
"$MEMMY_INSTALL_ROOT/current/App/memmy-agent/dist/native-computer-use/linux/$ocu_arch/memmy-computer-use"
"$MEMMY_BIN_DIR/memmy" --version
"$MEMMY_BIN_DIR/memmy" --help >/dev/null
"$MEMMY_BIN_DIR/memmy-memory" health >/dev/null
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/memory-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ on:
version:
description: Memory version (X.Y.Z)
required: true
default: 2.1.4
default: 2.1.6
push:
tags:
- "memory-v*"
Expand Down
2 changes: 2 additions & 0 deletions AgentSourceCore/src/memory-token-budget.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ export const MEMORY_WORKER_JOB_TYPES = [
"episode_idle_close",
"episode_title",
"trace_summary",
"observation_extract",
"user_memory_embedding",
"import_summary",
"reflection",
Expand Down Expand Up @@ -85,6 +86,7 @@ export function jobTypeBudgetRoles(jobType: string): MemoryBudgetModelRole[] {
return [];
case "episode_title":
case "trace_summary":
case "observation_extract":
case "import_summary":
case "span_big_turn":
case "work_memory_extract":
Expand Down
Loading
Loading