Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

### ✨ Features

- **macOS**: Modernized the Codex agent hook to use low-noise `UserPromptSubmit` and `Stop` registrations in `~/.codex/hooks.json`. Existing Mori `notify` registrations migrate during refresh; unrelated hooks, notify entries, and config-file symlinks are preserved.
- **macOS**: Pi now waits for `agent_settled` before reporting waiting, and Claude Code/Droid refreshes remove only Mori's obsolete `PreToolUse` command while preserving unrelated hooks.
- **iOS (MoriRemote)**: Rebuilt the remote companion around a secure, pane-native tmux control runtime. It supports saved workspaces, password or OpenSSH private-key authentication, explicit host-key trust, local terminal history/selection, agent status, and adaptive iPhone/iPad presentation. MoriRemote now follows Remux client sizing: phone viewport and software-keyboard changes resize/reflow the shared tmux window, so other attached Mac clients may visibly reflow.
- **iOS (MoriRemote)**: Restored the current Remux three-capsule terminal dock and its measured safe-area layout: Ctrl/Esc/Tab, Sessions/Agents, and Home/Keypad/Keyboard. Sessions opens the complete Navigator, Agents jumps directly to agent status, Home opens the library, and Keypad retains terminal shortcuts and photo/clipboard image upload. Modal forms still suspend the terminal responder, and Chinese and other IMEs still commit marked text exactly once.
- **iOS (MoriRemote)**: Server profiles now discover their live tmux sessions after SSH login, so users choose a session instead of manually creating workspace records. The terminal’s Sessions button refreshes and lists every tmux session on the current host, including sessions not yet connected on the phone.
Expand Down
2 changes: 2 additions & 0 deletions CHANGELOG.zh-Hans.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@

### ✨ 新功能

- **macOS**:Codex agent hook 改用 `~/.codex/hooks.json` 中低噪声的 `UserPromptSubmit` 和 `Stop` 注册。刷新时会迁移已有 Mori `notify` 注册,同时保留无关 hook、notify 条目和配置文件软链接。
- **macOS**:Pi 现等待 `agent_settled` 后才报告等待;Claude Code/Droid 刷新时仅移除 Mori 过时的 `PreToolUse` 命令,并保留无关钩子。
- **iOS(MoriRemote)**:远程伴侣已重构为安全、以 pane 为原生单位的 tmux 控制运行时。支持保存工作区、密码或 OpenSSH 私钥认证、显式主机密钥信任、本地终端历史/选择、agent 状态和自适应 iPhone/iPad 界面。MoriRemote 现遵循 Remux 的客户端尺寸规则:手机视口和软件键盘变化会调整/重排共享 tmux 窗口,因此其他已连接的 Mac 客户端也可能发生可见重排。
- **iOS(MoriRemote)**:恢复当前 Remux 的三胶囊终端 Dock 与按实际高度预留的安全区布局:Ctrl/Esc/Tab、会话/Agent、主页/按键面板/键盘。会话打开完整 Navigator,Agent 直接进入状态列表;主页打开资源库;按键面板继续提供终端快捷键和照片/剪贴板图片上传。模态表单仍会暂停终端响应器,中文等输入法的组合文本仍只会提交一次。
- **iOS(MoriRemote)**:服务器配置现在会在 SSH 登录后自动发现实时 tmux 会话,用户直接选择,不再需要手动创建工作区记录。终端的 Sessions 按钮会刷新并列出当前主机上的全部 tmux 会话,包括手机尚未连接的会话。
Expand Down
8 changes: 4 additions & 4 deletions Packages/MoriUI/Sources/MoriUI/GhosttySettingsView.swift
Original file line number Diff line number Diff line change
Expand Up @@ -1804,28 +1804,28 @@ private struct AgentHookSettingsContent: View {
agentCard(
name: .localized("Claude Code"),
icon: "terminal",
description: .localized("Adds hooks to ~/.claude/settings.json for prompt submit, tool use, stop, and notification events."),
description: .localized("Adds low-noise prompt submit, stop, and notification hooks to ~/.claude/settings.json."),
isEnabled: $model.claudeEnabled
)

agentCard(
name: .localized("Codex CLI"),
icon: "chevron.left.forwardslash.chevron.right",
description: .localized("Adds a notify entry to ~/.codex/config.toml for agent turn completion events."),
description: .localized("Adds low-noise prompt and stop hooks to ~/.codex/hooks.json."),
isEnabled: $model.codexEnabled
)

agentCard(
name: .localized("Pi"),
icon: "sparkle",
description: .localized("Registers an extension in Pi's settings.json for agent start, end, and tool execution events."),
description: .localized("Registers an extension in Pi's settings.json for agent start and settled events."),
isEnabled: $model.piEnabled
)

agentCard(
name: .localized("Droid"),
icon: "cpu",
description: .localized("Adds hooks to ~/.factory/settings.json for prompt submit, tool use, stop, and notification events."),
description: .localized("Adds low-noise prompt submit, stop, and notification hooks to ~/.factory/settings.json."),
isEnabled: $model.droidEnabled
)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@
"Open Project (⇧⌘O)" = "Open Project (⇧⌘O)";
"Agent Dashboard (⇧⌘A)" = "Agent Dashboard (⇧⌘A)";
"Settings (⌘,)" = "Settings (⌘,)";
"Adds a notify entry to ~/.codex/config.toml for agent turn completion events." = "Adds a notify entry to ~/.codex/config.toml for agent turn completion events.";
"Adds hooks to ~/.claude/settings.json for prompt submit, tool use, stop, and notification events." = "Adds hooks to ~/.claude/settings.json for prompt submit, tool use, stop, and notification events.";
"Adds low-noise prompt and stop hooks to ~/.codex/hooks.json." = "Adds low-noise prompt and stop hooks to ~/.codex/hooks.json.";
"Adds low-noise prompt submit, stop, and notification hooks to ~/.claude/settings.json." = "Adds low-noise prompt submit, stop, and notification hooks to ~/.claude/settings.json.";
"Agent" = "Agent";
"Attention" = "Attention";
"Agent Hooks" = "Agent Hooks";
Expand Down Expand Up @@ -48,7 +48,7 @@
"Directional Pane Nav" = "Directional Pane Nav";
"Distribute extra padding evenly around the terminal content to center it within the window." = "Distribute extra padding evenly around the terminal content to center it within the window.";
"Droid" = "Droid";
"Adds hooks to ~/.factory/settings.json for prompt submit, tool use, stop, and notification events." = "Adds hooks to ~/.factory/settings.json for prompt submit, tool use, stop, and notification events.";
"Adds low-noise prompt submit, stop, and notification hooks to ~/.factory/settings.json." = "Adds low-noise prompt submit, stop, and notification hooks to ~/.factory/settings.json.";
"Equalize Panes" = "Equalize Panes";
"Error" = "Error";
"Expand Projects" = "Expand Projects";
Expand Down Expand Up @@ -94,7 +94,7 @@
"Previous Pane" = "Previous Pane";
"Previous Tab" = "Previous Tab";
"Previous Worktree" = "Previous Worktree";
"Registers an extension in Pi's settings.json for agent start, end, and tool execution events." = "Registers an extension in Pi's settings.json for agent start, end, and tool execution events.";
"Registers an extension in Pi's settings.json for agent start and settled events." = "Registers an extension in Pi's settings.json for agent start and settled events.";
"Remove Project…" = "Remove Project…";
"Import Existing Worktrees" = "Import Existing Worktrees";
"Remove Worktree…" = "Remove Worktree…";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@
"Open Project (⇧⌘O)" = "打开项目 (⇧⌘O)";
"Agent Dashboard (⇧⌘A)" = "代理面板 (⇧⌘A)";
"Settings (⌘,)" = "设置 (⌘,)";
"Adds a notify entry to ~/.codex/config.toml for agent turn completion events." = "向 ~/.codex/config.toml 添加通知条目,用于代理回合完成事件。";
"Adds hooks to ~/.claude/settings.json for prompt submit, tool use, stop, and notification events." = "向 ~/.claude/settings.json 添加钩子,用于提示提交、工具使用、停止和通知事件。";
"Adds low-noise prompt and stop hooks to ~/.codex/hooks.json." = "向 ~/.codex/hooks.json 添加低噪声的提示提交和停止钩子。";
"Adds low-noise prompt submit, stop, and notification hooks to ~/.claude/settings.json." = "向 ~/.claude/settings.json 添加低噪声的提示提交、停止和通知钩子。";
"Agent" = "代理";
"Attention" = "待处理";
"Agent Hooks" = "代理钩子";
Expand Down Expand Up @@ -48,7 +48,7 @@
"Directional Pane Nav" = "方向键面板导航";
"Distribute extra padding evenly around the terminal content to center it within the window." = "在终端内容周围均匀分配额外边距,使其在窗口中居中。";
"Droid" = "Droid";
"Adds hooks to ~/.factory/settings.json for prompt submit, tool use, stop, and notification events." = "向 ~/.factory/settings.json 添加钩子,用于提示提交、工具使用、停止和通知事件。";
"Adds low-noise prompt submit, stop, and notification hooks to ~/.factory/settings.json." = "向 ~/.factory/settings.json 添加低噪声的提示提交、停止和通知钩子。";
"Equalize Panes" = "均分面板";
"Error" = "错误";
"Expand Projects" = "展开项目列表";
Expand Down Expand Up @@ -94,7 +94,7 @@
"Previous Pane" = "上一个面板";
"Previous Tab" = "上一个标签页";
"Previous Worktree" = "上一个工作区";
"Registers an extension in Pi's settings.json for agent start, end, and tool execution events." = "在 Pi 的 settings.json 中注册扩展,用于代理启动、结束和工具执行事件。";
"Registers an extension in Pi's settings.json for agent start and settled events." = "在 Pi 的 settings.json 中注册扩展,用于代理启动和完全静止事件。";
"Remove Project…" = "移除项目…";
"Import Existing Worktrees" = "导入已有 Worktree";
"Remove Worktree…" = "移除工作树…";
Expand Down
Loading
Loading