feat: publish Agent Studio integrations and setup guide

This commit is contained in:
Wenxin Duan
2026-09-16 16:32:16 +08:00
parent 2ad089d68a
commit 05e6060490
106 changed files with 4942 additions and 198 deletions
+12 -1
View File
@@ -25,6 +25,7 @@
### 路径与写入
- 每个 Session 使用独立随机目录。
- 已发现的 Skill 正文复制到 Session 内只读快照;Pi 仅使用该快照清单,不向模型工具开放项目或用户目录。Drama Minis 额外复制明确白名单内的两份参考文档、主题、渲染脚本及两份结构示例;逐段拒绝符号链接,单文件上限 1 MiB。其他 Skill 默认仍只复制正文。
- realpath + relative containment 防止 `..` 和绝对路径逃逸。
- 逐段拒绝符号链接,并保护 `.env`、`.git`、`.ssh` 和常见私钥名。
- write tool 只能调用 `SafeWorkspace.writeReportDraft`,目标固定为 `report.md`,临时文件以独占创建并原子 rename。
@@ -42,10 +43,20 @@
- allowlist 只开放课堂所需 read-only 工具。
- 未知工具默认拒绝。
- `save_report_draft` 在 Pi tool preflight 阶段等待服务器 Broker。
- `save_report_draft`、真实指标查询 `metrics_semantic_query`、报告生成 `generate_minis_report` 在 Pi tool preflight 阶段等待服务器 Broker。查询审批展示实际参数与第三方模型数据处理提示。
- 审批绑定 approvalId、runId 和 toolCallId;支持 approve、deny、expired、cancelled。
- Browser 点击不是最终事实,只有 `approval.resolved` 事件能改变投影状态。
### Drama Minis 真实数据与报告
- 服务端使用官方 MCP SDK,固定 swads HTTPS 地址,禁止重定向,只开放身份、目录和语义查询;未开放广告修改接口。
- swads token 仅由服务端环境注入,缺失时明确失败。源工具结果按 token 精确脱敏,不使用模拟数据替代失败。
- 报告必须引用同一 Session 已成功的真实查询 ID,JSON 保存查询参数和原始返回;这提供可追溯性,但不自动证明模型计算的每个字段正确。
- 仅运行管理员指定 Skill 中的固定 Python 渲染脚本,模型不能指定任意命令。Python/Chrome 子进程不继承 API 凭证。Chrome 禁止背景网络并使用临时 profile;这不是通用网络隔离。
- 当前原始渲染器的图表单位固定为 USD,因此其他币种明确拒绝生成,不静默换算或合并。
- 下载限定 Session、注册 report ID 与 json/html/pdf 三种格式;no-store、nosniff、attachment、沙盒 CSP。PDF 失败时仅返回 HTML/JSON 及明确提示。
- 仍是单用户 localhost 原型,无用户级身份认证。不得直接暴露公网或作为多租户生产服务。
## 不提供的隔离
Pi 没有内置 Sandbox,Project Trust 也不是 Sandbox。Pi Agent、Extension、Sharp 和所有 Node 依赖继承启动进程的用户权限与网络权限。应用层路径校验和审批不能防御依赖漏洞、Node 进程逃逸、同用户数据读取或不受控的出站模型请求。