Ciotto

功能指南

为你工作的浏览器

内容:Ciotto 的每一项功能,一项接一项。每一项都给出:名称、在界面中的位置,以及它的作用,只用几行文字。

文档版本:1.1 — 2026 年十一月 7 日

对应的 Ciotto 版本:0.5.0

涵盖的平台:Windows / macOS / Linux 桌面版、Android、iOS、配套 Web 应用、Chromium / Firefox / Safari 扩展。

命令名称按英文写出,因为界面语言为 English 时,应用显示的就是这些名称。界面语言设为简体中文时,同样的项目会译成中文,出现在同一位置。

本指南借助语言模型从意大利语原文翻译而来。如有不清楚之处,以原文为准。

如何阅读本文档

每项功能都是一个带编号的条目,由三部分组成:

路径中使用的约定:

分区索引

分区条目涵盖内容
A. 启动、窗口与界面1–10应用如何打开、起始页、主题、语言、无障碍、探索 Ciotto 页面、透明窗口
B. 标签页11–28标签页的生命周期、名称、锁定、分组、移动、链接预览、休眠
C. 地址栏、导航与搜索29–35导航、本地建议、搜索引擎、缩放、站点信息
D. 分屏视图与面板36–41同一窗口中的多个页面、可拖动的边界、绘制布局
E. 身份与工作区42–49身份、工作区、项目、隐私上下文、会话恢复
F. 历史记录与记忆50–58时间线、浏览地图、对你读过内容的记忆、清除数据
G. 工作工具59–71定时搜索、URL 列表、向多个标签页提问、搁置的标签页、收藏、阅读、媒体、笔记
H. 宏与自动化72–78宏的录制、编辑与运行、定时运行、数据表
I. AI 助手79–82侧边栏、供应商与模型、页面翻译
J. 语音83–85说出来的命令、语音回答、交给代理的任务
K. 隐私与安全86–110盾牌、基础防护、完整目录、签名名单、烧掉一切
L. 密码与凭据111–121保险库、自动填充、地址与银行卡、密码健康、TOTP、通行密钥
M. Lightning 身份122–125本地密钥、无密码登录、WebLN 与 Nostr
N. 加密同步与标签页传递126–137设备、联系人、标签页与会话的传递、类别
O. Chrome 扩展138–141Web Store、未打包的扩展、操作栏、按身份区分的扩展
P. 下载、文件与打印142–150下载、本地文件、保存页面、打印、PDF、截取、网页应用
Q. 设置、更新与分发151–159十四个部分、快捷键、导入、更新、Help 菜单、安装包保护
R. 平台差异160–165Android、iOS、Web 和扩展上有哪些不同,以及手机界面

A. 启动、窗口与界面

1. 启动应用与主窗口

位置:开始菜单、程序坞、Android 应用抽屉或 iOS 主屏幕上的 Ciotto 图标(深色圆角方块上的一个浅色“c”,取形于一颗鹅卵石)。

作用:打开一个窗口,包含标签条、地址栏、工具栏和页面区域。页面不是 HTML 框架:它们是由主进程摆放在界面之上的原生视图。

平台:所有原生平台(桌面版、Android、iOS)。

2. 启动方式

位置:设置 → New tab & startup → On startup。

作用:决定 Ciotto 打开时显示什么:从上次离开的地方继续、打开一个新标签页,或者打开一组手动指定的页面。

3. 起始页与可自定义的板块

位置:每个新标签页中出现的页面。这些板块在 设置 → New tab & startup 中用以下开关打开:New tab: favorites、New tab: frequent、New tab: projects、New tab: reading 和 New tab: remote tabs;同一列表中的 New tab: Points of View 可以把推荐站点恢复回来,如果之前去掉了它的话。

作用:显示 Ciotto 的标志、“ciotto”字样和标语“The browser that works for you”(中文为“为你工作的浏览器”),没有新闻流。五个板块(收藏、常用站点、项目、阅读列表、其他设备上的标签页)在你打开之前都是关闭的。默认只有两项推荐:上方角落里的 Discover Ciotto 按钮,以及一个推荐站点 Points of View 的卡片,它会在同一个标签页中打开。每一项都有自己的 ✕,点它会在这台设备上永久去掉该项。推荐站点的列表和它们的图标都内置在程序中:绘制这个页面时,Ciotto 不向任何服务器请求任何东西。

平台:桌面版、Android 和 iOS。

4. 主页按钮与主页

位置:设置 → New tab & startup → Show Home button 和 Home page。按钮随后会出现在工具栏中,位于后退和前进之间。在 Windows 和 Linux 上,同样的操作有快捷键 Alt+Home。

作用:添加一个按钮,点击后回到所选的页面。地址留空时,这个按钮会打开一个新标签页。

5. 浅色、深色或跟随系统的主题

位置:⋮ → Appearance and language → System / Light / Dark,或者 设置 → Appearance & accessibility → Theme。

作用:在浅色、深色和“跟随操作系统”之间切换 Ciotto 界面的外观。这个选择是一项可携带的偏好:它也会到达其他已同步的设备。

6. 界面语言

位置:⋮ → Appearance and language,在三个主题下方的列表中(每种语言都以它自己的名称写出),或者 设置 → General → Interface language。

作用:更改菜单、面板和消息的语言。共有十六种语言:英语、意大利语、法语、西班牙语、德语、简体中文、俄语、韩语、葡萄牙语、日语、阿拉伯语、斯瓦希里语、豪萨语、约鲁巴语、阿姆哈拉语和克林贡语(tlhIngan Hol)。阿拉伯语界面从右向左排列。语言是一项可携带的偏好,会跟随用户到其他已同步的设备上。

7. 无障碍:最小缩放、对比度、动态效果、焦点

位置:设置 → Appearance & accessibility。

作用:汇集了 Default page zoom、Minimum font size、Contrast(System、Normal 或 More contrast)、Reduce motion、Animate images and GIFs、Caret browsing 和 Always show keyboard focus。这些设置既适用于 Ciotto 的界面,也适用于加载的页面。

8. 收藏栏

位置:设置 → New tab & startup → Show favorites bar。这条栏出现在地址栏下方。

作用:在一行始终可见的栏中显示个人收藏和当前工作区的收藏。文件夹会变成带下拉菜单的按钮(子文件夹在侧面展开),行末的 Manage 会打开保存项页面。点击某一项,会在新标签页中打开它。

9. 探索 Ciotto

位置:⋮ → Discover Ciotto;菜单栏 → Help → Discover Ciotto;起始页角落里的 Discover Ciotto 按钮。手机上:⋮ 菜单 → Discover Ciotto。

作用:一个在标签页中打开的内部页面,介绍 Ciotto 能做什么:每项功能一张卡片,分成十五个分区。每张卡片有一个标题、一句话、带操作说明的 How it works 一栏和一个真实场景,能做到时还有 Take me there 按钮,用来打开卡片所讲的面板、设置部分或命令。在桌面版上,标题旁边会显示当时分配的快捷键。顶部有一个在标题和句子中搜索的输入框,还有一排标签分别通往各个分区。平台不具备的功能不会显示;在隐私目录那张卡片下方,列出了该设备上可用的防护。

平台:桌面版、Android 和 iOS。手机上没有快捷键,也没有那些在手机上不存在的命令的按钮。

10. 透过 Ciotto 看

位置:工具栏中的按钮(标题为 See through Ciotto and click below);菜单栏 → View → See through Ciotto and click below;⋮ → Appearance and language → See through Ciotto and click below。

作用:让窗口变成半透明,保持在其他应用之上,并把点击和滚动交给下面的应用:你在别处工作时,可以一直看着一个页面。标签条和工具栏保持不透明、可以使用,按钮的位置会显示提示 Click-through mode,以及返回用的组合键。按 Ctrl/Cmd+Shift+U 回到普通窗口,这个快捷键在整个系统中有效;如果已有其他应用占用了它,这个模式不会启动,Ciotto 会告诉你。

平台:Windows 和 macOS。Linux 上不显示这个命令,因为在那里窗口无法变成半透明;手机上没有这项功能。

B. 标签页

11. 打开、关闭和切换标签页

位置:顶部的标签条;+ 按钮;⋮ → New Tab;Ctrl/Cmd+T 打开,Ctrl/Cmd+W 或在标签页上中键点击关闭;Ctrl/Cmd+1…8 跳到对应位置的标签页,Ctrl/Cmd+9 跳到最后一个。手机上:⋮ 菜单 → New tab,带标签页数量的按钮会打开所有标签页的列表。

作用:标签页的基本生命周期。每个面板都有自己的标签条:显示的始终是拥有焦点的那个面板的标签条。在桌面版上,非活动标签页的 ✕ 在鼠标悬停时才出现。

12. 最后一个标签页旁的“+”按钮

位置:在标签条中,紧跟在最后一个标签页之后。没有什么需要开启。

作用:打开标签页的按钮跟在最后一个标签页后面,而不是贴在窗口边缘:标签页有自己的宽度,不会拉长去填满整行。标签页很多、这一行需要滚动时,按钮会固定在这一行的边缘,而不会跑出屏幕:两种情况下,都不必横穿整个标签条去打开一个标签页。剩下的空白区域仍然可以用来拖动窗口。在手机上,标签条只显示图标,“+”和关闭当前标签页的按钮固定在这一行旁边。

13. 重新打开已关闭的标签页

位置:Ctrl/Cmd+Shift+T;菜单栏 → File → Reopen Closed Tab;⋮ → Reopen Closed Tab;在标签页上右键 → Reopen Closed Tab。手机上:⋮ 菜单 → Reopen closed tab、标签页菜单中的同一项,或者关闭后显示几秒钟的提示 Tab closed 中的 Undo。

作用:把最后关闭的标签页恢复到它的地址,连同它的后退/前进历史。每个窗口都记得最近二十五次关闭,重启后也一样;即使“记忆”功能关闭,这份记录也照常工作。

14. 复制标签页

位置:在标签页上右键 → Duplicate tab。手机上:长按标签页 → Duplicate tab。

作用:在原标签页旁边打开第二个指向同一地址的标签页,使用同一个身份。

15. 给标签页命名

位置:在标签页标题上双击;或者在标签页上右键 → Rename Tab…。手机上:长按标签页 → Rename tab。

作用:标签页的标题就是页面的标题,而页面随时可以改它:在同一个站点上开十个标签页,标签条就成了十遍同一个被截断的词。标签页也可以改用你给它取的名字。名字不会取代标题,而是与它并存:页面仍然报出自己的名字,清空这个输入框就会恢复真实的标题,而且这个标题已经更新为标签页在此期间所到的页面。导航不会清除名字:给标签页命名是为了在许多标签页中区分它,第一次点击就丢掉名字是没有意义的。名字在重启、项目和复制之后都会保留。固定的标签页不显示标题,所以要从菜单中重命名,名字可以在悬停提示中看到。

16. 固定标签页

位置:在标签页上右键 → Pin Tab / Unpin Tab;可以分配给一个快捷键(Pin or unpin tab)。手机上:长按标签页 → Pin tab。

作用:把标签页固定在标签条开头,以紧凑形式显示,没有 ✕,这样它就不会淹没在其他标签页中。固定的标签页不会被休眠,批量关闭也会跳过它。

17. 锁定标签页

位置:在标签页上右键 → Lock Tab / Unlock Tab。手机上:长按标签页 → Lock tab。也可以分配给一个快捷键(Lock or unlock tab,第 152 条),没有默认组合键。

作用:被锁定的标签页会拒绝通常的关闭方式:✕、中键点击、Ctrl/Cmd+W、菜单项、扩展、宏节点。名字旁边会出现一把锁,✕ 也不再显示,因为一个按下去却拒绝你的按钮,比根本没有这个按钮更糟。批量关闭(关闭其他、关闭右侧、烧掉一切)会跳过它;把它设为稍后带回也会被拒绝,并显示一条消息,而不是记下一个什么也关不掉的推迟。这个限制是明说的:关闭窗口或删除工作区,仍然会把它一起带走。这把锁防的是在标签页上点错,而不是把一个窗口扣作人质。

18. 将标签页静音与声音指示

位置:正在发声的标签页上的 ♪ 按钮(标签页被静音后变成 ×);在标签页上右键 → Mute Tab / Unmute Tab;可以分配给一个快捷键(Mute or unmute tab)。手机上:长按标签页 → Mute tab。

作用:标出哪个标签页正在发出声音,并让你在不停止播放的情况下让它安静下来。

19. 关闭其他标签页或右侧的标签页

位置:在标签页上右键 → Close Other Tabs / Close Tabs to the Right。手机上:长按标签页 → Close other tabs / Close tabs to the right。

作用:批量关闭,范围仅限于所点击的标签页所在的面板:不影响其他面板和其他工作区,并跳过固定的和锁定的标签页。

20. 标签页分组

位置:在标签页上右键 → Add to New Group、Move to Group(面板中已有分组时出现)、Remove from Group。手机上:长按标签页 → Add to new group、Collapse group / Expand group、Remove from group。

作用:把多个标签页归到标签条上的一个彩色标牌之下。新分组依次命名为 Group 1、Group 2 等,颜色总是同一种:目前名字和颜色都无法在界面中更改。点击这个标牌,分组就会折叠,只留下属于它的当前标签页可见。分组属于面板,会随会话恢复一起回来。

21. 多选标签页

位置:在标签条中,按住 Ctrl(macOS 上为 Cmd)的同时点击。仅限桌面版。

作用:把同一面板中的多个标签页放进一个选区,在标签条中高亮显示。目前,选区用于分组:在一个已选中的标签页的菜单中使用 Add to New Group、Move to Group 和 Remove from Group,会作用于所有选中的标签页。菜单中的其他项只作用于被点击的那一个标签页。

22. 在面板之间移动标签页

位置:在标签页上右键 → Move to Panel 1、Move to Panel 2…(其他每个面板各对应一项);或者直接拖动。手机上:长按标签页 → Move to other panel,或者用手指做同样的拖动。

作用:把标签页移到窗口中的另一个面板,而不改变它的身份:原来登录着的,仍然登录着。拖动标签页时,标签条中会出现一排目标:其他面板的编号、▸+ 用于在旁边的新面板中打开它、▾+ 用于下方的新面板,以及其他工作区的名称(第 23 条)。这些目标位于标签条中,是因为页面会盖住界面。同一个菜单还可以在这一排中移动标签页:Move Tab Left、Move Tab Right、Move Tab to Start、Move Tab to End。

23. 把标签页移到另一个工作区

位置:⋮ → Workspaces → Move This Tab To…(作用于前台的标签页);或者在拖动时出现的那排目标中,把标签页拖到另一个工作区的名称上(第 22 条)。

作用:把标签页带到另一个工作区。如果目标工作区使用不同的身份浏览,标签页会在那个身份下以同一地址重新打开。已在另一个窗口中打开的工作区不会出现在可选项中。

24. 链接预览

位置:在 设置 → Tabs & performance → Preview links on Shift+click 中开启;之后在链接上 Shift+点击,或者在链接上右键 → Preview Link。默认关闭。

作用:在窗口中央的一个浮动框中打开链接,而不是打开一个标签页。顶部有一条细栏显示站点,并提供两个按钮:Open as tab,把预览变成后面窗口中的一个真正的标签页;以及 Close preview。按 Esc 或在别处点击也会关闭它:一个在下一次点击之后还留着的预览就不是预览,而是一个需要收拾的窗口。这个浮动框以发起点击的那个标签页的身份浏览,所以已登录的站点看到的是登录后的样子;如果你在浮动框里跟着点进了别的页面,Open as tab 打开的是你正在看的页面,而不是最初那个。每个窗口一个预览:第二次点击会替换第一个。为什么默认关闭:通常 Shift+点击会打开一个标签页,悄悄改变一个已经学会的手势的作用,会是一个意外,而不是一项功能。

平台:仅限桌面版。

25. 横向或竖向标签条

位置:设置 → Tabs & performance → Tab strip。仅限桌面版。

作用:把标签条竖着移到左侧,这样即使标签页很多,标题也依然可读。

26. 会休眠的标签页

位置:设置 → Tabs & performance → Suspend inactive tabs、Suspend after (minutes) 和 Never suspend。

作用:暂停闲置的标签页,以释放资源。默认开启,等待时间为 30 分钟(可设为 5 到 1440)。它从不碰固定的标签页、正在发声的标签页,以及填写了表单、正在播放媒体、正在进行视频通话或有下载在进行的标签页。Never suspend 列表可以排除整个站点,每行一个名称。在标签条中,休眠的标签页图标会变淡,并带一个小月亮,悬停提示显示 Asleep to save memory — opens instantly。在桌面版上,当机器内存不足时,会跳过等待时间:其他所有条件仍然有效。

27. 交还内存(卸载的标签页)

位置:设置 → Tabs & performance → Give the memory back after (minutes)。

作用:再休眠一段额外的时间之后(默认 60 分钟,从标签页入睡时算起),标签页会完全交还自己的进程,只留下地址、标题、图标和浏览历史。再次打开时,页面会重新加载:标签页的悬停提示会用 Asleep to save memory — loads again when opened 说明这一点。值为 0 时,标签页会一直保持休眠。

28. 使用电池时的行为

位置:自动进行,没有命令。桌面版;在 Android 和 iOS 上,与之对应的是对系统内存警告的响应。

作用:当笔记本电脑使用电池时,标签页休眠前和交还内存前的等待时间会缩短(分别缩短到三分之一和一半,但绝不少于一分钟)。如果用户关闭了这项功能,它不会重新开启;交还内存的值为 0 时,仍然保持为 0。

C. 地址栏、导航与搜索

29. 地址栏与导航

位置:顶部栏中间的输入框;Ctrl/Cmd+L 把焦点移到这里。后退、前进、重新加载和停止按钮在它的左侧。

作用:打开地址、发起搜索,并显示你所在的位置。重新加载和停止是同一个按钮,根据页面是否正在加载而变化。在手机上,重新加载/停止按钮位于输入框内的右侧,空闲时输入框只显示站点名称。

30. 地址栏建议,在本地计算

位置:输入时出现在地址栏下方的列表。

作用:给出已打开的标签页、收藏、阅读列表中的条目、其他设备上的标签页以及历史记录。排序完全在这台机器上进行:输入的任何字母都不会被发送给建议服务。

31. 选择搜索引擎

位置:在地址栏中进行第一次搜索时,这个问题会自动出现在结果上方。之后:设置 → Search → Default search engine。

作用:在你另行指定之前,Ciotto 使用 DuckDuckGo 搜索。第一次搜索时,一条横栏会显示 Searching with DuckDuckGo. Use another one?,并提供 DuckDuckGo、Google、Bing、Brave Search、Ecosia 和 Startpage,外加 Keep DuckDuckGo;已经发起的搜索照常进行,不等你回答。无论回答是什么,这个问题每台设备只问一次。

平台:桌面版、Android 和 iOS。

32. 带关键字的自定义搜索引擎

位置:设置 → Search,包含名称、关键字和地址模板的添加框。

作用:让你定义自己的搜索引擎:地址模板中用 %s 代替要搜索的词,再通过一个以 @ 开头的关键字调用。

33. 在页面中查找

位置:Ctrl/Cmd+F;⋮ → Find in Page…;菜单栏 → View → Find in Page…。下一处和上一处也可以用 Ctrl/Cmd+G、F3 和 Ctrl/Cmd+Shift+G。手机上:⋮ 菜单 → Page → Find in page。

作用:在打开的页面中查找文字,高亮所有匹配之处,并显示当前是总数中的第几处。

34. 页面缩放

位置:Ctrl/Cmd+ 和 Ctrl/Cmd- 放大和缩小,Ctrl/Cmd+0 恢复默认缩放;⋮ → Zoom (100%),一个显示当前百分比的子菜单,含 Zoom In、Zoom Out 和 Actual Size;菜单栏 → View。记住的站点列表在 设置 → Appearance & accessibility → Per-site zoom。手机上:⋮ 菜单 → Page → Zoom in / Zoom out / Reset zoom。

作用:放大或缩小页面,并按站点记住缩放级别:同一个站点无论在哪个标签页中重新打开,都从这个级别开始。当级别与默认值不同时,工具栏中会显示百分比,点击它即可恢复默认。在设置的列表中,每个站点都有自己的 ✕,用来忘掉它。在手机上,缩放项不会关闭菜单,并在每一步显示百分比。

35. 站点信息

位置:地址栏中地址左侧的锁形图标(页面使用 http:// 时,锁是打开的,并带有颜色)。

作用:打开一个浮窗,显示连接是否加密、由哪个证书保护、该站点上启用了哪些防护、已经授予它哪些权限(Ask、Allow 或 Block,按工作区保存),以及该站点在这个身份中存有多少 Cookie。权限可以在这里更改。在 Android 和 iOS 上,浮窗只显示连接和权限,没有证书和防护列表:摄像头、麦克风和位置权限可以更改,其他权限显示为已阻止。

D. 分屏视图与面板

36. 拆分窗口

位置:Ctrl/Cmd+Shift+D 向右拆分,Ctrl/Cmd+Shift+E 向下拆分;菜单栏 → Layout → Split Right / Split Down;⋮ → Layout → Split Right / Split Down。手机上:⋮ 菜单 → Workspaces and layout → Split screen。

作用:把多个页面放进同一个窗口。拆分时会打开原页面的一个副本,所以要比较同一份文档的两个地方,只需一个快捷键。在手机上最多有两个面板,切分方式跟随屏幕方向:竖屏时上下叠放,横屏时左右并排。

37. 可拖动的边界

位置:分隔两个面板的缝隙,直接用鼠标操作。

作用:每两个面板之间都隔着一条可以抓住的缝隙:拖动它时,页面会随着拖动调整大小。

38. 布局绘制模式

位置:Ctrl/Cmd+Shift+L;⋮ → Layout → Draw Layout…;菜单栏 → Layout → Draw Layout…。这个命令可以固定到工具栏(⋮ → Customise Toolbar → Draw layout,第 154 条):默认不在工具栏中。

作用:把每个页面冻结成一张照片,并隐藏实时视图,这样就可以在上面绘制。一笔竖线把面板分成左右两半,一笔横线把它分成上下两半。每条边界上都会出现一个 ✕,用来把两个面板合回一个。

平台:仅限桌面版。

39. 预设布局

位置:菜单栏 → Layout,或者 ⋮ → Layout:Single Pane、Two Columns、Two Rows、Grid 2×2。

作用:一步应用一种现成的布局,并保留每个标签页打开时所用的身份。这四种布局可以分配给快捷键(Single pane、Two columns、Two rows、Grid 2×2),没有默认组合键。

平台:桌面版。手机最多只有两个面板,不显示这些命令。

40. 关闭面板

位置:Ctrl/Cmd+Alt+W;菜单栏 → Layout → Close Pane;⋮ → Layout → Close Panel。手机上:⋮ 菜单 → Workspaces and layout → Close panel。

作用:关闭拥有焦点的面板。它的标签页不会被丢掉:它们会转到相邻的面板。

41. 带编号的面板标记

位置:当面板不止一个时,位于标签条左侧。

作用:带编号的小圆牌,用来在面板之间移动焦点;当某个面板使用不同的身份时,圆牌会填充为该身份的颜色。

E. 身份与工作区

42. 身份(浏览身份)

位置:⋮ → Profiles,一个子菜单,含 This panel browses as(身份列表)、Split Right As… 和 Manage Profiles…;⋮ → Layout → This Panel Is… 中也是同一个子菜单;工具栏中的彩色小圆牌(一旦存在第二个身份就会出现);名称可以在 设置 → Profiles & workspaces 中修改。手机上:⋮ 菜单 → Privacy and identity → Profiles。

作用:一个身份就是一组独立的 Cookie、存储和登录信息。把某个身份分配给一个面板,同一个站点就可以并排打开两次,以两个不同的人登录;Split Right As… 会直接以另一个身份打开一个新面板。每个身份一创建就带有名字和颜色,而这个颜色让你不用读字就能认出它:面板的边框和每个标签页上的小圆点都带着这个颜色。在身份面板(Manage Profiles…)中,用 New profile 创建身份,用 Use here 把它分配给当前面板,决定扩展是否在其中运行(Run extensions in this profile,第 141 条),用 Remove 删除它。

平台:桌面版。手机上也有身份,但身份是按工作区选择的,而不是按面板。

43. 清除某个身份的数据

位置:⋮ → Profiles → Manage Profiles…,在该身份所在的行 → Sign out of everything。同样的清理,带有更多选项,可以在“清除浏览数据”(第 58 条)中用范围 Current profile 完成。

作用:清空这个身份的 Cookie 和存储而不删除它,于是身份还在,但它登录过的一切都被忘掉。立即生效,不要求确认:按钮会变成 Signed out。

44. 工作区(工作环境)

位置:⋮ → Workspaces,一个子菜单,含 This window is showing(工作区列表)、Move This Tab To… 和 Manage Workspaces…;标签条左侧的彩色小圆牌(从第二个工作区开始出现)会打开同一个列表;名称可以在 设置 → Profiles & workspaces 中修改。手机上:⋮ 菜单 → Workspaces and layout → Workspaces。

作用:身份把账号分开,而工作区把其他一切分开:它自己的标签页、面板布局、它自己的历史记录、它自己的记忆、它自己的下载、它自己对站点请求的回答。一个工作区指向一个身份,所以需要时两个工作区可以共用一个账号。在面板(Manage Workspaces…)中,用 New workspace 创建工作区,用 Remove 删除它:删除会关闭它的标签页并清除它的历史记录,在此之前会要求你输入 remove。

45. 更改工作区的身份

位置:⋮ → Workspaces → Manage Workspaces…,在该工作区所在的行 → Browses as。

作用:更改这个工作区浏览时使用的身份。它的标签页会在新身份下以同样的地址重新打开:原身份的 Cookie 不会被转移过来,因为切换账号要避免的正是这种转移。每一行还会注明扩展是否在这个工作区中运行(runs the extensions 或 no extensions here)。

46. 项目(保存的窗口)

位置:⋮ → Projects…;可以固定到工具栏。手机上:⋮ 菜单 → Workspaces and layout → Projects。

作用:给一个窗口的布局起个名字——有哪些页面、分在哪些面板中、每个面板用哪个身份——需要时在一个单独的窗口中重新打开它,不打扰你正在做的事。面板中提供 Save this window,每个项目还有 Open、Update、Rename 和 Delete。

47. 隐私上下文

位置:Ctrl/Cmd+Shift+N;菜单栏 → File → New private window。手机上:⋮ 菜单 → New private tab。启用时,工具栏中会出现 Private 标记。

作用:一个共享的临时上下文,不同于“以陌生人身份”打开的标签页。其中发生的一切都不进入历史记录、记忆、会话恢复、项目、同步和标签页传递。此外,下载不会留在列表中,隐私标签页不能设为稍后带回,Lightning 身份也不会提供给站点(无论是用于登录,还是用于 WebLN 和 Nostr)。保存、打印或截取页面之前会先要求确认,因为那个文件会留在隐私上下文之外。

平台:桌面版、Android 和 iOS。在 Android 上,需要系统 WebView 支持相互独立的配置文件;否则隐私上下文不可用。

48. 异常关闭后的会话恢复

位置:非正常关闭后首次启动时出现在窗口顶部的横栏,前提是启动方式设为 Continue where you left off(第 2 条)。

作用:会话在浏览过程中随时保存,所以异常关闭之后,窗口会自动回来;横栏会说明回来了多少个标签页(Ciotto closed unexpectedly last time — 5 tabs have been restored.),点 OK 关闭。这条消息只显示一次,出现在第一个请求它的窗口中。使用其他启动方式时,不会恢复任何内容。

平台:仅限桌面版。

49. 任务管理器

位置:设置 → Tabs & performance,该部分底部的 Task manager 框。

作用:在桌面版上列出浏览器的进程,以及它们实际占用的内存和 CPU。在 Android 和 iOS 上只显示标签页的生命状态,因为 WebView 不提供按页面的测量数据。

F. 历史记录与记忆

50. 历史记录:时间线

位置:Ctrl+H(macOS 上为 Cmd+Y);菜单栏 → History → Show Full History;⋮ → History → Show Full History。手机上:⋮ 菜单 → Page → History。

作用:列出访问过的页面,最新的在前,先按天、再按浏览会话分组(Timeline 视图)。可以搜索,也可以删除任意一条。历史记录保存在一个本地的 SQLite 数据库中。视图顶部还有 Map(第 51 条)、Pause recording(第 53 条)和 Clear all。

51. 浏览地图

位置:历史记录视图中的 Map 选项卡;会话上的 Expand;会话上的 Open map 和时间线条目上的 Show path。方向用 Sideways 和 Downward 选择。

作用:每次导航都会连同它的来源页面一起记录,所以一次会话就是一棵树:起始页面、从它打开的一切,依此类推。点开一个链接会产生一个子节点;输入地址或发起搜索会开始一棵新树。后退之后走另一条路,被放弃的分支仍然留在原处。

52. 从当前页面查看“我是怎么到这里的”

位置:⋮ → History → Show This Page on the Map;可以固定到工具栏(⋮ → Customise Toolbar → Map of this page),也可以分配给一个快捷键。手机上:⋮ 菜单 → Page → Map of this page。菜单栏的 History 菜单中没有这一项。

作用:打开地图,并且已经以你正在看的页面为中心,不必再到时间线里去找它。

53. 暂停记录历史

位置:菜单栏 → History → Pause History;⋮ → History → Pause History;历史记录视图中的 Pause recording / Resume recording 按钮;可以分配给一个快捷键。

作用:停止记录,但不隐藏已经记录的内容。暂停期间,记忆功能也不会捕捉页面文字,即使使用 Remember This Page Now 也不会。暂停状态会被保存,重启后依然有效;历史记录视图中会有一行提示记录已暂停。

54. 有针对性地删除历史记录

位置:历史记录视图:Timeline 中条目上的 ✕(Remove … from history)和 Clear all 按钮。要删除一个时间段,使用“清除浏览数据”(第 58 条)。

作用:没有任何内容会被自动删除。删除总是手动的:一次一条访问记录、一个时间段(过去一小时、过去 24 小时、过去 7 天、过去 4 周),或者整个工作区的历史记录(Clear all 立即生效,不要求确认)。当某个页面不再有任何访问记录时,保存的文字和它在搜索索引中的条目也会一起删除。删除之后,索引会被压缩,释放的空间会被归还,所以这些字节是真的没了。

55. 记忆:开启与同意页面

位置:Ctrl/Cmd+Shift+H;菜单栏 → History → Search What You Read…;⋮ → History → Search What You Read…;开关 Remember what you read (Memory) 也在 设置 → AI & automations 中。手机上:⋮ 菜单 → Page → Search what you read。

作用:记忆就是反过来查询的历史记录:问的不是“我去过哪里”,而是“两周前读过的那个讲 API 价格的页面”。在你开启之前它是关闭的;关闭期间,这个视图就是同意页面,用日常语言说明保存什么、不保存什么、什么会离开这台机器,以及如何撤销一切,并提供 Turn on Browser Memory 和 Not now。

56. 记忆:捕捉什么,绝不捕捉什么

位置:自动运行;规则在同意页面中说明。⋮ → History → Remember This Page Now 可以按需捕捉当前页面(手机上:⋮ 菜单 → Page → Remember this page now)。结果卡片上有 Forget this page 和 Never remember this site。

作用:页面在稳定下来四秒之后才会被读取,而且前提是标签页还在:这样重定向、插页和一打开就立刻离开的页面都不会进来。以下内容绝不会被保存:任何带密码输入框的页面(银行、网页邮箱、管理后台、医疗门户)、任何登录或支付地址、任何少于 200 个字符的页面、来自隐私窗口或“陌生人”标签页的任何内容,以及历史记录暂停期间的任何内容,即使是按需捕捉也不例外。已经登录的站点不会显示密码输入框:Never remember this site 正是为此而设。

57. 记忆:带可编辑计划的搜索

位置:记忆视图中的搜索框;计划的小圆牌显示在下方。

作用:搜索完全在这台机器上运行,只查看在当前工作区中读过的页面。你输入的内容会被解读成一个计划——重要的词、价格上限、时间段、页面类型——计划以小圆牌的形式显示,可以逐个去掉。“300 欧元以下的黑色鞋子”会变成 鞋 · 黑色 · 300 € 以下,而且价格是真正的筛选条件,不是相似度。在结果卡片上,Open in a background tab 会在后台重新打开该页面。

58. 清除浏览数据

位置:设置 → Privacy & security → Clear browsing data,在防护目录上方;Ctrl/Cmd+Shift+Delete 会打开这个页面。Android 和 iOS 上也有。

作用:分三步进行。第一步,范围:Current workspace(历史记录、下载列表、对站点权限的决定)或 Current profile(Cookie 和会话、站点存储、缓存文件、保存的密码)。第二步,时间段:过去一小时、过去 24 小时、过去 7 天、过去 4 周或全部时间;只有历史记录和下载列表可以限定时间段,其他类别会整体清除。第三步,类别,每个类别都显示将被删除的条目数。没有任何项目被预先勾选。它绝不会删除已经下载的文件,只删除它们在列表中的条目。

G. 工作工具

59. 定时搜索

位置:⋮ → History → Scheduled Research…;可以固定到工具栏。只要存在至少一个已保存的搜索,工具栏中的按钮无论如何都会出现。手机上:⋮ 菜单 → Page → Scheduled research。

作用:一个你一直在问的问题——一个竞争对手、一个价格、一篇你在等的文章——由 Ciotto 按间隔重新执行:每小时、每六小时、每天或每周。每个搜索指定一个或多个搜索引擎,结果会合并:两个引擎都找到的页面只算一个节点。只提供那些不需要真人在场操作就能读取的搜索引擎。

60. 窗口关闭后仍继续的定时搜索

位置:Scheduled Research 面板,选项 Keep searching after the window is closed。仅限桌面版。

作用:默认情况下,Ciotto 关闭时搜索就会停止。开启这个选项后,应用会留在系统通知区域中,并按计划执行;通知区域中的图标既表示它仍在运行,也是关闭它的途径。在你要求之前,这个选项是关闭的。

61. 打开一组地址

位置:⋮ → Tools → Open a List of URLs…;可以固定到工具栏。手机上:⋮ 菜单 → Tools → Open a list of URLs。

作用:一次接收二十个地址,而不是往地址栏跑二十趟。它们以后台标签页的形式,每隔一段时间打开一个(从一秒到一分钟,可以自选,并会记住供下次使用)。一批最多一百个地址:更长的列表会被截断,并会说明这一点。这批地址打开的过程中,工具栏上的按钮可以让它停下来(Hold、Resume、Stop)。

62. 从页面或选中内容中收集地址

位置:同一个面板中的 Links on this page 和 In your selection 按钮。页面的右键菜单中也有:Open the Links in This Selection…(选中文本时)和 Open Every Link on This Page…。

作用:收集面板后面那个页面上的链接,或者你选中内容里的链接。在选中内容中,它也能识别以纯文本写出的地址,因为世界上最常见的 URL 列表,就是一条聊天消息或一段没有链接的代码。这两个按钮的结果会相互替换,而不是叠加;手动输入的内容会保留。

63. 向所有打开的标签页提问

位置:Ctrl/Cmd+Shift+A;页面右键菜单 → Ask Every Open Tab…,选中文本时还有 Ask Your Tabs About This…;⋮ → Tools → Ask Your Tabs…;菜单栏 → View → Ask Your Tabs…;可以固定到工具栏。手机上:⋮ 菜单 → Tools → Ask your tabs。

作用:把一个问题同时问向窗口中的所有标签页。面板会列出全部标签页,每个都带一个复选框,并注明包含它需要多少开销。没有可读内容的页面会以灰色列出,而不是被略去。回答会作为普通的一轮对话出现在 AI 侧边栏中,并按照面板中的编号以 [pagina 3] 的形式引用页面。

64. 发送前的大小量表

位置:Ask your tabs 面板中发送按钮的上方。

作用:在发出任何内容之前,它会对照所选模型能容纳的量估算大小,放不下时拒绝开始,并按由便宜到贵的顺序给出办法:去掉图像、取消勾选最重的页面、每页发送更少的文字,或者换一个容量更大的模型。这些数字都标明是估算值。

65. 稍后带回此标签页

位置:Ctrl/Cmd+Shift+S;在标签页上右键 → Bring This Tab Back Later…;菜单栏 → File → Bring This Tab Back Later…;等待列表在 ⋮ → Tools → Tabs Coming Back… 中。有内容在等待时,工具栏上会出现按钮。手机上:⋮ 菜单 → Tools → Tabs coming back。

作用:与收藏正好相反。标签页现在就关闭,等它所等的事情发生时再回来:一个时刻(In three hours、This evening、Tomorrow morning、This weekend、Next week,或者自选的时间)、一条规则(每周一九点、每月一号),或者下次访问某个站点时。它会作为后台标签页回来,按钮上带一个圆点,并有一条可以停用的通知。锁定的、隐私的或“陌生人”标签页,以及 Ciotto 的内部页面,都不能推迟:拒绝时会说明原因。

66. 窗口关闭时搁置的标签页

位置:Tabs Coming Back 面板:Keep waiting after the window is closed,以及没有窗口时如何处理的选项。

作用:让 Ciotto 留在通知区域中,这样即使没有打开的窗口,标签页也能回来。它不会把自己加入系统的启动程序:机器重启会中断等待。到时间而没有窗口时,可以选择留着等下一个窗口、专门为它打开一个窗口,或者只收到一个提醒。

67. 收藏与阅读列表

位置:地址栏中的星标(点一下把页面保存到工作区的收藏中;再点一下会打开 Folder、Manage favorites… 和 Remove);Ctrl/Cmd+D(Bookmark this page);⋮ → Favorites and reading list,含 Open saved items、Save as favorite 和 Add to reading list(每项都可选 Current workspace 或 Personal);工具栏中的书签按钮和 Ctrl/Cmd+Shift+O 会打开 Saved items 页面。手机上:⋮ 菜单 → Page → Favorites and reading list,以及用于保存当前页面的 Page → Save page…。

作用:一个统一的库,有序、可搜索、可以按文件夹整理,存放两类条目:收藏和阅读列表。每个条目都有一个范围:个人(跟着用户到任何地方)或者工作区(留在那个工作区中),行上的 Personal / Workspace 按钮可以切换它。文件夹通过名称中的 / 嵌套(工作/客户)。条目可以拖动或用箭头重新排序;阅读列表中的条目可以用 Read 标记为已读。

68. 保存项的离线副本

位置:Saved items 视图 → Reading list,行上的 Offline 命令;副本在一个阅读器中打开,带有 Delete copy 和 Close。

作用:为阅读列表中的一个页面保留一份可读的副本,像阅读模式那样清理过(没有脚本、表单或远程图片),加密并绑定到身份,这样即使站点消失,这个条目也依然可读。要创建副本,页面必须在一个标签页中打开;在“陌生人”标签页中不能创建。离线副本绝不会同步到其他设备。

69. 阅读模式(Reader)

位置:⋮ → Page → Reader mode(启用后变成 Exit Reader mode);可以分配给一个快捷键。手机上:⋮ 菜单 → Page → Reader mode,它也是默认的快捷操作之一。

作用:去掉文章周围的元素,以易读的形式显示它。它会移除可执行内容和表单,保留阅读位置,并且不会主动向记忆中捕捉任何内容。

70. 媒体控制与画中画

位置:工具栏中的 ♪ 按钮,仅在某个标签页发声或被静音时出现;⋮ → Tools → Media controls;在标签页上右键 → Picture in Picture。手机上:长按标签页 → Picture in Picture 和 Mute tab。

作用:把所有标签页中正在播放的内容集中到一个面板(Media)中,提供 Play 和 Pause、前后各跳十秒、Mute 和 PiP;在平台支持时,PiP 会把视频弹出到一个始终置顶的小窗口中。在桌面版上,当 Ciotto 在前台并且有内容在播放时,键盘上的播放/暂停和停止媒体键也有效。Ciotto 不读取媒体内容:它只使用页面提供的控制。在手机上没有这个面板:播放和跳转由系统控件负责。

71. 绑定页面的笔记

位置:工具栏中始终存在的 Notes for this page 按钮;或者 ⋮ → Notes → Notes for This Page / All Notes;可以固定到工具栏,也可以分配给一个快捷键(默认没有)。手机上:⋮ 菜单 → Page → Notes for this page / All notes。

作用:打开页面旁边的一张笔记,可以选择放在右侧或下方(Dock notes to the side 和 Dock notes below 按钮在面板的标题栏中,选择会被记住)。这张笔记会让页面变窄,而不是盖住它:你在上面写字时,页面仍然是活的、可以浏览;其他面板则不同,它们会把页面冻结成照片,以便盖在页面上方。输入时会自动保存。

笔记绑定的是地址,而不是标签页:回到那个页面时它就会回来,即使是一周后在另一个窗口中。地址在保存前会被清理——去掉 #ancora、去掉凭据、去掉 utm_source 之类的追踪代码——这样从邮件通讯和从书签进入的同一个页面共用同一张笔记,而 ?id=99 和 ?id=100 仍然是两个确实不同的页面。

在面板底部的 Also noted on this site 下面,列出了同一站点上你记过笔记的其他页面:在 pippo.com/prodotti 上,可以看到你也在 /servizi 和 /contatti 上记过笔记,点一下就能过去。All Notes 会打开一个汇集所有笔记的页面,按站点分组,并带有一个在笔记文字中查找的搜索。在手机上,笔记总是停靠在下方:窄小的屏幕没有多余的宽度分给侧边面板,否则就会挤掉页面。

同步:笔记在同步类别中有自己的一类,Page notes(第 127 条),和历史记录一样默认关闭。原因是:一条笔记是你自己的东西,但你在哪些页面上写过笔记,这份清单就是一份没有人同意公开的阅读记录。值得把它带到自己的各台设备上,但绝不能在没人要求的情况下这样做。

H. 宏与自动化

72. Macro Studio

位置:⋮ → Macros → Manage Macros…;设置 → AI & automations → Open Macro Studio…;可以分配给一个快捷键。它作为 Ciotto 的内部标签页打开。手机上:⋮ 菜单 → Tools → Macros。

作用:把在浏览器上做的工作变成一张本地的流程图,可以检查、添加分支、再次运行。左边是宏列表(筛选项 All 和 Scheduled here),包含 AI 步骤的宏带有 AI 标记,有错误的宏带有 needs fixing 标记,还会显示上次运行的结果。中间是流程图,有 Add a step(一个带搜索和分类的菜单:Page、Browser、Control、AI、Data、Finish)、撤销和重做、?(鼠标悬停时解释每个节点)以及 Guide。右边是所选节点的属性,或者宏的设置,折叠成若干部分。修改会自动保存(Saving… / Saved)。一个宏是否使用模型、是否可以运行,都不需要你来选:由它包含的步骤决定。宏保存在应用的本地数据文件夹中;这种格式里不存在任意的 JavaScript,也不存在没有上限的循环。

平台:桌面版、Android 和 iOS 上都可以创建和编辑;录制(第 73 条)仅限桌面版,在手机上只能运行部分类型的步骤(第 74 条)。

73. 录制宏

位置:⋮ → Macros → New Recording,然后是 Pause Recording / Resume Recording / Stop and Save Recording;在 Macro Studio 中是 ● Record 按钮,旁边可以在 Compact record 和 Faithful record 之间选择。录制期间,工具栏中的一个框会显示名称、录制方式(Compact / Faithful,可以点击切换)、Pause / Resume 和 Stop。

作用:录下你所做的操作。精简模式保留有意义的点击,并把对输入框的修改合并在一起;忠实模式还会保留按键组合和重要的滚动。录制过程中可以切换模式。整个应用中同一时刻只能有一个录制或运行在进行。敏感字段(密码、一次性验证码、卡号、安全码、IBAN)不会以明文录下:它们会变成具名的输入(第 76 条),在其中按下的键也不会进入宏。隐私窗口和“陌生人”标签页中的任何内容都不会被录制。打开的地址按浏览器解析后的形式保存,包括在所选搜索引擎上的搜索。

平台:仅限桌面版。

74. 运行宏:预检与状态栏

位置:Macro Studio 中的 Run 按钮,带有箭头 ▾(Run options…);⋮ → Macros 中的宏名称;固定在工具栏上的宏;分配给该宏的快捷键(第 152 条)。运行期间,状态会显示在工具栏中,以及页面上方的一条状态条中。

作用:什么都不缺时,Run 会立即开始;如果缺少某个值,或者使用 Run options…,就会打开预检,说明宏将在哪里运行(Current browser 或 Dedicated window)、采用什么安全级别(Confirm each action、Confirm risky actions、Pre-authorized actions)、使用哪个会话和身份、哪组凭据和哪个模型,以及需要提供哪些值。菜单、固定的按钮和快捷键也是如此:预检没有问题,宏就开始运行,否则会打开 Macro Studio 并定位到问题所在。运行期间可以暂停、继续或停止;需要确认的步骤会显示一条横栏,带有 Allow once 和 Stop 以及风险类型。结束时,状态条会说明运行结果、哪一步失败了,如果宏写入了数据表,还会说明写了多少个单元格、写在哪里,并提供 Open the sheet。不含 AI 步骤的宏运行时,不会与任何 AI 供应商建立网络连接。

平台:桌面版。在 Android 和 iOS 上,只能运行由手机能执行的步骤组成的宏(打开地址、从页面读取、写入数据表、打开、选择和关闭标签页、变量、条件、仅基于文字的 AI 提取和 AI 判断);对于其他宏,预检会说明缺少哪些步骤,而不是跳过它们。

75. 从页面读取与 AI 节点

位置:Macro Studio → Add a step:Page 分类中的 Read from page,AI 分类中的 AI extract、AI decision 和 AI mini-agent。

作用:Read from page 不用任何模型就能读取页面上的一个元素,并把它的文字、某个输入框的值、链接地址或某个属性保存到一个变量中:在打开的页面上指出元素即可选中它,宏保存的是一个稳定的引用,而不是坐标。如果读取可能失败,Use AI if reading fails 会在错误分支上添加一个 AI 提取,写入同一个变量。有三种节点会用到模型:AI extract(取出一个值)、AI decision(在声明好的几种结果中做选择)和 AI mini-agent(在划定的范围内对页面采取行动)。每个节点都有自己的上下文(文字、截图或两者)、自己的供应商和模型;迷你代理还有允许使用的工具列表、允许访问的域名列表、回合数和动作数的上限,以及最长运行时间。保存的机密值只能填进登录字段:如果迷你代理试图把它写到别处,宏就会停止。

76. 宏的敏感值与凭据集

位置:Macro Studio 中填写节点的属性;宏设置中的 Required data 部分;预检中的 Credential set 选择和 Save encrypted set。

作用:录下的敏感字段不会保存输入的值:它会变成一个具名的输入,在运行时询问,或者预先在 Required data 中设置(机密值在这台设备上保持加密)。可选的凭据集通过操作系统的钥匙串加密;在无法加密的地方,只接受仅对单次运行有效的值。在 Linux 上,没有真正保护的钥匙串(basic_text)不算加密。运行期间的确认会说明即将使用哪个字段和哪个变量。

77. 自动运行的宏

位置:Macro Studio,宏设置 → Run on a schedule;列表中的 Scheduled here 筛选项会显示在这台设备上启用的宏。

作用:在没有人启动的情况下运行一个保存的宏:Every so often(最短每 5 分钟一次)或者 At a time of day,在选定的日子里。这条规则会随宏一起到达其他设备,运行却不会:每台需要运行它的设备都要单独用 Save and activate 启用,这样两台配对的机器就不会把同一件事做两遍;Pause schedule 会让它停下。启用之前,Ciotto 会检查这个宏是否真的能在无人值守时运行:没有需要确认的步骤、不打开新窗口、没有分配给某个身份的面板、每个有风险的步骤都已预先授权;如果有问题,原因列表会显示在按钮旁边。在桌面版上,运行在一个看不见的窗口中进行;开启 Keep running with no window open 后,关闭最后一个窗口时 Ciotto 会留在通知区域中。Tell me 选择何时通知:Never、When one fails 或每次运行(Every run)。设置为使用你自己身份的宏,只有勾选 Allow it to run as the real you 才会带着你的登录状态运行;否则它会在一个用完即弃的会话中运行。Run it now 可以立即试运行。电脑关机期间错过的运行,会合并为一次。

平台:桌面版。在 Android 和 iOS 上,定时的宏不能在后台运行:它会在 Ciotto 打开时运行,即启动时、回到前台时或定期检查时,并且运行过程是可见的。

78. 数据表

位置:⋮ → Macros → Data sheets;Macro Studio 中的 Write to sheet 步骤(Data 分类);⋮ → Macros → Open macro results folder。手机上:⋮ 菜单 → Tools → Data sheets。

作用:一个让宏把读到的内容逐个单元格写下来的地方。Write to sheet 步骤选择数据表(或者用 New sheet… 新建一张)和单元格:One fixed cell、某一列的 Next free row,或者 One row per day,后者会把日期写在值的旁边,并修改当天的那一行,而不是再添一行。机密值永远不会被写入。Data sheets 页面显示所有数据表;每个单元格都记得是哪个宏、在什么时候写入的,并且可以手动修改而不碰宏。数据表可以重命名、清空(Empty it)、删除,以及导出为 CSV(Export as CSV),看起来像公式的文字会被当作文字处理。在桌面版上,Also keep it as a file… 还会把数据表另存一份文件副本,每次运行和每次修改后都会更新;Open macro results folder 会打开结果文件夹。数据表的同步类别默认关闭。

平台:桌面版、Android 和 iOS。在手机上没有文件副本和结果文件夹:CSV 导出会交给你一个可下载的文件,Data sheets 页面则代替了文件夹。只有在 Android 和 iOS 上,数据表才列在同步类别之中(第 127 条)。

I. AI 助手

79. AI 侧边栏

位置:Ctrl/Cmd+J;菜单栏 → View → Toggle AI Sidebar;⋮ → Tools → AI chat。手机上:⋮ 菜单 → Tools → AI chat。

作用:页面旁边的一场对话(AI assistant)。底部的一个开关决定你正在看的页面是否随问题一起发送(Page context on),还是不发送(Page context off — the page you're on is not sent)。回答在生成过程中一段一段地出现,可以用 Stop 中断,Clear 会重新开始对话。按 Enter 发送,按 Shift+Enter 换行。密钥留在主进程中:界面永远看不到它们。

80. AI 供应商与模型

位置:工具栏中的闪光按钮 → AI provider 面板;⋮ → Tools → AI provider;当前使用的供应商也可以在 设置 → AI & automations → AI provider 中选择。手机上:⋮ 菜单 → Tools → AI provider。

作用:面板中有一个 Provider 菜单,列出所有供应商,无论是否已配置:Anthropic(Claude)、OpenAI、Google Gemini、xAI(Grok)、DeepSeek、Mistral、Groq、OpenRouter 和 Ollama(本地,在你自己的机器上)。对所选的供应商,面板显示状态、密钥、Model 菜单和 Use this one;底部说明助手当前在用哪个模型,并提供 Open the assistant。

81. API 密钥:输入、验证与移除

位置:AI provider 面板,在 Provider 菜单中选定供应商之后。

作用:把密钥粘贴到 API key 输入框中,按 Connect 后,它会在保存之前先向供应商验证,所以错误的密钥会立即被发现,而不是等到第一次提问时。OpenRouter 有引导式登录(Sign in with OpenRouter,仅限桌面版);对于 Ollama,Look for it on this machine 会查找本地服务,How do I install it? 会说明如何安装。Where do I get a key? 会带你到供应商的控制台,Remove 会移除密钥。密钥留在主进程中;如果机器不提供钥匙串,面板会说明密钥是以明文保存的。

82. 页面翻译

位置:⋮ → Tools → Translate page 和 Show original page;提出翻译的横幅只有在开启 ⋮ → Tools → Offer to translate pages 之后才会出现,该选项默认关闭。手机上:⋮ 菜单 → Tools,有同样的三项。

作用:识别页面的语言并就地翻译:文字在原来的位置被替换,从你正在看的部分开始。翻译通过已经配置好的 AI 供应商进行——首选你自己机器上的 Ollama,它不花钱,也不会让任何东西离开设备。使用联网的供应商时,Ciotto 会先征求同意,因为在这种情况下页面文字确实会离开设备,而且每次翻译都会征求。可识别的语言有十五种:界面的所有语言,除了克林贡语。开启这项提议后,其他语言的页面会显示横幅 This page is in … — translate it?,带有 Translate、Never for this site 和 Dismiss。没有任何供应商时,语言照样会被识别,横幅会提供 Show me how,即一份安装 Ollama 的指南,而不是一声不响;这个提议每个会话出现一次。标记过的站点保存在这台设备上,可以在 设置 → Appearance & accessibility → Per-site translation 中查看。

平台:桌面版、Android 和 iOS。

J. 语音

83. 语音命令

位置:Ctrl/Cmd+Shift+Space(按一次开始听,再按一次停止);工具栏中的麦克风按钮;⋮ → Tools → Speak a command;菜单栏 → View → Speak a command。设置 → AI & automations → Voice。手机上:⋮ 菜单 → Tools → Speak a command。

作用:把一句说出来的话变成给浏览器的指令:打开一个站点或搜索某样东西、说出标题切换到某个标签页、快捷键列表中的任何一个动作(“关闭标签页”“重新加载”)、向助手提的问题(完整的回答会出现在侧边栏中)、要写进页面输入框的一段文字。录音会发给已配置的、能做转写的 AI 供应商——OpenAI、Groq 或 Google——使用你自己的密钥;第一次使用时,Ciotto 会就这家供应商征求你的同意(Send your voice to be transcribed?),并且不保留任何录音。识别出的话会同时与 Ciotto 所有语言的标签进行比对,所以用与界面不同的语言说出命令也能生效。关闭窗口、关闭其他标签页和烧掉一切总是需要确认,可以用语音,也可以用 Yes 和 No;十秒内没有回答就视为否。由模型重建出来、而不是逐字识别出来的命令,也需要确认,除非它只是打开一个面板。语音默认开启(Speak to Ciotto);关闭后按钮会消失,也无法打开麦克风。在设置中还可以选择转写服务(Transcribed by)和更改组合键;唤醒词监听已经显示出来,但还不能使用。

平台:桌面版、Android 和 iOS。手机的工具栏上没有这个按钮:请使用 ⋮ 菜单。

84. 语音回答

位置:设置 → AI & automations → Voice:Answer out loud、Speaking speed 和 Voice。

作用:在一条语音命令之后,Ciotto 会说出它听到了什么、做了什么(“Opening wikipedia.org”“Done — …”),这样就不需要看屏幕;没听懂时它也会说出来。它使用设备上已经安装的语音:不下载任何东西,也不把文字发到任何地方去朗读。它能说哪些语言,取决于系统中有哪些语音。它默认与语音功能一起开启。它说话时不会同时听,所以不会对自己说出的问题作出反应。

平台:桌面版、Android 和 iOS。在 Android 和 iOS 上,它用系统的语音合成引擎说话。

85. 在页面上执行的语音任务

位置:同一个语音命令,说的是要在页面上做什么,而不是某个命令的名称(“用我的地址填写这张表单”)。

作用:把语音任务交给页面代理。开始之前,Ciotto 会请你确认。这次运行是一个从未保存过的宏,绑定在前台标签页所在的站点上,因此无法转到别的站点;它的限制比手写的宏更严(回合很少、动作很少、两分钟),并且在每一次点击和每一次按键之前都会征求许可。你说不,它就停在那里。

平台:桌面版。在 Android 和 iOS 上,任务会改为交给侧边栏中的助手。

K. 隐私与安全

86. 盾牌与“What was blocked here”浮窗

位置:工具栏中的盾牌图标,带有已拦截内容的数量,点击会打开 设置 → Privacy & security(第 87 条)。快速浮窗从 ⋮ → Privacy and identity → What was blocked here 打开,也可以用 Privacy and security 这个名称固定到工具栏。手机上:⋮ 菜单 → Privacy and identity → What was blocked here,它也是默认的快捷操作之一。

作用:盾牌上的数字是自启动以来拦下的广告、追踪器和危险页面的总和;计数只保存在内存中,每次启动都从零开始。快速浮窗汇集了四项基础防护的开关、针对前台站点的 Show ads on … 开关(第 89 条)、加密 DNS 的选择(第 93 条)、计数(Ads、Trackers、Malware、Banners),以及例外列表,每个例外都带有 Remove。链接 All privacy features → 会带你到完整目录。盾牌、浮窗和目录读取的是同一个状态,所以不会互相矛盾。

87. 完整的防护目录

位置:⋮ → Privacy and identity → Privacy and Security…;设置 → Privacy & security;工具栏中的盾牌图标。手机上:⋮ 菜单 → Privacy and identity → All privacy features。

作用:顶部是本次会话的计数(Ads blocked、Trackers blocked、Malware/phishing stopped、Cookie banners rejected)、关于防护名单状态的一行说明,以及“清除浏览数据”(第 58 条)。下面是每项防护一张卡片,按组划分(Network、Identity、Data、Downloads),有标题、一行概要,并可以按需展开(What situation does this protect me from?)一段文字,描述它所应对的真实处境,而不是其机制。尚未实现的防护不会有一张许诺它的卡片,平台无法支持的防护也不会显示。除了四项基础防护(Core)之外,所有防护在你开启之前都是关闭的。

88. 签名的防护名单

位置:没有什么需要设置;状态可以在 设置 → Privacy & security 中计数下方的那一行查看。

作用:决定拦截什么的名单(用于广告和追踪器的 EasyList 与 EasyPrivacy,用于恶意软件和钓鱼的 URLhaus 与 OpenPhish)以签名包的形式从 Ciotto 的网站送达:一份带有各文件哈希值的文件清单,用写在程序里的 Ed25519 密钥签名。在使用任何一条规则之前,Ciotto 都会检查签名和每一个哈希值,并拒绝不比现有版本更新的包,这样旧的副本就无法被重新投放。如果检查失败,什么都不会改变:继续使用上一份经过验证的副本,那一行会说明原因。超过一周的包仍会被使用,但那一行会标出这一点。发布的版本中,绝不会退回到未签名的名单。

平台:桌面版、Android 和 iOS。

89. 广告拦截与反追踪

位置:隐私目录中的第一张卡片;在 What was blocked here 浮窗(第 86 条)中,有针对前台站点的 Show ads on … 开关和例外列表。

作用:使用 EasyList 和 EasyPrivacy 名单过滤广告和追踪请求,在发布的版本中,这些名单来自签名包。它默认开启。Show ads on … 会永久关闭仅针对该站点的拦截(也包括它的第三方广告),不影响其他站点;这个例外可以用同一个开关去掉,或者在列表中用 Remove 去掉。

90. HTTPS-only

位置:隐私目录;可以从盾牌为单个站点设置例外。

作用:在导航离开机器之前,把 http:// 导航变成 https://。确实没有 https:// 的站点会显示一个带有说明的拦截页面(Not secure),而不是一个毫无说明的连接错误,并提供三个选择:Go back、Continue anyway(该站点在本次会话的剩余时间内保持使用 http://)和 Don't block this site again(仅对该站点的永久例外)。例外可以在 What was blocked here 浮窗中查看和去掉。危险站点名单(第 91 条)在地址升级之前就检查它,所以即使站点以 https:// 响应,http:// 的钓鱼地址也会被拦下。

91. 本地恶意软件与钓鱼名单

位置:隐私目录。

作用:这份名单由 URLhaus 和 OpenPhish 构建,随签名的防护名单包一起送达,并且保存在本机上:它不是 Google Safe Browsing,所以你将要打开的地址不会有任何部分被发往别处去检查。地址会在任何改写(升级为 https://、清理链接)之前进行比对,也会换用另一种协议、去掉末尾的点再比对。一旦命中,导航就会被 Dangerous site 页面拦下;Continue anyway 是对这个确切地址的一次性许可,永远不会变成永久例外。如果名单下载失败,Ciotto 会在 30 秒、2 分钟、10 分钟和 30 分钟后重试,而不是在下一轮之前一直没有保护,错误会显示在名单状态中。

92. 下载警告

位置:隐私目录;警告显示在下载栏中该下载所在行的下方。

作用:对每个下载,按严重程度依次检查三个方面:来源或某个中间跳转是否在本地恶意软件名单中(Matches a known malware/phishing list);文件是否属于能执行代码的类型——安装程序、脚本、快捷方式之类,从 .exe、.msi 和 .ps1 到 .url、.chm 和 .vhdx(This file type can run code — only open it if you trust the source);以及它是否来自未加密的连接(Downloaded over an insecure connection)。显示的是最严重的那条警告。下载不会被拦截:文件会落到磁盘上,但对被标为危险或在名单中的文件点 Open,会在打开前要求确认。关闭警告会同时关闭这三项。

93. 加密 DNS

位置:⋮ → Privacy and identity → What was blocked here → Encrypted DNS:在 Off (system)、Cloudflare 和 Quad9 之间选择。

作用:让域名解析通过 DNS-over-HTTPS 交给所选的服务完成,而不是使用系统的明文解析器。默认关闭,选择立即生效,无需重启。

平台:仅限桌面版。

94. 站点权限

位置:当站点请求摄像头、麦克风、位置、通知、剪贴板、MIDI 设备或本地网络时,页面上方出现的横栏,带有 Remember for this site(默认勾选)、Block 和 Allow;已经给出的回答可以在站点信息浮窗(第 35 条)中查看。

作用:不经询问,什么都不会授予,回答会针对该站点被记住。权限属于工作区:同样的问题在另一个工作区中会从头问起。在站点提出请求并且你回答 Allow 之前,通知一律显示为被拒绝:页面不经过询问,就无法显示任何通知。而对于摄像头和位置,只是查询权限状态的站点会看到“已授予”,这样它就不会放弃请求;真正的访问仍然要经过那条横栏。同一页面的多个相同请求会合并为一个问题。

平台:桌面版、Android 和 iOS。在手机上只会询问摄像头、麦克风和位置;其他权限都被拒绝。在 iOS 上,位置请求由系统逐个站点提出,不经过 Ciotto。

95. 以陌生人身份打开

位置:在隐私目录中开启(Open as a stranger);然后在链接上右键 → Open Link as a Stranger。

作用:在一个保存在内存中、用完即弃的会话里打开链接:没有任何 Cookie 和历史记录跟进去,关闭标签页时它的存储会立即被清除,而不是等到应用退出时。它不同于隐私上下文,后者是在多个标签页之间共享的。在“陌生人”标签页中,不会提供保存的密码,在那里授予的权限只保存在内存中,不影响工作区的权限;如果身份通过代理连接网络(第 103 条),这个标签页也使用同一个代理。

96. 过滤器就绪之前不发出请求

位置:隐私目录。

作用:堵上启动后一两秒内过滤名单尚未加载的空窗期。开启这项防护后,最初的那些请求会等待——最多五秒——直到广告拦截和恶意软件名单加载完毕。如果五秒后仍未就绪,请求会被取消,而不是在没有保护的情况下发出:等名单就绪后再重试。

平台:仅限桌面版。

97. 站点不能敲家庭网络的门

位置:隐私目录;请求以权限的形式出现。

作用:在公共页面访问私有地址(192.168.*、10.*、环回地址、链路本地地址、100.64.0.0/10、0.0.0.0)之前征求同意,无论是通过后台请求,还是直接导航过去。指向家庭网络内部的域名也同样适用:Ciotto 会在做决定之前先解析域名,并识别本地后缀(.local、.lan、.home.arpa……)和路由器的常见名称。请求会说明该站点想要访问本地网络中的一台设备;这项权限名为 local-network,按来源记住,与摄像头或位置完全一样。一个页面的多个相同请求会合并为一个问题。

平台:仅限桌面版。

98. 干净的链接

位置:隐私目录。

作用:在导航加载之前,去掉其中已知的追踪参数(utm_*、fbclid、gclid 等)。它在 HTTPS-only 之前起作用,所以清理后的地址从一开始就走完整条处理链。

99. 会过期的权限

位置:隐私目录;新的选项出现在权限请求中,位于 Remember for this site 旁边。

作用:在常规的 Always 旁边增加 Just for today(从回答起 24 小时)和 For a week(七天)。过期的权限会被当作从未请求过。

100. Cookie 横幅:被拒绝,而不是被隐藏

位置:隐私目录。

作用:识别页面的同意管理工具,并按下真正的拒绝按钮,而不是用视觉手段把横幅藏起来,同时任由站点悄悄记下一个同意。如果横幅根本没有提供拒绝按钮,Ciotto 会把它从视野中移走,不点击任何东西,这样这个问题就一直没有回答。被拒绝的横幅计入 Cookie banners rejected。

平台:仅限桌面版。

101. 关闭这个站点时忘掉我

位置:在隐私目录中开启;要添加站点,在防护卡片下方出现的 Sites to forget on close 列表中写下站点名称,配有 Add 和 Remove。

作用:当被标记站点在该窗口中的最后一个标签页关闭时,立即清除该站点(包括子域名)的 Cookie 和存储;关闭窗口或退出 Ciotto 时也会清除(退出时最多等待三秒让清理完成)。这个限制是明说的:同一站点在别处还开着的副本,是一个已知且被接受的缺口,而不是一次会夺走另一个窗口会话的清除。

102. 看得懂的隐私报告

位置:在隐私目录中开启;报告(Recent activity)显示在防护卡片下方。

作用:把计数变成句子。一个循环记录——功能关闭时从不写入,并且只对当前会话有效——记下每次拦截发生的站点和追踪器的主机,并对照程序内置的一张小型“域名→公司”对应表进行解析:于是看到的是“在 nytimes.com 上,Ciotto 拦下了 9 个发往 Google、Criteo 和 Taboola 的请求”,而不是一个光秃秃的数字。

平台:仅限桌面版。

103. 每个身份使用不同的出口(代理)

位置:在隐私目录中开启;代理在身份面板(⋮ → Profiles → Manage Profiles…)中该身份所在的行上设置,那里有一个接受 socks5://host:porta 或 http://host:porta 的输入框,以及一个 Test 按钮。

作用:给每个身份的会话应用不同的代理,这样两个身份就不会显得来自同一个网络。Ciotto 不提供代理,这张卡片也明确说明了这一点。Test 按钮会通过该身份的会话访问一个真实的端点,以确认代理确实可用(Works 或 Failed)。代理也适用于页面的 WebRTC 通话、从该身份打开的“陌生人”标签页,以及标签条中的站点图标,这样真实地址就不会从侧门漏出去。代理启用时,工具栏中该身份的小圆牌上会有一个圆点。

平台:仅限桌面版。

104. 索要更多权限的扩展更新会被拦下

位置:在隐私目录中开启;当某个更新被扣留时,窗口顶部会出现审批横栏。

作用:把每次加载扩展时的 manifest 文件与最后一次接受的版本进行比较。同一版本的重新加载会顺利通过;新版本如果索要一项以前没有的权限,或者要访问一个以前不能访问的主机,就会在加载后立即从会话中卸下,并被扣留,直到你用 Allow this update 批准那条确切说明了变化内容的横栏(“… updated from 1.2 to 1.3 and now also asks to:”)。这一拦截在重启后依然有效。

平台:仅限桌面版。

105. 嵌入内容在你说加载时才加载

位置:隐私目录;针对站点的例外写在防护卡片下方出现的 Sites where embeds always load 列表中。

作用:把第三方嵌入内容(YouTube、X、Instagram、Google Maps)挡在一个占位框(Load this … embed?)后面,直到你点击它。请求会被转到一个内部页面,根本不会到达真正的主机;点击占位框后,同一个框架才会导航到真正的地址。

平台:仅限桌面版。

106. 不带坐标的照片(实验性)

位置:在隐私目录中开启,然后还要为每个站点明确启用:在防护卡片下方的 Sites to strip photo data on 列表中写下该站点。

作用:在符合条件的照片(JPEG、WebP)离开页面之前对它重新编码——与打开后再重新保存得到的转换相同——EXIF 数据和可能存在的 GPS 坐标也随之消失。如果解码出错,它不会阻止上传:而是发送原图。

平台:仅限桌面版。

107. 宏以陌生人身份运行

位置:在隐私目录中开启;单个宏的选择在 Macro Studio → 宏设置 → Safety & session → Session 中(Sandbox — runs as a stranger 或 Your profile — runs as you),预检会在每次运行时显示这一选择。

作用:开启这项防护后,宏的运行会在一个用完即弃的会话中开始,而不是接管已经打开的标签页。这次运行打开的所有标签页共享同一个分区,所以在其中一个标签页中完成的登录,对同一次运行的其他标签页可见,对外部则一概不可见。当共享该分区的最后一个标签页关闭时,分区会被清除。真正需要使用你自己身份的宏,可以设为 Your profile — runs as you,预检会标出这一点。关闭这项防护后,每次运行都使用真实的身份,预检也会说明。已说明的限制:没有扩展,下载记在默认身份名下。

平台:仅限桌面版。手机上没有这个开关:在那里,宏总是使用标签页的身份运行。

108. 可信的时区与对抗指纹的噪声,按身份设置(实验性)

位置:在隐私目录中开启;卡片下方会出现四个通道 Canvas noise、WebGL noise、Audio noise 和 Font measurement noise,每个都有 On 和 Off。时区在身份面板中该身份所在的行上选择(输入框 Machine's own timezone — e.g. Europe/Berlin)。

作用:更改某个身份的标签页所声明的时区,并使它与这台机器上真实存在的语言和平台保持一致;输入框留空时保持机器自己的时区,不是时区的名称会被拒绝(Not a timezone)。此外,它还会给 canvas、WebGL、音频和字体测量所报告的结果加入少量噪声,站点正是利用这些方面构建一个在清除 Cookie 后依然存在的指纹:在一次会话中,同一站点得到的噪声保持不变,所以页面不会出问题,但噪声在不同会话之间、不同身份之间都会变化。四个通道随这项防护一起开启,每个都可以单独关闭。这不是完整的反指纹方案:屏幕尺寸、已安装的字体以及其他几十种信号仍然是真实的。如果无法生效,它会让标签页保持原本的样子:绝不会弄坏页面。

平台:仅限桌面版。

109. 按身份加密的 Cookie(实验性)

位置:在隐私目录中开启;在身份面板中该身份所在的行上启用,使用 Enable encrypted vault 并输入两遍口令。启动时会出现 Unlock your vaults 窗口。

作用:把某个身份的 Cookie 移出 Chromium 的明文存储,作为一个用所选口令加密的单独文件保存。启动时,每个受保护的身份都处于锁定状态:解锁窗口为每个身份提供口令输入(Unlock,然后 Continue to Ciotto),跳过其中一个只意味着以未登录状态开始,而不是暴露在外;该身份所在的行会显示 Vault locked — logins not restored.,并随时提供 Unlock。它保护的是 Cookie 和登录状态,而不是站点的本地存储。口令丢失,它所保护的 Cookie 也随之丢失:这是设计使然。Disable vault 会要求输入 disable;如果设有主密码且处于锁定状态,会先要求解锁,因为关闭保险库也会移动该身份的密码、银行卡和地址。

平台:仅限桌面版。

110. 烧掉一切

位置:⋮ → Privacy and identity → Burn everything;可以固定到工具栏(第 154 条);可以分配给一个快捷键(第 152 条),但没有默认组合键。手机上:⋮ 菜单 → Privacy and identity → Burn everything。

作用:关闭你所在工作区中的所有标签页——锁定的除外——并回到一个空白的起始页。在桌面版上会先询问(Close every tab in this environment?),这个问题说明两件事:关闭的标签页仍然可以用 Ctrl/Cmd+Shift+T 找回,以及会有多少个锁定的标签页保持打开。在同一个问题中,它还提议同时清除数据(Close and clear this profile’s data):该身份的 Cookie、存储和缓存,以及该工作区的历史记录和下载。Don’t ask again 复选框只对可以找回的那一半有效:清除数据总是会询问。让它恢复询问的开关在 设置 → Tabs & performance → Ask before burning everything。这个命令永远不会被录进宏,用语音说出时总是需要确认。

平台:桌面版、Android 和 iOS。在手机上,点按这一项会立即关闭标签页,不会询问;数据要在“清除浏览数据”(第 58 条)中清除。

L. 密码与凭据

111. 保存的密码

位置:设置 → Passwords & autofill;⋮ → Privacy and identity → Passwords and autofill,它会列出为当前打开的站点保存的登录信息,并通过 Manage passwords… 进入管理。手机上:⋮ 菜单 → Privacy and identity → Passwords and autofill。

作用:按身份保存凭据,用受操作系统钥匙串保护的密钥加密。用 Save a login 添加(仅限 HTTPS 或 localhost 地址),可以按站点、用户名或标签搜索,用 Edit 修改,用 Remove 删除。列表只显示元数据(站点、用户名、标签),从不显示密码。在 Linux 上,如果可用的钥匙串不安全,保存会被拒绝,并会要求你启用该身份的保险库保护。

112. 自动填充

位置:地址栏中的钥匙图标(Fill a saved password),在该站点存在凭据时出现;⋮ → Privacy and identity → Passwords and autofill,会列出该站点的凭据。手机上:⋮ 菜单 → Privacy and identity → Passwords and autofill。

作用:在核实主框架的来源与保存的来源完全一致之后,填充一次。它不会提交表单:确认留给用户。在“陌生人”标签页中不会提供凭据。

113. 地址与银行卡

位置:设置 → Passwords & autofill,Save address 和 Save card 框;填充通过地址栏中的人形图标(Addresses)发起,该图标在身份至少保存了一个地址或一张卡时出现。

作用:保存地址和联系方式,以及银行卡,用与密码相同的密钥加密,并锁在同一把锁后面:如果设置了主密码,锁上其中一个,也就锁上了另一个。地址只有在你选择之后才会填入,从不自动填。卡片列表只显示最后四位数字,从不显示完整卡号。显示完整卡号(Show number)或填入一张卡,每一次都需要输入主密码;没有主密码时,Ciotto 会要求你先设置一个,而不是继续操作。安全码从不被询问,也从不被保存。

平台:桌面版、Android 和 iOS。

114. 登录后提议保存

位置:完成登录后立即出现在窗口顶部的横栏:Save your password for … as …?,带有 Save 和 Not now。

作用:登录表单提交时,Ciotto 会提议保存凭据。表单是由页面提交的,而不是由 Ciotto 提交的。密码留在主进程中,由一个不透明的令牌索引。这个提议不会在隐私上下文或“陌生人”标签页中出现,对于已经保存的凭据也不会再次出现。在手机上,只接受来自主页面的提议,来源取自标签页,而不是页面自己声明的内容:第三方框架不能为另一个站点提议保存。

115. 密码生成器

位置:设置 → Passwords & autofill → Save a login,密码输入框旁边的 Generate 按钮。

作用:生成一个二十个字符的随机密码,可以直接粘贴到站点中,并在同一步操作中保存。

116. 主密码与自动锁定

位置:设置 → Passwords & autofill,Master password 框:Set master password(至少八个字符,输入两遍),然后是 Lock now、Change、Remove 和 Auto-lock。

作用:给已经受系统钥匙串保护的凭据密钥再加一道封;同一把锁也锁住地址和银行卡。它增加了一段时间无操作后的自动锁定(1 minute、5 minutes、15 minutes、1 hour 或 Never)。它也是 Ciotto 在显示或复制密码、以及使用银行卡之前要求的重新验证(第 117 条和第 113 条):没有主密码,这些操作就无法使用。它不影响 Cookie 的加密,那是一项独立的功能。没有任何找回途径。

117. 显示和复制密码

位置:设置 → Passwords & autofill 中凭据所在的行,Reveal 和 Copy 命令。

作用:只有在输入主密码之后,密码才会被显示或复制,每次都要输入。没有主密码时,这个操作不会开始,Ciotto 会说明需要先设置一个。输入主密码也会解锁保险库(如果它已锁定)。显示出来的密码二十秒后消失;复制由主进程完成,二十秒后如果剪贴板中仍是那个密码,主进程就会清空剪贴板,即使设置窗口已经关闭也是如此。不存在任何能把所有密码以明文一起交出来的途径。

118. 密码健康报告

位置:设置 → Passwords & autofill,在凭据列表上方(Password health: … weak · … reused)以及各行上(Weak、Reused)。

作用:一项本地检查,不联网,指出在同一身份的多个条目中重复使用的密码,以及弱密码。比较在内存中进行;报告只包含标识符和标记,从不包含密码或它们的哈希值。

119. 六位 TOTP 验证码

位置:凭据表单中的 TOTP secret or otpauth:// (optional) 输入框;验证码显示在凭据所在的行上,并附有剩余秒数。

作用:可以选择把一个 TOTP 密钥(纯 base32 格式,或者 otpauth:// 地址)保存在凭据的加密内容中,并在本机上生成六位验证码。从密码管理器导出的 CSV 文件的相应列中,也可以导入这个密钥。

120. 检查已知泄露

位置:设置 → Passwords & autofill,列表上方的 Check for breaches 按钮。

作用:一项可选的、按需进行的检查,对照 Have I Been Pwned,采用 k-匿名机制:离开设备的只有 SHA-1 哈希的前五个字符,从不是密码本身。查到的条目会带上 Breached 标签,并有一行汇总数量。结果只包含标识符和计数。

121. 系统通行密钥

位置:当站点提出用通行密钥登录时,会自动出现。

作用:通行密钥的整个流程都留在 Chromium、Android Credential Manager 或 Apple 的身份验证服务之内。通行密钥的私钥永远不会进入 Ciotto 的存储,也不会进入同步。

M. Lightning 身份

122. 创建 Lightning 身份

位置:工具栏中的闪电按钮;⋮ → Privacy and identity → Lightning Identity;设置 → Sync, Lightning & devices → Open Lightning…。手机上:⋮ 菜单 → Privacy and identity → Lightning identity。

作用:这个身份是 Ciotto 在这台机器上创建、不发送到任何地方的一把密钥。支持它的站点可以不用电子邮件地址、不用密码就认出你,而且对于登录和 WebLN,每个站点看到的是不同的密钥,所以它们无法互相比对;而 Nostr 名称(npub)只有一个,因为在 Nostr 中它就是公开身份。Lightning 在这里只用于让你被认出、把你自己的设备连接起来:没有账户、没有资金、没有什么要充值,也没有任何支付。面板打开时提供 Create my identity 和 I already have a recovery phrase;身份创建后,会显示密钥和 Nostr 名称。

123. 十二个词的备份与恢复

位置:Lightning identity 面板:Write down my recovery words(之后是 Show my recovery words again)、I have written them down、带 Restore 的 I already have a recovery phrase、Remove this identity。

作用:显示这十二个词,它们是回到这个身份的唯一途径,并提醒你按顺序抄在纸上。在你用 I have written them down 确认之前,面板会提醒这个身份从未被记下来过,工具栏上的按钮也一直带着一个圆点。这些词随时可以用 Show my recovery words again 再次查看,不会有其他问题。恢复会根据已有的助记词重建身份,并在你输入时数出词数。删除是不可逆的:没有这十二个词,每个原本认得你的站点都将不再认得你;要确认删除,必须输入 remove。

124. 用身份登录站点

位置:当站点提出 Lightning 登录(LNURL-auth)时,窗口顶部出现的确认横栏:Sign in to … with your Lightning identity?,带有 Cancel 和 Sign in。

作用:站点提出一个质询;Ciotto 只有在得到明确同意之后,才会用专属于那个站点的密钥对它签名。横栏得到回答之前,什么都不会被签名,请求会在两分钟后自动过期。如果发起登录的页面与你将要登录的站点不同,横栏会说明这一点(Careful: … opened this login for …)。如果身份还不存在,接受就会创建它。隐私窗口中不提供这种登录。

125. 面向页面的 WebLN 与 Nostr

位置:对使用它们的页面可用;每次调用都要经过一项权限,用与站点权限相同的横栏询问。

作用:通过一个受控的单一通道,向页面提供两个常见接口——window.webln 和 window.nostr。WebLN 只提供该站点的密钥和对消息的签名,不提供支付。看到你是谁和以你的名义签名是两项不同的权限,因为它们的风险不同:一个被允许看到身份的站点,并不因此就被允许在上面签名。签名每次请求都要询问,从不记住,横栏会显示正在签名的内容(消息,或者 Nostr 事件的类型和内容);日期在未来的事件会被拒绝。如果身份还不存在,第一次同意就会创建它。在隐私窗口和“陌生人”标签页中,不提供这些接口。

N. 加密同步与标签页传递

给验证者的说明:本部分的测试需要两台已更新的 Ciotto 设备。涉及 Web 应用或扩展的测试,还需要已发布的配套服务;在它发布之前,这些测试应标记为无法执行。所有测试都不需要资金:Ciotto 没有钱包、通道,也没有支付。

126. 同步状态

位置:工具栏中的同步按钮 → Encrypted sync 面板;⋮ → Privacy and identity → Encrypted sync;设置 → Sync, Lightning & devices。手机上:⋮ 菜单 → Privacy and identity → Encrypted sync。

作用:面板把以下内容汇集在按需展开的部分中:配对(第 129 条)、Send this tab、What follows you、Inbox、Tabs from other devices、Devices and contacts 和 Connection details,在最后这一部分可以看到标签页和大体积数据当前使用的传输方式,以及设备用来响应的地址。在设置中,同一部分包含类别、带 Revoke 的设备列表和 Sync now 命令。Ciotto 没有任何服务器保存标签页或浏览器数据。

127. 可同步的数据类别

位置:Encrypted sync 面板,What follows you 框;同样的开关也在 设置 → Sync, Lightning & devices 中。

作用:每个类别都可以单独开启或关闭。默认开启的有:Remote tabs、Workspaces、Profile descriptors(仅限非机密的描述信息)、Projects、Favorites and reading list、Portable preferences、Sanitised macros。默认关闭的有:Page notes、History、Memory、Passwords (authorized devices only),以及在 Android 和 iOS 上的 Data sheets。关闭的类别用一个普通的复选框开启;对于密码,还需要对单台设备进行授权(第 137 条)。设备只显示它真正能处理的类别:在桌面版上没有数据表这一类别。

128. 永远不会同步的内容

位置:同步规则,在每台设备上都一样;Web 应用在 Portable data 框中提到它。

作用:同步永远不包括:恢复助记词、私钥、Cookie、站点存储、通行密钥、AI 供应商的令牌、代理的凭据、宏凭据的值、Cookie 保险库的内容、保存项的离线副本、下载的文件、下载列表和隐私会话。密码只在它自己的类别下传输,并且每台设备都需要单独授权。唯一有意为之的例外,而且只在你要求时:用 QR 传递会话(紧接在配对之后的那一条)会把所共享标签页所在站点的 Cookie 和存储,一次性地带到你自己的手机上。

129. 配对设备

位置:Encrypted sync 面板 → Pair a device or contact → Invite / QR,选择 My device 和 Create 10-minute invite;第一次配对之后,Devices and contacts → Pair a new device。在另一台设备上:手机上用 Receive / Scan,或者用 Receive,粘贴 ciotto://pair 链接,再点 Verify。

作用:生成一个一次性且带签名的邀请,有效期十分钟,形式为 QR 码,以及可以用 Copy invite 复制的文本。从桌面版到手机只需扫描一次(Scan this QR once on the new phone, then approve the request here.):手机等待(Waiting for approval on the desktop…),桌面版会询问 Pairing request — Allow … as a device?,带有 Allow 和 Reject。在其他情况下,配对是双向的:收到邀请的一方批准后,再显示一个回程邀请,在第一台设备上读取。新加入的设备保留自己的密钥,但不会收到恢复助记词。只有保管 Lightning 身份的设备才能添加设备;被添加的设备只能邀请联系人。设备和联系人不能重命名。

平台:只有 Android 和 iOS 可以用摄像头读取 QR;在桌面版上要粘贴链接。

130. 用 QR 把会话传到手机上

位置:在桌面版上,Encrypted sync 面板 → Invite / QR(如果已有配对的设备,这一部分的标题是 Receive or share a Ciotto session);在手机上,同一面板 → Receive / Scan。

作用:把电脑上打开的页面连同它的登录状态,以及其他打开的标签页,一起带到你自己已配对的手机上。Independent Ciotto session 显示当前标签页、Duration(5、15、30 或 60 分钟;默认 15)和一个有效期两分钟的 QR,可以用 Regenerate QR 重新生成。扫描一次,就会以加密方式传送该页面所在站点的 Cookie 和存储:手机把它们加载到一个用完即弃的身份中,并像普通的 Ciotto 标签页一样打开该页面;其他标签页到达时不带登录状态。在桌面版的工具栏上会出现红色的 Shared session 控件,显示剩余时间和 stop:停止或到期时,手机会关闭那个标签页并删除这个身份。Close everything on the phone 会要求已配对的手机把以这种方式到达的其他标签页也关掉。不会传递页面图像,也不会传递远程命令。

平台:从桌面版(Windows、macOS、Linux)共享,在 Android 和 iOS 上接收;在 iOS 上,必须让应用保持在前台才能完成传递。Web 应用和扩展中不可用。

131. 配对联系人

位置:Encrypted sync 面板 → Devices and contacts → Invite a contact;在第一次配对之前,也可以用 Invite / QR,选择 Contact。在另一个 Ciotto 上:Receive / Scan 或 Receive。

作用:与另一个人建立关系,对方有自己的 Ciotto 身份。配对是双向的:收到邀请的一方批准后,再显示一个回程邀请,在第一台设备上读取。联系人可以发送和接收标签页,这些标签页会留在 Inbox 中,直到被打开;联系人无法访问个人同步,也无法访问任何数据类别。来自联系人的邀请不能让一台设备加入你自己的设备之列。

132. 把标签页发送到设备或联系人

位置:Encrypted sync 面板 → Send this tab:收件方(Choose a device or contact)、Send 或 Move、Optional message 输入框。

作用:Send 发送当前标签页的一个副本,它也会留在这里;Move 发送它,并在另一端打开它时把这里的关掉。发往你自己的设备时,还会一起传递阅读位置、阅读模式和来源工作区;发往联系人时,只传递地址和标题。只允许普通的 HTTP(S) 标签页:隐私标签页、“陌生人”(Stranger)标签页和内部标签页会被拒绝(Private, Stranger and internal tabs cannot be transferred.)。如果收件方处于关机状态,发送内容会以加密形式留在本地队列中,并在七天内自动重试。可选的消息(最多 500 个字符)会随标签页一起传送,但目前收件方的 Inbox 不会显示它。

133. 收件箱

位置:Encrypted sync 面板 → Inbox,标题旁边显示等待中的数量。只要有内容待打开,工具栏上的按钮就会显示一个圆点,它的悬停提示会显示 Encrypted sync — N waiting。

作用:从你自己的设备发来的标签页会自动打开,在桌面版和手机上都是如此;如果来源工作区在这里也存在,就在该工作区中打开。来自联系人的标签页,以及来自你自己设备但无法自动打开的标签页,会在这里等待(Tabs from contacts, or trusted-device tabs that could not open automatically, wait here.):对每一个,选择工作区后按 Open,或者按 Dismiss。一个项目最多等待七天。没有重试投递的命令:Ciotto 会自动重试,在设置中按 Sync now 时也会重试。

134. 来自其他设备的标签页

位置:Encrypted sync 面板 → Tabs from other devices;在新标签页中,是 Tabs from your devices 板块,需要在 设置 → New tab & startup → New tab: remote tabs 中开启。

作用:向你自己的设备(从不向联系人)发布一份已打开的安全标签页的加密快照,最多 500 个,这样你就可以在别处接着读刚才在读的内容。在桌面版上,可以浏览这个列表,点一下打开其中一项。而手机第一次收到某台设备的快照时,会自动打开那些标签页(A newly paired phone opens its first snapshot automatically.);之后,这个列表就作为备用保留。需要开启 Remote tabs 类别。

135. 面向 Web 和扩展的配套桥接

位置:Web 应用和扩展的弹出窗口:Lightning companion 选择器。

作用:Web 应用和扩展不能直接使用 Lightning:它们要通过一台明确选定的原生 Ciotto 设备。消息本身已经加密,在经过一个使用随机令牌的 Cloudflare 汇合点之前,还会再套上一层信封,这个汇合点不保存任何东西,也不记录内容。作为设备配对之后,Web 应用和扩展就是完整意义上的设备,会收到它们能处理的类别:Web 应用收到除笔记、数据表和密码之外的所有类别,扩展只收到标签页和保存项。

136. 吊销设备

位置:Encrypted sync 面板 → Devices and contacts → My devices,Revoke 命令;同样的列表也在 设置 → Sync, Lightning & devices 中。

作用:设备会带着 revoked 字样留在列表中,这个 Ciotto 会停止向它发送标签页和数据,也不再接受它发来的内容;如果正在与这台设备进行会话传递,传递会结束。只有当被吊销的设备曾获准同步密码时,密码类别的密钥才会轮换。设备已经收到的内容无法被远程删除。当前的限制:吊销只在执行吊销的那台设备上生效;你的其他设备不会得到通知,被吊销的设备可以继续通过它们同步,直到你在那些设备上也吊销它。

137. 需要双重同意的密码同步

位置:What follows you 中的 Passwords (authorized devices only) 类别,以及 My devices 中每台设备下方的 Allow password sync / Stop password sync 命令。

作用:默认情况下,密码不会跟着你走。需要两次同意:开启这个类别,并授权那一台受信任的设备(Password sync needs both the local category switch and explicit permission for each trusted device.)。传输内容使用一把专门的类别密钥,当某台已授权的设备失去授权或被吊销时,这把密钥会轮换。

O. Chrome 扩展

138. 从 Chrome Web Store 安装

位置:菜单栏 → Extensions → Open Chrome Web Store;⋮ → Extensions → Open Chrome Web Store。

作用:可以直接从商店安装:打开商店,按下安装按钮(在 Ciotto 中,“Add to Chrome”字样会变成“Add to Ciotto”),Ciotto 会询问 Add "…" to Ciotto?,并提醒扩展可以读取和更改你所访问站点的数据,带有 Add extension 和 Cancel。已安装的扩展存放在应用的数据文件夹中,并会自动更新;如果开启了第 104 条中的功能,索要更多权限的更新会一直停住,直到你批准。刚安装的扩展不会自己出现在工具栏上:需要把它固定上去(第 140 条)。Ciotto 没有自己的移除扩展的命令:删除它的文件夹(第 139 条)并重启即可。

平台:仅限桌面版(Windows、macOS、Linux):Android 和 iOS 的网页视图无法承载扩展。在欧盟,商店会显示一道 Cookie 同意墙,需要手动通过。

139. 未打包的扩展

位置:菜单栏 → Extensions → Open Extensions Folder。

作用:打开存放扩展的文件夹:把一个含有 manifest.json 的文件夹放进去并重启,这个扩展就会被加载。为 Ciotto 开发扩展就是这样做的,删除扩展也是这个办法。

140. 扩展操作栏

位置:工具栏中的图标,仅限通过 ⋮ → Customise Toolbar → Extensions 固定的扩展;其他所有扩展在 ⋮ → Extensions 中。

作用:在工具栏上显示已固定扩展的图标,它们与命令和宏共用工具栏的五个位置(Pinned to the toolbar — N of 5),并打开它们的弹出窗口。未固定的扩展可以从 ⋮ → Extensions 进入,这里列出当前标签页可用的操作,最后一项是 Open Chrome Web Store;如果没有任何扩展带按钮,会显示 No extensions with a toolbar button。图标由应用内部提供,而不是来自互联网。

141. 其他身份中的扩展

位置:⋮ → Profiles → Manage Profiles…,每个有名称的身份下方的 Run extensions in this profile 复选框;工作区面板会注明每个工作区的状态。

作用:扩展总是在默认身份中运行。对于其他身份,要用这个复选框开启;新身份的复选框默认不勾选(在这个复选框出现之前创建的身份则是勾选的):勾选后,Ciotto 会把扩展加载到该身份的会话中,取消勾选则会卸载它们。目前的不一致之处:当前台显示的是默认身份以外的身份的页面时,即使勾选了复选框,扩展图标那一行仍然会离开工具栏。

P. 下载、文件与打印

142. 下载与下载栏

位置:Ctrl/Cmd+Shift+J;菜单栏 → View → Downloads;⋮ → Downloads;有下载在进行时,⋮ 按钮上会显示一个圆点。手机上:⋮ 菜单 → Page → Downloads。

作用:下载的文件会出现在窗口底部的下载栏中,并显示进度。在那里可以暂停和继续(Pause、Resume,仅限桌面版),用 × 取消或从列表中移除,用 Open 打开,用 Show in folder 在文件夹中显示;Clear 只移除当前工作区中已完成的条目。能执行代码的文件、没有通过 HTTPS 下载的文件,或者出现在恶意软件名单中的文件,会在所在行上被标出;对于能执行代码的文件和名单中的文件,Open 会在打开前要求确认。下载属于发起它的工作区和身份,并使用该身份的已登录上下文。从列表中移除一个条目永远不会从磁盘上删除文件,在任何平台上都是如此;除隐私下载的列表外,下载列表在重启后依然保留。

143. 下载文件夹与询问保存位置

位置:设置 → Downloads & files:Ask where to save each file 和 Download folder。

作用:不开启询问时,文件直接保存到指定的文件夹中(如果留空,则保存到系统的下载文件夹)。开启询问后,每次都会询问保存位置。这是一项设备上的偏好,不会跟随用户到其他设备。

144. 打开本地文件

位置:菜单栏 → File → Open local file…;⋮ → Page → Open local file…;Ctrl/Cmd+O;或者把文件或文件夹拖到标签条或工具栏上。手机上:⋮ 菜单 → Page → Open local file。

作用:在标签页中打开用系统选择器选中的文件(HTML 和 MHTML 页面、PDF、文本)。在桌面版上,每个拖进来的文件都在一个标签页中打开,文件夹则作为可浏览的列表打开。从磁盘打开的页面可以从网上加载图片、样式表、脚本和字体,而从磁盘上只能加载它自己所在的文件夹及其子文件夹中的内容,保存下来的页面正是把自己的文件放在那里。它不能用 fetch、XHR 或 WebSocket 读取响应,也不能在框架中嵌入一个站点或另一个文件夹:这样,下载的 HTML 文件就既不能读取磁盘,也不能把磁盘内容发到别处。

平台:拖放和本地页面的限制属于桌面版;在 Android 和 iOS 上使用系统选择器。

145. 保存页面

位置:菜单栏 → File → Save page → Web archive (MHTML)… 或 HTML only…;⋮ → Page → Save page;Ctrl/Cmd+S 保存为 MHTML 存档。

作用:把页面保存为完整的网页存档(MHTML)或仅 HTML。只有在你明确选择保存位置之后,文件才会被写入。在隐私标签页或“陌生人”标签页中,Ciotto 会先提醒(This action leaves private browsing.)。

平台:仅限桌面版。在手机上,⋮ 菜单中的 Save page… 会把页面保存到收藏或阅读列表中(第 67 条)。

146. 打印

位置:Ctrl/Cmd+P;菜单栏 → File → Print page…;⋮ → Page → Print page…。手机上:⋮ 菜单 → Page → Print page。

作用:在桌面版上,会先打开 Ciotto 的打印预览:一个在 PDF 查看器中显示已排好版的页面的窗口,通过它的按钮可以打印(会经过系统的打印窗口),或者下载 PDF。在手机上,会直接打开系统的打印功能。

147. 把页面导出为 PDF

位置:菜单栏 → File → Export page as PDF…;⋮ → Page → Export page as PDF…。手机上:⋮ 菜单 → Page → Save or share PDF。

作用:直接生成页面的 PDF,不经过打印窗口。在手机上,文件会交给系统的分享菜单。在隐私标签页或“陌生人”标签页中,Ciotto 会先提醒。

148. 内置 PDF 查看器

位置:自动启用,在打开指向 PDF 的链接或磁盘上的 PDF 时。

作用:在桌面版上,PDF 会在标签页中用 Chromium 的查看器打开,而不是像普通文件一样落进下载栏。在那里可以滚动、放大、在文字中搜索、打印和保存。

平台:在 iOS 上,PDF 在页面内显示,使用系统网页视图的查看器。在 Android 上,Ciotto 没有自己的查看器:PDF 会被下载,在下载栏中点按 Open,即可在系统的查看器中打开。

149. 把页面截取为图片

位置:菜单栏 → File → Capture page,或者 ⋮ → Page → Capture page:Visible area…、Full page…、Select area…、Copy visible area、Copy selected area。手机上:⋮ 菜单 → Page → Capture visible area。

作用:给页面拍照:可见区域、整个页面,或者选定的一部分。结果可以保存为 PNG 文件,或者复制到剪贴板。超过 50 百万像素时,不会截取整个页面:Ciotto 会说明这一点(The full page is larger than the 50 megapixel capture limit.),并提供 Capture visible area 或 Export PDF。在 Android 和 iOS 上只提供可见区域,交给分享菜单,因为手机的网页视图无法可靠地截取其他部分:不可用的选项不会显示。

150. 把站点安装为应用

位置:⋮ → Page → Install this site as an app…;在 设置 → Web apps 中管理(Open、Uninstall)。手机上:⋮ 菜单 → Page → Install this site as an app,以及 Manage Ciotto apps。

作用:根据站点的 manifest 文件,提供 Create Ciotto app 或 Install in system(以及 Cancel)。Create Ciotto app 会创建一个本地的 Ciotto 应用,它始终绑定在所选的身份上:在桌面版上打开时没有浏览器的各种栏,在手机上则在一个 Ciotto 标签页中打开。任何超出 manifest 范围的导航,都会回到一个普通的浏览器标签页中。目前在任何平台上都无法安装到操作系统中:Ciotto 会如实说明(No system web-app installer is available here. Create a Ciotto app instead.),而不是假装可以。在隐私上下文或“陌生人”上下文中,什么都不能安装。

Q. 设置、更新与分发

151. 设置的十四个部分

位置:⋮ → Settings…;菜单栏 → File → Settings…;Ctrl/Cmd+,。手机上:⋮ 菜单 → Settings,全屏显示,用 Done 关闭。

作用:集中管理所有偏好的地方,分为十四个部分,归入四组。You and Ciotto:General、Appearance & accessibility、New tab & startup、Search。Browsing:Tabs & performance、Downloads & files、Keyboard shortcuts。Privacy and identity:Privacy & security、Passwords & autofill、Profiles & workspaces、Sync, Lightning & devices。Advanced:Web apps、AI & automations、About & updates。顶部的 Search settings 即使输入的词不在部分名称中,也能找到相应的部分(例如“ollama”会带你到 AI & automations)。有些项目会注明自己归属哪里,比如语言(Portable across your trusted devices.)和下载文件夹(Device-local…)。

152. 可自定义的键盘快捷键

位置:设置 → Keyboard shortcuts。

作用:页面分为两部分:左边通过按键组成组合键(Build the shortcut),右边从下拉菜单中选择它要做什么(Choose the action)。保存任何内容之前,页面会说明它发现了什么:Free — nothing uses it yet.、Already assigned to … 或 The system keeps this one for …。目标可以是浏览器的一个动作,也可以是一个保存的宏(Macros 组);删除宏后,它的组合键会被释放。下面是完整的列表,分为 Tabs and windows、Navigation、This page、Privacy and data、Panels、Layout 和 Application,可以用 Search actions 搜索;每一行都有 ↺(Reset to default)和 ×(Disable),底部是 Reset all to defaults,以及 Kept by the system 的组合键和它们各自的作用。输入框在监听按键时,菜单快捷键会暂停,所以按 Ctrl+T 来分配它时,不会同时在后面的窗口中打开一个标签页。

平台:仅限桌面版;在手机上,这一部分会说明这一点(Keyboard shortcuts are a desktop feature…)。

153. 导入和导出浏览器数据

位置:设置 → General,Import and export browser data 框;密码导出在 设置 → Passwords & autofill → Export passwords 中。

作用:从 HTML、JSON 或 CSV 文件导入(Choose HTML, JSON or CSV),或者在桌面版上,直接从同一台电脑上安装的 Chrome、Edge、Firefox 和 Safari 导入:从这些浏览器中读取收藏和历史记录(从 Safari 只读取收藏,且仅限 macOS),而密码和搜索引擎需要导出的文件,这样就不会有任何被锁定的存储被悄悄复制。类别有 Favorites and reading list、History、Passwords 和 Custom search engines;选择保存项的范围(Saved-item scope:Current workspace 或 Personal)和接收密码的身份(Password destination profile),然后按 Import selected。它从不导入 Cookie、活动会话、扩展或隐私数据。Export non-sensitive data 会导出收藏、阅读列表、历史记录和搜索引擎。密码要单独导出,需先输入主密码,然后使用 Export unencrypted CSV:文件是明文的,页面也会说明这一点。

平台:读取已安装的浏览器仅限桌面版;在 Android 和 iOS 上,从用系统选择器选中的文件导入,密码导出不可用。

154. 固定到工具栏的命令

位置:⋮ → Customise Toolbar;对于宏,Macro Studio 中还有 Add to header。

作用:让你把最多五个项目固定到工具栏上,可以从 Browser commands(二十五个命令,从新标签页到 Burn everything 和 Page DevTools)、已启用的 Macros 和 Extensions 中选择,这样重复的操作只需点一下。菜单顶部会显示已经用了几个位置(Pinned to the toolbar — N of 5)。

平台:仅限桌面版;在手机上,⋮ 菜单中的快捷操作起着同样的作用。

155. 默认浏览器

位置:起始页上的 Make Ciotto my default browser 按钮。

作用:请操作系统用 Ciotto 打开链接。在 Windows 上,它会打开默认应用设置,由你自己做出选择;在 Android 上,它使用系统对浏览器角色的请求;在 iOS 上,它会打开系统设置。当 Ciotto 已经是默认浏览器时,这个按钮会消失;iOS 不允许知道这一点,所以在 iOS 上按钮一直可见。从其他应用打开的链接,会在一个新标签页中打开,无论是在启动时,还是在 Ciotto 已经打开时。

156. 更新与发布通道

位置:菜单栏 → Help → Check for Updates…;⋮ → Check for Updates…;设置 → About & updates → Check for updates。通道(⋮ → Release Channel:Stable 或 Beta (early releases),以及设置中的 Release channel)只在存在自动更新的地方出现。手机上:设置 → About & updates。

作用:检查是否有更新的版本。在自动模式下(桌面版的公开发行),更新会在后台下载,一条横栏会显示 Ciotto … is ready. Restart to update.,带有 Restart Now 和 Later:只有在你要求时才会安装。在手动模式下——这是私有测试包的模式,也始终是 Android 和 iPhone 的模式——后台不会下载任何东西:Ciotto 会向网站询问当前版本(桌面版在启动后不久询问,之后每四小时一次;手机在启动时和每次回到应用时询问),如果有更新的版本,就在窗口顶部用一条横栏说明(Ciotto … is available.,带有 Download 和 Later)。Download 会打开下载页面,对测试包而言是需要验证身份的页面;安装仍然由你自己动手。如果网站声明已安装的版本不再受支持,桌面版会说明这一点(This version of Ciotto (…) is no longer supported.,带有 Download the Latest Version 和 Quit),手机则会显示一个带有 Update Ciotto 的页面。

157. 需要验证身份的私有分发

位置:这不是应用中的命令:它是测试包的交付方式。

作用:私有通道恰好产出这些构建产物:Windows x64 的 NSIS 安装程序、macOS ARM64 的 DMG、Linux x64 的 AppImage 和 .deb、Android 的已签名 APK。对于 iOS、Web 应用和扩展,不产出任何可下载的构建产物;Web 应用和扩展不显示更新命令,而在 iOS 上,设置 → About & updates 中仍然有 Check for updates(第 161 条)。如果 APK 的签名无法验证,发布会被拒绝。

158. 打包版本中的界面检查被锁定

位置:菜单栏 → View → Toggle Interface DevTools(仅在开发构建中存在)。页面的开发者工具始终可用:Windows 和 Linux 上是 F12,macOS 上是 Alt+Cmd+I(可以重新分配,第 152 条),菜单栏 → View → Toggle Page DevTools,⋮ → Tools → Page DevTools。

作用:打包后的构建会拒绝对 Ciotto 界面进行实时检查,这样为保护静态代码所做的工作,就不会被正在运行的程序里的两次点击抵消。对所访问页面的检查完全不受影响:浏览器本来就是为此存在的。

平台:在 Android 上,只有调试构建才开放网页视图的检查;在 iOS 上未启用;手机上没有页面开发者工具。

159. Help 菜单:关于、源代码与崩溃报告

位置:菜单栏 → Help。

作用:汇集了 Discover Ciotto、About Ciotto(版本、“The browser that works for you, with macros, AI and sign-in over Lightning.”这句话、GPL-3.0 许可证和源代码地址)、Check for Updates…、Ciotto Website、Get the Source Code 和 Report Crashes 复选框。崩溃报告在你开启之前一直是关闭的;开启后,Ciotto 会在电脑上记录崩溃,并且只会把它们发送给一个已配置的收集服务,而目前没有任何构建配置了这样的服务。取消勾选这个复选框,从下次启动起生效。

平台:仅限桌面版;在 macOS 上,应用菜单中也有 About Ciotto。在手机上,版本和更新在 设置 → About & updates 中。

R. 平台差异

到这里为止列出的功能,都是按其桌面版的形式描述的,那是最完整的形式。本部分的条目概述了在其他地方有什么不同:它们不是额外的功能,而是同样的功能在每个目标平台上的呈现方式,包括手机界面。

160. Android 上的 Ciotto

位置:通过已签名的 APK(直接通道)或 Play 通道安装的 Ciotto 应用。

作用:同一个浏览器,套着一层精简的外壳(见后面关于手机界面的条目)。⋮ 按钮会打开一个可收起的菜单,取代原生菜单:最上面是一排五个快捷操作,然后是 New tab、New private tab、Reopen closed tab 和四个分组——Page、Workspaces and layout、Tools、Privacy and identity——最后是 Discover Ciotto 和 Settings。其中只出现真正能用的项目:尚未移植的功能是缺席的,而不是摆在那里却没有反应。有意排除在外的有:媒体控制、页面开发者工具、新窗口、预设布局和布局绘制。

161. iOS 上的 Ciotto

位置:iPhone 和 iPad 上的 Ciotto 应用。

作用:与 Android 相同的精简外壳,并带有 WebKit 所要求的调整:进程的挂起交给系统处理,可以使用原生的画中画,同步的接收在应用处于活动状态时进行;应用被挂起期间,发送方会保留自己的加密队列。与 Android 一样,要求打开新窗口的链接会在同一个标签页中打开;页面的对话框(alert、confirm、prompt)会显示站点名称,按钮使用 Ciotto 的语言;即使应用已关闭,ciotto://pair 链接也能送达。请求麦克风的页面不会连带请求摄像头。位置请求仍然是 WebKit 的那一个:在 iOS 上,Ciotto 不拦截它。

分发说明:私有测试通道不产出任何 iOS 安装包。设置 → About & updates 仍然会显示版本和 Check for updates,后者会从网站读取当前版本。

162. 手机界面

位置:设置 → Appearance & accessibility → Mobile interface;⋮ 菜单顶部的那一排快捷操作;工具栏中带标签页数量的按钮。

作用:调整 Android 和 iOS 的精简外壳。Toolbar position 把工具栏和标签页放在底部(Bottom,默认选项)或顶部(Top);重新加载按钮位于地址输入框内。开启 Swipe gestures on the address bar(默认开启)后,在地址栏上横向滑动会切换到下一个或上一个标签页(在从右向左书写的语言中方向相反),而朝屏幕中央滑动——工具栏在底部时向上,在顶部时向下——会打开标签页列表。Quick actions 选择 ⋮ 菜单顶部的五个快捷操作(默认为 Ask your tabs、Notes for this page、Reader mode、Workspaces 和 What was blocked here),带有调整顺序的箭头和 Restore defaults;在菜单中,某一项旁边的“+”会把它加入(Add … to quick actions),按住一个操作两秒,就可以把它拖进垃圾桶。标签页列表有 Search tabs、新标签页、隐私标签页和重新打开,并把标签页分为 Open 和 Inactive(休眠的或已卸载的),带有 Pinned、Locked、Private、Stranger、Sleeping 和 Discarded 标记;除锁定的标签页外,可以用 × 或向侧面滑动来关闭标签页。关闭之后,Tab closed 会和 Undo 一起显示五秒。

平台:仅限 Android 和 iOS。在手机上,一个窗口最多有两个面板,身份按工作区选择,而不是按面板。

163. 配套 Web 应用

位置:一个需要验证身份的网页,可在任何浏览器中打开。

作用:它不是浏览器:它是同步的伙伴。它显示状态和类别,可以配对设备和联系人(Invite my device、Invite a contact、Verify and pair)、查看收件箱、查看其他设备上的标签页、浏览已同步的保存项,以及修改可携带的偏好(主题、语言、主页按钮、收藏栏)。Send a copy 会把这个应用自身页面的地址发送给一个已配对的对端,只作为副本,不带消息。凭据的密钥永远不会到达这里,离线副本也不会。

164. 适用于 Chromium、Firefox 和 Safari 的 Ciotto 扩展

位置:安装在另一个浏览器中的 Ciotto 扩展的弹出窗口。

作用:一个功能有限的弹出窗口,用来把一个标签页带进 Ciotto 的世界:通过一个原生配套程序把当前标签页发送到某台设备或某个联系人(Send this tab),把它保存到收藏或个人阅读列表中(Save favorite、Read later),显示收件箱、其他设备上的标签页和已同步的保存项,并可以通过邀请进行配对。它不取代宿主浏览器的地址栏、标签页分组、下载或安全控制,也不索要任何与密码相关的权限。它索要 tabs、storage 和 alarms 权限(在 Chromium 上还有 offscreen),以及对所有 http 和 https 地址的访问权限。

165. 分发站点

位置:Ciotto 的公开网站。

作用:介绍产品,存放下载链接和私有通道的身份验证页面。它永远不会成为浏览器的运行环境:它不是在网站中运行的某个 Ciotto 版本。

Ciotto 可以从 ciotto.org 下载,在那里你也能找到本指南的其他语言版本。