🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

智能体扩展合集 5aaee9/pi-agent-extensions

DeepSeek Harnessv0.5.6
5aaee93 天前有提交已提供中文文档扫描:含敏感能力

一套扩展集合,面向 pi coding agent,也面向 dsh DeepSeek Harness coding…

37.7/100
综合分
3
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/11/3 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

自动兼容检查未通过:缺少 main/exports/bin 入口声明;仓库 package.json 标记 private,未发布到 npm,需从源码安装。以下命令仍可尝试,但可能失败。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add 5aaee9/pi-agent-extensions
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:需留意
是什么
dsh 原生插件 · other
装得上吗
npm 包存在但缺 main/exports/bin 入口声明,源码安装也可能起不来
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 3 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查需源码安装

缺少 main/exports/bin 入口声明;仓库 package.json 标记 private,未发布到 npm,需从源码安装

展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✓npm 包pi-agent-extensions @ 0.5.6
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✗入口文件缺少入口声明

源码安装时若 pnpm 拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑。

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/31 03:46:23

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 38 处,展示前 38 条)
  • 读取本地文件
    pi-autocompact/settings.ts:109
    return object(JSON.parse(await readFile(path, "utf8")), path);
  • 读取本地文件
    pi-autocompact/settings.ts:177
    const info = await stat(lockPath);
  • 删除本地文件
    pi-autocompact/settings.ts:184
    await rmdir(lockPath);
  • 写入本地文件
    pi-autocompact/settings.ts:194
    await mkdir(lockPath);
  • 写入本地文件
    pi-autocompact/settings.ts:201
    await mkdir(lockPath);
  • 写入本地文件
    pi-autocompact/settings.ts:215
    await mkdir(dirname(target), { recursive: true });
  • 读取本地文件
    pi-autocompact/settings.ts:222
    mode = (await stat(target)).mode & 0o777;
  • 写入本地文件
    pi-autocompact/settings.ts:234
    if (mode !== undefined) await chmod(temporary, mode);
  • 写入本地文件
    pi-autocompact/settings.ts:235
    await rename(temporary, target);
  • 删除本地文件
    pi-autocompact/settings.ts:237
    await rm(temporary, { force: true }).catch(() => undefined);
  • 删除本地文件
    pi-autocompact/settings.ts:238
    await rmdir(lockPath).catch(() => undefined);
  • 读取本地文件
    pi-custom-provider/cache.ts:29
    const parsed = JSON.parse(await readFile(path, "utf8")) as unknown;
  • 写入本地文件
    pi-custom-provider/cache.ts:63
    await mkdir(resolve(path, ".."), { recursive: true });
  • 写入本地文件
    pi-custom-provider/cache.ts:66
    await writeFile(temporaryPath, `${JSON.stringify(cache, null, 2)}\n`, { mode: 0o600 });
  • 写入本地文件
    pi-custom-provider/cache.ts:67
    await rename(temporaryPath, path);
  • 删除本地文件
    pi-custom-provider/cache.ts:69
    await rm(temporaryPath, { force: true }).catch(() => undefined);
  • 读取本地文件
    pi-custom-provider/config.ts:404
    const text = await readFile(path, "utf8");
  • 发起网络请求
    pi-custom-provider/util.ts:123
    const response = await fetch(url, {
  • 读取本地文件
    pi-model-trace/index.ts:23
    bankPromise ??= readFile(fileURLToPath(BANK_URL), "utf8").then(
  • 执行外部命令来自配置/变量
    pi-model-trace/index.ts:64
    const child = spawn(piBin, args, { cwd, stdio: ["ignore", "pipe", "pipe"] });
  • 发起网络请求
    pi-provider-sub2api/codex-compaction.ts:616
    const response = await fetch(normalizeUrl(params.relay.responsesUrl), {
  • 读取本地文件
    pi-provider-sub2api/config.ts:296
    const parsed = JSON.parse(await readFile(configPath, "utf8")) as unknown;
  • 读取本地文件
    pi-provider-sub2api/model-cache.ts:272
    const info = await stat(path);
  • 读取本地文件
    pi-provider-sub2api/model-cache.ts:274
    return parseCache(JSON.parse(await readFile(path, "utf8")) as unknown);
  • 读取本地文件
    pi-provider-sub2api/model-cache.ts:283
    permissions = (await stat(path)).mode & 0o777;
  • 写入本地文件
    pi-provider-sub2api/model-cache.ts:296
    await chmod(temporary, permissions);
  • 写入本地文件
    pi-provider-sub2api/model-cache.ts:297
    await rename(temporary, path);
  • 删除本地文件
    pi-provider-sub2api/model-cache.ts:299
    await rm(temporary, { force: true });
  • 读取本地文件
    pi-provider-sub2api/model-cache.ts:307
    directory = await realpath(agentDir);
  • 读取本地文件
    pi-provider-sub2api/model-metadata.ts:103
    await access(modelsStorePath);
  • 读取本地文件
    pi-provider-sub2api/request-mode-store.ts:21
    const path = await realpath(configPath);
  • 读取本地文件
    pi-provider-sub2api/request-mode-store.ts:22
    const permissions = (await stat(path)).mode & 0o777;
  • 读取本地文件
    pi-provider-sub2api/request-mode-store.ts:23
    const text = await readFile(path, "utf8");
  • 写入本地文件
    pi-provider-sub2api/request-mode-store.ts:55
    await chmod(temporary, permissions);
  • 写入本地文件
    pi-provider-sub2api/request-mode-store.ts:56
    await rename(temporary, path);
  • 删除本地文件
    pi-provider-sub2api/request-mode-store.ts:58
    await rm(temporary, { force: true });
  • 发起网络请求
    pi-provider-sub2api/util.ts:104
    const response = await fetch(url, { ...init, redirect: "error", signal });
  • 读取本地文件
    pi-skill/index.ts:89
    const content = await readFile(skill.filePath, "utf-8");
扫描于 2026/11/2(1 天前) · 范围 全包扫描 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

README

由 DeepSeek 最新模型翻译生成
pi-agent-extensions 一套扩展集合,面向 pi coding agent,也面向 dsh (DeepSeek Harness) coding agent。 包 | 包 | 说明 | | @indexyz/pi-provider-sub2api | 动态服务商支持、模型与价格发现并缓存、配额上报、保存请求模式,以及为兼容 Sub2API 的中转提供 Grok (xAI) 条目。 | | @indexyz/pi-custom-provider | 通用 OpenAI Chat Compatible、Anthropic Messages、OpenAI Responses 和 Ollama 服务商,支持模型发现与缓存。 | | @indexyz/pi-continue | 用 pi 当前选中的模型继续被中断或失败的回合。 | | @indexyz/pi-skill | 在提示词任意位置以 Codex 风格 $skill-name 调用技能。 | | @indexyz/pi-model-trace | 通过 ModelTrace 数值指纹(/model-trace)判断实际为 pi 提供服务的模型。 | | @indexyz/pi-autocompact | 按模型设置上下文压缩阈值,例如 /autocompact 300k,加 --save 可持久化为用户级默认值。
展开完整文档(README 剩余 1 节)
pi-agent-extensions

一套扩展集合,面向 pi coding agent,也面向 dsh (DeepSeek Harness) coding agent。

包

| 包 | 说明 |
| @indexyz/pi-provider-sub2api | 动态服务商支持、模型与价格发现并缓存、配额上报、保存请求模式,以及为兼容 Sub2API 的中转提供 Grok (xAI) 条目。 |
| @indexyz/pi-custom-provider | 通用 OpenAI Chat Compatible、Anthropic Messages、OpenAI Responses 和 Ollama 服务商,支持模型发现与缓存。 |
| @indexyz/pi-continue | 用 pi 当前选中的模型继续被中断或失败的回合。 |
| @indexyz/pi-skill | 在提示词任意位置以 Codex 风格 $skill-name 调用技能。 |
| @indexyz/pi-model-trace | 通过 ModelTrace 数值指纹(/model-trace)判断实际为 pi 提供服务的模型。 |
| @indexyz/pi-autocompact | 按模型设置上下文压缩阈值,例如 /autocompact 300k,加 --save 可持久化为用户级默认值。 |
| @indexyz/dsh-autocompact | 为 dsh 提供同样的阈值:/autocompact 命令、设置页区块,以及输入区状态条目。 |
| @indexyz/dsh-custom-provider-reasoning-efforts | 为手写的 dsh 服务商路由声明 reasoningEfforts 和 input 模态,这些路由 pi-ai 目录没有描述。 |
| @indexyz/dsh-thread-summary | 用可配置的摘要模型,根据首条用户提示词生成简洁的会话标题。 |
| @indexyz/dsh-prompt-suggestions | 回复成功后,在空输入框里用暗色幽灵文本提示用户下一条消息。 |

从 npm 安装包:

pi install npm:@indexyz/pi-provider-sub2api
pi install npm:@indexyz/pi-custom-provider
pi install npm:@indexyz/pi-continue
pi install npm:@indexyz/pi-skill
pi install npm:@indexyz/pi-model-trace
pi install npm:@indexyz/pi-autocompact

dsh-<topic>/ 包则安装到 dsh 配置档里,它的命令行、配置和行为记录在各自的 README 中:

dsh plugin --profile web add @indexyz/dsh-autocompact
dsh plugin --profile web add @indexyz/dsh-thread-summary
dsh plugin --profile web add @indexyz/dsh-prompt-suggestions

发布

每个包独立管理版本、独立发布。发布一个包时只发布该包,每个已发布的版本都打上 @indexyz/<name>@<version> 标签(例如 @indexyz/pi-skill@0.1.43),并附带一个 GitHub Release,其中包含该版本的更新日志段落。每个包的变更历史都在自己的 CHANGELOG.md 里。发布流程见 docs/releases.md。

每个新的 npm 包都从一个独立的空 0.0.0 工作区开始:所有者先用 bootstrap 标签发布它,并配置好 npm Trusted Publisher,之后才把正式版本推到 GitHub 交给 CI 发布。工作区模板、命令和发布者设置请参考 新包的首次发布。

目录结构

仓库根目录是一个私有 npm 工作区,只放共享工具和文档。每个包都放在自己的根级目录里,各自带有 package.json、tsconfig.json、vitest.config.ts、测试和变更日志:pi 扩展放在 pi-<topic>/,dsh 包放在 dsh-<topic>/。dsh 包从 TypeScript 自行构建产物,因为 Harness 加载的是构建后的文件,而不是源码。详见 docs/architecture.md。

开发

npm install
npm run format
npm run check
pi -e ./pi-provider-sub2api/index.ts

npm run check 会跑格式检查、lint、每个包的类型检查、每个声明了构建步骤的包的构建、每个包的测试,以及发布脚本的测试。想从检出目录试用某个 pi 包,用 pi -e ./<name>/index.ts。

dsh 的构建产物(lib/ 和可选的 client.js)被 Git 忽略;npm pack 会自动构建并打包进去。把 dsh 检出目录安装到配置档之前,先运行 npm run build --workspace @indexyz/<name>,再运行 dsh plugin --profile web add ./<name>。

OpenSpec 随仓库工具一起安装。共享改动在仓库根目录运行 npx openspec <command>,某个包的改动则在该包目录下运行。
贡献者和编码智能体先从 AGENTS.md 入手,这个文件会链接到 docs/ 里的其他文档。

License

MIT
预览分享卡片长什么样 ↓5aaee9/pi-agent-extensions
分享 · DeepSeek Harness Hub
5aaee9/pi-agent-extensions

一套扩展集合,面向 pi coding agent,也面向 dsh DeepSeek Harness coding…

回到顶部