Skip to content

Miffan 4.4.0 - #54

Merged
Ayuilos merged 13 commits into
masterfrom
feature/im-4.0
Oct 20, 2026
Merged

Ayuilos merged 13 commits into
masterfrom
feature/im-4.0

Conversation

@Ayuilos

@Ayuilos Ayuilos commented Oct 20, 2026

Copy link
Copy Markdown
Owner

发布 Miffan 4.4.0(versionCode 178038)。更新日志见 docs/releases/4.4.0.md。

小版本:远程电脑定时任务(helper 21、命令任务与调用电脑上 Agent 工具的 AI 任务、伙伴通过 schedule_task / agent_tools 安排并逐次审批、打开 App 时把结果送进伙伴聊天、我的电脑与伙伴资料页的任务列表);删除电脑时可选择是否删除伙伴留在电脑上的文件,且只删除本机钥匙安排的定时任务。无上游同步。数据库升级到 40(新增 remote_task、remote_task_host、remote_task_run 三张表)。

🤖 Generated with Claude Code

Ayuilos and others added 13 commits October 20, 2026 13:30
新增 `miffan task` 命令:App 把任务渲染成 meta/run/prompt/env 四份文件交给电脑,
helper 用系统定时器(systemd 用户 timer、launchd LaunchAgent、crontab)按时运行,
记录运行结果,供打开 App 时按游标同步。helper 不认识 agent,Agent 工具由用户在 App
里定义。

- 定时器调用 commit 时复制出的 miffan-task-runner,旧版 App 重装旧 helper 不会让已有任务失效
- 运行时从登录 shell 读取清单里变量的当前值(默认 PATH 与代理变量),值不离开电脑
- 防重叠、超时杀进程树、日志上限、保留最近 30 次;只依赖 POSIX sh,不需要 python3
- CachyOS systemd 与 macOS launchd 实测:按时触发、立即运行、Claude Code/Codex 任务
- 计划见 docs/REMOTE_SCHEDULED_TASKS_PLAN.md,协议见 remote-helper/PROTOCOL.md

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- RemoteTaskClient:经 SSH 调用 helper 21 的 task 命令;Windows 直接拒绝
- RemoteTaskRepository:按电脑探测、刷新、创建/更新、启停、立即运行、增量同步(游标回退两分钟去重)
- Agent 工具定义(用户自定义 + Claude Code/Codex/Gemini 预设)、运行脚本渲染(全部单引号转义,
  只在读不到登录 shell 环境时用兜底 PATH)、结果提取(容忍 stderr 杂音)
- Room 40:remote_task、remote_task_host、remote_task_run 三张表
- schedule_task 工具:改动一律审批,不支持长期授权;agent 任务保存后默认试跑并回报结果
- 移除电脑时先 task remove --all,避免残留定时器
- 契约测试在本机运行真实 helper,覆盖渲染→stage/commit→exec→sync→提取的全链路

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- agent_tools 工具:list/save/delete;保存与删除一律审批,内置预设只能另存
- AgentToolDefinition 记录 addedBy;修改保留原来的来源
- 任务 meta 存下结果提取方式,改或删工具后旧任务的结果照样能解析
- 修改工具默认把用它的任务按新命令行重新保存(update_tasks)
- 计划文档记录这一决定

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- 电脑详情新增“定时任务”区块:打开页面时同步一次,显示同步时间;Windows、没有调度器、
  连不上、Linux 只在登录时运行(含开启方法和管理员命令)、Mac 睡眠补跑等提示
- 任务详情:按时运行开关、时间与时区说明、结果交给谁、每次要做的事、最近运行、立即运行、删除
- 单次运行弹层:用时、同步时间、Agent 的回复或失败原因、按需读取完整输出
- schedule_task 与 agent_tools 的审批卡:完整命令行、权限档位、改动对比、完全放开警告、
  同时更新用它的任务、试跑/同步/计费说明
- Agent 工具列表(真实品牌图标、来源标注、让伙伴帮你添加)与手动编辑页;
  入口在「我的电脑」和专业模式设置
- 删除电脑时说明定时任务的去向;英文与简体中文文案(其他语言另补)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- 任务工作目录用远程工作区的 remotePath(root 是本地 id),优先用伙伴自己的工作区
- schedule_task / agent_tools 调用也绑定电脑目标,审批卡能显示电脑、解析命令行,执行前校验目标未变
- 审批卡:电脑上找不到 agent 程序时批准前醒目提示;完全放开时“允许”按钮变红;修改工具时不再显示添加说明
- 两个工具的步骤与记录有可读标题(安排定时任务“…”、添加 Agent 工具“…” 等)
- 运行结果:日志不比摘要长时不显示“查看完整输出”,读取后替换摘要
- lint:Composable 中改用 LocalConfiguration 的 locale;去掉未 remember 的 derivedStateOf

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- RemoteTaskDelivery:App 回到前台时同步有任务的电脑(每台 5 分钟内不重复),投递未送达的运行记录
- 每个任务一行可点击的事件(打开任务详情),失败用警告图标;时间写明运行和同步时刻
- 按任务的结果策略决定伙伴是否发言,需要时只回复一次并读到全部结果;只记录的任务不调用模型
- 聊天顶部一次性汇总“你不在时,电脑跑了 N 次任务,M 次失败”,点开电脑详情
- MessageOrigin.Event 新增可选 link;ThreadService.deliverRecord 只插事件行不触发生成

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- 「它能帮你」只放查网上和记住聊天两个开关,操作电脑移到新的「电脑」分组
- 伙伴绑定的电脑上有它安排的任务时,在电脑分组下列出;没有就不显示
- 最多显示 3 个,失败或定时器丢失的排在前面,其余按创建时间;更多时进电脑详情看全部
- 电脑详情的任务列表也改为按创建时间排序

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- update 以电脑上原任务为底,只覆盖伙伴传来的字段(频率逐项合并),工具说明也告诉伙伴只传改动
- 审批卡显示完整明细,改动的字段标出原来的值
- 批准后的记录标题从已存任务读出名称,不再是空引号
- 读不懂参数时的兜底卡片也用可读标题和任务名,不再只显示工具名

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- 审批卡把「批准后会马上试跑」的说明换成可取消的勾选框;没指定时只有新建 AI 任务默认勾选
- 带参数批准此前只放行 calendar_create,定时任务和 Agent 工具卡上的开关被悄悄丢弃,卡片停在继续中
- 现在这两个工具也能带参数批准,但只能改各自的开关(test_run / update_tasks),其余参数必须与伙伴提交的一致

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- 「同时让电脑忘掉 Miffan」不再整个删掉 ~/.miffan:伙伴的文件(对话产生的文件和技能,
  在工作区的 .miffan/conversations、.miffan/skills)默认保留,对话框里新增「同时删除伙伴留在
  电脑上的文件」选项,显示占用大小和位置。
- 定时任务记下建它的手机的 Miffan 钥匙指纹(meta.sshKey)。忘掉 Miffan 时只删这把钥匙建的
  任务;其他手机的任务和它们需要的 runner 保留,对话框分别说明删除和保留的数量。
- 用自定义 Agent 工具的任务,费用说明不再写成「登录 Claude Mini 的账号」。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@Ayuilos
Ayuilos enabled auto-merge October 20, 2026 16:48
@Ayuilos
Ayuilos merged commit bf93a56 into master Oct 20, 2026
1 of 2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant