diff --git a/AGENTS.md b/AGENTS.md index a5adb46..80c0a87 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -129,6 +129,7 @@ - `pi-tool-search/` 的根依赖必须保持 `file:./pi-tool-search`,组合包直接加载 `pi-tool-search/extensions/index.ts`;同步上游时先核对本地增量动态工具改造,禁止用旧 npm 入口或上游旧宿主实现直接覆盖。 - 新引入或同步自维护扩展时,必须先联网确认其官方源码仓库地址,再从官方 Git 仓库的明确 tag/commit 拉取源码快照;禁止以 npm tarball、npm 缓存、`node_modules`、`dist/` 或其他预编译发布产物作为导入源。npm registry 只能用于核对包名、版本和发布元数据,不能替代源码仓库。 - 源码导入必须保留上游源码、测试、必要文档、许可证和来源记录,移除嵌套 `.git`、上游本地 `.pi` 状态、`node_modules`、覆盖率与构建产物,并在本文件和扩展来源说明中记录官方仓库、tag、commit 与版本。 +- 每个自维护扩展目录必须保留 `UPSTREAM.md` 来源记录,并且**必须用中文维护**:记录官方仓库、tag/commit、导入版本、导入日期、许可证归属、本地改动清单,以及同步上游时的约束。`UPSTREAM.md` 是仓库自有的维护文档,不是上游产物;上游自带的源码、测试、文档、README、CHANGELOG 与 `LICENSE` 一律保持上游原文,不翻译、不改写。新增扩展或同步上游导致来源信息变化时,必须同步更新该文件。 - `pi-notify/` 的根依赖必须保持 `file:./pi-notify`,组合包直接加载 `pi-notify/src/index.ts`;不得同时安装或加载 npm 预编译入口,否则会重复通知。 - 上游仅作为参考来源。同步上游改动时先核对本仓库已有修改,再按明确范围移植;不要直接覆盖本地实现。 - `install.sh`、`update.sh`、`uninstall.sh` 和 `search_config.sh` 必须保持 POSIX `sh` 兼容和可执行权限,并包含在根 `package.json` 的 `files` 中;修改脚本行为时同步更新 README 和本文件。 diff --git a/hippo-memory-pi/UPSTREAM.md b/hippo-memory-pi/UPSTREAM.md index 2111129..5afcde5 100644 --- a/hippo-memory-pi/UPSTREAM.md +++ b/hippo-memory-pi/UPSTREAM.md @@ -1,17 +1,11 @@ -# Upstream provenance +# 上游来源 -- Upstream repository: -- Imported release: `v1.33.0` -- Imported commit: `e928179a3b35e8fe5837878aed071d6025ced45c` -- Imported source: `extensions/pi-extension/` -- Initial import date: 2026-08-19 +- 上游仓库: +- 导入版本:`v1.33.0` +- 导入 commit:`e928179a3b35e8fe5837878aed071d6025ced45c` +- 导入源码路径:`extensions/pi-extension/` +- 初始导入日期:2026-08-19 -This directory contains the official Hippo Memory Pi extension source, which is -present in the upstream Git repository but excluded from the -`hippo-memory@1.33.0` npm tarball. The extension is maintained directly in -`my-pi`, is not a submodule, and does not retain a nested `.git` directory. +本目录包含官方 Hippo Memory Pi 扩展源码。该源码存在于上游 Git 仓库中,但被排除在 `hippo-memory@1.33.0` 的 npm tarball 之外。该扩展由 `my-pi` 直接维护,不是 submodule,也不保留嵌套 `.git` 目录。 -The matching CLI version is declared in `config/hippo-memory-version` and is -managed as an optional machine-level dependency by the bundle helper scripts. -Future upstream updates must be ported from an exact tag/commit and reviewed -against local changes rather than overwriting this directory wholesale. +匹配的 CLI 版本声明在 `config/hippo-memory-version` 中,由组合包便捷脚本作为可选的机器级依赖管理。未来同步上游时必须从明确 tag/commit 移植,并与本地改动对照审查,不得整体覆盖本目录。 diff --git a/pi-ask-user/UPSTREAM.md b/pi-ask-user/UPSTREAM.md index 7a8fdb0..901b9e0 100644 --- a/pi-ask-user/UPSTREAM.md +++ b/pi-ask-user/UPSTREAM.md @@ -1,12 +1,12 @@ -# Upstream sources +# 上游来源(多个) -`pi-ask-user` is maintained directly in this repository. Its initial UI and tool design was adapted from the following MIT-licensed Pi examples: +`pi-ask-user` 由本仓库直接维护。其初始 UI 与工具设计改编自以下 MIT 许可的 Pi 示例: - - -Initial reference snapshot: `dcd461925db2edf69a43c8135db1180d418afd54` (`main`, inspected 2026-08-24). +初始参考快照:`dcd461925db2edf69a43c8135db1180d418afd54`(`main`,查看于 2026-08-24)。 -The upstream `qna.ts` command is intentionally not included: this package only supports model-initiated questions. Local changes consolidate single and multi-question flows into one tool, add text questions, keep a user-controlled free-form escape hatch on every select question, validation, bounded schemas, cancellation/abort handling, width-aware rendering, IME focus propagation, and a standard Pi extension-UI fallback for dialog-capable RPC clients. +上游的 `qna.ts` 命令有意不包含:本包只支持由模型主动发起的提问。本地改动把单题与多题流程整合为一个工具,新增文本题,在每道选择型问题上保留用户可控的自由文本逃生口,并实现校验、有界 schema、取消/中止处理、宽度感知渲染、IME 焦点传播,以及为支持对话框的 RPC 客户端提供标准 Pi extension-UI 回退。 -The copied MIT license and original copyright notice are retained in `LICENSE`. +复制来的 MIT 许可证与原始版权声明保留在 `LICENSE` 中。 diff --git a/pi-chrome/UPSTREAM.md b/pi-chrome/UPSTREAM.md index a9b8587..893eb22 100644 --- a/pi-chrome/UPSTREAM.md +++ b/pi-chrome/UPSTREAM.md @@ -1,23 +1,23 @@ -# Upstream source +# 上游来源 -- Official repository: -- Imported npm version: `pi-chrome@0.15.46` -- Imported commit: `017ff4b9a639f0b8b213e58a3f30613fc38edcc8` -- Commit date: `2026-07-07T01:30:54-04:00` -- Import basis: the `gitHead` recorded in the official npm metadata for `pi-chrome@0.15.46`; no upstream tag points at this commit. -- Initial local import: 2026-08-28 +- 官方仓库: +- 导入 npm 版本:`pi-chrome@0.15.46` +- 导入 commit:`017ff4b9a639f0b8b213e58a3f30613fc38edcc8` +- Commit 日期:`2026-07-07T01:30:54-04:00` +- 导入依据:`pi-chrome@0.15.46` 官方 npm 元数据中记录的 `gitHead`;没有任何上游 tag 指向该 commit。 +- 初始本地导入:2026-08-28 -The tracked upstream source, tests, documentation, scripts, and license were imported from the official Git repository. Nested `.git`, dependency directories, coverage, and build output are not retained. +被跟踪的上游源码、测试、文档、脚本和许可证均从官方 Git 仓库导入。不保留嵌套 `.git`、依赖目录、覆盖率与构建产物。 -## Local maintenance +## 本地维护 -This directory is maintained directly by the `my-pi` bundle and is not a submodule. The root package loads `extensions/chrome-profile-bridge/index.ts` from this directory and depends on it through `file:./pi-chrome`; the npm prebuilt extension entry must not be loaded in parallel. +本目录由 `my-pi` 组合包直接维护,不是 submodule。根包加载本目录中的 `extensions/chrome-profile-bridge/index.ts`,并通过 `file:./pi-chrome` 依赖它;不得并行加载 npm 预编译扩展入口。 -Local changes after the import: +导入后的本地改动: -- Chrome snapshots are written atomically to owner-only, session-local files under the active project's `.pi/chrome-context/` directory instead of returning raw page structure to model context. -- Each session/target keeps only its latest snapshot; browser interactions invalidate stale captures and session shutdown removes the session directory. -- `chrome_find` returns compact ranked matches while keeping the complete structured snapshot in the session-local capture for optional `ctx_execute_file` analysis. -- `includeSnapshot=true` on click/type/fill/key saves the post-action snapshot and returns its capture path rather than embedding the snapshot in the tool result. +- Chrome 快照以原子方式写入当前项目 `.pi/chrome-context/` 目录下的 owner-only、Session 临时文件,而不是把原始页面结构返回给模型上下文。 +- 每个 Session/目标只保留最新快照;浏览器交互会使陈旧捕获失效,Session 关闭时移除该 Session 目录。 +- `chrome_find` 返回紧凑的排序匹配,同时把完整结构化快照保留在 Session 本地捕获中,供可选的 `ctx_execute_file` 分析使用。 +- click/type/fill/key 上的 `includeSnapshot=true` 会保存动作后的快照并返回其捕获路径,而不是把快照嵌入工具结果。 -When syncing upstream, compare against the imported commit and port changes selectively. Do not overwrite these local lifecycle, privacy, and Context Mode integrations wholesale. +同步上游时,请以导入 commit 为基准比较并选择性移植改动。不得整体覆盖这些本地生命周期、隐私和 Context Mode 集成。 diff --git a/pi-compaction/UPSTREAM.md b/pi-compaction/UPSTREAM.md index b26ad2e..2a88ebd 100644 --- a/pi-compaction/UPSTREAM.md +++ b/pi-compaction/UPSTREAM.md @@ -1,31 +1,31 @@ -# Upstream sources +# 上游来源(多个) -This package is maintained directly in `my-pi` and combines two separately licensed sources with a new local Context Authority. +本包由 `my-pi` 直接维护,组合了两份独立许可的来源,并新增了一套本地 Context Authority。 -## pi-condense reference +## pi-condense 参考 -- Official repository: https://github.com/jjuraszek/pi-condense -- Snapshot: `59c95110aacd8131db71e21296765dd80b72fae8` -- Tag/version: `v2.9.1` -- Used as a behavioral and summarizer-reliability reference. The new segment/index/runtime implementation is local and intentionally does not retain legacy formats. -- License: `LICENSES/pi-condense-MIT.txt` +- 官方仓库:https://github.com/jjuraszek/pi-condense +- 快照:`59c95110aacd8131db71e21296765dd80b72fae8` +- Tag/版本:`v2.9.1` +- 作为行为与摘要器可靠性参考使用。新的 segment/index/runtime 实现为本地实现,且有意不保留旧格式。 +- 许可证:`LICENSES/pi-condense-MIT.txt` -## Pi Codex compaction source +## Pi Codex compaction 源码 -- Official repository: https://github.com/ogulcancelik/pi-extensions -- Package path: `packages/pi-codex-compaction/` -- Snapshot: `c4d6ca8fb484ba51684296ba8b4715f8c7b3ac91` -- Version at snapshot: `0.1.4` -- Imported source: remote compaction protocol, Response API conversion, retention helpers, retry parsing, and request sanitization in `src/native-compaction.ts`. -- Local changes: unified checkpoint kind/version, removed raw-branch effective-input construction and legacy checkpoint parsing, exported the shared message projection, made retained-user budget configurable, and renamed the client user agent. -- License: `LICENSES/pi-codex-compaction-MIT.txt` +- 官方仓库:https://github.com/ogulcancelik/pi-extensions +- 包路径:`packages/pi-codex-compaction/` +- 快照:`c4d6ca8fb484ba51684296ba8b4715f8c7b3ac91` +- 快照时版本:`0.1.4` +- 导入源码:`src/native-compaction.ts` 中的远端压缩协议、Response API 转换、保留辅助函数、重试解析和请求净化。 +- 本地改动:统一 checkpoint kind/version,移除 raw-branch effective-input 构造与旧 checkpoint 解析,导出共享消息投影,使保留用户预算可配置,并重命名客户端 user agent。 +- 许可证:`LICENSES/pi-codex-compaction-MIT.txt` -No npm tarball, npm cache, `node_modules`, build output, or nested Git metadata is used as an import source. +不得以 npm tarball、npm 缓存、`node_modules`、构建产物或嵌套 Git 元数据作为导入源。 -## Sub2API protocol reference +## Sub2API 协议参考 -- Official repository: https://github.com/Wei-Shaw/sub2api -- Reference commit: `ab99d56e9626e6cd731592dae8553c9758a0efa2` -- Protocol evidence: `backend/internal/service/openai_compact_body_signal.go` identifies native remote compaction v2 as Responses plus `stream: true` and `compaction_trigger`, and handles the Codex beta feature. -- The local `src/native-provider.ts` adapter is independently implemented against that protocol. No Sub2API source was imported; the existing Codex serializer, stream parser and checkpoint format are reused. -- This reference describes upstream capability, not a guarantee about any particular deployment, model or account. The separate Responses compact endpoint is not used by this adapter. +- 官方仓库:https://github.com/Wei-Shaw/sub2api +- 参考 commit:`ab99d56e9626e6cd731592dae8553c9758a0efa2` +- 协议证据:`backend/internal/service/openai_compact_body_signal.go` 指出原生远端压缩 v2 为 Responses 加 `stream: true` 与 `compaction_trigger`,并处理 Codex beta 特性。 +- 本地 `src/native-provider.ts` 适配器是针对该协议独立实现的。没有导入任何 Sub2API 源码;复用现有 Codex 序列化器、流解析器和 checkpoint 格式。 +- 该参考描述的是上游能力,不构成对任何特定部署、模型或账号的保证。本适配器不使用单独的 Responses compact 端点。 diff --git a/pi-extension-codex-fast-mode/UPSTREAM.md b/pi-extension-codex-fast-mode/UPSTREAM.md index 01b2c63..fe0e5e5 100644 --- a/pi-extension-codex-fast-mode/UPSTREAM.md +++ b/pi-extension-codex-fast-mode/UPSTREAM.md @@ -1,13 +1,13 @@ -# Upstream provenance +# 上游来源 -- Upstream repository: -- Imported package: `@firstpick/pi-extension-codex-fast-mode@0.1.1` -- Initial source snapshot: `f1d0efd24a7f4ae99d19e10c5f4c3770a3bdd845` (2026-08-18) -- Published npm source commit: `239829d747deae4d9c0f039421ab29440f40f1a2`; the only later upstream change in this directory at the imported snapshot was the package version bump from `0.1.0` to `0.1.1`. -- License: MIT; the upstream `LICENSE` file is retained unchanged. +- 上游仓库: +- 导入包:`@firstpick/pi-extension-codex-fast-mode@0.1.1` +- 初始源码快照:`f1d0efd24a7f4ae99d19e10c5f4c3770a3bdd845`(2026-08-18) +- 已发布的 npm 源码 commit:`239829d747deae4d9c0f039421ab29440f40f1a2`;在导入快照时,本目录内唯一更晚的上游改动是包版本从 `0.1.0` 升到 `0.1.1`。 +- 许可证:MIT;上游 `LICENSE` 文件原样保留。 -## Local maintenance +## 本地维护 -This directory was imported from the upstream Git repository and is maintained directly in `my-pi`. It is not a submodule and does not retain upstream `.git` state, dependencies, or build output. +本目录从上游 Git 仓库导入,并由 `my-pi` 直接维护。它不是 submodule,也不保留上游 `.git` 状态、依赖或构建产物。 -Local changes add an owner-only, atomically written global Fast mode preference. New sessions inherit that preference, while existing Pi custom session entries continue to preserve branch-specific history. The root bundle loads this source directly and uses a local `file:` dependency instead of the npm package. +本地改动新增了一个 owner-only、原子写入的全局 Fast mode 偏好。新会话继承该偏好,而已有的 Pi 自定义 Session 记录继续保留分支特定历史。根组合包直接加载本源码,并使用本地 `file:` 依赖替代 npm 包。 diff --git a/pi-minimal-footer/UPSTREAM.md b/pi-minimal-footer/UPSTREAM.md index 11923b0..ad7da5a 100644 --- a/pi-minimal-footer/UPSTREAM.md +++ b/pi-minimal-footer/UPSTREAM.md @@ -1,8 +1,8 @@ -# Upstream source +# 上游来源 -- Repository: -- Imported commit: `77bd1e175003cd08e6d05d9e7fed695f86ae87b7` -- Imported package version: `@ogulcancelik/pi-minimal-footer@0.1.10` -- Imported on: 2026-08-19 +- 仓库: +- 导入 commit:`77bd1e175003cd08e6d05d9e7fed695f86ae87b7` +- 导入包版本:`@ogulcancelik/pi-minimal-footer@0.1.10` +- 导入日期:2026-08-19 -This directory is maintained directly by `my-pi`; it is not a submodule and does not retain upstream Git metadata. Local changes add rendering for Pi extension statuses, including an explicit `Fast on` indicator for `@firstpick/pi-extension-codex-fast-mode`. +本目录由 `my-pi` 直接维护;它不是 submodule,也不保留上游 Git 元数据。本地改动新增了 Pi 扩展状态渲染,包括为 `@firstpick/pi-extension-codex-fast-mode` 显示显式的 `Fast on` 指示。 diff --git a/pi-notify/UPSTREAM.md b/pi-notify/UPSTREAM.md index c667ac2..739b6fa 100644 --- a/pi-notify/UPSTREAM.md +++ b/pi-notify/UPSTREAM.md @@ -1,22 +1,22 @@ -# Upstream source +# 上游来源 -- Project: `@smoose/pi-notify` -- Repository: -- Imported npm version: `0.1.1` -- Imported commit: `3a3691ab690b4bc37a4412ab0dcbd35ef14adcbf` -- Commit date: 2026-06-02 -- npm tarball and repository source were compared before import. +- 项目:`@smoose/pi-notify` +- 仓库: +- 导入 npm 版本:`0.1.1` +- 导入 commit:`3a3691ab690b4bc37a4412ab0dcbd35ef14adcbf` +- Commit 日期:2026-06-02 +- 导入前已对比 npm tarball 与仓库源码。 -The source is maintained directly in this repository. It is not a submodule and does not retain an embedded `.git` directory or upstream build artifacts. +源码由本仓库直接维护。它不是 submodule,也不保留内嵌 `.git` 目录或上游构建产物。 -## Local changes +## 本地改动 -- Notify on `agent_settled` rather than `agent_end`, preserving elapsed time and the latest messages across retries. -- Restrict terminal output to TUI mode so OSC sequences cannot corrupt RPC, JSON, or print output. -- Give each Pi session a stable unique OSC 99 notification ID. -- Make Kitty click-to-focus explicit and default visibility to `always`, while retaining `unfocused` and `invisible` as opt-in policies. -- Add duration filtering, enable/privacy/action settings, status template fields, and `/notify` controls. -- Keep Base64 Kitty payloads, harden OSC metadata/fallback sanitization, and ignore detached-process spawn errors. -- Add lifecycle, multi-window metadata, fallback, parser, and configuration tests. +- 在 `agent_settled` 而非 `agent_end` 时通知,在重试期间保留已用时长和最新消息。 +- 将终端输出限制在 TUI 模式,使 OSC 序列不会破坏 RPC、JSON 或 print 输出。 +- 为每个 Pi Session 提供稳定的唯一 OSC 99 通知 ID。 +- 将 Kitty 点击聚焦改为显式设置,并把可见性默认值设为 `always`,同时保留 `unfocused` 与 `invisible` 作为可选策略。 +- 新增时长过滤、启用/隐私/动作设置、状态模板字段和 `/notify` 控制。 +- 保留 Base64 Kitty payload,加固 OSC 元数据/回退净化,并忽略分离进程的 spawn 错误。 +- 新增生命周期、多窗口元数据、回退、解析器和配置测试。 -Upstream declares the project under the MIT license but did not include a `LICENSE` file at the imported commit or in the npm tarball. This directory adds the standard MIT text using the upstream author's GitHub identity and commit year so the declared license travels with the maintained source. +上游声明本项目使用 MIT 许可证,但在导入的 commit 和 npm tarball 中都没有包含 `LICENSE` 文件。本目录使用上游作者的 GitHub 身份和 commit 年份补充标准 MIT 文本,使声明的许可证随维护源码一起保留。 diff --git a/pi-permission-system/docs/auto-review/UPSTREAM.md b/pi-permission-system/docs/auto-review/UPSTREAM.md index 8a4d9a1..ffea3f9 100644 --- a/pi-permission-system/docs/auto-review/UPSTREAM.md +++ b/pi-permission-system/docs/auto-review/UPSTREAM.md @@ -1,20 +1,16 @@ -# AutoReview upstream source +# AutoReview 上游来源 -The built-in AutoReview implementation under `src/auto-review/` was imported from: +`src/auto-review/` 下的内置 AutoReview 实现导入自: -- Repository: -- Snapshot: `8d196e4ef0884cac8326c366191dad3f585d470a` -- Package version: `@mzwing/pi-permission-auto-review@0.2.0` +- 仓库: +- 快照:`8d196e4ef0884cac8326c366191dad3f585d470a` +- 包版本:`@mzwing/pi-permission-auto-review@0.2.0` -The original MIT license is preserved at -`LICENSES/pi-permission-auto-review-MIT.txt`. +原始 MIT 许可证保留在 `LICENSES/pi-permission-auto-review-MIT.txt`。 -Local integration changes: +本地集成改动: -- AutoReview is an internal authorizer of `pi-permission-system` rather than a - separately loaded Pi extension. -- Configuration is read from the unified `policy.jsonc`. -- Completed automatic decisions feed a count-based ledger and an isolated, - tool-free background analysis agent. -- Analysis proposals are delivered back into the active Pi session and never - modify policy without explicit user confirmation. +- AutoReview 是 `pi-permission-system` 的内置 authorizer,而不是单独加载的 Pi 扩展。 +- 配置从统一的 `policy.jsonc` 读取。 +- 完成的自动裁决进入基于计数的 ledger 和一个隔离的、无工具的后台分析 Agent。 +- 分析建议回传到当前活跃的 Pi Session,且在用户明确确认前绝不修改策略。 diff --git a/pi-ssh/UPSTREAM.md b/pi-ssh/UPSTREAM.md index 78d4025..1e498cc 100644 --- a/pi-ssh/UPSTREAM.md +++ b/pi-ssh/UPSTREAM.md @@ -1,12 +1,12 @@ -# Upstream Source +# 上游来源 -This directory was imported from the source repository and is maintained directly in `my-pi`. +本目录从源码仓库导入,并由 `my-pi` 直接维护。 -- Upstream: -- Initial snapshot: `e9a1059a0f37ab14b6a73ee608cb203edf803f31` -- Upstream version: `0.7.0` -- Snapshot date: 2026-06-23 +- 上游: +- 初始快照:`e9a1059a0f37ab14b6a73ee608cb203edf803f31` +- 上游版本:`0.7.0` +- 快照日期:2026-06-23 -Pure-`ssh2` connection management was designed with reference to `@99percentpeople/pi-ssh-remote` in at commit `fe4c44f3b4d4b52bd2c31d6d4d5a833c4ad60d9d`. The local implementation keeps this fork's dedicated `ssh_*` tools and does not import that extension's local-tool override or OpenSSH fallback model. +纯 `ssh2` 连接管理在设计时参考了 中 `@99percentpeople/pi-ssh-remote` 的 commit `fe4c44f3b4d4b52bd2c31d6d4d5a833c4ad60d9d`。本地实现保留本 fork 专属的 `ssh_*` 工具,不导入该扩展的本地工具覆盖或 OpenSSH 回退模型。 -The directory is not a Git submodule and intentionally contains no nested `.git`, `node_modules`, or generated build artifacts. Future upstream changes must be reviewed and ported from an explicit tag or commit without overwriting local modifications. +本目录不是 Git submodule,且有意不包含嵌套 `.git`、`node_modules` 或生成的构建产物。未来同步上游时必须从明确 tag 或 commit 审查并移植,不得覆盖本地修改。 diff --git a/pi-subagents/UPSTREAM.md b/pi-subagents/UPSTREAM.md index 04a51b0..ad0553c 100644 --- a/pi-subagents/UPSTREAM.md +++ b/pi-subagents/UPSTREAM.md @@ -1,16 +1,16 @@ -# Upstream provenance +# 上游来源 -- Upstream: -- Imported tag: `v0.18.0` -- Imported commit: `3f9d35cd078d18a141eb5a6d8f4fc5010d756280` -- Snapshot date: 2026-08-20 -- Upstream package version: `0.18.0` -- License: MIT +- 上游: +- 导入 tag:`v0.18.0` +- 导入 commit:`3f9d35cd078d18a141eb5a6d8f4fc5010d756280` +- 快照日期:2026-08-20 +- 上游包版本:`0.18.0` +- 许可证:MIT -## Local maintenance +## 本地维护 -This directory is maintained directly by the `my-pi` repository. It is not a submodule and must not contain a nested `.git`, upstream `.pi` state, `node_modules`, coverage output, or generated build output. +本目录由 `my-pi` 仓库直接维护。它不是 submodule,且不得包含嵌套 `.git`、上游 `.pi` 状态、`node_modules`、覆盖率输出或生成的构建产物。 -The initial import preserves the upstream TypeScript source, tests, examples, documentation, media, package metadata, and license. The upstream `.github/` automation and local `.pi/` state were intentionally not imported. +初始导入保留了上游 TypeScript 源码、测试、示例、文档、媒体、包元数据和许可证。上游 `.github/` 自动化与本地 `.pi/` 状态有意未导入。 -The source is included in the root package and installed through the root `file:./pi-subagents` dependency, while the host-owned `extensions/subagents.ts` wrapper is default-loaded from root `pi.extensions`. The local snapshot adds the documented permission child lifecycle bridge, root-authority forwarding identity, active-agent identity, and host-owned exact-path mandatory extension policy. The bundle wrapper protects `extensions/permission-system.ts` from Agent-controlled extension filtering and fails closed if that entry is unavailable. Root orchestration tools are assigned to Tool Search's checked-in `subagents` group, and Pi host peers are marked optional so the bundle does not install a second Pi runtime. +源码包含在根包中,并通过根 `file:./pi-subagents` 依赖安装,而宿主自有的 `extensions/subagents.ts` wrapper 当前不由根 `pi.extensions` 默认加载。本地快照新增了文档化的权限子会话生命周期桥接、根 authority 转发身份、活跃 Agent 身份,以及宿主自有的精确路径 mandatory extension 策略。组合包 wrapper 保护 `extensions/permission-system.ts` 免受 Agent 控制的扩展过滤,并在该入口不可用时 fail closed。根编排工具归入 Tool Search 已提交的 `subagents` 分组,Pi host peer 标记为 optional,以免组合包安装第二套 Pi runtime。 diff --git a/pi-tool-search/UPSTREAM.md b/pi-tool-search/UPSTREAM.md index 5818e41..1620f3d 100644 --- a/pi-tool-search/UPSTREAM.md +++ b/pi-tool-search/UPSTREAM.md @@ -1,18 +1,18 @@ -# Upstream provenance +# 上游来源 -- Upstream: -- Imported tag: `v0.3.6` -- Imported commit: `ddfb23646fd3957b791214de278e23aa393c9b13` -- Snapshot date: 2026-08-19 -- Upstream package version: `0.3.6` -- License declared by upstream package metadata: MIT +- 上游: +- 导入 tag:`v0.3.6` +- 导入 commit:`ddfb23646fd3957b791214de278e23aa393c9b13` +- 快照日期:2026-08-19 +- 上游包版本:`0.3.6` +- 上游包元数据声明的许可证:MIT -The upstream repository did not contain a `LICENSE` file at this snapshot. This directory adds the standard MIT text using the author identity declared in upstream `package.json`. +上游仓库在该快照中没有 `LICENSE` 文件。本目录使用上游 `package.json` 中声明的作者身份补充标准 MIT 文本。 -## Local maintenance +## 本地维护 -This directory is maintained directly by the `my-pi` repository. It is not a submodule and must not contain a nested `.git`, `.pi` state, `node_modules`, or generated build output. +本目录由 `my-pi` 仓库直接维护。它不是 submodule,且不得包含嵌套 `.git`、`.pi` 状态、`node_modules` 或生成的构建产物。 -The initial local adaptation replaces the retired `@mariozechner/pi-coding-agent` and `@sinclair/typebox` imports with the current `@earendil-works/pi-coding-agent` and `typebox` host APIs, and removes the hidden `sendMessage` steer workaround. +初始本地适配把已退役的 `@mariozechner/pi-coding-agent` 与 `@sinclair/typebox` 导入替换为当前 `@earendil-works/pi-coding-agent` 与 `typebox` 宿主 API,并移除了隐藏的 `sendMessage` steer 变通实现。 -The maintained implementation now diverges further from the upstream add-only exact-name manifest: it ships authoritative groups for the tools exposed by `my-pi`, optionally builds strictly validated model metadata only for unrecognized third-party tools, activates original schemas by group, and bounds long-session growth with pinned tools plus group-level LRU eviction. Standard bundle users need neither first-use model generation nor a user cache. Pure additions use current Pi's native incremental propagation; replacements intentionally use the host's safe fallback. +当前维护的实现已进一步偏离上游的 add-only 精确名称清单:它为 `my-pi` 暴露的工具提供权威分组,只为未识别的第三方工具可选地构建经过严格校验的模型元数据,按分组激活原始 schema,并通过固定工具加分组级 LRU 淘汰来限制长会话增长。标准组合包用户既不需要首次使用的模型生成,也不需要用户缓存。纯新增使用当前 Pi 的原生增量传播;替换则有意使用宿主的安全 fallback。