mirror of
https://github.com/getpaseo/paseo.git
synced 2026-10-29 04:32:57 +00:00
* feat(website): serve paseo.sh in Simplified Chinese
Every page of the website now has a Simplified Chinese version under
/zh-CN: the interface, docs, blog posts, comparison pages, legal pages,
all changelog releases and the homepage mockup. English URLs are unchanged.
The URL alone decides the language. There is no browser-language redirect
and no stored preference, because either would have to redirect the
unprefixed English URLs that people share and search engines index.
Internal links carry the page's language instead, and hreflang alternates
point Chinese search results at /zh-CN.
Translated headings pin the English anchor with {#id}, so section links
work in both languages. content-translations.test.ts fails when a page
has no translation or a translation's headings drift from the English.
Changelog releases and plugin listings without a translation render
whole in English under a notice, so a release never waits on one.
Plugin manifests and the registry gain optional translations and
OVERVIEW.zh-CN.md fields; older clients and registries ignore them.
* feat(website): replace the native language select with an EN/ZH menu
The header showed an OS-native select whose popup did not match the site.
The trigger now shows the language abbreviated (EN, ZH) and opens a menu in
the app's dropdown style that names each language in itself, with its name
in the page language underneath. Rows are real links to the same page in
that language; arrows, Escape, outside presses and taps behave as a menu
button, and the menu keeps itself on screen when a narrow header pushes the
trigger toward an edge.
Also drops the stray space after the full-width comma in the Chinese
homepage subtitle.
* docs(website): translate main's new docs and 0.12.0 release notes
Main added Keep run workspaces to the schedules docs, rewrote plugin icons
around inline SVG, and promoted 0.12.0 with new entries. Bring the Chinese
pages and changelog in line so no section falls back to English.
* fix(server): leave plugin listing translations to the registry
The daemon rejected manifests whose translations the registry would refuse,
so a plugin main installs could fail to load here. Paseo never reads
translations; the registry validates them at publish. Docs now say which
checks are automated at publish and which are human review.
* docs(plugins): describe the registry's final overview translation discovery
* style(server): format manifest test
* test(app): measure sidebar rows one at a time
After a reload the developer error toast appears while expectVerticalOrder
measures every row at once. Each concurrent boundingBox runs the toast
locator handler, and only one of them resumes, so the poll timed out on
every attempt since #7424. Measuring sequentially keeps one action in flight.
* test(app): return sidebar row measuring to main
#7480 hides the developer toast instead of running a locator handler, so
measuring the rows concurrently no longer races it. Reverts 41ac23016.
* test(app): wait for the compact shell before opening compact Changes
The shell survives the breakpoint, so right after the resize the wide
Explorer could still be visible: the test skipped the Explorer toggle and
the tab then disappeared, or toggled at the wrong time. Wait for the
compact-shell marker, as the composer helpers do since #7424.
* docs(website): translate main's plugin file panel docs
* test(app): edit the code font size after the font family remount
A committed appearance change remounts the settings screen through
AppearanceStyleBoundary, and the new form starts from the stored size.
Filling the size before that remount lost the edit in CI.
* docs(website): translate main's client/ui import docs
Follows #7474: one /client/ui entry, StreamedText instead of useRevealedText,
SettingsGroup dropped from the settings table, and the new
'UI imports in v0.13' migration section.
* test(app): wait for the previous layout's file panel picker to leave
After a resize the old layout's picker animates out while the new one is
already mounted, so the Use button matched two elements and the strict
locator failed. Wait for the shell's layout and a single picker first.
2.9 KiB
2.9 KiB
title, description, nav
| title | description | nav |
|---|---|---|
| 定时任务 | 按 cron 计划运行新的 Agent,或用 heartbeat 唤醒已有的 Agent。 | 概览 |
定时任务
定时任务按 cron 节奏为你启动一个新的 Agent:在这个时间,在这个仓库里,用这些 Agent 设置运行这段提示词。
Paseo 还有 heartbeat。heartbeat 会定期向一个已有的 Agent 发送提示词,让它重新评估并继续同一段对话。
两者使用同一个 cron 引擎,但在产品中是分开的:
- 定时任务每次运行都会创建一个新的 Agent。你可以查看、暂停、恢复、运行一次、更新或删除它们。
- heartbeat 针对一个已有的 Agent,刻意保持轻量:通过 MCP 创建或删除;在 CLI 中还可以只更新它们的 cron 周期。
cron 是标准的节奏表示。CLI 接受 5m 或 1h 这样的简单预设,但会把它们编译成 cron,而不是另存一种间隔类型。
两者都按你设定的节奏运行。如果想由外部事件(比如一条评论或一次提及)启动 Agent,请参见 Hub。
用途
- 全新的周期性任务:为每日分拣、报告或维护启动一个干净的 Agent。
- heartbeat:让当前 Agent 定期重新评估状态并继续推进。
- 盯构建:让一个 Agent 持续检查 CI、EAS、Docker 或发布构建,直到通过。
- 每日分拣:每天早上扫描 issue、PR 和失败的检查。
- 维护巡检:更新依赖、审核文档或清理过期分支。
创建方式
- 在应用中:打开定时任务视图,设置 Agent、cron 节奏、仓库和提示词来创建。这是创建和管理定时任务的主要方式。
- 在聊天中:在聊天中告诉 Agent,它会为你创建定时任务。
- 通过 CLI:
paseo schedule create,适用于无界面的机器和脚本。 - 通过 MCP:Agent 以编程方式创建和管理定时任务。
保留运行工作区
新建 Agent 的定时任务每次运行都会创建一个工作区。Archive on finish 默认开启:运行结束时,Paseo 会归档该工作区及其 Agent。使用 worktree 隔离时,最后一个使用该 worktree 的活跃工作区被归档后,归档还会删除这个 worktree。
要保留运行结果,在应用的定时任务视图中打开该定时任务,关闭 Archive on finish 并保存。Paseo 会让每次运行的工作区和 Agent 保持活跃,直到你手动归档;在创建 Agent 之前就失败的运行仍会被清理。该选项同样适用于本地隔离;归档本地工作区不会删除项目目录。
存储的选项是 target.config.archiveOnFinish,一个布尔值,省略时默认为 true。CLI 和 MCP 的定时任务工具不提供这个选项;请在应用中修改。heartbeat 使用已有的 Agent,没有这个选项。