* 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.3 KiB
title, description, nav
| title | description | nav |
|---|---|---|
| 快速上手 | 安装 Paseo,随时随地运行编程 Agent。 | 快速上手 |
快速上手
Paseo 是一个 Agent 开发环境,用于运行编程 Agent、编辑文件、审查改动和测试你的工作。Agent 运行在你的机器上;桌面端、移动端、网页端和 CLI 客户端让你随时随地工作。在下面选择安装方式。
桌面应用(推荐)
从 paseo.sh/download 或 GitHub releases 页面下载。打开即可使用。
桌面应用自带 daemon 并会自动启动它,无需单独安装。首次启动时你会看到一个简短的启动画面,之后在手机上通过 设置 → 你的主机 → 配对设备 连接。
服务器 / CLI
适用于无界面的机器、开发机,或任何你想在没有桌面界面的情况下运行 daemon 的场景:
npm install -g @getpaseo/cli
paseo
Paseo 会在本地启动 daemon,然后询问是否启用端到端加密中继并打印配对二维码。如果你拒绝,可以通过 TCP、Tailscale 或其他 VPN 手动输入 daemon 地址。
daemon 还可以自己提供浏览器网页应用,这样你无需托管版应用也能使用完整界面。参见自托管网页界面。
配置和本地状态位于 PASEO_HOME 下(默认为 ~/.paseo)。
Docker
在服务器、开发机、NAS 设备或家庭实验室主机上,运行官方镜像:
docker run -d --name paseo \
-p 6767:6767 \
-e PASEO_PASSWORD=change-me \
-v "$PWD/paseo-home:/home/paseo" \
-v "$PWD:/workspace" \
ghcr.io/getpaseo/paseo:latest
然后打开 http://localhost:6767。
该镜像运行 daemon 并提供内置的网页界面。它不包含 Agent CLI,因此请用你使用的 Agent 扩展它。Compose、反向代理、Agent 安装和安全方面的示例见 Docker。
接下来
- 运行并行任务:在桌面应用中使用独立的 worktree、审查 diff 并测试改动。
- 连接:通过中继或 Tailscale 连接。
- Docker:在容器中运行 daemon 和内置网页界面。
- 工作区:Paseo 所围绕的项目、工作区和会话模型。
- Provider:什么是 Provider,以及 Paseo 如何封装现有 CLI。
- 编排:让一个 Agent 把工作委派给其他 Provider 和模型。
- 插件:添加受信任的本地界面、侧边栏操作、daemon 行为和 Composer 附件。
- CLI 参考:所有命令。
- 自托管网页界面:从你自己的 daemon 提供浏览器应用。
- GitHub 仓库
- 报告问题
前置条件
Paseo 管理其他 Agent,本身并不附带 Agent。要让它发挥作用,请先自行安装至少一个 Provider CLI,并确认它能使用你的凭据正常工作。完整列表见支持的 Provider。
你还需要安装并认证 GitHub CLI(gh)。Paseo 用它实现感知 PR 的 worktree 和一些编排功能。