File tree Expand file tree Collapse file tree
crates/openshell-providers/src Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -91,6 +91,7 @@ impl ProviderRegistry {
9191 registry. register ( providers:: nvidia:: NvidiaProvider ) ;
9292 registry. register ( providers:: gitlab:: GitlabProvider ) ;
9393 registry. register ( providers:: github:: GithubProvider ) ;
94+ registry. register ( providers:: model_runner:: ModelRunnerProvider ) ;
9495 registry. register ( providers:: outlook:: OutlookProvider ) ;
9596 registry
9697 }
@@ -153,6 +154,7 @@ pub fn normalize_provider_type(input: &str) -> Option<&'static str> {
153154 "nvidia" => Some ( "nvidia" ) ,
154155 "gitlab" | "glab" => Some ( "gitlab" ) ,
155156 "github" | "gh" => Some ( "github" ) ,
157+ "model-runner" | "model_runner" => Some ( "model-runner" ) ,
156158 "outlook" => Some ( "outlook" ) ,
157159 _ => None ,
158160 }
Original file line number Diff line number Diff line change @@ -21,6 +21,7 @@ const BUILT_IN_PROFILE_YAMLS: &[&str] = &[
2121 include_str ! ( "../../../providers/copilot.yaml" ) ,
2222 include_str ! ( "../../../providers/github.yaml" ) ,
2323 include_str ! ( "../../../providers/gitlab.yaml" ) ,
24+ include_str ! ( "../../../providers/model-runner.yaml" ) ,
2425 include_str ! ( "../../../providers/nvidia.yaml" ) ,
2526 include_str ! ( "../../../providers/openai.yaml" ) ,
2627 include_str ! ( "../../../providers/opencode.yaml" ) ,
Original file line number Diff line number Diff line change @@ -8,6 +8,7 @@ pub mod copilot;
88pub mod generic;
99pub mod github;
1010pub mod gitlab;
11+ pub mod model_runner;
1112pub mod nvidia;
1213pub mod openai;
1314pub mod opencode;
Original file line number Diff line number Diff line change 1+ // SPDX-FileCopyrightText: Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
2+ // SPDX-License-Identifier: Apache-2.0
3+
4+ use crate :: { DiscoveredProvider , ProviderError , ProviderPlugin } ;
5+
6+ pub struct ModelRunnerProvider ;
7+
8+ impl ProviderPlugin for ModelRunnerProvider {
9+ fn id ( & self ) -> & ' static str {
10+ "model-runner"
11+ }
12+
13+ fn discover_existing ( & self ) -> Result < Option < DiscoveredProvider > , ProviderError > {
14+ Ok ( Some ( DiscoveredProvider :: default ( ) ) )
15+ }
16+ }
17+
18+ #[ cfg( test) ]
19+ mod tests {
20+ use super :: ModelRunnerProvider ;
21+ use crate :: ProviderPlugin ;
22+
23+ #[ test]
24+ fn model_runner_provider_id_is_correct ( ) {
25+ assert_eq ! ( ModelRunnerProvider . id( ) , "model-runner" ) ;
26+ }
27+
28+ #[ test]
29+ fn model_runner_discover_returns_default_provider ( ) {
30+ let result = ModelRunnerProvider
31+ . discover_existing ( )
32+ . expect ( "discovery should succeed" ) ;
33+ assert ! ( result. is_some( ) ) ;
34+ }
35+ }
Original file line number Diff line number Diff line change 1+ # SPDX-FileCopyrightText: Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
2+ # SPDX-License-Identifier: Apache-2.0
3+
4+ id : model-runner
5+ display_name : Docker Model Runner
6+ description : Local AI inference via Docker Model Runner
7+ category : inference
8+ inference_capable : true
9+ endpoints :
10+ - host : model-runner.docker.internal
11+ port : 80
12+ protocol : rest
13+ access : read-write
14+ enforcement : enforce
15+ binaries : [/usr/local/bin/docker]
You can’t perform that action at this time.
0 commit comments