{"id":"paseo-next-check","repo":"summerisgood1/paseo-next-check","url":"https://github.com/summerisgood1/paseo-next-check","name":"paseo-next-check","description":"Open the oldest unread agent reply across Paseo workspaces, with a native workspace Mark as unread shortcut.","categories":["productivity"],"platforms":[],"caveats":["Requires plugin 0.1.1+ and Paseo app/daemon 0.11.0-beta.4 or a compatible newer version.","Mark as unread uses the desktop/web workspace menu and targets its latest eligible chat, which may differ from the open chat.","The menu bridge requires a visible sidebar workspace; its final native desktop click has not been verified.","If automatic unread selection is unavailable, the workspace menu stays open with an informational notice."],"images":[],"themes":[],"health":{"manifestValid":true,"hasReadme":true,"hasLicense":false,"hasTests":true,"hasTypecheckScript":true,"updatedRecently":true},"scannedAt":"2026-10-08T08:17:45.618Z","addedAt":"2026-10-08T13:13:59+05:00","version":"0.1.1","security":{"status":"passed","blockingFindings":0,"advisoryFindings":0,"scannedAt":"2026-10-08T08:17:20.010Z","commit":"1f22391bc25dfb22e8ff22a43a151913d09a39db"},"scanError":"Git package version 0.1.1 does not match npm 0.2.0","author":"summerisgood","paseoVersionRequirement":">=0.11.0-beta.4","descriptionNodes":[{"type":"text","text":"Open the oldest unread agent reply across Paseo workspaces, with a native workspace Mark as unread shortcut."}],"caveatNodes":[[{"type":"text","text":"Requires plugin 0.1.1+ and Paseo app/daemon 0.11.0-beta.4 or a compatible newer version."}],[{"type":"text","text":"Mark as unread uses the desktop/web workspace menu and targets its latest eligible chat, which may differ from the open chat."}],[{"type":"text","text":"The menu bridge requires a visible sidebar workspace; its final native desktop click has not been verified."}],[{"type":"text","text":"If automatic unread selection is unavailable, the workspace menu stays open with an informational notice."}]],"manifest":{"id":"paseo-next-check","requirements":{"paseo":">=0.11.0-beta.4"}},"repoMeta":{"stars":0,"defaultBranch":"main","pushedAt":"2026-10-07T16:49:14Z"},"owner":{"login":"summerisgood1","avatarUrl":"https://avatars.githubusercontent.com/u/51513183?v=4"},"installNotesHtml":"<p>Requires Paseo app and daemon <code>0.11.0-beta.4</code> or a compatible newer version, with plugins enabled.</p>\n<pre><code class=\"language-sh\">paseo plugin install npm:@summerisgood/paseo-next-check@0.1.1\n</code></pre>\n<p>Or paste <code>npm:@summerisgood/paseo-next-check@0.1.1</code> into <strong>Settings → Plugins → Plugin source</strong>.</p>","limitationsNotesHtml":"<ul>\n<li><strong>Next unread</strong> uses Paseo's native unread state and opens the destination workspace with its chat. Only completed replies are queued; permission and error alerts use Paseo's own flow.</li>\n<li><strong>Mark as unread</strong> is available on desktop/web. It uses the native workspace menu to mark that workspace's latest eligible chat, which may differ from the chat currently open. Show the target workspace in the sidebar before using it. If automatic selection is unavailable, it leaves the menu open and shows an informational \"not supported yet\" notice instead of an error.</li>\n<li>The workspace menu bridge depends on Paseo's DOM structure and may need an update after a Paseo release. Next unread was tested in the desktop app; Mark as unread passed unit tests and browser checks with Paseo's native menu components and pending button lifecycle, but its final desktop click has not been verified.</li>\n<li><strong>Code review</strong> asks the current agent for its native review — <code>/code-review medium</code> on Claude Code, <code>codex review --uncommitted</code> on Codex — and then to triage the findings into one table, most severe first, marking each Fix or Skip. Other providers get a plain bug review with the same triage. Codex runs its reviewer as a nested CLI because Paseo does not expose Codex's review mode, so its sandbox may ask for permission. It is disabled while the agent is running, starting, or closed.</li>\n<li>Paseo controls composer pill placement and styling.</li>\n</ul>","readmeText":"# Next unread\n\nA Paseo plugin that opens unread agent replies from oldest to newest across all workspaces on the same daemon.\n\n## Installation\n\nRequires Paseo app and daemon `0.11.0-beta.4` or a compatible newer version, with plugins enabled.\n\n```sh\npaseo plugin install npm:@summerisgood/paseo-next-check@0.1.1\n```\n\nOr paste `npm:@summerisgood/paseo-next-check@0.1.1` into **Settings → Plugins → Plugin source**.\n\n## Limitations\n\n- **Next unread** uses Paseo's native unread state and opens the destination workspace with its chat. Only completed replies are queued; permission and error alerts use Paseo's own flow.\n- **Mark as unread** is available on desktop/web. It uses the native workspace menu to mark that workspace's latest eligible chat, which may differ from the chat currently open. Show the target workspace in the sidebar before using it. If automatic selection is unavailable, it leaves the menu open and shows an informational \"not supported yet\" notice instead of an error.\n- The workspace menu bridge depends on Paseo's DOM structure and may need an update after a Paseo release. Next unread was tested in the desktop app; Mark as unread passed unit tests and browser checks with Paseo's native menu components and pending button lifecycle, but its final desktop click has not been verified.\n- **Code review** asks the current agent for its native review — `/code-review medium` on Claude Code, `codex review --uncommitted` on Codex — and then to triage the findings into one table, most severe first, marking each Fix or Skip. Other providers get a plain bug review with the same triage. Codex runs its reviewer as a nested CLI because Paseo does not expose Codex's review mode, so its sandbox may ask for permission. It is disabled while the agent is running, starting, or closed.\n- Paseo controls composer pill placement and styling.\n\n## 用法\n\n喺 Paseo 多個 agent chats 之間，撳輸入框旁邊嘅 **Next unread**，就會開下一個待睇 chat，同時切去佢所屬嘅 workspace。\n\n- 包含同一部 daemon 所有 workspaces 嘅非 archived chats。\n- 按原生 `attentionTimestamp` 由舊到新排；開 chat 就跟 Paseo 原生操作算已睇。\n- 手動 **Mark as unread** 會重新加入隊，按標 unread 嘅時間排。\n- 包含 `attentionReason: \"finished\"` 嘅待睇回覆；permission 同 error 提示保留喺 Paseo 原生流程。\n- 冇下一個待睇 chat 嗰陣，掣會 disabled。\n\nDesktop／web 會喺 **Next unread** 隔離加 **Mark as unread**。呢粒掣沿用原生 workspace 選單，所以會標記目前 workspace 最新、符合原生規則嘅 chat；唔保證係目前開住嗰個 chat。手機版暫時冇 **Mark as unread**。\n\n**Code review** 會叫目前個 agent 先行佢原生嘅 review（Claude：`/code-review medium`；Codex：`codex review --uncommitted`），再逐點對返 code 篩選，出一個表：最嚴重排頭，每點標「Fix」或者「Skip」同埋原因，未改 code。Paseo 冇開放 Codex 原生 review 模式，所以 Codex 係喺 shell 行 CLI，sandbox 可能會問 permission。agent 跑緊、啟動緊或者已關閉嗰陣 disabled。\n\nPaseo `0.11.0-beta.4` 嘅 plugin API 只提供 Tasks／Subagents 同一行嘅 composer pill。位置、外框同 icon 排法由 Paseo 控制，所以呢個版本未能完全複製 Conductor 輸入框右上方嘅 `Next unread ›` 擺位。\n\n## 本機開發\n\n需要 app 同 daemon 都係 Paseo `0.11.0-beta.4` 或相容新版本，亦要開咗 plugins。開發測試用 Node `22.18+`。\n\n```sh\nnpm ci\nnpm run typecheck\nnpm test\npaseo plugin install \"$PWD\"\n```\n\n改 source 之後，用 `paseo plugin reload paseo-next-check`；唔使重新啟動 daemon。\n\n## 點樣運作\n\nplugin 用官方 `client.paseo.agents.list({ subscribe: {} })` 讀原生 unread 狀態，會補齊所有分頁，亦會喺 reconnect 嘅 fresh snapshot 重建隊列。唔另外儲存一份已讀清單。\n\n撳掣會短暫經過 plugin screen，再用官方 `navigation.openAgent` 開目標 chat。呢條 navigation 會連所屬 workspace 一齊切換。跳轉前會重新讀隊列；讀取失敗會顯示 **Retry** 同 **Back to chat**。\n\n新回覆喺目前開住嘅 chat 完成時，Paseo 會延後清除 unread，直到 input focus、send 或 blur。`Next unread` 會排除今次操作嘅來源 chat，避免已讀更新未到時又跳返自己。\n\nSDK 暫時冇原生 Mark as unread 接口。`Mark as unread` 會按目前 host 同 workspace 嘅識別碼開原生選單，再揀原生操作；原生流程會先取消 pane focus，令 unread 保留。Sidebar 收埋或目標 workspace 未顯示時，請先打開 sidebar 同顯示該 workspace。Paseo 更新選單結構之後，呢個後備操作可能需要跟住更新；未能自動標記時會保留已開嘅選單，只顯示未支援直接操作嘅普通資訊提示。唔會彈 error，亦唔會揀其他 workspace 嘅同名操作。\n\n## 驗證\n\n`npm test` 驗證跨 workspace 次序、手動開 chat、手動 unread、新回覆、空隊列、分頁同 reconnect，亦會驗證原生選單嘅 host／workspace 配對、右鍵後備、取消、disabled 同 timeout。React 生命週期測試會確認 Paseo 將 icon 換成 pending spinner 時唔會取消請求，未能自動標記只會顯示資訊提示，而移除 plugin registration 時仍然會取消兼保持靜默。\n\n舊設計原型喺 `client/next-check.prototype.html`，只係 mock 資料；已安裝 plugin 用真實 Paseo 狀態。\n"}