refactor(schedule): keep reminder delivery conversational

This commit is contained in:
Tianyi Cui
2026-08-09 15:22:53 +08:00
parent 2f3e8974ec
commit 36ef892559
134 changed files with 598 additions and 3139 deletions

View File

@@ -2,5 +2,5 @@
# side as of the last confirmed-consistent state. Both languages carry equal authority;
# after editing either side, bring the other along and re-record with:
# pnpm run verify-translation-pairing --write examples/README.md
README.md: 209b23d6325b1ed0db8f23ab049369efc9427af4
README.zh.md: 5a9e5615d8ccef2c1627e3facf97a30a25e1fb5e
README.md: 826e15e461d2544d664ce73683031b8cc0307595
README.zh.md: 97f6722f9bf16073af5605ff5c3d3efb8fddf435

View File

@@ -22,7 +22,7 @@ A self-referential agent that can inspect and change its in-memory Cordis plugin
## web-schedule
An opt-in Web overlay for durable, Session-local reminders. It supports positive whole-second `after_seconds` reminders through `schedule_create`, `schedule_list`, and `schedule_delete`; active reminders persist in the original Session, resume when that Session becomes live again, and do not run while it is cold. Run `dsh web --patch examples/web-schedule/cordis.yml`; see [web-schedule/README.md](web-schedule/README.md) for the delivery and recovery boundary.
An opt-in Web overlay for durable, Session-local scheduled follow-ups. See the [Web Schedule example reference](web-schedule/README.md).
## acp-agent

View File

@@ -22,7 +22,7 @@
## web-schedule
用于持久、仅限 Session 内提醒的显式 Web overlay。它通过 `schedule_create``schedule_list``schedule_delete` 支持正整数秒的 `after_seconds` 提醒;活动提醒保存在原 Session 中,该 Session 再次 live 时恢复,而 cold 期间不会运行。使用 `dsh web --patch examples/web-schedule/cordis.yml` 启动;交付与恢复边界详见 [web-schedule/README.md](web-schedule/README.md)。
一个可显式启用的 Web overlay用于提供持久且仅限会话内的定时后续轮次。详见 [Web Schedule 示例参考](web-schedule/README.md)。
## acp-agent

View File

@@ -2,5 +2,5 @@
# side as of the last confirmed-consistent state. Both languages carry equal authority;
# after editing either side, bring the other along and re-record with:
# pnpm run verify-translation-pairing --write examples/web-schedule/README.md
README.md: 4071bdb4f52ccd75359a91ad8269d1bc18bae521
README.zh.md: 10db04f9ec494d86c93141ace4f6f56fa79deaca
README.md: 6849f1cf086074e54c16344500e98fe4a6f9c07c
README.zh.md: 6d3597d30a992acf6e80f820fa6a09d5a995c056

View File

@@ -1,8 +1,8 @@
# Durable Web Schedule
# Session-local Schedule
English | [中文](README.zh.md)
This overlay opts one `dsh web` process into durable Schedule reminders without changing the shipped default Web composition:
This overlay opts one `dsh web` process into Schedule reminders without changing the shipped default Web composition:
```sh
dsh web --patch examples/web-schedule/cordis.yml
@@ -10,8 +10,8 @@ dsh web --patch examples/web-schedule/cordis.yml
The current overlay supports one-shot reminders created with a positive whole-number `after_seconds`. The model manages them through `schedule_create`, `schedule_list`, and `schedule_delete`; every result identifies the delivery mode as `session-local`.
The original Session log owns each reminder. A live root Agent waits, retries after it becomes idle, and records a durable dispatch receipt in the Web conversation. Closing the process or leaving the Session cold stops its in-memory timer without deleting the record; reopening that same Session restores the wait and delivers an overdue reminder. Merely reading cold history never activates it, and a fork does not inherit its parent's reminders.
The original Session log owns each reminder. A live root Agent waits and retries after it becomes idle, then queues a normal follow-up turn in that conversation. Closing the process or leaving the Session cold stops its in-memory timer without deleting the record; reopening that same Session restores the wait and delivers an overdue reminder. Merely reading cold history never activates it, and a fork does not inherit its parent's reminders.
Create and actual delete operations acknowledge success only after Session persistence confirms their event prefix. A reminder receipt likewise appears only after its dispatch is durable. Schedule does not provide browser, operating-system, email, SMS, or other external notification, and the best-effort model follow-up is not a delivery acknowledgement.
Create and actual delete operations acknowledge success only after Session persistence confirms their event prefix. Schedule does not provide browser, operating-system, email, SMS, or other external notification. A durable dispatch records that the follow-up was queued; it does not acknowledge model success or user receipt.
Absolute-time, fixed-interval, and cron rules are not accepted by this layer.

View File

@@ -1,8 +1,8 @@
# 持久 Web Schedule
# 仅限 Session 内的 Schedule
[English](README.md) | 中文
此 overlay 让一个 `dsh web` 进程显式启用持久 Schedule 提醒,同时不改变交付的默认 Web 组合:
此 overlay 让一个 `dsh web` 进程显式启用 Schedule 提醒,同时不改变交付的默认 Web 组合:
```sh
dsh web --patch examples/web-schedule/cordis.yml
@@ -10,8 +10,8 @@ dsh web --patch examples/web-schedule/cordis.yml
当前 overlay 支持使用正整数 `after_seconds` 创建的一次性提醒。模型通过 `schedule_create``schedule_list``schedule_delete` 管理它们;每个结果都会把交付模式标为 `session-local`
每条提醒由原 Session 日志拥有。live 根 Agent 会等待在恢复 idle 后重试,并在 Web 会话中记录持久 dispatch 回执。关闭进程或让 Session 保持 cold 会停止内存 timer但不会删除记录重新打开同一个 Session 会恢复等待并交付逾期提醒。仅查看 cold 历史不会激活提醒fork 也不会继承父 Session 的提醒。
每条提醒由原 Session 日志拥有。live 根 Agent 会等待在恢复 idle 后重试,随后在该对话中排入一个普通 follow-up 轮次。关闭进程或让 Session 保持 cold 会停止内存 timer但不会删除记录重新打开同一个 Session 会恢复等待并交付逾期提醒。仅查看 cold 历史不会激活提醒fork 也不会继承父 Session 的提醒。
创建和实际删除操作只有在 Session persistence 确认对应事件前缀后才会确认成功。提醒回执同样只在 dispatch 持久化后出现。Schedule 不提供浏览器、操作系统、邮件、短信或其他外部通知best-effort 模型 follow-up 也不构成交付确认
创建和实际删除操作只有在 Session persistence 确认对应事件前缀后才会确认成功。Schedule 不提供浏览器、操作系统、邮件、短信或其他外部通知。持久 dispatch 会记录 follow-up 已经入队;它不确认模型成功或用户已收到提醒
本层不接受绝对时间、固定间隔或 cron 规则。

View File

@@ -1,10 +1,6 @@
# Opt-in Schedule patch over the shipped Web composition. The Schedule owner
# only observes roots published after this overlay loads, so this remains an
# explicit capability rather than changing the default Web tree.
# Opt-in Schedule patch over the shipped Web composition. The owner observes
# only roots published after this overlay loads.
- insert:
- id: tool-schedule
name: '@deepseek-ai/dsh-tool-schedule'
- id: ui-schedule
name: '@deepseek-ai/dsh-client-ui-schedule'