AgentScope 无人值守运行怎么选 BYPASS 还是 DONT_ASK 权限模式?

发布时间:2026/9/12 16:25:52

AgentScope 无人值守运行怎么选 BYPASS 还是 DONT_ASK 权限模式? AgentScope 无人值守运行怎么选 BYPASS 还是 DONT_ASK 权限模式【免费下载链接】agentscopeBuild and run agents you can see, understand and trust.项目地址: https://gitcode.com/GitHub_Trending/ag/agentscopeAgent 默认运行在DEFAULT权限模式下没有匹配 allow 规则的操作都会弹出交互式确认终端中形如[permission] Bash({command: ls})→allow? [y/N]见 examples/realtime/README.md。一旦把 agent 放到定时任务、后台流水线这类无人值守场景这些确认就会把执行卡死。AgentScope 的权限系统为这类场景提供了两个专用模式——BYPASS和DONT_ASK定义在 PermissionMode。两者策略正好相反BYPASS跳过安全检查直接放行DONT_ASK把所有需要询问的操作转成拒绝。本文说明两种模式的实际行为差异、配置方法和验证方式帮你在无人值守运行时做出选择。README 中的演示bypass 模式下 agent 端到端运行不会为工具调用确认而暂停。两种模式的行为差异以下行为全部可以在 tests/permission_mode_test.py 中找到对应的测试用例PermissionEngineBypassModeTest与PermissionEngineDontAskModeTest分别钉死了两个模式的判定结果操作BYPASS 的结果DONT_ASK 的结果无规则时的默认操作如 Bash 执行npm installALLOWDENY只读操作Read/Glob/Grep、git status等ALLOWALLOW工具自身发出的安全 ASK如rm -rf /、写~/.bashrc、命令注入模式跳过检查ALLOW转为DENY用户配置的 DENY 规则仍然生效bypass-immune仍然生效用户配置的 ASK 规则仍然返回ASK转为DENY用户配置的 ALLOW 规则生效生效工作目录working_directories内的文件写/编辑未单独说明自动ALLOW目录外为DENY几个关键点的源码依据BYPASS的 docstring 明确列出被跳过的安全检查包括rm -rf /、写入~/.bashrc、命令注入模式并提醒 Use deny rules to protect specific paths见 src/agentscope/permission/_types.py#L52-L59。测试test_bypass_skips_dangerous_removal确认rm -rf /在 BYPASS 下返回ALLOW而同样命令在 DONT_ASK 下被安全 ASK 捕获并转为DENYtest_dont_ask_bash_dangerous_command_returns_deny。BYPASS 只跳过安全 ASK不跳过你显式配置的规则test_bypass_deny_rule_returns_deny证明 DENY 规则在 BYPASS 下依旧拒绝test_bypass_ask_rule_returns_ask证明用户 ASK 规则在 BYPASS 下仍会要求确认。DONT_ASK 的不变式是绝不返回 ASK默认落点、ASK 规则命中、安全 ASK 三条产生 ASK 的路径全部转为DENY。转换后的 DENY 决策会保留原来的suggested_rules便于在定时任务失败报告等带外渠道展示给用户test_dont_ask_ask_rule_conversion_preserves_suggestions。只读操作在所有五个模式下都走同一条只读快速路径自动放行PermissionEngineReadOnlyConsistencyTest所以无人值守运行中 agent 自由读取文件、git status等不受影响。如何选择两种模式各自的适用场景直接写在PermissionMode的文档表中BYPASS沙箱环境容器、虚拟机或者你完全信任 agent 的无人值守运行。此时安全边界由沙箱本身提供权限检查只剩你显式配置的 deny/ask 规则和工具 DENY。DONT_ASK定时任务、用户不在场时的后台执行且仍然希望保留安全行为。BYPASS的文档原话是对于仍需要安全的无人值守运行优先用 DONT_ASKFor unattended runs that still need safety, prefer DONT_ASK。决策路径就一条运行环境是否已经隔离容器/VM并且你接受安全 ASK 全部不生效的后果。是——选 BYPASS用 deny 规则保护少数关键路径否——选 DONT_ASK只放行 allow 规则、只读操作和工作目录内的操作其余一律拒绝。DONT_ASK 同时是ACCEPT_EDITS的无人值守对应形态配置了working_directories后目录内的Write/Edit和文件系统 Bash 命令自动放行目录外拒绝test_dont_ask_edit_within_working_directory_allows、test_dont_ask_bash_filesystem_command_working_dir。配置权限模式模式通过PermissionContext挂到 agent 的AgentState上。examples/pipeline/goal/goal_pipeline.py 展示了BYPASS的完整用法——executor 和 verifier 两个 agent 都在LocalWorkspace里无人值守跑完任务from agentscope.state import AgentState from agentscope.permission import PermissionContext, PermissionMode executor Agent( nameExecutor, system_promptYoure a programmer named Executor., model..., toolkitToolkit(toolsawait workspace.list_tools()), stateAgentState( permission_contextPermissionContext( modePermissionMode.BYPASS, ), ), )选 DONT_ASK 时构造PermissionContext的方式相同mode换成PermissionMode.DONT_ASK如果希望目录内的写操作免审按 tests/permission_mode_test.py#L872-L881 的写法传入working_directoriesfrom agentscope.permission import ( PermissionContext, PermissionMode, AdditionalWorkingDirectory, ) context PermissionContext( modePermissionMode.DONT_ASK, working_directories{ /tmp/project: AdditionalWorkingDirectory( path/tmp/project, sourcetest, ), }, )如需保留显式规则BYPASS 下的 deny 防护、DONT_ASK 下的 allow 放行通过PermissionRule添加示例取自测试from agentscope.permission import PermissionRule, PermissionBehavior engine.add_rule( PermissionRule( tool_nameBash, rule_contentrm:*, behaviorPermissionBehavior.DENY, sourcetest, ), )规则匹配方式按工具类型区分见 src/agentscope/permission/_types.py#L5-L13Bash 工具用子串模式匹配命令Write/Read 等文件工具用 glob 匹配文件路径其他工具用通用匹配逻辑。验证模式是否按预期工作配置完成后不用真正跑一次完整 agent 任务可以直接用PermissionEngine离线验证判定结果——这正是tests/permission_mode_test.py的验证方法import asyncio from agentscope.permission import ( PermissionEngine, PermissionContext, PermissionMode, ) from agentscope.tool import Bash, Write async def main() - None: for mode in (PermissionMode.BYPASS, PermissionMode.DONT_ASK): engine PermissionEngine(PermissionContext(modemode)) # 无规则时的默认操作 d1 await engine.check_permission(Bash(), {command: npm install}) # 触发安全 ASK 的操作测试用例中的场景 d2 await engine.check_permission(Bash(), {command: rm -rf /}) d3 await engine.check_permission( Write(), {file_path: /home/user/.bashrc} ) print(mode.value, d1.behavior, d2.behavior, d3.behavior) asyncio.run(main())预期结果与测试断言一致Bash 相关用例要求非 Windows 平台测试中用sys.platform win32跳过BYPASS三项均为ALLOW——默认操作放行安全 ASK 被跳过DONT_ASK三项均为DENY其中d3.decision_reason会同时包含dont_ask与safety字样test_dont_ask_safety_ask_returns_deny的断言说明拒绝来自安全 ASK 被转换而不是普通规则。如果你的运行环境需要 agent 实际完成写文件等任务把对应的 allow 规则或working_directories加上后用同样的check_permission调用再核对一次判定即可。限制与边界BYPASS 下安全 ASK 完全不生效包括危险删除、危险配置路径rm ~/.bashrc经 Bash 执行、命令注入模式、对敏感文件的sedtest_bypass_skips_command_injection等。它唯一的护栏是你显式配置的 deny/ask 规则和工具 DENY——不要把 BYPASS 用在没有隔离的宿主机上。DONT_ASK 下 agent 永远不会弹确认但也不会静默完成被拒的操作ASK 规则命中与安全 ASK 都会变成DENY决策里保留suggested_rules供带外展示。只读操作Read/Glob/Grep、被识别的只读 Bash 命令在所有模式下自动放行这一跨模式不变式由PermissionEngineReadOnlyConsistencyTest锁定。环境要求见 README.mdPython 3.11 及以上uv pip install agentscope安装后即可使用上文的配置与验证代码。【免费下载链接】agentscopeBuild and run agents you can see, understand and trust.项目地址: https://gitcode.com/GitHub_Trending/ag/agentscope创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/9/12 17:15:55

意见直达小程序,打造一站式服务评价管理平台

好消息!意见直达小程序正式上线!针对企业、物业、园区、企事业单位反馈渠道分散、问题处置不及时、服务无评价、管理无闭环等痛点,全新打造集好评记录、意见建议、投诉反馈、在线回复、服务评价、自定义配置于一体的轻量化管理小程序。无需复…

2026/9/12 17:10:54

团子翻译器字体渲染性能:速度与美观的平衡

团子翻译器字体渲染性能:速度与美观的平衡 引言:你还在忍受翻译器界面卡顿吗? 当你在使用翻译工具时,是否遇到过这样的情况:选择了漂亮的艺术字体却导致界面响应迟缓,或者为了追求速度而被迫使用单调的系统…

2026/9/12 2:05:33

超人会飞不算本事:系统稳定依赖清晰规则与边界设计

开头先不绕弯子。“#斯坦李吐槽dc 所以超人是无缘无故会飞的嘛哈哈哈哈哈哈哈锤哥真是技术人才啊!#雷神 #复联”这类调侃式短标题,第一波冲击力在于它把两个宇宙的角色塞进同一个吐槽箱里,但细想一下就能发现,它真正碰到的根本不是…

2026/9/12 3:55:12

超人VS蜘蛛侠:拆解超级IP的影响力与传播方法论

把“蜘蛛侠 vs 超人”放在 CSDN 上聊,可能很多人第一反应是走错片场了。但如果把这两个角色看成“两个持续运营了 80 多年的文化产品”,你会发现,这场比较本质上是两个不同 IP 策略的长期结果对比:超人赢在定义了整个超级英雄题材…

2026/9/12 10:09:03

基于CNN的调制信号识别:MATLAB实现时频图分类实战

简介:本资源是一套面向通信工程与信号处理方向学习者、研究者的深度学习实践方案,聚焦调制信号自动检测与识别这一典型无线通信任务,解决传统方法依赖人工特征、低信噪比下性能下降等痛点。压缩包共12个文件(10.73MB)&…

2026/9/12 0:04:17

MATLAB仿生优化框架:长鼻浣熊算法多策略融合实现

简介:本资源是一份面向智能优化算法研究者与MATLAB初学者的仿生智能算法实践代码包,聚焦于长鼻浣熊优化算法(COA)的多策略改进与性能验证。针对传统COA易陷局部最优、收敛精度不足等问题,作者融合Circle映射初始化提升…

2026/9/12 0:04:17

【JAVA毕设源码分享】基于 JavaWeb 的校园一卡通管理系统的设计与实现 基于 JavaWeb 的校园卡业务管理系统(程序+文档+代码讲解+一条龙定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/9/12 0:04:17

【JAVA毕设源码分享】基于 Java 的图书馆借阅管理平台的搭建与实现 基于 Java 的图书馆综合管理系统(程序+文档+代码讲解+一条龙定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/9/12 6:29:36

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/12 14:32:17

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/12 6:37:43

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
咨询二维码