Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

feat: add a Nebius Token Factory example provider profile

Aberta Para iniciantes
#4,856 0 comentários 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 1 dia

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
2/5
Tempo estimado
1-3 horas
Facilidade para iniciantes
82/100
Tipo de issue
Funcionalidade
Clareza
Claramente especificada
Status de atividade
Ativa
Stack de tecnologia
rust, yaml
Domínio
devtools, security

Direção de pesquisa

Leia os perfis de exemplo existentes em providers/ e a lista de IDs esperados em list_provider_profiles_returns_built_in_profile_categories. Adicione providers/nebius-token-factory.yaml no mesmo formato, permitindo as rotas de inferência listadas e excluindo as rotas de gerenciamento mencionadas na issue. O trabalho estará concluído quando o perfil passar pelo lint e for importado, e o teste de categorias de perfil incluir seu ID.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

state:triage-needed

User Story

I use OpenShell to run coding and research agents in sandboxes, and my models are served by Nebius Token Factory through its OpenAI-compatible API at https://api.tokenfactory.nebius.com/v1. Today I have to hand-write a provider profile for it, and the obvious copy of the openai profile with the host swapped would hand my agents a key that can also create dedicated endpoints and fine-tuning jobs on my account.

Problem Statement

providers/ has no example profile for Nebius Token Factory. Operators who use it have to write one from scratch and decide on their own which parts of the Token Factory API a sandboxed agent should reach.

Impact / Why This Matters

A Token Factory API key works on more than inference. On the same host it can list, upload, and delete files and datasets, start fine-tuning jobs and batch operations, and create, update, or delete dedicated endpoints, which are billable GPU deployments. A profile that grants the whole host, like the existing openai, nvidia, and deepinfra examples, lets a sandboxed agent use the injected key for all of that. Operators who don't read the API reference closely will not notice.

Proposed Design

Add providers/nebius-token-factory.yaml, following the format of the other example profiles:

id: nebius-token-factory
display_name: Nebius Token Factory
category: inference
inference_capable: true
credentials:
  - name: api_key
    env_vars: [NEBIUS_API_KEY]
    auth_style: bearer
    header_name: authorization
endpoints:
  - host: api.tokenfactory.nebius.com
    port: 443
    protocol: rest
    enforcement: enforce
    rules:
      - allow: { method: POST, path: "/v1/chat/completions" }
      - allow: { method: POST, path: "/v1/completions" }
      - allow: { method: POST, path: "/v1/embeddings" }
      - allow: { method: POST, path: "/v1/rerank" }
      - allow: { method: POST, path: "/v1/responses" }
      - allow: { method: GET, path: "/v1/models" }
binaries: [/usr/bin/curl, /usr/local/bin/curl]

Workflow:

openshell provider profile import -f providers/nebius-token-factory.yaml --global
openshell provider create --name nebius --type nebius-token-factory --credential NEBIUS_API_KEY
openshell sandbox create --provider nebius -- curl -sS https://api.tokenfactory.nebius.com/v1/models

NEBIUS_API_KEY matches the variable name in the Token Factory documentation.

Acceptance Criteria

  • providers/nebius-token-factory.yaml lints and imports, and has the same header block as the other examples (client binaries, reference layout, credential scope, endpoint access, smoke test).
  • A sandbox with the provider attached can call chat completions (streaming included), completions, embeddings, rerank, the Responses API, and the model list.
  • In that sandbox, requests to the files, datasets, fine-tuning, operations, and dedicated-endpoint APIs are denied by the proxy.
  • No telemetry or provider-table changes are needed, in line with #3906.

Alternatives Considered

  • Leave it to operators to copy the openai profile and change the host. That gives agents the whole Token Factory API, as described above.
  • Grant /v1/** read-write. This is simpler, but it still allows file, dataset, fine-tuning, and operation calls, and it would allow new management routes added under /v1 later.
  • An endpointless profile bound per sandbox from policy. That suits per-deployment hosts, but Token Factory has a single public host, so a fixed endpoint is simpler for operators.

Agent Investigation

  • Profiles are import-only examples under providers/. Adding one changes only the YAML and the expected-ID list in list_provider_profiles_returns_built_in_profile_categories, as in #3904.
  • I listed the routes from Token Factory's published OpenAPI spec (https://api.tokenfactory.nebius.com/openapi.json). Inference routes are the ones above. Management routes are under /v1/files, /v1/datasets, /v1/fine_tuning, /v1/operations, and /v0/dedicated_endpoints.
Linguagem predominante
Rust
Estrelas
17.1k
Forks
1.8k
Merge médio
2d 8h
PRs com merge (30d)
370

Preparar o ambiente

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de NVIDIA/OpenShell

Todas as issues de NVIDIA/OpenShell

Issues semelhantes

Mais issues de Rust

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.