SuperAPI AI 工具集

nooa-tools-and-skills

智能体与模型

查看项目

更新于 10-16 02:34

技能介绍

用途:为 NVIDIA OO(CodeAct)智能体提供能力扩展方式,涵盖工具、技能与外部集成。

主要能力:

  1. 方法即工具:没有工具注册抽象,self 上任何可见方法或属性都可被 CodeAct 生成的代码调用,doc(self) 告知 LLM 可用内容。确定性助手(如 get_stock)与生成方法(如 can_fulfill)可混用;精确语义用确定性助手,模糊判断用生成方法,助手需精确命名、类型标注与文档字符串。
  2. 内置工具:from nooa.tools import ShellTools, TodoManager。ShellTools 是唯一的 shell/文件工具(已取代 BashTool/FileTool),维护单一持久 bash 会话,cd、export、cwd 跨调用保留,含 run、read、replace、write_file 方法;run 返回 ShellResult(str 子类,含 stdout/stderr/returncode/success),可用 stdin= 传载荷。TodoManager 提供 add/done。
  3. 技能:Skill(子类文档字符串即使用指南)、Skill(pd) 包装第三方库、TextSkill(path=...) 读取 SKILL.md 目录。智能体执行上下文中有 # Skills 块,可调用 doc(self.<skill>) 获取完整指南。TextSkill 暴露 read_file(path) 与 await run_script(name, *args)。SKILL.md frontmatter 必填 name、description,可选 compatibility、metadata、user-invocable、allowed-tools,兼容 Claude Code 格式。批量发现用 SkillRegistry(agent) + discover_skills_dirs([...]) / activate([...]);SkillManager 不存在,相关示例已过时。@slash_command 标记技能方法可由宿主调用。
  4. MCP:核心库将 MCP 设为可选,uv sync --extra mcp 或 uv add 'nooa[mcp]'。用 MCPManager.create_from_server 从 .mcp.json 或内联配置创建,支持 stdio、SSE、streamable-http 传输与 OAuth。${VAR} 占位符保持字面量,密钥需在可信调用方代码中解析后直接传入。
  5. 多模态:from nooa import Image, Audio, Video, File,Image 支持 from_file/from_bytes/from_url,仅多模态模型可用,纯文本模型会报错。

使用方式:在 init(super().init() 之后)把工具/技能挂到 self 上,作为公开属性自动可见。

限制与注意:裸函数或 lambda 属性不可内省,需用类方法或对象;工具按实例隔离;用 Annotated[T, hidden] 隐藏内部工具;外部 API 易碎,建议用确定性方法包装并给出清晰错误。相关技能:nooa-agent-authoring、nooa-capturing-traces。