返回 CodeWhale
docs-sandbox.ts
根目录 / web / lib / i18n / dictionaries / zh / docs-sandbox.ts
1 import type { DocsSandboxDict } from "../types";
2
3 /** 中文对照见 `en/docs-sandbox.ts`,文案自页面的 `isZh` 三元逐字迁入。 */
4 export const docsSandbox: DocsSandboxDict = {
5 metaTitle: "沙箱与审批 · Codewhale 文档",
6 metaDescription: "macOS Seatbelt、Linux 可选 bubblewrap、平台缺口和审批策略的真实边界。",
7 bodyClassName: "text-ink-soft leading-[1.9] tracking-wide",
8 overviewTitle: "沙箱与审批",
9 overviewLead:
10 "Codewhale 可以启动由模型提出的 shell 命令。审批策略、感知工作区的文件工具和操作系统命令包装器是三个独立的控制:一次审批不是沙箱,选择 workspace-write 也不代表当前平台有可用的 OS 包装器。本页只描述已经接入命令执行路径的行为。",
11 platforms: [
12 [
13 "macOS · Seatbelt",
14 "Codewhale 探测 /usr/bin/sandbox-exec;探测成功且策略要求沙箱时,子命令会被包上运行时生成的 Seatbelt profile:广泛的文件系统读取、按策略限制的写入、仅在策略允许时放行网络。探测失败则如实报告无 OS 沙箱。",
15 ],
16 [
17 "Linux · 可选 bubblewrap",
18 "Linux 命令沙箱是显式启用的:设置 prefer_bwrap = true,且 /usr/bin/bwrap 是可执行文件时才选用。子命令得到只读根视图,writable 挂载来自解析后的策略;默认隔离网络命名空间,仅在策略开启 network_access 时加 --share-net。未启用或未安装 bwrap 时报告 none。",
19 ],
20 [
21 "Windows · 无 OS 沙箱",
22 "Windows 命令路径目前报告无 OS 沙箱。主机权限和审批策略仍然有效,但它们不是 Codewhale 的 OS 命令沙箱。",
23 ],
24 [
25 "外部 OpenSandbox 执行",
26 '配置 sandbox_backend = "opensandbox" 后,shell 执行会发往配置的 OpenSandbox 兼容 HTTP 端点,而不是启动本地子进程。隔离保证属于所配置的服务及其运营者。',
27 ],
28 ],
29 policiesTitle: "策略与回退",
30 policiesLead:
31 "本地 {sandboxMode} 取值为 {readOnly}、{workspaceWrite}、{dangerFullAccess} 或 {externalSandbox}。前两者只在选中且可用的 Seatbelt 或 bubblewrap 包装器下被强制执行;{dangerFullAccess} 有意绕过本地 OS 包装器;{externalSandbox} 声明执行已被外部隔离。没有选中包装器时,shell 命令在没有 Codewhale OS 隔离的情况下运行——审批规则和感知工作区的原生文件工具仍是独立的控制。",
32 diagnosticsTitle: "诊断与限制",
33 diagnosticsLead:
34 "codewhale setup --status、codewhale doctor、codewhale doctor --json 和 diagnostics 工具会报告应用 bubblewrap 偏好后本地可用的包装器。拒绝归因是保守的:子命令的通用 Permission denied 本身并不能证明是 Codewhale 的沙箱拦截了它,未沙箱化的命令失败永远不会被标记为沙箱拒绝。",
35 diagnosticsLimits:
36 "限制同样如实说明:可用性在启动前检查,选中的包装器仍可能因主机策略、容器限制或竞态而失败;bubblewrap 会忽略缺失或不是目录的可写根;没有任何沙箱能防御内核漏洞或所有资源耗尽与侧信道攻击。",
37 sourceNote: "来源文档:docs/SANDBOX.md · 更新时请同步修改 docs-map.ts。",
38 };
39
39 lines TYPESCRIPT