* 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.
3.7 KiB
title, description, nav
| title | description | nav |
|---|---|---|
| Hub 常见问题 | 关于 Paseo Hub 中项目、连接、配置和 daemon 的常见问题。 | 常见问题 |
Hub 常见问题
使用 Paseo 需要 Hub 吗?
不需要。没有 Hub,Paseo 也能在你的机器上运行 Agent。Hub 增加的是单个 daemon 自身做不到的事:由外部活动启动 Agent、版本化的配置、共享的运行记录,以及团队访问。
一个组织可以连接多个 GitHub 组织吗?
可以。连接属于组织,添加数量没有上限。每个连接都有自己的 slug。
应该如何把工作划分为项目?
按你现有的划分方式:每个产品一个、每个团队一个,或每个仓库一个。一个项目拥有一组环境和触发器,因此需要一起配置和部署的内容应该放在同一个项目中。
项目共享组织的连接和 daemon,所以新建项目并不意味着要重新连接 GitHub 或重新注册 daemon。
两个项目可以监听同一个仓库吗?
可以,两个都会运行。仓库不归某个项目所有。
配置可以放在被监听的仓库之外吗?
可以。filters.repo 可以指定组织能访问的任意仓库,因此一个私有仓库可以保存监听公开仓库的 workflow 的 .paseo 配置包。请保护好推送权限,因为配置包决定了组织的连接、daemon、Agent 和输出。
现在触发器放在哪里?
每个触发器及其有序的 step 都放在一个直接位于 .paseo/workflows/*.yml 的文件中。hub.yml 只包含命名的环境和 Agent。Hub 会拒绝整体式的 triggers 配置,而不是转换它。
可以在控制台中编辑配置吗?
可以,前提是使用手动来源。使用 GitHub 来源的项目在控制台中是只读的,因为仓库才是唯一的事实来源。切换到手动会把当前生效的版本复制到编辑器中,并停止同步。
谁可以触发 Agent?
只有触发器 from_users 中列出的用户。该字段是必填的,不能为空。
如果 daemon 离线会怎样?
派发失败,事件会被记录为失败。不会排队,所以请在 daemon 恢复后重新触发。
退出登录会断开我的 daemon 吗?
不会。保存的 CLI 登录是一个人员的组织凭据;已注册的 daemon 有自己的关系凭据。交互式的 paseo hub logout 会询问是否断开与同一 Hub 相关的 daemon。拒绝是正常的;除非你传入 --disconnect-daemon,JSON 或非交互式的退出登录永远不会断开 daemon。
Agent 可以回复到 Slack 或 Discord 吗?
可以。在 step 上设置 allow_outputs,并在提示词中告诉 Agent 调用 hub.reply。告诉 Agent 调用哪个工具展示了提示词写法;回复次数限制和 required 见输出能力参考。
GitHub 没有回复能力;请给 step 添加 github 块,Agent 会通过 gh CLI 执行操作。
不用 GitHub 可以吗?
可以。使用手动配置并连接 Discord 或 Slack 的项目可以正常工作。只有当你想从仓库同步配置时才需要 GitHub。