
AgentScope 多智能体框架实战20 分钟搭出带工具调用、权限与沙箱的 Agent【免费下载链接】agentscopeBuild and run agents you can see, understand and trust.项目地址: https://gitcode.com/GitHub_Trending/ag/agentscope让 Agent 替你跑命令、改文件你总处在两难放任它跑怕出事故每一步都确认又慢得没法用。AgentScope 是一个面向生产的多智能体框架ReAct 推理循环、工具权限引擎、沙箱工作区都是现成模块你只管组装。适合想把 Agent 应用真正落地的 Python 开发者如果你只需要单次模型调用就没必要往下读。快速上手一条命令装好并验证 环境要求 Python 3.11 及以上。uv pip install agentscope python -c import agentscope; print(agentscope.__version__)第二条能打印出版本号环境即就绪。想改源码的话把仓库https://gitcode.com/GitHub_Trending/ag/agentscope克隆下来后在根目录uv pip install -e .即可后文不再展开。核心能力速览四个让 Agent 可控的关键点工具权限管控哪些命令默认跑不了 模型生成的命令不该直接落到你的机器上AgentScope 把裁决放到了执行层每次工具调用先过权限引擎agentscope/permission/按模式与规则给出 allow / deny / ask 三种结论。怎么用选模式把PermissionContext(modePermissionMode.XXX)包进AgentState传给Agent的state参数。DEFAULT逐次确认ls、git status这类只读命令自动放行EXPLORE只读ACCEPT_EDITS在受控目录内自动批准文件编辑。加规则用PermissionRule注册 allow/denyBash 命令按子串匹配文件路径按 glob 匹配比如拒绝一切写/etc的操作。终端里弹出确认时你可以放行或拒绝——这就是人在回路HITL的介入点。适用场景你让它连夜跑一个跨文件重构人不可能守一宿。白天用ACCEPT_EDITS快速迭代夜间任务换成严格模式加 deny 规则。避坑点⚠️BYPASS会跳过包括危险命令警告在内的全部安全确认只在容器、虚拟机这类隔离环境里开并用 deny 规则保护关键路径无人值守又想保安全改用DONT_ASK——把所有需要确认的动作直接变成拒绝。上下文自动压缩长对话把窗口塞满怎么办️ 对话越长 token 越多撑爆模型窗口是长跑任务的头号死因。ContextConfig负责这件事token 占用达到模型窗口的 80%trigger_ratio上限 0.9时旧对话被自动重写为五段式结构化摘要——任务概述、当前状态、关键发现、下一步、需保留的上下文。怎么用默认就开着什么都不用做想调时机改context_config的trigger_ratio。把 workspace 传给Agent的offloader压缩后的摘要和超大工具结果默认超 5 万 tokentool_result_limit会外移到文件上下文保持轻量。想让摘要保留你领域的黑话改ContextConfig的compression_prompt和summary_template不要动系统提示词。适用场景一个跨文件改造任务连续工作半小时前半程发现的接口约定压缩后仍能以绝对路径、绝对时间的形式留在摘要里后半程接着用。避坑点⚠️ 压缩模板强制用绝对指代文件路径、精确命令替代这个文件刚才那个方案如果你自定义模板时把相对指代放了回去换窗口续跑时 Agent 就会失忆。沙箱工作区内置工具到底跑在哪里Bash、Read、Write、Grep、Glob、Edit这些内置工具默认不直接挂在宿主系统上而是绑定到 Workspaceagentscope/workspace/本地、Docker、E2B、K8s、Daytona 等后端可切换。怎么用async with LocalWorkspace(workdir./workspace) as workspace起一个本地沙箱换后端只需换实现类。工具清单由工作区提供await workspace.list_tools()的结果直接喂给Toolkit(tools...)技能同理走list_skills()。同一个 workspace 再传给offloader压缩与卸载落盘位置就统一了。适用场景你想让 Agent 随便折腾——删文件、试错、装依赖——但宿主目录一根毫毛都不能掉或者同一份代码要从开发机平移到容器部署。避坑点⚠️ 换后端等于换了一整套受控的文件系统和命令环境别假设本地路径在容器里同样存在涉及文件路径的提示词要跟着工作区的workdir走。长期记忆与后台卸载关掉会话后 Agent 还记着什么 两件事常让人困扰下次开会话要重新交代一遍背景一个耗时工具把整个对话卡住。AgentScope 分别给了对应件。怎么用AgenticMemoryMiddleware(workdir..., backend...)挂进middlewares持久事实以 markdown 落在工作区目录下跨会话可读想换更强检索可选装 Mem0/ReMe 后端memory依赖组。长时间运行的工具自动转入后台结果返回时唤醒 Agent 恢复对话轮询和拼接由框架代劳。项目约定代码风格、目录结构说一次之后每个新会话都会带上。适用场景你有一个持续维护的仓库Agent 每周被叫来干不同任务背景知识不该每周重讲。避坑点⚠️ 基于文件的记忆就存在 workspace 目录里删workdir记忆即清零后台卸载只在 Agent 服务或支持唤醒的场景里完整生效纯脚本式调用体会不到这部分收益。端到端实战终端里跑一个会动手的 Agent目标搭一个带四个工具的Friday在终端里验证三件事——流式输出、工具调用确认、CtrlC 中断。准备一个 DashScope 密钥或其他厂商等价物准备一个目录让它读比如本仓库的examples/。步骤把下面代码存为friday.py。导出你的密钥export DASHSCOPE_API_KEY你的密钥占位写法换成真实值。python friday.py先问examples/console 里有什么文件触发Read/Grep再说写一个 notes.md里面写一句话触发Write并弹确认。import os, asyncio from agentscope.agent import Agent from agentscope.console import launch_console from agentscope.credential import DashScopeCredential from agentscope.model import DashScopeChatModel from agentscope.tool import Toolkit, Bash, Grep, Read, Write agent Agent( nameFriday, system_promptYou are a helpful assistant named Friday., modelDashScopeChatModel(credentialDashScopeCredential(api_keyos.environ[DASHSCOPE_API_KEY]), modelqwen3.6-plus), toolkitToolkit(tools[Bash(), Grep(), Read(), Write()]), ) asyncio.run(launch_console(agent))验收标准回复逐字流出每个工具调用执行前有确认框拒绝后任务被拦下CtrlC 能随时中断notes.md真实出现在当前目录。改到你环境时动哪几行第 10 行的模型名与api_key环境变量名第 4-5 行的 credential 与 model 类——换 OpenAI、Anthropic、Gemini 等厂商是等价替换凭据和类名各改一处。选型与延伸什么条件下选它选它当你需要执行层安全。权限引擎 沙箱是它的立身之本。如果你还要产品化Agent Service 层FastAPI 后端 预构建 Web UI自带多租户会话隔离、Agent 团队leader 动态派生 worker、任务规划全程可见、IM 频道钉钉/飞书/Discord、RAG 与 MCP Skill Hub用少量胶水代码即可组合。常和它搭配的各家模型厂商OpenAI、Anthropic、Gemini、DashScope、DeepSeek、Moonshot、Ollama 等同构替换Mem0/ReMe 长期记忆后端Qdrant、Milvus、MongoDB、Elasticsearch 任一向量库做 RAG。什么时候别用它只发单次模型调用直接用厂商 SDK 更轻服务层带来多租户、持久化、调度的完整开销单机脚本用不上项目当前处于 Beta 状态对接口稳定性要求极严的话盯着 changelog 再上生产。资源与下一步更新动态与路线图docs/NEWS_zh.md、docs/roadmap.md、docs/changelog.md终端对话示例含工作区、长期记忆与卸载的完整用法examples/console/main.py执行者-验证者流水线examples/pipeline/goal/goal_pipeline.py智能体服务与 Web UIexamples/agent_service/README.md中文贡献指南CONTRIBUTING_zh.md你的起步动作打开 examples/console/main.py把--model的默认值qwen3.7-max改成你有权限的模型名然后export DASHSCOPE_API_KEY你的密钥运行python main.py。【免费下载链接】agentscopeBuild and run agents you can see, understand and trust.项目地址: https://gitcode.com/GitHub_Trending/ag/agentscope创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考