
人工智能AI 技能MCP 服务AI 评测【免费下载链接】OpenSpaceOpenSpace: The Skill Management Layer for AI Agents -- https://open-space.cloud/项目地址https://gitcode.com/gh_mirrors/opens/OpenSpace点击查看免费下载导读本指南讲解 OpenSpace 技能库中一个高价值的降级模式fallback pattern当execute_code_sandbox沙箱执行返回 unknown error、或read_file对受支持格式读取失败时如何通过run_shellBashTool配合python3 EOFheredoc 方式绕过沙箱执行问题直接完成文档处理、数据分析与文件读取。读完本文你将掌握 heredoc 的语法要点、各类文档与表格数据的 Python 处理脚本、错误处理与输出治理最佳实践并理解该技能在 OpenSpace 源码层面的执行链路BashTool → LocalShellConnector → subprocess以及它在 GDPVal 基准评测 中被反复沉淀验证的实战背景。技能定位何时该触发这个降级该技能定义于 SKILL.md其 frontmatter 明确声明了触发条件--- name: fallback-python-shell description: Use run_shell with Python heredoc when execute_code_sandbox or read_file fail ---当以下任一情况出现时Agent 应当切换到本技能描述的降级路径execute_code_sandbox返回unknown error沙箱内部执行状态不可解释常见于隔离环境异常read_file对受支持格式返回unknown error你需要以编程方式处理文档PDF、Word、Excel、分析数据或读取文件。核心思想不依赖沙箱与专用读取工具而是通过run_shell执行python3 EOFheredoc让 Python 的完整文件 I/O 与数据处理能力直接作用于本地文件系统。从 OpenSpace 源码结构看这两类工具分别对应 productivity_tools.py 中委托 livebench 的ExecuteCodeSandboxTool_name execute_code_sandbox与ReadFileProductivityTool_name read而run_shell对应的则是 Shell 后端核心的BashTool_name bash见 session.py。当前者失效时后者天然就是最直接的替代通道。基础模式heredoc 的正确写法python3 EOF # Your Python code here import json import os # Example: Read and process a file with open(/path/to/file.txt, r) as f: content f.read() print(content) EOF四个关键语法点务必逐条遵守否则 heredoc 会解析失败使用python3 EOF带单引号的 EOF 分隔符可以阻止 shell 对 heredoc 内容做变量展开如$VAR、反引号保证 Python 代码原样交给解释器Python 代码从第 0 列开始缩进不要因为外层 shell 嵌套而给 Python 代码额外缩进否则会导致IndentationError以独立一行的EOF结束该行前后不能有任何空白字符把结果打印到 stdout工具响应只捕获 stdout/stderrprint()是 Agent 获取执行结果的唯一可靠通道。实战场景一作为 read_file 的降级读取器读取纯文本与 JSONpython3 EOF import json # Read text file with open(document.txt, r) as f: content f.read() print(content) # Read JSON file with open(data.json, r) as f: data json.load(f) print(json.dumps(data, indent2)) EOF读取 Excel / CSVpandaspython3 EOF import pandas as pd # Read Excel file df pd.read_excel(data.xlsx, sheet_nameSheet1) print(df.to_string()) print(fShape: {df.shape}) # Read CSV df pd.read_csv(data.csv) print(df.head(10)) EOF读取 PDFPyMuPDF / fitzpython3 EOF import fitz # PyMuPDF doc fitz.open(document.pdf) for page_num in range(len(doc)): page doc[page_num] text page.get_text() print(f Page {page_num 1} ) print(text) doc.close() EOF读取 Word 文档python-docxpython3 EOF from docx import Document doc Document(document.docx) for para in doc.paragraphs: print(para.text) EOF说明GDPVal 评测任务中大量产物是 PDF、xlsx、docxrun_benchmark.py 中_ARTIFACT_EXTENSIONS明确将这些格式列入工件发现范围这正是该技能在评测中被频繁沉淀的原因。仓库benchmarks/gdpval/skills/下还存有大量同族演化技能如pdf-extraction-fallback、docx-read-fallback、spreadsheet-direct-python等印证了“读取失败 → heredoc 兜底”这一模式在真实任务中的高频价值。实战场景二数据分析pandas numpypython3 EOF import pandas as pd import numpy as np df pd.read_csv(data.csv) # Basic statistics print(fShape: {df.shape}) print(fColumns: {list(df.columns)}) print(df.describe()) # Filter and aggregate result df.groupby(category).agg({value: sum}) print(result) EOF最佳实践1. 错误处理文件操作一律包 try/exceptpython3 EOF try: with open(file.txt, r) as f: content f.read() print(content) except FileNotFoundError: print(ERROR: File not found) except Exception as e: print(fERROR: {e}) EOF明确的ERROR:前缀让 Agent 能够稳定识别失败原因避免把异常栈当作正常输出误判。2. 大输出治理分块处理或打印摘要python3 EOF with open(large_file.csv, r) as f: for i, line in enumerate(f): if i 10: print(line.strip()) else: print(... truncated ...) break EOF这一条与 BashTool 的输出上限设计相互印证BashTool的max_result_size_chars 30_000session.py超长 stdout 会被截断因此大文件必须自行控制打印量。3. 工作目录run_shell 在当前工作目录执行run_shell默认在会话的当前工作目录执行因此要么使用绝对路径要么先确保处在正确目录。从源码看BashTool._arun会从上下文中解析effective_cwdcontext.cwd→session.default_working_dir见 session.py相对路径的解析基准即由此决定。4. 多步骤聚合一次 heredoc 完成相关操作链python3 EOF # Do all related work in one call with open(input.json) as f: data json.load(f) processed [transform(x) for x in data] with open(output.json, w) as f: json.dump(processed, f) print(Processing complete) EOF把“读取 → 转换 → 写回 → 打印确认”聚合为单次调用既减少了工具调用往返也让状态变化输出文件是否生成在一次响应内自洽可验证。与兄弟技能的协同shell-python-heredoc仓库中还沉淀了同主题的姊妹技能 shell-python-heredoc/SKILL.md二者互补fallback-python-shell聚焦触发条件沙箱/读取工具报错与通用文件处理场景shell-python-heredoc补充了与execute_code_sandbox的对比结论heredoc 方式对复杂 import 更可靠、可拿到完整 stdout/stderr、支持更长超时默认 60s vs 沙箱 30s、可直连文件系统而无需ARTIFACT_PATH中转代价是调用间无持久状态、对简单单行脚本过于冗长、复杂字符串字面量可能需要 shell 转义。实战中建议按阶梯选择简单脚本优先execute_code_sandbox需要多 import 或反复报错时切 heredoc需要自主迭代与错误恢复的长任务则交给shell_agent可复用复杂逻辑时先落盘为.py文件再执行。故障排查速查表问题解决方案EOF无法识别确保EOF独占一行且行首无空格ImportError / Module not found确认包已装进 shell 环境优先标准库或常用预装包pandas、numpy 通常可用文件找不到使用绝对路径或先pwd确认工作目录语法错误检查 heredoc 内 Python 缩进必须从第 0 列开始权限错误确保文件不在受保护目录中文/编码异常显式指定编码open(file.txt, r, encodingutf-8)代码过长拆成多个 heredoc或先写入临时.py文件再执行源码级原理run_shell 到底怎么执行 heredoc从源码结构看本技能描述的run_shell在 OpenSpace 中对应 Shell 后端的BashTool其执行链路为参数校验与权限validate_input检查危险模式如阻塞式sleepcheck_permissions委托bash_tool_has_permission做子命令级权限级联session.py超时归一化毫秒超时被钳制在[1s, 10min]默认 2 分钟session.py这也是文档建议对长脚本显式传timeout的原因沙箱策略若沙箱配置开启命令会被should_use_sandbox决策并包装执行dangerously_disable_sandbox可请求绕过但仅当策略允许时生效session.py本地执行最终经 local_connector.py 的run_bash_command把脚本写入/tmp/bash_exec_*.sh后以/bin/bash子进程执行Windows 下为bash filestdout/stderr 合并捕获并返回{status, output, content, error, returncode}。这里的关键点在于run_bash_command执行的是任意 bash 脚本heredoc 只是把 Python 代码嵌入 bash 脚本的一种写法——这正是本技能“绕过沙箱执行问题”的技术基础它不经过execute_code_sandbox的隔离层而直接落在本地 shell 进程中。同时productivity_tools.py的create_file等工具也印证了同一条思路——OpenSpace 内部大量“沙箱外”能力本就依赖 Shell connector 直接跑 Python 代码productivity_tools.py。在 GDPVal 评测中的角色该技能来自 GDPVal 基准 的技能演化产物评测在--use-clawwork-productivity模式下为 Agent 注入与 ClawWork 对等的生产力工具集含execute_code_sandbox与read见 productivity_tools.py当这些工具在真实办公任务中失败时Agent 便依赖本类降级技能完成任务并产出可评估工件。技能进化引擎会把这种“失败 → 降级 → 成功”的执行经验固化为新的SKILL.md仓库benchmarks/gdpval/skills/下*-fallback、*-workaround命名的数百个目录即由此而来进而在 Phase 2 热启动阶段直接复用形成 token 节省与成功率提升——这正是 OpenSpace Skill Management Layer for AI Agents 的核心价值闭环。赞分享人工智能AI 技能MCP 服务AI 评测【免费下载链接】OpenSpaceOpenSpace: The Skill Management Layer for AI Agents -- https://open-space.cloud/项目地址https://gitcode.com/gh_mirrors/opens/OpenSpace点击查看免费下载相关推荐OpenSpace Agent 技能实战用 run_shell Python Heredoc 构建可靠代码执行回退shell-python-fallbackOpenSpace Agent 技能实战用 run_shell Python Heredoc 构建可靠代码执行回退shell python fallba人工智能AI 技能MCP 服务AI 评测create-keystone-app 版本演进解析从 v10 到 v11 的脚手架变革与实现原理create keystone app 版本演进解析从 v10 到 v11 的脚手架变革与实现原理 create keystone app 是 Keyston人工智能AI 技能MCP 服务AI 评测OpenSpace Skill 实战shell-python-heredoc 回退模式 —— 用 run_shell 与 Python heredoc 兜底代码执行OpenSpace Skill 实战shell python heredoc 回退模式 —— 用 run_shell 与 Python heredoc 兜底代人工智能AI 技能MCP 服务AI 评测上一篇Kedro 插件开发完整指南基于 pluggy 扩展 CLI、Hooks 与项目能力下一篇Haystack 与 Valkey 集成实战基于 ValkeyDocumentStore 与 ValkeyEmbeddingRetriever 构建高性能向量检索与 RAG 应用创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考