{"id":"31e9a88a-5b41-4de8-b6fe-1f141e8c1955","entityType":"agent","slug":"clawhub-laninga-python-debug-assistant","name":"python-debug-assistant","canonicalUrl":"https://www.xpersona.co/agent/clawhub-laninga-python-debug-assistant","canonicalPath":"/agent/clawhub-laninga-python-debug-assistant","generatedAt":"2026-10-11T07:38:46.950Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-11T03:47:45.275Z","emptyReason":null},"description":"Python代码调试助手。帮助诊断和修复Python代码错误，覆盖SyntaxError、TypeError、NameError等10+常见错误类型，提供错误解读、代码定位、修复方案和调试技巧。 Skill: python-debug-assistant Owner: laninga Summary: Python代码调试助手。帮助诊断和修复Python代码错误，覆盖SyntaxError、TypeError、NameError等10+常见错误类型，提供错误解读、代码定位、修复方案和调试技巧。 Tags: assistant:1.0.0, debug:1.0.0, debugging:1.0.0, error:1.0.0, latest:1.0.0, programming:1.0.0, python:1.0.0 Version history: v1.0.0 | 2026-05-15T12:06:33.289Z | user - 全面升级为结构化「Python代码调试助手」，支持更清晰的问题定位与修复建议流程。 - 增强错误类型覆盖，支持 10+ 常见Python异常，并针对不同错误给出原因分析与修复方案。 - 明确处","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1.2K downloads reported by the source. Last updated 10/11/2026.","installCommand":"clawhub skill install s17d2nswmaxhej9bb04bfshtt185p50t:python-debug-assistant","sourceUrl":"https://clawhub.ai/laninga/python-debug-assistant","homepage":"https://clawhub.ai/laninga/skills/python-debug-assistant","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/laninga/python-debug-assistant","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/laninga/skills/python-debug-assistant","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":61,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Python代码调试助手。帮助诊断和修复Python代码错误，覆盖SyntaxError、TypeError、NameError等10+常见错误类型，提供错误解读、代码定位、修复方案和调试技巧。 Skill: python-debug-assistant Owner: laninga Summary: Python代码"},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-11T03:47:45.275Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T03:47:45.275Z","emptyReason":null},"stars":null,"forks":null,"downloads":1169,"packageName":null,"latestVersion":"1.0.0","tractionLabel":"1.2K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T03:47:45.262Z","emptyReason":null},"lastUpdatedAt":"2026-10-11T03:47:45.275Z","lastCrawledAt":"2026-10-11T03:47:45.262Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-12T03:47:45.262Z","lastVerifiedAt":null,"highlights":[{"version":"1.0.0","createdAt":"2026-05-15T12:06:33.289Z","changelog":"- 全面升级为结构化「Python代码调试助手」，支持更清晰的问题定位与修复建议流程。 - 增强错误类型覆盖，支持 10+ 常见Python异常，并针对不同错误给出原因分析与修复方案。 - 明确处理不同输入情境（报错、代码、报错+代码、图片），自动适配诊断分支。 - 输出格式统一为标准诊断报告，包括问题分析、定位、修复方案、调试建议。 - 附带典型触发场景、参考资料及交互示例，提升易用性与可扩展性。","fileCount":5,"zipByteSize":7706}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s17d2nswmaxhej9bb04bfshtt185p50t:python-debug-assistant","setupComplexity":"low","setupSteps":["Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-laninga-python-debug-assistant/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-laninga-python-debug-assistant/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-laninga-python-debug-assistant/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-laninga-python-debug-assistant/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-laninga-python-debug-assistant/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-laninga-python-debug-assistant/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-11T07:38:46.949Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-laninga-python-debug-assistant/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-laninga-python-debug-assistant/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-laninga-python-debug-assistant/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-laninga-python-debug-assistant/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"high","updatedAt":"2026-10-11T03:47:45.275Z","emptyReason":null},"readme":"Skill: python-debug-assistant\n\nOwner: laninga\n\nSummary: Python代码调试助手。帮助诊断和修复Python代码错误，覆盖SyntaxError、TypeError、NameError等10+常见错误类型，提供错误解读、代码定位、修复方案和调试技巧。\n\nTags: assistant:1.0.0, debug:1.0.0, debugging:1.0.0, error:1.0.0, latest:1.0.0, programming:1.0.0, python:1.0.0\n\nVersion history:\n\nv1.0.0 | 2026-05-15T12:06:33.289Z | user\n\n- 全面升级为结构化「Python代码调试助手」，支持更清晰的问题定位与修复建议流程。\n- 增强错误类型覆盖，支持 10+ 常见Python异常，并针对不同错误给出原因分析与修复方案。\n- 明确处理不同输入情境（报错、代码、报错+代码、图片），自动适配诊断分支。\n- 输出格式统一为标准诊断报告，包括问题分析、定位、修复方案、调试建议。\n- 附带典型触发场景、参考资料及交互示例，提升易用性与可扩展性。\n\nArchive index:\n\nArchive v1.0.0: 5 files, 7706 bytes\n\nFiles: references/common-errors.md (3290b), references/debugging-tools.md (3626b), skill-card.md (2267b), SKILL.md (5049b), _meta.json (141b)\n\nFile v1.0.0:SKILL.md\n\n---\nname: python-debug-assistant\ndescription: Python代码调试助手。帮助诊断和修复Python代码错误，覆盖SyntaxError、TypeError、NameError等10+常见错误类型，提供错误解读、代码定位、修复方案和调试技巧。\nversion: \"2.0\"\n---\n\n# Python Debug 助手\n\n当用户提交 Python 报错信息或代码问题时，按以下流程诊断并给出修复方案。\n\n## 执行流程\n\n### 步骤 1：解析输入\n\n判断用户输入包含哪些信息：\n\n| 输入组合 | 执行分支 |\n|----------|----------|\n| 错误信息 + 代码片段 | → 步骤 2（完整诊断） |\n| 只有错误信息（无代码） | → 步骤 2A（解释错误 + 常见原因） |\n| 只有代码（无报错） | → 步骤 2B（静态检查潜在问题） |\n| 截图/图片 | → 先提取文字，再判断属于以上哪种 |\n\n### 步骤 2：完整诊断\n\n当用户提供了错误信息和代码时：\n\n1. **解析 traceback**：提取错误类型、错误消息、出错文件及行号\n2. **对照错误类型表**：确定错误类别（见下方速查表）\n3. **定位问题代码**：指出具体哪一行/哪段代码导致问题\n4. **分析根因**：解释为什么会发生这个错误\n\n### 步骤 2A：仅错误信息\n\n给出：\n- 错误类型的通俗解释\n- 该错误最常见的 2-3 种原因\n- 提示用户贴出相关代码以便进一步诊断\n\n### 步骤 2B：仅代码（静态检查）\n\n逐项检查：\n1. 语法问题：括号匹配、冒号、缩进一致性\n2. 变量使用：是否先定义后使用、拼写是否正确\n3. 类型匹配：运算/函数调用的参数类型是否合理\n4. 导入语句：模块名是否正确、是否已安装\n5. 边界条件：索引范围、字典键存在性、除零等\n\n### 步骤 3：生成修复方案\n\n1. 给出具体修改步骤\n2. 提供修改后的正确代码（标注改了哪里）\n3. 如果存在多种修复方式，给出最简洁的一种\n\n### 步骤 4：附加调试建议\n\n根据错误类型推荐对应的调试方法：\n- 简单错误（语法/命名）→ 推荐 IDE 提示 + 仔细检查\n- 逻辑错误 → 推荐 print 调试或 pdb 断点\n- 偶发错误 → 推荐 logging 日志\n- 类型相关 → 推荐 type() / isinstance() 检查\n\n## 错误类型速查表\n\n| 错误类型 | 关键词识别 | 常见原因 | 检查方向 |\n|----------|-----------|----------|----------|\n| SyntaxError | \"invalid syntax\" | 拼写、括号、冒号 | 语法规则 |\n| IndentationError | \"unexpected indent\" | 缩进不一致 | 空格/Tab 混用 |\n| NameError | \"name 'x' is not defined\" | 变量未定义 | 变量拼写、作用域 |\n| TypeError | \"unsupported operand type\" | 类型不匹配 | 操作数类型 |\n| IndexError | \"list index out of range\" | 索引越界 | 列表长度 |\n| KeyError | \"KeyError: 'x'\" | 键不存在 | 字典键名 |\n| ValueError | \"invalid literal\" | 值不合法 | 类型转换 |\n| AttributeError | \"has no attribute\" | 属性/方法不存在 | 对象类型 |\n| ImportError | \"No module named\" | 模块未安装 | 包名拼写 |\n| FileNotFoundError | \"No such file\" | 文件路径错误 | 路径检查 |\n\n## 输出模板\n\n严格按以下结构输出诊断结果：\n\n```\n## 🔍 问题分析\n- **错误类型**：[错误类型名称]\n- **错误信息**：[原始错误信息解读]\n- **根因分析**：[为什么会出错，用通俗语言解释]\n\n## 📍 问题定位\n[指出具体出错的代码行，引用原始代码]\n\n## ✅ 修复方案\n[修改步骤说明]\n\n[修改后的完整代码，关键改动处加注释标注]\n\n## 💡 调试建议\n[1-2 条针对性的调试技巧]\n```\n\n## 触发场景\n\n以下表述应触发此 skill：\n- \"帮我 debug / 调试一下\"\n- \"这个 Python 代码报错了\"\n- \"为什么运行不了 / 报这个错\"\n- \"这段代码有什么问题\"\n- \"帮我看看这个错误\"\n- \"Python 报错怎么解决\"\n\n## 使用示例\n\n### 用户输入\n\n```\nTraceback (most recent call last):\n  File \"test.py\", line 3, in <module>\n    print(x + y)\nNameError: name 'y' is not defined\n\n代码：\nx = 1\nprint(x + y)\n```\n\n### 预期输出\n\n```\n## 🔍 问题分析\n- **错误类型**：NameError\n- **错误信息**：变量 'y' 未被定义就尝试使用\n- **根因分析**：代码中只定义了 x = 1，但 print 语句中引用了未定义的变量 y。\n  Python 在执行时找不到 y，因此抛出 NameError。\n\n## 📍 问题定位\n第 3 行 `print(x + y)` — 变量 y 在此处首次出现但从未被赋值。\n\n## ✅ 修复方案\n在使用 y 之前先定义它：\n\nx = 1\ny = 2  # ← 新增：定义变量 y\nprint(x + y)  # 输出 3\n\n## 💡 调试建议\n- 使用 IDE 的自动补全功能可以减少变量名拼写错误\n- 遇到 NameError 时，用 `print(dir())` 查看当前作用域中已定义的变量名\n```\n\n## 参考资料\n\n- Python 内置异常文档：https://docs.python.org/3/library/exceptions.html\n- 错误速查表（含详细示例）：[references/common-errors.md](references/common-errors.md)\n- 调试工具使用指南：[references/debugging-tools.md](references/debugging-tools.md)\n\nFile v1.0.0:_meta.json\n\n{\n  \"ownerId\": \"kn7b8zme1g0sxp3vew59sgc8zh85qdjd\",\n  \"slug\": \"python-debug-assistant\",\n  \"version\": \"1.0.0\",\n  \"publishedAt\": 1778846793289\n}\n\nFile v1.0.0:references/common-errors.md\n\n# Python 常见错误速查表\n\n## 语法错误 (SyntaxError)\n\n### 1. 缺少冒号\n```python\n# ❌ 错误\nif x > 0\n    print(x)\n\n# ✅ 正确\nif x > 0:\n    print(x)\n```\n\n### 2. 缩进错误\n```python\n# ❌ 错误\ndef foo():\nprint(\"hello\")\n\n# ✅ 正确\ndef foo():\n    print(\"hello\")\n```\n\n### 3. 括号不匹配\n```python\n# ❌ 错误\nprint(\"hello\"\n\n# ✅ 正确\nprint(\"hello\")\n```\n\n---\n\n## 名称错误 (NameError)\n\n### 1. 变量未定义\n```python\n# ❌ 错误\nprint(x)  # x 未定义\n\n# ✅ 正确\nx = 10\nprint(x)\n```\n\n### 2. 变量名拼写错误\n```python\n# ❌ 错误\nmy_list = [1, 2, 3]\nprint(mylist)  # 拼写错误\n\n# ✅ 正确\nprint(my_list)\n```\n\n---\n\n## 类型错误 (TypeError)\n\n### 1. 类型不匹配\n```python\n# ❌ 错误\nprint(\"Hello\" + 123)\n\n# ✅ 正确\nprint(\"Hello\" + str(123))\n# 或\nprint(\"Hello\", 123)\n```\n\n### 2. 参数数量错误\n```python\n# ❌ 错误\ndef greet(name, greeting):\n    print(f\"{greeting}, {name}!\")\n\ngreet(\"Alice\")  # 缺少 greeting 参数\n\n# ✅ 正确\ngreet(\"Alice\", \"Hello\")\n```\n\n---\n\n## 索引错误 (IndexError)\n\n### 列表索引越界\n```python\n# ❌ 错误\nmy_list = [1, 2, 3]\nprint(my_list[5])  # 索引超出范围\n\n# ✅ 正确\nprint(my_list[2])  # 输出 3\n# 或使用循环\nfor i in range(len(my_list)):\n    print(my_list[i])\n```\n\n---\n\n## 键错误 (KeyError)\n\n### 字典键不存在\n```python\n# ❌ 错误\nmy_dict = {\"a\": 1, \"b\": 2}\nprint(my_dict[\"c\"])  # 键不存在\n\n# ✅ 正确\nprint(my_dict.get(\"c\", \"默认值\"))  # 输出默认值\n# 或\nif \"c\" in my_dict:\n    print(my_dict[\"c\"])\n```\n\n---\n\n## 值错误 (ValueError)\n\n### 值不符合函数预期\n```python\n# ❌ 错误\nint(\"abc\")  # 无法将字符串转换为整数\n\n# ✅ 正确\nint(\"123\")  # 正常转换\n# 或\ntry:\n    result = int(\"abc\")\nexcept ValueError:\n    print(\"转换失败\")\n```\n\n---\n\n## 文件未找到错误 (FileNotFoundError)\n\n### 文件路径错误\n```python\n# ❌ 错误\nwith open(\"data.txt\", \"r\") as f:\n    content = f.read()\n\n# ✅ 正确\n# 使用绝对路径\nwith open(r\"C:\\path\\to\\data.txt\", \"r\") as f:\n    content = f.read()\n# 或检查文件是否存在\nimport os\nif os.path.exists(\"data.txt\"):\n    with open(\"data.txt\", \"r\") as f:\n        content = f.read()\n```\n\n---\n\n## 属性错误 (AttributeError)\n\n### 对象没有该属性/方法\n```python\n# ❌ 错误\nmy_list = [1, 2, 3]\nmy_list.add(4)  # list 没有 add 方法\n\n# ✅ 正确\nmy_list.append(4)\n```\n\n### 类型错误使用了不存在的方法\n```python\n# ❌ 错误\ntext = \"hello\"\ntext.append(\" world\")  # str 没有 append 方法\n\n# ✅ 正确\ntext += \" world\"\n```\n\n---\n\n## 导入错误 (ImportError)\n\n### 模块不存在\n```python\n# ❌ 错误\nimport numpyoo  # 拼写错误\n\n# ✅ 正确\nimport numpy as np\n```\n\n---\n\n## 常见错误快速诊断表\n\n| 错误类型 | 关键词 | 检查点 |\n|----------|--------|--------|\n| SyntaxError | \"invalid syntax\" | 括号、冒号、缩进 |\n| NameError | \"name 'x' is not defined\" | 变量是否定义 |\n| TypeError | \"unsupported operand type\" | 数据类型 |\n| IndexError | \"list index out of range\" | 索引范围 |\n| KeyError | \"KeyError: 'x'\" | 字典键是否存在 |\n| ValueError | \"invalid literal\" | 值是否合法 |\n| ImportError | \"No module named\" | 模块是否安装 |\n| FileNotFoundError | \"No such file\" | 文件路径是否正确 |\n\nFile v1.0.0:references/debugging-tools.md\n\n# Python 调试工具使用指南\n\n## 1. Print 调试法\n\n最简单直接的调试方式，通过打印变量值观察程序状态。\n\n```python\ndef calculate_sum(numbers):\n    result = 0\n    for i, num in enumerate(numbers):\n        # 打印每一步的中间结果\n        print(f\"i={i}, num={num}, result={result}\")\n        result += num\n    return result\n\ncalculate_sum([1, 2, 3, 4, 5])\n```\n\n**输出：**\n```\ni=0, num=1, result=0\ni=1, num=2, result=1\ni=2, num=3, result=3\ni=3, num=4, result=6\ni=4, num=5, result=10\n```\n\n---\n\n## 2. pdb 断点调试\n\nPython 内置的交互式调试器。\n\n### 基本命令\n\n| 命令 | 简写 | 说明 |\n|------|------|------|\n| `n` (next) | `n` | 执行下一行 |\n| `s` (step) | `s` | 进入函数内部 |\n| `c` (continue) | `c` | 继续执行直到下一个断点 |\n| `p` (print) | `p` | 打印变量值 |\n| `l` (list) | `l` | 查看当前代码上下文 |\n| `q` (quit) | `q` | 退出调试 |\n\n### 使用方式\n\n```python\nimport pdb\n\ndef buggy_function(x, y):\n    pdb.set_trace()  # 设置断点\n    result = x / y\n    return result\n\nbuggy_function(10, 0)  # 会触发断点\n```\n\n### 启动方式\n\n```bash\n# 方式1: 命令行启动\npython -m pdb myscript.py\n\n# 方式2: 代码中设置断点\nimport pdb; pdb.set_trace()\n\n# 方式3: 使用 breakpoint() (Python 3.7+)\nbreakpoint()\n```\n\n---\n\n## 3. logging 日志调试\n\n适合正式项目，可以控制日志级别和输出格式。\n\n```python\nimport logging\n\n# 配置日志\nlogging.basicConfig(\n    level=logging.DEBUG,\n    format='%(asctime)s - %(levelname)s - %(message)s'\n)\n\nlogger = logging.getLogger(__name__)\n\ndef divide(a, b):\n    logger.debug(f\"a = {a}, b = {b}\")\n    if b == 0:\n        logger.error(\"除数不能为零！\")\n        return None\n    result = a / b\n    logger.debug(f\"result = {result}\")\n    return result\n\ndivide(10, 2)\ndivide(10, 0)\n```\n\n---\n\n## 4. try-except 异常捕获\n\n```python\ndef read_number(s):\n    try:\n        value = int(s)\n        print(f\"成功转换: {value}\")\n    except ValueError as e:\n        print(f\"转换失败: {e}\")\n        print(f\"输入内容: '{s}'\")\n        return None\n    return value\n\nread_number(\"123\")\nread_number(\"abc\")\n```\n\n---\n\n## 5. IDE 调试工具\n\n### VS Code 调试配置\n\n1. 安装 Python 扩展\n2. 在代码左侧点击设置断点\n3. 按 F5 启动调试\n\n### PyCharm 调试\n\n1. 点击代码行号左侧设置断点\n2. 右键选择 \"Debug\"\n3. 使用调试窗口观察变量\n\n---\n\n## 6. 单元测试辅助\n\n```python\nimport unittest\n\ndef add(a, b):\n    return a + b\n\nclass TestMath(unittest.TestCase):\n    def test_add(self):\n        self.assertEqual(add(1, 2), 3)\n        self.assertEqual(add(-1, 1), 0)\n        self.assertEqual(add(0, 0), 0)\n\nif __name__ == '__main__':\n    unittest.main()\n```\n\n---\n\n## 7. 快速检查变量\n\n```python\n# 查看变量类型\nprint(type(my_variable))\n\n# 查看变量所有属性和方法\nprint(dir(my_variable))\n\n# 查看对象详细信息\nimport pprint\npprint.pprint(vars(my_object))\n```\n\n---\n\n## 调试流程建议\n\n1. **先看错误信息** — 明确错误类型和位置\n2. **缩小范围** — 注释掉部分代码，定位问题区间\n3. **打印关键变量** — 在可疑处打印变量值\n4. **使用 pdb** — 复杂问题用断点调试\n5. **检查数据类型** — 很多错误源于类型不匹配\n6. **查看文档** — 确认函数参数和使用方式\n\n---\n\n## 常见调试场景\n\n| 场景 | 推荐方法 |\n|------|----------|\n| 简单错误 | print 打印 |\n| 循环中的错误 | print + 计数器 |\n| 函数返回值错误 | pdb 断点 |\n| 偶发错误 | logging 记录 |\n| 未知异常 | try-except + traceback |\n\nFile v1.0.0:skill-card.md\n\n## Description:\n\nPython Debug Assistant helps diagnose and fix Python errors, covering common exception types such as SyntaxError, TypeError, and NameError with error interpretation, code localization, repair options, and debugging tips.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[laninga](https://clawhub.ai/user/laninga)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and learners use this skill to interpret Python tracebacks or code snippets, locate likely causes, and receive concise repair steps with example corrected code. It is especially suited to Chinese-language debugging workflows.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill may produce incorrect or incomplete debugging advice for user-provided code.\n\nMitigation: Review proposed fixes and run tests before applying changes to production or important code.\n\nRisk: The reviewed security guidance notes the skill is primarily Chinese-language and may feel rigid for other languages or output formats.\n\nMitigation: Use it for Chinese-language Python debugging workflows, and request a different format or language explicitly when needed.\n\n## Reference(s):\n\n- [Python Built-in Exceptions](https://docs.python.org/3/library/exceptions.html)\n- [ClawHub Skill Page](https://clawhub.ai/laninga/skills/python-debug-assistant)\n- [Common Python Errors](references/common-errors.md)\n- [Python Debugging Tools](references/debugging-tools.md)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Markdown, Code, Shell commands, Guidance]\n\n**Output Format:** [Markdown diagnostic report with explanatory text, code blocks, and occasional shell commands]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [The source artifact requests a fixed report structure for problem analysis, location, repair plan, and debugging advice.]\n\n## Skill Version(s):\n\n1.0.0 (source: server release metadata and target metadata; artifact frontmatter reports 2.0)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.","readmeExcerpt":"Skill: python-debug-assistant Owner: laninga Summary: Python代码调试助手。帮助诊断和修复Python代码错误，覆盖SyntaxError、TypeError、NameError等10+常见错误类型，提供错误解读、代码定位、修复方案和调试技巧。 Tags: assistant:1.0.0, debug:1.0.0, debugging:1.0.0, error:1.0.0, latest:1.0.0, programming:1.0.0, python:1.0.0 Version history: v1.0.0 | 2026-05-15T12:06:33.289Z | user - 全面升级为结构化「Python代码调试助手」，支持更清晰的问题定位与修复建议流程。 - 增强错误类型覆盖，支持 10+ 常见Python异常，并针对不同错误给出原因分析与修复方案。 - 明确处","codeSnippets":[],"executableExamples":[{"language":"text","snippet":"## 🔍 问题分析\n- **错误类型**：[错误类型名称]\n- **错误信息**：[原始错误信息解读]\n- **根因分析**：[为什么会出错，用通俗语言解释]\n\n## 📍 问题定位\n[指出具体出错的代码行，引用原始代码]\n\n## ✅ 修复方案\n[修改步骤说明]\n\n[修改后的完整代码，关键改动处加注释标注]\n\n## 💡 调试建议\n[1-2 条针对性的调试技巧]"},{"language":"text","snippet":"Traceback (most recent call last):\n  File \"test.py\", line 3, in <module>\n    print(x + y)\nNameError: name 'y' is not defined\n\n代码：\nx = 1\nprint(x + y)"},{"language":"text","snippet":"## 🔍 问题分析\n- **错误类型**：NameError\n- **错误信息**：变量 'y' 未被定义就尝试使用\n- **根因分析**：代码中只定义了 x = 1，但 print 语句中引用了未定义的变量 y。\n  Python 在执行时找不到 y，因此抛出 NameError。\n\n## 📍 问题定位\n第 3 行 `print(x + y)` — 变量 y 在此处首次出现但从未被赋值。\n\n## ✅ 修复方案\n在使用 y 之前先定义它：\n\nx = 1\ny = 2  # ← 新增：定义变量 y\nprint(x + y)  # 输出 3\n\n## 💡 调试建议\n- 使用 IDE 的自动补全功能可以减少变量名拼写错误\n- 遇到 NameError 时，用 `print(dir())` 查看当前作用域中已定义的变量名"},{"language":"python","snippet":"# ❌ 错误\nif x > 0\n    print(x)\n\n# ✅ 正确\nif x > 0:\n    print(x)"},{"language":"python","snippet":"# ❌ 错误\ndef foo():\nprint(\"hello\")\n\n# ✅ 正确\ndef foo():\n    print(\"hello\")"},{"language":"python","snippet":"# ❌ 错误\nprint(\"hello\"\n\n# ✅ 正确\nprint(\"hello\")"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: python-debug-assistant\ndescription: Python代码调试助手。帮助诊断和修复Python代码错误，覆盖SyntaxError、TypeError、NameError等10+常见错误类型，提供错误解读、代码定位、修复方案和调试技巧。\nversion: \"2.0\"\n---\n\n# Python Debug 助手\n\n当用户提交 Python 报错信息或代码问题时，按以下流程诊断并给出修复方案。\n\n## 执行流程\n\n### 步骤 1：解析输入\n\n判断用户输入包含哪些信息：\n\n| 输入组合 | 执行分支 |\n|----------|----------|\n| 错误信息 + 代码片段 | → 步骤 2（完整诊断） |\n| 只有错误信息（无代码） | → 步骤 2A（解释错误 + 常见原因） |\n| 只有代码（无报错） | → 步骤 2B（静态检查潜在问题） |\n| 截图/图片 | → 先提取文字，再判断属于以上哪种 |\n\n### 步骤 2：完整诊断\n\n当用户提供了错误信息和代码时：\n\n1. **解析 traceback**：提取错误类型、错误消息、出错文件及行号\n2. **对照错误类型表**：确定错误类别（见下方速查表）\n3. **定位问题代码**：指出具体哪一行/哪段代码导致问题\n4. **分析根因**：解释为什么会发生这个错误\n\n### 步骤 2A：仅错误信息\n\n给出：\n- 错误类型的通俗解释\n- 该错误最常见的 2-3 种原因\n- 提示用户贴出相关代码以便进一步诊断\n\n### 步骤 2B：仅代码（静态检查）\n\n逐项检查：\n1. 语法问题：括号匹配、冒号、缩进一致性\n2. 变量使用：是否先定义后使用、拼写是否正确\n3. 类型匹配：运算/函数调用的参数类型是否合理\n4. 导入语句：模块名是否正确、是否已安装\n5. 边界条件：索引范围、字典键存在性、除零等\n\n### 步骤 3：生成修复方案\n\n1. 给出具体修改步骤\n2. 提供修改后的正确代码（标注改了哪里）\n3. 如果存在多种修复方式，给出最简洁的一种\n\n### 步骤 4：附加调试建议\n\n根据错误类型推荐对应的调试方法：\n- 简单错误（语法/命名）→ 推荐 IDE 提示 + 仔细检查\n- 逻辑错误 → 推荐 print 调试或 pdb 断点\n- 偶发错误 → 推荐 logging 日志\n- 类型相关 → 推荐 type() / isinstance() 检查\n\n## 错误类型速查表\n\n| 错误类型 | 关键词识别 | 常见原因 | 检查方向 |\n|----------|-----------|----------|----------|\n| SyntaxError | \"invalid syntax\" | 拼写、括号、冒号 | 语法规则 |\n| IndentationError | \"unexpected indent\" | 缩进不一致 | 空格/Tab 混用 |\n| NameError | \"name 'x' is not defined\" | 变量未定义 | 变量拼写、作用域 |\n| TypeError | \"unsupported operand type\" | 类型不匹配 | 操作数类型 |\n| IndexError | \"list index out of range\" | 索引越界 | 列表长度 |\n| KeyError | \"KeyError: 'x'\" | 键不存在 | 字典键名 |\n| ValueError | \"invalid literal\" | 值不合法 | 类型转换 |\n| AttributeError | \"has no attribute\" | 属性/方法不存在 | 对象类型 |\n| ImportError | \"No module named\" | 模块未安装 | 包名拼写 |\n| FileNotFoundError | \"No such file\" | 文件路径错误 | 路径检查 |\n\n## 输出模板\n\n严格按以下结构输出诊断结果：\n\n```\n## 🔍 问题分析\n- **错误类型**：[错误类型名称]\n- **错误信息**：[原始错误信息解读]\n- **根因分析**：[为什么会出错，用通俗语言解释]\n\n## 📍 问题定位\n[指出具体出错的代码行，引用原始代码]\n\n## ✅ 修复方案\n[修改步骤说明]\n\n[修改后的完整代码，关键改动处加注释标注]\n\n## 💡 调试建议\n[1-2 条针对性的调试技巧]\n```\n\n## 触发场景\n\n以下表述应触发此 skill：\n- \"帮我 debug / 调试一下\"\n- \"这个 Python 代码报错了\"\n- \"为什么运行不了 / 报这个错\"\n- \"这段代码有什么问题\"\n- \"帮我看看这个错误\"\n- \"Python 报错怎么解决\"\n\n## 使用示例\n\n### 用户输入\n\n```\nTraceback (most recent call last):\n  File \"test.py\", line 3, in <module>\n    print(x + y)\nNameError: name 'y' is not defined\n\n代码：\nx = 1\nprint(x + y)\n```\n\n### 预期输出\n\n```\n## 🔍 问题分析\n- **错误类型**：NameError\n- **错误信息**：变量 'y' 未被定义就尝试使用\n- **根因分析**：代码中只定义了 x = 1，但 print 语句中引用了未定义的变量 y。\n  Python 在执行时找不到 y，因此抛出 NameError。\n\n## 📍 问题定位\n第 3 行 `print(x + y)` — 变量 y 在此处首次出现但从未被赋值。\n\n## ✅ 修复方案\n在使用 y 之前先定义它：\n\nx = 1\ny = 2  # ← 新增：定义变量 y\nprint(x + y)  # 输出 3\n\n## 💡 调试建议\n- 使用 IDE 的自动补全功能可以减少变量名拼写错误\n- 遇到 NameError 时，用 `print(dir())` 查看当前作用域中已定义的变量名\n```\n\n## 参考资料\n\n- Python 内置异常文档：https://docs.python.org/3/library/exceptions.html\n- 错误速查表（含详细示例）：[references/common-errors.md](references/common-errors.md)\n- 调试工具使用指南：[references/debugging-tools.md](references/debugging-tools.md)"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn7b8zme1g0sxp3vew59sgc8zh85qdjd\",\n  \"slug\": \"python-debug-assistant\",\n  \"version\": \"1.0.0\",\n  \"publishedAt\": 1778846793289\n}"},{"path":"references/common-errors.md","content":"# Python 常见错误速查表\n\n## 语法错误 (SyntaxError)\n\n### 1. 缺少冒号\n```python\n# ❌ 错误\nif x > 0\n    print(x)\n\n# ✅ 正确\nif x > 0:\n    print(x)\n```\n\n### 2. 缩进错误\n```python\n# ❌ 错误\ndef foo():\nprint(\"hello\")\n\n# ✅ 正确\ndef foo():\n    print(\"hello\")\n```\n\n### 3. 括号不匹配\n```python\n# ❌ 错误\nprint(\"hello\"\n\n# ✅ 正确\nprint(\"hello\")\n```\n\n---\n\n## 名称错误 (NameError)\n\n### 1. 变量未定义\n```python\n# ❌ 错误\nprint(x)  # x 未定义\n\n# ✅ 正确\nx = 10\nprint(x)\n```\n\n### 2. 变量名拼写错误\n```python\n# ❌ 错误\nmy_list = [1, 2, 3]\nprint(mylist)  # 拼写错误\n\n# ✅ 正确\nprint(my_list)\n```\n\n---\n\n## 类型错误 (TypeError)\n\n### 1. 类型不匹配\n```python\n# ❌ 错误\nprint(\"Hello\" + 123)\n\n# ✅ 正确\nprint(\"Hello\" + str(123))\n# 或\nprint(\"Hello\", 123)\n```\n\n### 2. 参数数量错误\n```python\n# ❌ 错误\ndef greet(name, greeting):\n    print(f\"{greeting}, {name}!\")\n\ngreet(\"Alice\")  # 缺少 greeting 参数\n\n# ✅ 正确\ngreet(\"Alice\", \"Hello\")\n```\n\n---\n\n## 索引错误 (IndexError)\n\n### 列表索引越界\n```python\n# ❌ 错误\nmy_list = [1, 2, 3]\nprint(my_list[5])  # 索引超出范围\n\n# ✅ 正确\nprint(my_list[2])  # 输出 3\n# 或使用循环\nfor i in range(len(my_list)):\n    print(my_list[i])\n```\n\n---\n\n## 键错误 (KeyError)\n\n### 字典键不存在\n```python\n# ❌ 错误\nmy_dict = {\"a\": 1, \"b\": 2}\nprint(my_dict[\"c\"])  # 键不存在\n\n# ✅ 正确\nprint(my_dict.get(\"c\", \"默认值\"))  # 输出默认值\n# 或\nif \"c\" in my_dict:\n    print(my_dict[\"c\"])\n```\n\n---\n\n## 值错误 (ValueError)\n\n### 值不符合函数预期\n```python\n# ❌ 错误\nint(\"abc\")  # 无法将字符串转换为整数\n\n# ✅ 正确\nint(\"123\")  # 正常转换\n# 或\ntry:\n    result = int(\"abc\")\nexcept ValueError:\n    print(\"转换失败\")\n```\n\n---\n\n## 文件未找到错误 (FileNotFoundError)\n\n### 文件路径错误\n```python\n# ❌ 错误\nwith open(\"data.txt\", \"r\") as f:\n    content = f.read()\n\n# ✅ 正确\n# 使用绝对路径\nwith open(r\"C:\\path\\to\\data.txt\", \"r\") as f:\n    content = f.read()\n# 或检查文件是否存在\nimport os\nif os.path.exists(\"data.txt\"):\n    with open(\"data.txt\", \"r\") as f:\n        content = f.read()\n```\n\n---\n\n## 属性错误 (AttributeError)\n\n### 对象没有该属性/方法\n```python\n# ❌ 错误\nmy_list = [1, 2, 3]\nmy_list.add(4)  # list 没有 add 方法\n\n# ✅ 正确\nmy_list.append(4)\n```\n\n### 类型错误使用了不存在的方法\n```python\n# ❌ 错误\ntext = \"hello\"\ntext.append(\" world\")  # str 没有 append 方法\n\n# ✅ 正确\ntext += \" world\"\n```\n\n---\n\n## 导入错误 (ImportError)\n\n### 模块不存在\n```python\n# ❌ 错误\nimport numpyoo  # 拼写错误\n\n# ✅ 正确\nimport numpy as np\n```\n\n---\n\n## 常见错误快速诊断表\n\n| 错误类型 | 关键词 | 检查点 |\n|----------|--------|--------|\n| SyntaxError | \"invalid syntax\" | 括号、冒号、缩进 |\n| NameError | \"name 'x' is not defined\" | 变量是否定义 |\n| TypeError | \"unsupported operand type\" | 数据类型 |\n| IndexError | \"list index out of range\" | 索引范围 |\n| KeyError | \"KeyError: 'x'\" | 字典键是否存在 |\n| ValueError | \"invalid literal\" | 值是否合法 |\n| ImportError | \"No module named\" | 模块是否安装 |\n| FileNotFoundError | \"No such file\" | 文件路径是否正确 |"},{"path":"references/debugging-tools.md","content":"# Python 调试工具使用指南\n\n## 1. Print 调试法\n\n最简单直接的调试方式，通过打印变量值观察程序状态。\n\n```python\ndef calculate_sum(numbers):\n    result = 0\n    for i, num in enumerate(numbers):\n        # 打印每一步的中间结果\n        print(f\"i={i}, num={num}, result={result}\")\n        result += num\n    return result\n\ncalculate_sum([1, 2, 3, 4, 5])\n```\n\n**输出：**\n```\ni=0, num=1, result=0\ni=1, num=2, result=1\ni=2, num=3, result=3\ni=3, num=4, result=6\ni=4, num=5, result=10\n```\n\n---\n\n## 2. pdb 断点调试\n\nPython 内置的交互式调试器。\n\n### 基本命令\n\n| 命令 | 简写 | 说明 |\n|------|------|------|\n| `n` (next) | `n` | 执行下一行 |\n| `s` (step) | `s` | 进入函数内部 |\n| `c` (continue) | `c` | 继续执行直到下一个断点 |\n| `p` (print) | `p` | 打印变量值 |\n| `l` (list) | `l` | 查看当前代码上下文 |\n| `q` (quit) | `q` | 退出调试 |\n\n### 使用方式\n\n```python\nimport pdb\n\ndef buggy_function(x, y):\n    pdb.set_trace()  # 设置断点\n    result = x / y\n    return result\n\nbuggy_function(10, 0)  # 会触发断点\n```\n\n### 启动方式\n\n```bash\n# 方式1: 命令行启动\npython -m pdb myscript.py\n\n# 方式2: 代码中设置断点\nimport pdb; pdb.set_trace()\n\n# 方式3: 使用 breakpoint() (Python 3.7+)\nbreakpoint()\n```\n\n---\n\n## 3. logging 日志调试\n\n适合正式项目，可以控制日志级别和输出格式。\n\n```python\nimport logging\n\n# 配置日志\nlogging.basicConfig(\n    level=logging.DEBUG,\n    format='%(asctime)s - %(levelname)s - %(message)s'\n)\n\nlogger = logging.getLogger(__name__)\n\ndef divide(a, b):\n    logger.debug(f\"a = {a}, b = {b}\")\n    if b == 0:\n        logger.error(\"除数不能为零！\")\n        return None\n    result = a / b\n    logger.debug(f\"result = {result}\")\n    return result\n\ndivide(10, 2)\ndivide(10, 0)\n```\n\n---\n\n## 4. try-except 异常捕获\n\n```python\ndef read_number(s):\n    try:\n        value = int(s)\n        print(f\"成功转换: {value}\")\n    except ValueError as e:\n        print(f\"转换失败: {e}\")\n        print(f\"输入内容: '{s}'\")\n        return None\n    return value\n\nread_number(\"123\")\nread_number(\"abc\")\n```\n\n---\n\n## 5. IDE 调试工具\n\n### VS Code 调试配置\n\n1. 安装 Python 扩展\n2. 在代码左侧点击设置断点\n3. 按 F5 启动调试\n\n### PyCharm 调试\n\n1. 点击代码行号左侧设置断点\n2. 右键选择 \"Debug\"\n3. 使用调试窗口观察变量\n\n---\n\n## 6. 单元测试辅助\n\n```python\nimport unittest\n\ndef add(a, b):\n    return a + b\n\nclass TestMath(unittest.TestCase):\n    def test_add(self):\n        self.assertEqual(add(1, 2), 3)\n        self.assertEqual(add(-1, 1), 0)\n        self.assertEqual(add(0, 0), 0)\n\nif __name__ == '__main__':\n    unittest.main()\n```\n\n---\n\n## 7. 快速检查变量\n\n```python\n# 查看变量类型\nprint(type(my_variable))\n\n# 查看变量所有属性和方法\nprint(dir(my_variable))\n\n# 查看对象详细信息\nimport pprint\npprint.pprint(vars(my_object))\n```\n\n---\n\n## 调试流程建议\n\n1. **先看错误信息** — 明确错误类型和位置\n2. **缩小范围** — 注释掉部分代码，定位问题区间\n3. **打印关键变量** — 在可疑处打印变量值\n4. **使用 pdb** — 复杂问题用断点调试\n5. **检查数据类型** — 很多错误源于类型不匹配\n6. **查看文档** — 确认函数参数和使用方式\n\n---\n\n## 常见调试场景\n\n| 场景 | 推荐方法 |\n|------|----------|\n| 简单错误 | print 打印 |\n| 循环中的错误 | print + 计数器 |\n| 函数返回值错误 | pdb 断点 |\n| 偶发错误 | logging 记录 |\n| 未知异常 | try-except + traceback |"},{"path":"skill-card.md","content":"## Description:\n\nPython Debug Assistant helps diagnose and fix Python errors, covering common exception types such as SyntaxError, TypeError, and NameError with error interpretation, code localization, repair options, and debugging tips.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[laninga](https://clawhub.ai/user/laninga)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and learners use this skill to interpret Python tracebacks or code snippets, locate likely causes, and receive concise repair steps with example corrected code. It is especially suited to Chinese-language debugging workflows.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill may produce incorrect or incomplete debugging advice for user-provided code.\n\nMitigation: Review proposed fixes and run tests before applying changes to production or important code.\n\nRisk: The reviewed security guidance notes the skill is primarily Chinese-language and may feel rigid for other languages or output formats.\n\nMitigation: Use it for Chinese-language Python debugging workflows, and request a different format or language explicitly when needed.\n\n## Reference(s):\n\n- [Python Built-in Exceptions](https://docs.python.org/3/library/exceptions.html)\n- [ClawHub Skill Page](https://clawhub.ai/laninga/skills/python-debug-assistant)\n- [Common Python Errors](references/common-errors.md)\n- [Python Debugging Tools](references/debugging-tools.md)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Markdown, Code, Shell commands, Guidance]\n\n**Output Format:** [Markdown diagnostic report with explanatory text, code blocks, and occasional shell commands]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [The source artifact requests a fixed report structure for problem analysis, location, repair plan, and debugging advice.]\n\n## Skill Version(s):\n\n1.0.0 (source: server release metadata and target metadata; artifact frontmatter reports 2.0)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment."}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":"Python代码调试助手。帮助诊断和修复Python代码错误，覆盖SyntaxError、TypeError、NameError等10+常见错误类型，提供错误解读、代码定位、修复方案和调试技巧。 Skill: python-debug-assistant Owner: laninga Summary: Python代码调试助手。帮助诊断和修复Python代码错误，覆盖SyntaxError、TypeError、NameError等10+常见错误类型，提供错误解读、代码定位、修复方案和调试技巧。 Tags: assistant:1.0.0, debug:1.0.0, debugging:1.0.0, error:1.0.0, latest:1.0.0, programming:1.0.0, python:1.0.0 Version history: v1.0.0 | 2026-05-15T12:06:33.289Z | user - 全面升级为结构化「Python代码调试助手」，支持更清晰的问题定位与修复建议流程。 - 增强错误类型覆盖，支持 10+ 常见Python异常，并针对不同错误给出原因分析与修复方案。 - 明确处","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":789,"uniquenessScore":57,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-11T03:47:45.275Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-11T03:47:45.275Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-11T07:38:46.950Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}