본문으로 건너뛰기
cccskills
무료GitHub에 공개

debug-inference

Diagnose failed model requests from OpenShell sandboxes to hosted APIs or local servers such as Ollama and vLLM. Check provider attachment, access rules, credentials, network layout, and client settings to identify the narrowest configuration change needed.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

원문원문 설명 보기

Debug inference clients that use an attached provider and its native endpoint, including hosted APIs and host-local Ollama, vLLM, SGLang, TRT-LLM, LM Studio, or NIM. Use for provider attachment, endpoint policy, credential substitution, topology, and migration from the removed managed inference endpoint. Trigger keywords - debug inference, managed inference endpoint, local inference, ollama, lm studio, vllm, sglang, trtllm, NIM, inference failing, model server unreachable, credential_endpoint_mismatch, host.openshell.internal.

연동 도구OpenAI
설치 방법 보기

이럴 때 유용합니다

  • Diagnose failed requests to hosted model APIs
  • Troubleshoot connections to Ollama or LM Studio
  • Investigate credential and endpoint mismatch errors
  • Migrate clients away from the removed managed endpoint

포함된 파일(1)

  • SKILL.md7.3 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Debug Inference

Diagnose inference as ordinary provider-authorized network traffic. OpenShell no longer supplies a managed inference route, rewrites request shapes, or selects a model. The application calls the provider's native endpoint and owns its base URL, model, request format, and timeout.

Use installed openshell --help output as the authority for command syntax. Refer to the published provider management guide and provider profile guide for current behavior.

Diagnostic Workflow

1. Confirm Gateway and Sandbox Context

openshell status
openshell gateway info
openshell sandbox get <sandbox>

For a host-local model server, host.openshell.internal identifies the machine running the gateway. It does not identify the operator's laptop when the gateway is remote. A server listening only on 127.0.0.1 may also be unreachable from a container; bind it to an address reachable from the gateway runtime.

2. Inspect the Provider and Its Profile

openshell provider get <provider>
openshell profile export <profile-id> -o yaml

Check that the profile:

  • Names the exact endpoint host, port, and protocol the client calls.
  • Allows the client binary.
  • Declares the credential key and intended authentication style.
  • Uses narrow HTTP rules when the provider should expose only part of an API.

For a custom or self-hosted OpenAI-compatible endpoint, import an endpoint-bearing profile. A base URL stored only in provider configuration does not authorize a new endpoint.

openshell profile lint -f ./provider-profile.yaml
openshell profile import -f ./provider-profile.yaml
openshell provider create --name <provider> --type <profile-id>

Add the required --credential KEY or --credential KEY=VALUE arguments shown by the profile. Never broaden endpoint policy merely to silence a credential binding error.

3. Confirm Attachment

openshell sandbox provider list <sandbox>
openshell sandbox provider attach <sandbox> <provider> --wait --timeout 30

Save the change's receipt_id and use openshell sandbox provider status <sandbox> <provider> --receipt <receipt-id> --wait --timeout 30 to check when it takes effect. Success confirms that the sandbox applied the credentials, policy, and environment for new processes. If the result is pending, failed, withheld, or superseded, inspect its reason before launching the client.

Launch the client after the attachment wait succeeds so it receives the updated environment:

openshell sandbox exec <sandbox> -- <client-command>

After updating an ordinary static provider, wait for that change and launch a new client. An existing process keeps its revision-scoped reference; readiness does not make the old reference resolve the replacement value. Diagnose managed-refresh credentials according to their own lifecycle.

Keep credentials and issued references out of diagnostic output. Acknowledged detach revokes future credential resolution and removes the reference from future process environments. Requests already forwarded may still finish:

openshell sandbox provider detach <sandbox> <provider> --wait --timeout 30

4. Verify Native Client Configuration

The application must use the real upstream contract:

  • Native provider base URL, not the retired managed virtual endpoint.
  • Real model ID, not a placeholder that OpenShell used to rewrite.
  • Native OpenAI, Anthropic, Vertex, or other provider request shape.
  • Application-owned timeout and retry settings.
  • The credential environment variable declared by the attached profile.

Probe the exact endpoint from a newly launched sandbox process. Start with a non-secret discovery endpoint when the provider offers one, then send a minimal inference request using the provider's documented API shape.

5. Interpret Common Failures

SymptomLikely causeFix
credential_placeholder_in_request_bodyA body reference is invalid/revoked, or classification metadata is unavailableCheck the controlled denial reason; remove the reference from conversation history or restore provider access. Do not enable body credential rewriting or bypass flags to send tool output. Unknown literals and valid issued placeholders pass unchanged, including the model provider’s own placeholder. Header resolution does not enable body rewriting.
A retired managed endpoint fails DNS resolutionClient still uses the removed managed endpointConfigure the provider's native base URL and attach an endpoint-bearing provider profile
Direct request is deniedMissing attachment, endpoint policy, HTTP rule, or binary authorizationInspect the attached provider profile and sandbox effective policy
credential_endpoint_mismatchCredential profile does not authorize the request recipientCorrect the host/port/path or import a narrowly scoped profile for the intended endpoint
request_authority_mismatchHTTP authority differs from the CONNECT destinationUse the same host and effective port in both authorities
Credential variable is absentProvider was not attached when this process launched, or profiles collide on a keyAttach the provider and launch a new process; resolve duplicate keys explicitly
Upstream rejects the model or bodyClient relied on removed model/request rewritingConfigure the real model and provider-native request format in the application
127.0.0.1 works on the host but not in the sandboxLoopback refers to different runtimeUse host.openshell.internal or another gateway-reachable endpoint and profile
Host-local request times outServer bind address, gateway topology, or host firewall blocks container-to-host trafficVerify the listener and permit only the required gateway network path and port

Host-Local Inference Checklist

For Ollama, LM Studio, vLLM, SGLang, TRT-LLM, and local NIM deployments:

  1. Verify the engine from the gateway host.
  2. Verify it listens on an address reachable from the gateway runtime.
  3. Import a custom profile naming host.openshell.internal and the actual port.
  4. Restrict the profile to the intended binaries and API paths.
  5. Create and attach the provider.
  6. Configure the application's base URL, model, and timeout.
  7. Probe the native endpoint from a newly launched sandbox process.

Reporting

Report:

  1. The active gateway and whether topology contributes to the failure.
  2. The provider, profile, attachment, endpoint, and client binary involved.
  3. The exact failed host, port, path, and request authority without secrets.
  4. Whether the client still relies on removed managed-routing behavior.
  5. The narrowest profile, attachment, or application configuration change that resolves the problem.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Process one recommendation selected by ID from a local issue or CI triage report. Apply, reject, or defer it, record the outcome, and obtain separate confirmation before each change made on GitHub.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Apply one recommendation selected by its item ID
  • Reject a recommendation and record the reason
  • Defer a decision for the next queue review
NVIDIA/OpenShell1.7만2026년 10월 19일 업데이트

Turn a GitHub issue into a scoped implementation plan and, when authorized, code changes, tests, documentation, and a pull request that closes it. Check existing ownership and feedback to keep work aligned with acceptance criteria.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Creating an implementation plan from a GitHub issue
  • Implementing an authorized issue with focused tests
  • Updating documentation alongside behavior changes
NVIDIA/OpenShell1.7만2026년 10월 19일 업데이트

Maintain and validate OpenShell builds for Windows on x64 and ARM64 using MSVC, Microsoft's C++ toolchain. Check compilation, build executables, run tests on native hosts, and report artifacts and unsupported driver behavior.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Investigating Windows compilation failures
  • Building x64 and ARM64 release executables
  • Checking errors for unsupported drivers
NVIDIA/OpenShell1.7만2026년 10월 19일 업데이트

Create GitHub issues for OpenShell bugs, feature requests, and tasks using the gh command-line tool. Organize firsthand use cases, impact, and completion criteria into the project's templates, then return the created issue link.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Report an OpenShell bug you directly encountered
  • Request a feature for a specific OpenShell use case
  • Register an internal task with completion criteria
NVIDIA/OpenShell1.7만2026년 10월 19일 업데이트

Create GitHub pull requests with the gh command-line tool. Check linked issues, contributor permissions, branch conventions, and relevant tests, then prepare a title and description that follow the project's contribution rules.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Submit code changes for review
  • Open a draft pull request
  • Link a pull request to its issue
NVIDIA/OpenShell1.7만2026년 10월 19일 업데이트

Turn a design request into an OpenShell RFC, a proposal for review and discussion. The skill follows the project template, assigns an available number, and organizes motivation, alternatives, and open questions into a draft.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Drafting an architecture proposal
  • Organizing an API change proposal
  • Documenting a process change
NVIDIA/OpenShell1.7만2026년 10월 19일 업데이트

NVIDIA의 스킬 모두 보기

이 스킬의 문제 신고