feat: Support reminders, so actions can be done automatically in delayed manner.#2815
Closed
zelenkovsky wants to merge 1 commit into
Closed
feat: Support reminders, so actions can be done automatically in delayed manner.#2815zelenkovsky wants to merge 1 commit into
zelenkovsky wants to merge 1 commit into
Conversation
bfaeeac to
e10bb58
Compare
f16de3d to
cc0d460
Compare
b13c718 to
19c6bc4
Compare
Author
|
@rekram1-node, could you please help to regenerate the stainless SDK for this PR? I've introduced a new event type to display the toast notification once the reminder is executed: However, I am unable to generate the SDK to expose it to TUI. Could you please guide me? |
aaa8ba4 to
7d80cd6
Compare
Author
|
This feature is ready for review. I've tested it manually and via an extensive set of test cases. |
b1e5170 to
3762c35
Compare
Author
|
@thdxr, I've rebased the branch. Please take a look. |
553bbb4 to
dde9c78
Compare
- Implement reminder manager with timer persistence and session handling - Add reminderadd, reminderlist, and reminderremove tools - Include comprehensive test suite with 460+ test cases - Add detailed architecture and specification documentation - Support for disabling reminders via environment variable - Clean up and remove UI-related components from specifications
b477f4d to
6c1ffb4
Compare
772b621 to
eb855e1
Compare
f1dc981 to
3e15a39
Compare
f8ee907 to
6a9856d
Compare
00637c0 to
71e0ba2
Compare
f1ae801 to
08fa7f7
Compare
Contributor
|
Closing this pull request because it has had no updates for more than 60 days. If you plan to continue working on it, feel free to reopen or open a new PR. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Reminders
A background scheduling system for opencode that allows agents to set up delayed or recurring reminders to re-execute actions.
Conversation Example: https://opencode.ai/s/WweTtomr
Overview
The Reminders system provides three core functions:
reminderadd()- Schedule a future reminderreminderlist()- View active remindersreminderremove()- Cancel scheduled remindersUse cases
Delayed file monitoring
Creates a one-time timer that triggers after 5 minutes and executes the action "Review and decide what to do with /workspace/last-login.log".
Regular website monitoring
Sets up a recurring timer (default 1 minute interval) that fetches http://google.com?q=Helsinki-News and compares content for changes.
Email auto-reply
Creates a recurring 1-hour timer that checks email and sends automated responses using whatever email tools are available.
List active reminders
Returns all active reminders with their timers and descriptions.
Cancel reminders
Identifies and removes matching reminders based on description.
Integration points
Reminder tools
Three tools that agents can discover and use autonomously:
reminderaddinterval_seconds,type(one-time/recurring),action_prompt,descriptionaction_promptmust contain fully resolved information (absolute paths, specific names, concrete data) since context may change over timereminderlistreminderremovedescription_pattern- What the user wants to stopStorage integration
Reminders are persistently stored across application restarts and are restored when opencode starts up. Reminders are removed when:
Session integration
Reminders are session-scoped: they exist only while their session exists. When a session is deleted, all reminders belonging to that session are automatically removed.