Files
paseo/public-docs/troubleshooting.zh-CN.md
Mohamed Boudra bd15e40e94 Serve paseo.sh in Simplified Chinese (#7373)
* 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.
2026-10-21 13:13:03 +07:00

6.2 KiB
Raw Permalink Blame History

title, description, nav
title description nav
故障排查 修复 Linux AppImage 启动错误、找不到 Provider 以及环境不一致的问题。 常见问题

故障排查

Linux 上 AppImage 无法打开

让下载的 AppImage 可执行,然后在终端中启动它,查看错误信息:

chmod +x Paseo-x86_64.AppImage
./Paseo-x86_64.AppImage

如果报告 error loading libfuse.so.2,请不使用 FUSE 运行:

./Paseo-x86_64.AppImage --appimage-extract-and-run

Paseo 窗口应该会打开。你也可以从下载页面获取 .deb(Debian/Ubuntu)或 .rpm(Fedora)进行安装。

Paseo 找不到我的 Provider

你已经安装的 Provider 显示为 未安装。

Paseo 启动的是你已经安装的 Agent CLI,它并不自带这些 CLI(参见 Provider)。所以它必须在自己的 PATH 中找到命令。如果你的 shell 只在特定条件下才把该位置加入 PATH,Paseo 就可能找不到它。

查看 Paseo 看到的内容

打开 设置 → 你的主机 → Providers,点击该 Provider,然后点击 诊断。重要的几行:

  • Resolved path:Paseo 找到二进制文件的位置,或 not found。
  • Daemon PATH:Paseo 正在搜索的 PATH。把它和新终端中 echo $PATH 的结果进行比较。
  • Version:二进制文件是否真的能运行。

在终端或 Agent 中,可以向受影响的 daemon 请求同样的诊断信息:

paseo provider diagnostic <provider>
paseo --host <host:port> provider diagnostic <provider> --json

当受影响的 daemon 不是 CLI 默认的本地 daemon 时,请使用全局的 --host 选项。

最常见的情况是:显示 not found,并且 Daemon PATH 中缺少你的二进制文件所在的目录。也就是说,这个目录在你终端的 PATH 中,却不在 Paseo 的 PATH 中。

修复

持久的修复方法是确保该命令在普通登录 shell 的 PATH 中,然后重启 Paseo。为什么要以此为准,请参见 Paseo 的环境为何可能与终端不同。

如果你更想直接固定路径,请在 ~/.paseo/config.json 中设置二进制文件路径:

{
  "agents": {
    "providers": {
      "claude": {
        "command": ["/absolute/path/to/claude"]
      }
    }
  }
}

command 的格式是 [binary, ...args],它会完全替换该 Provider 的默认启动命令。用 which -a claude 查找真实路径。type -a claude 还能告诉你 claude 是否只是一个 shell 别名或函数;这些都不起作用,因为 Paseo 直接运行二进制文件,所以请使用它指向的路径。编辑后重新加载配置(见下文)。

关于替代端点、多个配置、自定义二进制文件和 ACP Agent,请参见自定义 Provider。各 Agent 的安装链接见支持的 Provider。

Paseo 的环境为何可能与终端不同

只要 Paseo 运行你的工具、Agent 或终端,就可能出现同样的不一致:你每天都在用的命令被报告为 command not found。

当你从 Dock 或 Finder 打开桌面应用时,操作系统给它的是一个精简过的环境,而不是你终端里的 PATH。为了弥补这一点,Paseo 会在启动时运行一次你的登录 shell($SHELL -i -l -c),捕获它的环境,并把它交给 daemon 及其启动的所有进程。经验法则:如果一个全新的终端能运行该命令,Paseo 也应该能。 这也是检验方法:打开一个新终端,在那里试一试。

当你自己在终端中启动 daemon(paseo)时,没有登录 shell 这一步,它直接继承该终端的环境。

无论哪种方式,缺少工具的修复都在你的 shell 配置(.zshrc、.zprofile 等)中,而不在 Paseo 中。通过版本管理器(asdf、mise、nvm 等)安装的工具最常出问题,请确保它们在干净的登录 shell 中也会初始化,而不仅仅是在你已经打开的 shell 中。

这一登录 shell 步骤在 macOS 和 Linux 上运行。在 Windows 上,Paseo 使用它启动时所带的环境。

查看日志

  • 桌面应用:登录 shell 的解析过程记录在这里。查找 [login-shell-env]:applied 表示成功(会记录前后的 PATH);failed; keeping inherited env 表示它退回到了精简环境,并附带 reason(超时、shell 配置以非零状态退出、没有输出等)。最常见的原因是 .zshrc/.zprofile 运行缓慢或出错。
  • daemon:~/.paseo/daemon.log(如果你设置了自定义 home,则是 $PASEO_HOME/daemon.log)。

桌面应用日志位置:

平台 路径
macOS ~/Library/Logs/Paseo/main.log
Linux ~/.config/Paseo/logs/main.log
Windows %APPDATA%\Paseo\logs\main.log

我修改了 config.json,但什么都没发生

编辑后重新加载文件:

paseo reload

Paseo 会应用可以在运行时安全生效的设置,并列出需要重启的路径。JSON 无效或 schema 错误时,不会应用任何内容;修复报告的错误后再次运行该命令。如果某个改动的设置由启动时的环境变量或参数决定,reload 会单独报告它。

只有当 reload 要求时才运行 paseo daemon restart。在应用中,打开 设置 → 你的主机 → 概览 并使用 重启 Daemon。正在运行的 Agent 会继续运行,客户端会自动重连。

仍然无法解决?