SuperAPI AI 工具集

langchain-tool-builder

编程与开发

查看项目

更新于 10-16 08:11

技能介绍

用途:帮助按 Claude Code 的 buildTool() 模式定义 LangChain(Python)工具。它把工具身份、输入 schema、安全属性和执行逻辑收敛到同一个类中,并以 fail-closed 默认值让新工具默认更安全。

主要能力:fail-closed 默认值(is_read_only、is_destructive、is_concurrency_safe 均默认 False);分层执行(validate_semantics → check_permissions → _call 分离);自包含定义,无需单独接线权限中间件。

工作流程:第一步安装基类,检查项目 utils 目录是否存在 claude_style_tool.py,ai-base 预期路径为 /Users/jigege/ai-base/backend/base/utils/claude_style_tool.py,不存在则从技能目录 references/claude_style_tool.py 复制;其他项目需询问用户的 utils/tools 目录。第二步访谈用户,收集名称({service}{action}{resource} 格式,如 stock_get_price)、描述、schema 字段、是否只读/破坏性/可并发、response_format、是否列表工具、语义校验、权限检查与核心逻辑;部分可据上下文推断,如 search 工具通常 is_read_only=True、is_concurrency_safe=True。第三步生成 .py 文件,字段顺序为 imports、Pydantic 输入 schema、工具类(身份、安全元数据、_validate_input_semantics、_check_permissions、_call);ai-base 建议路径为 /Users/jigege/ai-base/backend/base/tools/<tool_name>.py。第四步打印安全属性摘要,如 SearchDocsTool: read_only=True destructive=False concurrency_safe=True max_result=10K。简单工具可用 build_tool() 工厂函数;无输入约束或权限控制时可省略相应方法。

使用方式:输出模板保留 name、description、args_schema、安全元数据与三类方法;常用安全属性模式包括搜索/查询/文件读取为 True/False/True,写入、删除、POST/DELETE 多为 False。列表工具超过约 50 条建议分页,返回 items、total、count、offset、has_more、next_offset,并加入 offset、limit 字段。JSON 适合程序化处理,Markdown 适合直接展示,不确定时可接受 response_format 参数并在 _call 中分支。错误信息需可操作,应指导 agent 下一步如何修复。

限制:资料未提供收费、价格、平台、效果或独立使用步骤等事实,暂未提供。