@celljs/ta-permission-gate
A pi package: allow, ask or deny tool calls by rules. Works in Ta and in pi.
Package details
Install @celljs/ta-permission-gate from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:@celljs/ta-permission-gate- Package
@celljs/ta-permission-gate- Version
4.8.0- Published
- Nov 11, 2026
- Downloads
- 582/mo · 582/wk
- Author
- muxiangqiu
- License
- MIT
- Types
- extension
- Size
- 38 KB
- Dependencies
- 0 dependencies · 1 peer
Pi manifest JSON
{
"extensions": [
"./lib/node/index.js"
]
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
Cell - Ta Permission Gate
一个 pi 包:按规则对工具调用放行、询问或拒绝。不依赖 Cell,Ta 和 pi 都能安装:
ta install npm:@celljs/ta-permission-gate
pi install npm:@celljs/ta-permission-gate
规则写在 permissions.json,全局(agent 目录下)和项目(.ta/ 或 .pi/ 下)各一份:
{
"default": "allow",
"rules": [
{ "tool": "bash", "command": "git push*", "action": "ask" },
{ "tool": "bash", "command": "*rm -rf*", "action": "deny" },
{ "path": "*/.env*", "action": "deny" }
]
}
- 每份文件里第一条匹配的规则生效,都不匹配时取
default(默认allow);*匹配任意字符,其余按字面。 - 两份文件取更严的结果:项目只能收紧、不能放宽,否则不受信任的仓库能给自己开权限。
ask调用ctx.ui.confirm,5 分钟无人回答视为拒绝;没有界面(-p)时直接拒绝。在 ta serve 下对话框会发给所有已连接的客户端。- 文件读不了或格式不对时一律拒绝。
没有 permissions.json 时什么都不限制,与 pi 的默认行为一致。