{"_id":"@aiwayds/pi-fun-agent","_rev":"4-d19b31d59dd819ce0235200d9611a5e6","name":"@aiwayds/pi-fun-agent","dist-tags":{"latest":"0.1.3"},"versions":{"0.1.0":{"name":"@aiwayds/pi-fun-agent","version":"0.1.0","keywords":["pi-package","pi","extension","subagent"],"author":{"name":"aiwayds"},"license":"MIT","_id":"@aiwayds/pi-fun-agent@0.1.0","maintainers":[{"name":"aiwayds","email":"aiway.ds@qq.com"}],"homepage":"https://github.com/fan56/fun-agent#readme","bugs":{"url":"https://github.com/fan56/fun-agent/issues"},"pi":{"extensions":["./workhorse-gate.ts","./index.ts"]},"dist":{"shasum":"e14e5f71755eaa3b7ad11084ae2e4dce03f22c1e","tarball":"https://registry.npmjs.org/@aiwayds/pi-fun-agent/-/pi-fun-agent-0.1.0.tgz","fileCount":7,"integrity":"sha512-CTbIHbNkBxhCUy0Jw5KZTSOI5aI497pMg9YwjIRSZtMpekhGGaf+w5q4695nBOrSH3MUkMCAtRJW77XCM9/PPw==","signatures":[{"sig":"MEYCIQCBlu1K+V/0mScjiDIZUjPrDjaeFkm3gk3+dzQhlzYwzAIhAMAZM53bwsMiY7bkFnd3wMnT5+5D6HAIUTjTLR6r1bdJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":32919},"type":"module","gitHead":"a709550888883aee1ead05c009585a53da27d4d4","_npmUser":{"name":"aiwayds","email":"aiway.ds@qq.com"},"repository":{"url":"git+https://github.com/fan56/fun-agent.git","type":"git"},"_npmVersion":"11.17.0","description":"pi 自定义 sub agent 套件：workhorse(牛马狗) / oldfox(老法师) + workhorse-gate 安全门 + /fun-agent-cfg 配置命令","directories":{},"_nodeVersion":"26.4.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-fun-agent_0.1.0_1785979633237_0.07551351720242705","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@aiwayds/pi-fun-agent","version":"0.1.1","keywords":["pi-package","pi","extension","subagent"],"author":{"name":"aiwayds"},"license":"MIT","_id":"@aiwayds/pi-fun-agent@0.1.1","maintainers":[{"name":"aiwayds","email":"aiway.ds@qq.com"}],"homepage":"https://github.com/fan56/fun-agent#readme","bugs":{"url":"https://github.com/fan56/fun-agent/issues"},"pi":{"extensions":["./workhorse-gate.ts","./index.ts"]},"dist":{"shasum":"bde431067691ce9762a161aabc82b4fafc299191","tarball":"https://registry.npmjs.org/@aiwayds/pi-fun-agent/-/pi-fun-agent-0.1.1.tgz","fileCount":7,"integrity":"sha512-1lfaj41OHrNiTN4ZpBAUx9/aYFnTerEQOJHX9KoOkXLoVuXXL7cnT8z/+cU2kXRTaDM8zQtOKnhqvzlfTtbmRQ==","signatures":[{"sig":"MEQCIAyVcVZpflJAnLOZ6MiNts0EkBDojXJ6R5malTApix+FAiAMTku8OJ+WJIB9TPEtWv2pjhKqiIm6y7aNJyC8vlMN6w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":33609},"type":"module","gitHead":"bb4bbf9431360c6857a6cc38f089c2a5fb74e69b","_npmUser":{"name":"aiwayds","email":"aiway.ds@qq.com"},"repository":{"url":"git+https://github.com/fan56/fun-agent.git","type":"git"},"_npmVersion":"11.17.0","description":"pi 自定义 sub agent 套件：workhorse(牛马狗) / oldfox(老法师) + workhorse-gate 安全门 + /fun-agent-cfg 配置命令","directories":{},"_nodeVersion":"26.4.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-fun-agent_0.1.1_1785995180892_0.84423751681066","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@aiwayds/pi-fun-agent","version":"0.1.2","keywords":["pi-package","pi","extension","subagent"],"author":{"name":"aiwayds"},"license":"MIT","_id":"@aiwayds/pi-fun-agent@0.1.2","maintainers":[{"name":"aiwayds","email":"aiway.ds@qq.com"}],"homepage":"https://github.com/fan56/fun-agent#readme","bugs":{"url":"https://github.com/fan56/fun-agent/issues"},"pi":{"extensions":["./workhorse-gate.ts","./index.ts"]},"dist":{"shasum":"232b8b9cde910cd0b9ec242fbf3888d93ef5d55f","tarball":"https://registry.npmjs.org/@aiwayds/pi-fun-agent/-/pi-fun-agent-0.1.2.tgz","fileCount":8,"integrity":"sha512-Gpyr7xYUXx4QV3RjhpwWUiTLvbG1xFHjixU74cNYo2kNLGjWdpRAKNUaxO+rnaHQMN2WLVFhqTS+AA1K5uF1jg==","signatures":[{"sig":"MEUCIGim/L6vxncOW3i15MmYFMHGP50b4JQzYhRA7SGy2oAMAiEAn67wK1+z9DcvIQ5msfzXhFYgbv/utFfUJXzy8eiBm4k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":39683},"type":"module","gitHead":"05e2af66af23deed0ad1ae730e8de026e1d4e6c2","_npmUser":{"name":"aiwayds","email":"aiway.ds@qq.com"},"repository":{"url":"git+https://github.com/fan56/fun-agent.git","type":"git"},"_npmVersion":"11.17.0","description":"pi 自定义 sub agent 套件：workhorse(牛马狗) / oldfox(老法师) / rubber-duck(小黄鸭) + workhorse-gate 安全门 + /fun-agent-cfg 配置命令","directories":{},"_nodeVersion":"26.4.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-fun-agent_0.1.2_1786950849549_0.16631645514755222","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@aiwayds/pi-fun-agent","version":"0.1.3","description":"pi 自定义 sub agent 套件：workhorse(牛马狗) / oldfox(老法师) / rubber-duck(小黄鸭) + workhorse-gate 安全门 + /fun-agent-cfg 配置命令","type":"module","license":"MIT","author":{"name":"aiwayds"},"keywords":["pi-package","pi","extension","subagent"],"pi":{"extensions":["./workhorse-gate.ts","./index.ts"]},"peerDependencies":{"@earendil-works/pi-coding-agent":"*"},"repository":{"type":"git","url":"git+https://github.com/fan56/fun-agent.git"},"homepage":"https://github.com/fan56/fun-agent#readme","bugs":{"url":"https://github.com/fan56/fun-agent/issues"},"publishConfig":{"access":"public"},"gitHead":"7369331394098ff1fbc39addc0effc921c0a43d6","_id":"@aiwayds/pi-fun-agent@0.1.3","_nodeVersion":"26.4.0","_npmVersion":"11.17.0","dist":{"integrity":"sha512-W/fU4b3BKzZYUr3/oLSjc04QIWHlAXlGFGPDAjbHRVmgrDGYMjO6DkZNfaAry2SVbEdQEYQ03JAkKTpL6MKMSQ==","shasum":"17944a8c5fc1fb9afd3bd4780658634b4a131c46","tarball":"https://registry.npmjs.org/@aiwayds/pi-fun-agent/-/pi-fun-agent-0.1.3.tgz","fileCount":8,"unpackedSize":39761,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQC9mT9/eaE0LRqoIySpFodAbOqZ0fkMFsGcpoeUPNJtdAIgGflkTcbg70RwBZpERUk/4ziQ3oMX90g+XTo0z701bag="}]},"_npmUser":{"name":"aiwayds","email":"aiway.ds@qq.com"},"directories":{},"maintainers":[{"name":"aiwayds","email":"aiway.ds@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-fun-agent_0.1.3_1787898013230_0.4357936469134329"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-06T01:27:12.939Z","modified":"2026-08-28T06:20:13.498Z","0.1.0":"2026-08-06T01:27:13.384Z","0.1.1":"2026-08-06T05:46:21.092Z","0.1.2":"2026-08-17T07:14:09.695Z","0.1.3":"2026-08-28T06:20:13.366Z"},"bugs":{"url":"https://github.com/fan56/fun-agent/issues"},"author":{"name":"aiwayds"},"license":"MIT","homepage":"https://github.com/fan56/fun-agent#readme","keywords":["pi-package","pi","extension","subagent"],"repository":{"type":"git","url":"git+https://github.com/fan56/fun-agent.git"},"description":"pi 自定义 sub agent 套件：workhorse(牛马狗) / oldfox(老法师) / rubber-duck(小黄鸭) + workhorse-gate 安全门 + /fun-agent-cfg 配置命令","maintainers":[{"name":"aiwayds","email":"aiway.ds@qq.com"}],"readme":"# fun-agent\n\npi 自定义 sub agent 套件：**workhorse**（牛马狗，干活主力）+ **oldfox**（老法师，顾问审核）+ **rubber-duck**（小黄鸭，多模态视觉）。\n\n## 内容\n\n| 路径 | 说明 |\n| ------ | ------ |\n| `agents/workhorse.md` | workhorse 权威定义（部署到 `~/.pi/agent/agents/`） |\n| `agents/oldfox.md` | oldfox 权威定义（部署到 `~/.pi/agent/agents/`） |\n| `agents/rubber-duck.md` | rubber-duck 小黄鸭权威定义（多模态视觉 agent，部署到 `~/.pi/agent/agents/`） |\n| `workhorse-gate.ts` | workhorse 安全门扩展 |\n| `index.ts` | `/fun-agent-cfg` 命令扩展 |\n\n## 部署\n\n将 `agents/*.md` 复制到 `~/.pi/agent/agents/`（包注册见 `package.json` 与 `~/.pi/agent/settings.json` 的 packages）：\n\n    cp agents/workhorse.md ~/.pi/agent/agents/workhorse.md\n    cp agents/oldfox.md ~/.pi/agent/agents/oldfox.md\n    cp agents/rubber-duck.md ~/.pi/agent/agents/rubber-duck.md\n\n## 命令\n\n`/fun-agent-cfg` — 级联式交互配置（仿 rpiv-models 的二段选择，↑↓ 导航，Enter 选择，Esc 返回上一层）：\n\n    顶层菜单（选择 agent，Esc 退出）\n      └─ <agent> → 选模型 → 选思考强度 → 保存 → 回顶层菜单\n\n- **顶层菜单**：选择要配置的 agent（显示 `display_name` 中文名），保存后回到这里可继续配置下一个\n- **Model**：选择模型（按收藏筛选 + inherit），支持键入过滤，✓ 标记已保存值\n- **Think Level**：选择思考强度（inherit / off / 模型支持的档位），Esc 回到模型选择\n\n模型列表按收藏自动筛选：读 `~/.pi/agent/model-favorites.json`（与 `/m` 命令共享）的 `favorites`，非空时仅显示收藏模型，为空时显示全部。用 `/m` 管理收藏列表（本命令不提供编辑界面）。\n\n`inherit` = 删除 frontmatter 对应行，回退继承会话默认。可带参数预选 agent：`/fun-agent-cfg workhorse`（跳过顶层菜单，直接进级联）。\n\n改完 frontmatter 后**下一次 spawn 生效**，无需 /reload。\n\n⚠️ 注意：对 rpiv 管理的 agent（codebase-analyzer 等）使用 set/reset 后，下次 `/rpiv-update-agents` 会覆盖你的设置。\n\n## workhorse-gate 规则（workhorse 会话内生效）\n\n1. write/edit 目标在 `$HOME` 之外 → 阻断\n2. bash 含 sudo/su、`rm -rf`、`chmod/chown 777` → 阻断\n3. write/edit 落在 `~/.pi/agent/` 内 → 阻断（含 gate 自身保护）\n4. bash 重定向目标（`>`/`>>`/`tee`/`dd of=`）在 `$HOME` 外或 `~/.pi/agent/` 内 → 阻断\n\n> 限制：workhorse-gate 是**事故拦截器**（tool_call 代码级检查），非 OS 级权限隔离——read/grep 等只读工具面不拦截；MCP 及其他未列入 write/edit/ctx_edit/ctx_patch/bash 的工具面不受检查。\n\n## 配置\n\n默认模型与思考强度直接在 agent frontmatter 中定义（workhorse: deepseek-v4-flash/high；oldfox: GLM-5.3/max；rubber-duck: Kimi K2.7 Code/max），可用 `/fun-agent-cfg` 随时调整。\n","readmeFilename":"README.md"}