docs(upstream): 将 UPSTREAM.md 来源记录统一改为中文维护

把 12 份 UPSTREAM.md 来源记录全部翻译为中文,并把中文定为这份仓库自有
维护文档的强制语言。

- 翻译 hippo-memory-pi、pi-ask-user、pi-chrome、pi-compaction、
  pi-extension-codex-fast-mode、pi-minimal-footer、pi-notify、
  pi-permission-system/docs/auto-review、pi-ssh、pi-subagents 与
  pi-tool-search 的来源记录。
- 在 AGENTS.md 增加纪律:每个自维护扩展目录必须保留中文 UPSTREAM.md,
  内容涵盖官方仓库、tag/commit、导入版本、导入日期、许可证归属、本地
  改动清单与同步上游时的约束。
- 明确边界:UPSTREAM.md 属于仓库自有的维护文档,因此使用中文;上游自带
  的源码、测试、文档、README、CHANGELOG 与 LICENSE 一律保持原文,不翻
  译、不改写,避免同步上游时产生无意义 diff 并破坏许可证原文完整性。
- 所有 40 位 commit、tag/版本号、仓库 URL 与许可证路径原样保留,仅翻译
  叙述性文字。

验证:12 份文件均无残留英文正文;逐份复核了 commit、版本、URL 与
LICENSES/ 路径未发生改变。
This commit is contained in:
云服务部-叶林立
2026-10-13 23:19:01 -07:00
parent ff1e7400da
commit 879fc5d37f
12 changed files with 127 additions and 136 deletions
+1
View File
@@ -129,6 +129,7 @@
- `pi-tool-search/` 的根依赖必须保持 `file:./pi-tool-search`,组合包直接加载 `pi-tool-search/extensions/index.ts`;同步上游时先核对本地增量动态工具改造,禁止用旧 npm 入口或上游旧宿主实现直接覆盖。 - `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 仓库的明确 tag/commit 拉取源码快照;禁止以 npm tarball、npm 缓存、`node_modules`、`dist/` 或其他预编译发布产物作为导入源。npm registry 只能用于核对包名、版本和发布元数据,不能替代源码仓库。
- 源码导入必须保留上游源码、测试、必要文档、许可证和来源记录,移除嵌套 `.git`、上游本地 `.pi` 状态、`node_modules`、覆盖率与构建产物,并在本文件和扩展来源说明中记录官方仓库、tag、commit 与版本。 - 源码导入必须保留上游源码、测试、必要文档、许可证和来源记录,移除嵌套 `.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 预编译入口,否则会重复通知。 - `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 和本文件。 - `install.sh`、`update.sh`、`uninstall.sh` 和 `search_config.sh` 必须保持 POSIX `sh` 兼容和可执行权限,并包含在根 `package.json` 的 `files` 中;修改脚本行为时同步更新 README 和本文件。
+8 -14
View File
@@ -1,17 +1,11 @@
# Upstream provenance # 上游来源
- Upstream repository: <https://github.com/kitfunso/hippo-memory> - 上游仓库:<https://github.com/kitfunso/hippo-memory>
- Imported release: `v1.33.0` - 导入版本:`v1.33.0`
- Imported commit: `e928179a3b35e8fe5837878aed071d6025ced45c` - 导入 commit:`e928179a3b35e8fe5837878aed071d6025ced45c`
- Imported source: `extensions/pi-extension/` - 导入源码路径:`extensions/pi-extension/`
- Initial import date: 2026-08-19 - 初始导入日期:2026-08-19
This directory contains the official Hippo Memory Pi extension source, which is 本目录包含官方 Hippo Memory Pi 扩展源码。该源码存在于上游 Git 仓库中,但被排除在 `hippo-memory@1.33.0` 的 npm tarball 之外。该扩展由 `my-pi` 直接维护,不是 submodule,也不保留嵌套 `.git` 目录。
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.
The matching CLI version is declared in `config/hippo-memory-version` and is 匹配的 CLI 版本声明在 `config/hippo-memory-version` 中,由组合包便捷脚本作为可选的机器级依赖管理。未来同步上游时必须从明确 tag/commit 移植,并与本地改动对照审查,不得整体覆盖本目录。
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.
+5 -5
View File
@@ -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 示例:
- <https://github.com/earendil-works/pi/blob/dcd461925db2edf69a43c8135db1180d418afd54/packages/coding-agent/examples/extensions/question.ts> - <https://github.com/earendil-works/pi/blob/dcd461925db2edf69a43c8135db1180d418afd54/packages/coding-agent/examples/extensions/question.ts>
- <https://github.com/earendil-works/pi/blob/dcd461925db2edf69a43c8135db1180d418afd54/packages/coding-agent/examples/extensions/questionnaire.ts> - <https://github.com/earendil-works/pi/blob/dcd461925db2edf69a43c8135db1180d418afd54/packages/coding-agent/examples/extensions/questionnaire.ts>
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` 中。
+16 -16
View File
@@ -1,23 +1,23 @@
# Upstream source # 上游来源
- Official repository: <https://github.com/tianrendong/pi-chrome> - 官方仓库:<https://github.com/tianrendong/pi-chrome>
- Imported npm version: `pi-chrome@0.15.46` - 导入 npm 版本:`pi-chrome@0.15.46`
- Imported commit: `017ff4b9a639f0b8b213e58a3f30613fc38edcc8` - 导入 commit:`017ff4b9a639f0b8b213e58a3f30613fc38edcc8`
- Commit date: `2026-07-07T01:30:54-04:00` - Commit 日期:`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. - 导入依据:`pi-chrome@0.15.46` 官方 npm 元数据中记录的 `gitHead`;没有任何上游 tag 指向该 commit。
- Initial local import: 2026-08-28 - 初始本地导入: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. - Chrome 快照以原子方式写入当前项目 `.pi/chrome-context/` 目录下的 owner-only、Session 临时文件,而不是把原始页面结构返回给模型上下文。
- Each session/target keeps only its latest snapshot; browser interactions invalidate stale captures and session shutdown removes the session directory. - 每个 Session/目标只保留最新快照;浏览器交互会使陈旧捕获失效,Session 关闭时移除该 Session 目录。
- `chrome_find` returns compact ranked matches while keeping the complete structured snapshot in the session-local capture for optional `ctx_execute_file` analysis. - `chrome_find` 返回紧凑的排序匹配,同时把完整结构化快照保留在 Session 本地捕获中,供可选的 `ctx_execute_file` 分析使用。
- `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. - 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 集成。
+23 -23
View File
@@ -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 - 官方仓库:https://github.com/jjuraszek/pi-condense
- Snapshot: `59c95110aacd8131db71e21296765dd80b72fae8` - 快照:`59c95110aacd8131db71e21296765dd80b72fae8`
- Tag/version: `v2.9.1` - Tag/版本:`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. - 作为行为与摘要器可靠性参考使用。新的 segment/index/runtime 实现为本地实现,且有意不保留旧格式。
- License: `LICENSES/pi-condense-MIT.txt` - 许可证:`LICENSES/pi-condense-MIT.txt`
## Pi Codex compaction source ## Pi Codex compaction 源码
- Official repository: https://github.com/ogulcancelik/pi-extensions - 官方仓库:https://github.com/ogulcancelik/pi-extensions
- Package path: `packages/pi-codex-compaction/` - 包路径:`packages/pi-codex-compaction/`
- Snapshot: `c4d6ca8fb484ba51684296ba8b4715f8c7b3ac91` - 快照:`c4d6ca8fb484ba51684296ba8b4715f8c7b3ac91`
- Version at snapshot: `0.1.4` - 快照时版本:`0.1.4`
- Imported source: remote compaction protocol, Response API conversion, retention helpers, retry parsing, and request sanitization in `src/native-compaction.ts`. - 导入源码:`src/native-compaction.ts` 中的远端压缩协议、Response API 转换、保留辅助函数、重试解析和请求净化。
- 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. - 本地改动:统一 checkpoint kind/version,移除 raw-branch effective-input 构造与旧 checkpoint 解析,导出共享消息投影,使保留用户预算可配置,并重命名客户端 user agent。
- License: `LICENSES/pi-codex-compaction-MIT.txt` - 许可证:`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 - 官方仓库:https://github.com/Wei-Shaw/sub2api
- Reference commit: `ab99d56e9626e6cd731592dae8553c9758a0efa2` - 参考 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. - 协议证据:`backend/internal/service/openai_compact_body_signal.go` 指出原生远端压缩 v2 为 Responses 加 `stream: true` 与 `compaction_trigger`,并处理 Codex beta 特性。
- 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. - 本地 `src/native-provider.ts` 适配器是针对该协议独立实现的。没有导入任何 Sub2API 源码;复用现有 Codex 序列化器、流解析器和 checkpoint 格式。
- 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. - 该参考描述的是上游能力,不构成对任何特定部署、模型或账号的保证。本适配器不使用单独的 Responses compact 端点。
+9 -9
View File
@@ -1,13 +1,13 @@
# Upstream provenance # 上游来源
- Upstream repository: <https://github.com/Firstp1ck/pi-coding-agent-forge/tree/main/pi-extension-codex-fast-mode> - 上游仓库:<https://github.com/Firstp1ck/pi-coding-agent-forge/tree/main/pi-extension-codex-fast-mode>
- Imported package: `@firstpick/pi-extension-codex-fast-mode@0.1.1` - 导入包:`@firstpick/pi-extension-codex-fast-mode@0.1.1`
- Initial source snapshot: `f1d0efd24a7f4ae99d19e10c5f4c3770a3bdd845` (2026-08-18) - 初始源码快照:`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`. - 已发布的 npm 源码 commit:`239829d747deae4d9c0f039421ab29440f40f1a2`;在导入快照时,本目录内唯一更晚的上游改动是包版本从 `0.1.0` 升到 `0.1.1`。
- License: MIT; the upstream `LICENSE` file is retained unchanged. - 许可证: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 包。
+6 -6
View File
@@ -1,8 +1,8 @@
# Upstream source # 上游来源
- Repository: <https://github.com/ogulcancelik/pi-extensions/tree/main/packages/pi-minimal-footer> - 仓库:<https://github.com/ogulcancelik/pi-extensions/tree/main/packages/pi-minimal-footer>
- Imported commit: `77bd1e175003cd08e6d05d9e7fed695f86ae87b7` - 导入 commit:`77bd1e175003cd08e6d05d9e7fed695f86ae87b7`
- Imported package version: `@ogulcancelik/pi-minimal-footer@0.1.10` - 导入包版本:`@ogulcancelik/pi-minimal-footer@0.1.10`
- Imported on: 2026-08-19 - 导入日期: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` 指示。
+17 -17
View File
@@ -1,22 +1,22 @@
# Upstream source # 上游来源
- Project: `@smoose/pi-notify` - 项目:`@smoose/pi-notify`
- Repository: <https://github.com/smoosex/pi-notify> - 仓库:<https://github.com/smoosex/pi-notify>
- Imported npm version: `0.1.1` - 导入 npm 版本:`0.1.1`
- Imported commit: `3a3691ab690b4bc37a4412ab0dcbd35ef14adcbf` - 导入 commit:`3a3691ab690b4bc37a4412ab0dcbd35ef14adcbf`
- Commit date: 2026-06-02 - Commit 日期:2026-06-02
- npm tarball and repository source were compared before import. - 导入前已对比 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. - 在 `agent_settled` 而非 `agent_end` 时通知,在重试期间保留已用时长和最新消息。
- Restrict terminal output to TUI mode so OSC sequences cannot corrupt RPC, JSON, or print output. - 将终端输出限制在 TUI 模式,使 OSC 序列不会破坏 RPC、JSON 或 print 输出。
- Give each Pi session a stable unique OSC 99 notification ID. - 为每个 Pi Session 提供稳定的唯一 OSC 99 通知 ID。
- Make Kitty click-to-focus explicit and default visibility to `always`, while retaining `unfocused` and `invisible` as opt-in policies. - 将 Kitty 点击聚焦改为显式设置,并把可见性默认值设为 `always`,同时保留 `unfocused` 与 `invisible` 作为可选策略。
- Add duration filtering, enable/privacy/action settings, status template fields, and `/notify` controls. - 新增时长过滤、启用/隐私/动作设置、状态模板字段和 `/notify` 控制。
- Keep Base64 Kitty payloads, harden OSC metadata/fallback sanitization, and ignore detached-process spawn errors. - 保留 Base64 Kitty payload,加固 OSC 元数据/回退净化,并忽略分离进程的 spawn 错误。
- Add lifecycle, multi-window metadata, fallback, parser, and configuration tests. - 新增生命周期、多窗口元数据、回退、解析器和配置测试。
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 文本,使声明的许可证随维护源码一起保留。
@@ -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: <https://github.com/mzwing/pi-packages/tree/main/packages/pi-permission-auto-review> - 仓库:<https://github.com/mzwing/pi-packages/tree/main/packages/pi-permission-auto-review>
- Snapshot: `8d196e4ef0884cac8326c366191dad3f585d470a` - 快照:`8d196e4ef0884cac8326c366191dad3f585d470a`
- Package version: `@mzwing/pi-permission-auto-review@0.2.0` - 包版本:`@mzwing/pi-permission-auto-review@0.2.0`
The original MIT license is preserved at 原始 MIT 许可证保留在 `LICENSES/pi-permission-auto-review-MIT.txt`。
`LICENSES/pi-permission-auto-review-MIT.txt`.
Local integration changes: 本地集成改动:
- AutoReview is an internal authorizer of `pi-permission-system` rather than a - AutoReview 是 `pi-permission-system` 的内置 authorizer,而不是单独加载的 Pi 扩展。
separately loaded Pi extension. - 配置从统一的 `policy.jsonc` 读取。
- Configuration is read from the unified `policy.jsonc`. - 完成的自动裁决进入基于计数的 ledger 和一个隔离的、无工具的后台分析 Agent。
- Completed automatic decisions feed a count-based ledger and an isolated, - 分析建议回传到当前活跃的 Pi Session,且在用户明确确认前绝不修改策略。
tool-free background analysis agent.
- Analysis proposals are delivered back into the active Pi session and never
modify policy without explicit user confirmation.
+8 -8
View File
@@ -1,12 +1,12 @@
# Upstream Source # 上游来源
This directory was imported from the source repository and is maintained directly in `my-pi`. 本目录从源码仓库导入,并由 `my-pi` 直接维护。
- Upstream: <https://github.com/pansapiens/pi-ssh> - 上游:<https://github.com/pansapiens/pi-ssh>
- Initial snapshot: `e9a1059a0f37ab14b6a73ee608cb203edf803f31` - 初始快照:`e9a1059a0f37ab14b6a73ee608cb203edf803f31`
- Upstream version: `0.7.0` - 上游版本:`0.7.0`
- Snapshot date: 2026-06-23 - 快照日期:2026-06-23
Pure-`ssh2` connection management was designed with reference to `@99percentpeople/pi-ssh-remote` in <https://github.com/99percentpeople/pi-extensions> 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` 连接管理在设计时参考了 <https://github.com/99percentpeople/pi-extensions> 中 `@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 审查并移植,不得覆盖本地修改。
+11 -11
View File
@@ -1,16 +1,16 @@
# Upstream provenance # 上游来源
- Upstream: <https://github.com/tintinweb/pi-subagents> - 上游:<https://github.com/tintinweb/pi-subagents>
- Imported tag: `v0.18.0` - 导入 tag:`v0.18.0`
- Imported commit: `3f9d35cd078d18a141eb5a6d8f4fc5010d756280` - 导入 commit:`3f9d35cd078d18a141eb5a6d8f4fc5010d756280`
- Snapshot date: 2026-08-20 - 快照日期:2026-08-20
- Upstream package version: `0.18.0` - 上游包版本:`0.18.0`
- License: MIT - 许可证: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。
+12 -12
View File
@@ -1,18 +1,18 @@
# Upstream provenance # 上游来源
- Upstream: <https://github.com/tuansondinh/pi-tool-search> - 上游:<https://github.com/tuansondinh/pi-tool-search>
- Imported tag: `v0.3.6` - 导入 tag:`v0.3.6`
- Imported commit: `ddfb23646fd3957b791214de278e23aa393c9b13` - 导入 commit:`ddfb23646fd3957b791214de278e23aa393c9b13`
- Snapshot date: 2026-08-19 - 快照日期:2026-08-19
- Upstream package version: `0.3.6` - 上游包版本:`0.3.6`
- License declared by upstream package metadata: MIT - 上游包元数据声明的许可证: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。