网淘吧来吧,欢迎您!

Nia

2026-03-30 新闻来源:网淘吧 围观:4
电脑广告
手机广告

Nia 技能

直接 API 访问Nia用于索引和搜索代码仓库、文档、研究论文、HuggingFace 数据集、本地文件夹和软件包。

Nia 提供工具用于索引和搜索外部仓库、研究论文、文档、软件包,并进行 AI 驱动的研究。其主要目标是减少大型语言模型中的幻觉,并为 AI 智能体提供最新的上下文。

Nia

设置

获取您的 API 密钥

有两种方式:

  • 运行npx nia-wizard@latest(引导式设置)
  • 或者访问trynia.ai获取您的密钥

存储密钥

mkdir -p ~/.config/nia
echo "your-api-key-here" > ~/.config/nia/api_key

要求

  • curl
  • jq

Nia 优先工作流程

在使用网络抓取或网络搜索之前,您必须:

  1. 首先检查已索引的源:./scripts/sources.sh list./scripts/repos.sh list
  2. 如果源存在:使用search.sh universalrepos.sh grepsources.sh read进行针对性查询
  3. 如果源不存在但你知道URL:使用repos.sh indexsources.sh index对其建立索引,然后搜索
  4. 仅当源未知时:使用search.sh websearch.sh deep来发现URL,然后建立索引

为何这很重要索引源比网络抓取提供更准确、完整的上下文。网络抓取返回的是截断/摘要内容,而Nia提供完整的源代码和文档。

确定性工作流程

  1. 首先使用repos.sh list/sources.sh list
  2. 检查源是否已被索引如果已索引,使用repos.sh tree/
  3. sources.sh tree检查目录树获取结构后,使用search.sh universalrepos.sh grep
  4. repos.sh read

进行针对性搜索

  • 将发现保存到.md文件中,以便跟踪索引源供将来使用注意事项
  • 对于文档,始终索引根链接(例如 docs.stripe.com)以抓取所有页面。
  • 索引需要1-5分钟。请等待,然后再次运行列表命令以检查状态。
  • 所有脚本都使用环境变量来设置可选参数(例如EXTRACT_BRANDING=true)。

脚本

所有脚本都位于./scripts/目录下,并使用lib.sh作为共享的认证/cURL辅助函数库。基础URL为:https://apigcp.trynia.ai/v2

每个脚本都使用子命令:./scripts/<脚本名>.sh <命令> [参数...]运行任何脚本时不带参数,即可查看可用命令和用法。

sources.sh —— 文档与数据源管理

./scripts/sources.sh index "https://docs.example.com" [limit]   # Index docs
./scripts/sources.sh list [type]                                  # List sources (documentation|research_paper|huggingface_dataset|local_folder)
./scripts/sources.sh get <source_id> [type]                       # Get source details
./scripts/sources.sh resolve <identifier> [type]                  # Resolve name/URL to ID
./scripts/sources.sh update <source_id> [display_name] [cat_id]   # Update source
./scripts/sources.sh delete <source_id> [type]                    # Delete source
./scripts/sources.sh sync <source_id> [type]                      # Re-sync source
./scripts/sources.sh rename <source_id_or_name> <new_name>        # Rename source
./scripts/sources.sh subscribe <url> [source_type] [ref]          # Subscribe to global source
./scripts/sources.sh read <source_id> <path> [line_start] [end]   # Read content
./scripts/sources.sh grep <source_id> <pattern> [path]            # Grep content
./scripts/sources.sh tree <source_id>                             # Get file tree
./scripts/sources.sh ls <source_id> [path]                        # List directory
./scripts/sources.sh classification <source_id> [type]            # Get classification
./scripts/sources.sh assign-category <source_id> <cat_id|null>    # Assign category

索引环境变量DISPLAY_NAMEFOCUS提取品牌信息,提取图片,是否为PDF,URL匹配模式,排除模式,最大深度,等待时间,检查LLMS_TXT,LLMS_TXT策略,包含截图,仅主要内容,添加全局,最大时长

Grep环境变量:区分大小写完全匹配固定字符串输出模式高亮显示详尽搜索匹配行之后的行数匹配行之前的行数每文件最大匹配数最大总匹配数灵活的标识符:大多数端点接受UUID、显示名称或URL:UUID:550e8400-e29b-41d4-a716-446655440000显示名称:Vercel AI SDK - 核心,openai/gsm8kURL:

Flexible identifiers: Most endpoints accept UUID, display name, or URL:

  • UUID:550e8400-e29b-41d4-a716-446655440000
  • Display name:Vercel AI SDK - Core,openai/gsm8k
  • URL:https://docs.trynia.ai/,https://arxiv.org/abs/2312.00752

repos.sh — 仓库管理

./scripts/repos.sh index <owner/repo> [branch] [display_name]   # Index repo (ADD_GLOBAL=false to keep private)
./scripts/repos.sh list                                          # List indexed repos
./scripts/repos.sh status <owner/repo>                           # Get repo status
./scripts/repos.sh read <owner/repo> <path/to/file>              # Read file
./scripts/repos.sh grep <owner/repo> <pattern> [path_prefix]     # Grep code (REF= for branch)
./scripts/repos.sh tree <owner/repo> [branch]                    # Get file tree
./scripts/repos.sh delete <repo_id>                              # Delete repo
./scripts/repos.sh rename <repo_id> <new_name>                   # Rename display name

Tree 环境变量:INCLUDE_PATHS,EXCLUDE_PATHS,FILE_EXTENSIONS,EXCLUDE_EXTENSIONS,SHOW_FULL_PATHS

search.sh — 搜索

./scripts/search.sh query <query> <repos_csv> [docs_csv]         # Query specific repos/sources
./scripts/search.sh universal <query> [top_k]                    # Search ALL indexed sources
./scripts/search.sh web <query> [num_results]                    # Web search
./scripts/search.sh deep <query> [output_format]                 # Deep research (Pro)

query— 带AI响应和来源的目标搜索。环境变量:LOCAL_FOLDERS,CATEGORY,MAX_TOKENS universal— 跨所有已索引来源的混合向量 + BM25 搜索。环境变量:包含仓库,包含文档,包含 Hugging Face,阿尔法,压缩,最大令牌数,提升语言,扩展符号 网络— 网络搜索。环境:类别(github|公司|研究|新闻|推文|pdf|博客),回溯天数,查找类似内容 深度— 深度人工智能研究(专业版)。环境:详细模式

oracle.sh — Oracle 自主研究(专业版)

./scripts/oracle.sh run <query> [repos_csv] [docs_csv]           # Run research (synchronous)
./scripts/oracle.sh job <query> [repos_csv] [docs_csv]           # Create async job (recommended)
./scripts/oracle.sh job-status <job_id>                          # Get job status/result
./scripts/oracle.sh job-cancel <job_id>                          # Cancel running job
./scripts/oracle.sh jobs-list [status] [limit]                   # List jobs
./scripts/oracle.sh sessions [limit]                             # List research sessions
./scripts/oracle.sh session-detail <session_id>                  # Get session details
./scripts/oracle.sh session-messages <session_id> [limit]        # Get session messages
./scripts/oracle.sh session-chat <session_id> <message>          # Follow-up chat (SSE stream)

环境变量OUTPUT_FORMATMODEL(claude-opus-4-6|claude-sonnet-4-5-20250929|...)

tracer.sh — Tracer GitHub 代码搜索(专业版)

无需索引即可搜索 GitHub 仓库的自主代理。由具备 100 万上下文长度的 Claude Opus 4.6 提供支持。

./scripts/tracer.sh run <query> [repos_csv] [context]            # Create Tracer job
./scripts/tracer.sh status <job_id>                              # Get job status/result
./scripts/tracer.sh stream <job_id>                              # Stream real-time updates (SSE)
./scripts/tracer.sh list [status] [limit]                        # List jobs
./scripts/tracer.sh delete <job_id>                              # Delete job

环境变量MODEL(claude-opus-4-6|claude-opus-4-6-1m)

示例工作流程:

# 1. Start a search
./scripts/tracer.sh run "How does streaming work in generateText?" vercel/ai "Focus on core implementation"
# Returns: {"job_id": "abc123", "session_id": "def456", "status": "queued"}

# 2. Stream progress
./scripts/tracer.sh stream abc123

# 3. Get final result
./scripts/tracer.sh status abc123

在以下情况使用 Tracer:

  • 探索不熟悉的仓库时
  • 搜索尚未建立索引的代码时
  • 跨仓库查找实现示例时

papers.sh — 研究论文(arXiv)

./scripts/papers.sh index <arxiv_url_or_id>                     # Index paper
./scripts/papers.sh list                                         # List indexed papers

支持:2312.00752https://arxiv.org/abs/2312.00752,PDF URL,旧格式(hep-th/9901001),带版本号(2312.00752v1)。环境:ADD_GLOBALDISPLAY_NAME

datasets.sh — HuggingFace 数据集

./scripts/datasets.sh index <dataset> [config]                  # Index dataset
./scripts/datasets.sh list                                       # List indexed datasets

支持:squaddair-ai/emotionhttps://huggingface.co/datasets/squad。环境:ADD_GLOBAL

packages.sh — 软件包源代码搜索

./scripts/packages.sh grep <registry> <package> <pattern> [ver]  # Grep package code
./scripts/packages.sh hybrid <registry> <package> <query> [ver]  # Semantic search
./scripts/packages.sh read <reg> <pkg> <sha256> <start> <end>    # Read file lines

注册表:npm|py_pi|crates_io|golang_proxyGrep环境:语言前文上下文后文上下文输出模式头部限制文件SHA256哈希值混合环境:模式(正则表达式预过滤),语言文件SHA256哈希值

categories.sh — 组织来源

./scripts/categories.sh list                                     # List categories
./scripts/categories.sh create <name> [color] [order]            # Create category
./scripts/categories.sh update <cat_id> [name] [color] [order]   # Update category
./scripts/categories.sh delete <cat_id>                          # Delete category
./scripts/categories.sh assign <source_id> <cat_id|null>         # Assign/remove category

contexts.sh — 跨代理上下文共享

./scripts/contexts.sh save <title> <summary> <content> <agent>   # Save context
./scripts/contexts.sh list [limit] [offset]                      # List contexts
./scripts/contexts.sh search <query> [limit]                     # Text search
./scripts/contexts.sh semantic-search <query> [limit]            # Vector search
./scripts/contexts.sh get <context_id>                           # Get by ID
./scripts/contexts.sh update <id> [title] [summary] [content]    # Update context
./scripts/contexts.sh delete <context_id>                        # Delete context

保存环境:标签(逗号分隔值),记忆类型(草稿板|情景记忆|事实记忆|程序记忆),存活时间(秒),工作空间列出环境变量:标签,代理来源,内存类型

deps.sh — 依赖分析

./scripts/deps.sh analyze <manifest_file>                        # Analyze dependencies
./scripts/deps.sh subscribe <manifest_file> [max_new]            # Subscribe to dep docs
./scripts/deps.sh upload <manifest_file> [max_new]               # Upload manifest (multipart)

支持:package.json, requirements.txt, pyproject.toml, Cargo.toml, go.mod, Gemfile。环境变量:包含开发依赖

folders.sh — 本地文件夹(私有存储)

./scripts/folders.sh create /path/to/folder [display_name]       # Create from local dir
./scripts/folders.sh list [limit] [offset]                       # List folders (STATUS=)
./scripts/folders.sh get <folder_id>                             # Get details
./scripts/folders.sh delete <folder_id>                          # Delete folder
./scripts/folders.sh rename <folder_id> <new_name>               # Rename folder
./scripts/folders.sh tree <folder_id>                            # Get file tree
./scripts/folders.sh ls <folder_id> [path]                       # List directory
./scripts/folders.sh read <folder_id> <path> [start] [end]       # Read file (MAX_LENGTH=)
./scripts/folders.sh grep <folder_id> <pattern> [path_prefix]    # Grep files
./scripts/folders.sh classify <folder_id> [categories_csv]       # AI classification
./scripts/folders.sh classification <folder_id>                  # Get classification
./scripts/folders.sh sync <folder_id> /path/to/folder            # Re-sync from local
./scripts/folders.sh from-db <name> <conn_str> <query>           # Import from database
./scripts/folders.sh preview-db <conn_str> <query>               # Preview DB content

advisor.sh — 代码顾问

./scripts/advisor.sh "query" file1.py [file2.ts ...]             # Get code advice

根据已索引的文档分析您的代码。环境变量:仓库(逗号分隔值),文档(逗号分隔值),输出格式(解释|检查清单|差异|结构化)

usage.sh — API 使用

./scripts/usage.sh                                               # Get usage summary

API 参考

  • 基础 URL:https://apigcp.trynia.ai/v2
  • 认证: 在 Authorization 请求头中使用 Bearer token
  • 灵活的标识符: 大多数端点接受 UUID、显示名称或 URL

源类型

类型索引命令标识符示例
代码仓库repos.sh index所有者/仓库名,microsoft/vscode
文档sources.sh indexhttps://docs.example.com
研究论文papers.sh index2312.00752, arXiv URL
HuggingFace 数据集datasets.sh indexsquad,所有者/数据集
本地文件夹folders.sh 创建UUID,显示名称(私有,用户作用域)

搜索模式

对于search.sh 查询

  • 仓库— 仅搜索 GitHub 仓库(仅传入仓库时自动检测)
  • 数据源— 仅搜索数据源(仅传入文档时自动检测)
  • 统一— 两者都搜索(两者都传入时的默认模式)

通过以下方式传入数据源:

  • 仓库参数:逗号分隔"所有者/仓库,所有者2/仓库2"
  • 数据源参数:逗号分隔"显示名称,uuid,https://网址"
  • 本地文件夹环境变量:逗号分隔"文件夹-uuid,我的笔记"

免责申明
部分文章来自各大搜索引擎,如有侵权,请与我联系删除。
打赏
文章底部电脑广告
手机广告位-内容正文底部

相关文章

您是本站第336972名访客 今日有638篇新文章/评论