Skip to content

Commit 101dd65

Browse files
authored
chore: switch model-/auth-providers to new metadata logic (#391)
1 parent 8c86a09 commit 101dd65

File tree

11 files changed

+232
-33
lines changed

11 files changed

+232
-33
lines changed

anthropic-model-provider/tool.gpt

+14-3
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,26 @@
11
Name: Anthropic
22
Description: Model provider for Anthropic hosted Claude3 models
3-
Metadata: envVars: OBOT_ANTHROPIC_MODEL_PROVIDER_API_KEY
43
Model Provider: true
54
Credential: ../placeholder-credential as anthropic-model-provider with OBOT_ANTHROPIC_MODEL_PROVIDER_API_KEY as env_vars
65
Metadata: noUserAuth: anthropic-model-provider
76

87
#!sys.daemon /usr/bin/env python3 ${GPTSCRIPT_TOOL_DIR}/main.py
98

109
---
11-
!metadata:*:icon
12-
/admin/assets/anthropic_icon.svg
10+
!metadata:Anthropic:providerMeta
11+
{
12+
"icon": "/admin/assets/anthropic_icon.svg",
13+
"link": "https://www.anthropic.com",
14+
"description": "Note: Anthropic does not have an embeddings model and [recommends](https://docs.anthropic.com/en/docs/build-with-claude/embeddings) Voyage AI.",
15+
"envVars": [
16+
{
17+
"name": "OBOT_ANTHROPIC_MODEL_PROVIDER_API_KEY",
18+
"friendlyName": "API Key",
19+
"description": "Anthropic API Key",
20+
"sensitive": true
21+
}
22+
]
23+
}
1324

1425
---
1526
Name: validate

deepseek-model-provider/tool.gpt

+14-3
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,26 @@
11
Name: DeepSeek
22
Description: Model Provider for DeepSeek
3-
Metadata: envVars: OBOT_DEEPSEEK_MODEL_PROVIDER_API_KEY
43
Model Provider: true
54
Credential: ../placeholder-credential as deepseek-model-provider with OBOT_DEEPSEEK_MODEL_PROVIDER_API_KEY as env_vars
65
Metadata: noUserAuth: deepseek-model-provider
76

87
#!sys.daemon ${GPTSCRIPT_TOOL_DIR}/bin/gptscript-go-tool
98

109
---
11-
!metadata:*:icon
12-
/admin/assets/deepseek-logo.svg
10+
!metadata:DeepSeek:providerMeta
11+
{
12+
"icon": "/admin/assets/deepseek-logo.svg",
13+
"iconDark": "/admin/assets/deepseek-logo.svg",
14+
"link": "https://www.deepseek.com/",
15+
"envVars": [
16+
{
17+
"name": "OBOT_DEEPSEEK_MODEL_PROVIDER_API_KEY",
18+
"friendlyName": "API Key",
19+
"description": "DeepSeek API Key. Can be created and fetched from https://platform.deepseek.com/api_keys",
20+
"sensitive": true
21+
}
22+
]
23+
}
1324

1425
---
1526
Name: validate

generic-openai-model-provider/tool.gpt

+23-4
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,35 @@
11
Name: OpenAI Compatible Generic Provider
22
Description: Model Provider for generic OpenAI API compatible model providers
3-
Metadata: envVars: OBOT_GENERIC_OPENAI_MODEL_PROVIDER_BASE_URL
4-
Metadata: optionalEnvVars: OBOT_GENERIC_OPENAI_MODEL_PROVIDER_API_KEY
53
Model Provider: true
64
Credential: ../placeholder-credential as generic-openai-model-provider with OBOT_GENERIC_OPENAI_MODEL_PROVIDER_BASE_URL;OBOT_GENERIC_OPENAI_MODEL_PROVIDER_API_KEY as env_vars
75
Metadata: noUserAuth: generic-openai-model-provider
86

97
#!sys.daemon ${GPTSCRIPT_TOOL_DIR}/bin/gptscript-go-tool
108

119
---
12-
!metadata:*:icon
13-
/admin/assets/obot_openai_antenna_icon.png
10+
!metadata:OpenAI Compatible Generic Provider:providerMeta
11+
{
12+
"icon": "/admin/assets/obot_openai_antenna_icon.png",
13+
"iconDark": "/admin/assets/obot_openai_antenna_icon.png",
14+
"link": "https://platform.openai.com/docs/api-reference/introduction",
15+
"description": "Model Provider for generic [OpenAI API compatible](https://platform.openai.com/docs/api-reference/introduction) model providers, like LM-Studio, Ollama, vLLM, etc.",
16+
"envVars": [
17+
{
18+
"name": "OBOT_GENERIC_OPENAI_MODEL_PROVIDER_BASE_URL",
19+
"friendlyName": "Base URL",
20+
"description": "Base URL for the OpenAI-compatible API, e.g. http://localhost:1234/v1 for LM-Studio.",
21+
"sensitive": false
22+
}
23+
],
24+
"optionalEnvVars": [
25+
{
26+
"name": "OBOT_GENERIC_OPENAI_MODEL_PROVIDER_API_KEY",
27+
"friendlyName": "API Key",
28+
"description": "API Key for the OpenAI-compatible API. Some providers like Ollama don't enforce Authentication, so this is optional.",
29+
"sensitive": true
30+
}
31+
]
32+
}
1433

1534
---
1635
Name: validate

github-auth-provider/tool.gpt

+63-4
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,71 @@
11
Name: GitHub
22
Description: Auth provider for GitHub
3-
Metadata: envVars: OBOT_GITHUB_AUTH_PROVIDER_CLIENT_ID,OBOT_GITHUB_AUTH_PROVIDER_CLIENT_SECRET,OBOT_AUTH_PROVIDER_COOKIE_SECRET,OBOT_AUTH_PROVIDER_EMAIL_DOMAINS
4-
Metadata: optionalEnvVars: OBOT_GITHUB_AUTH_PROVIDER_TEAMS,OBOT_GITHUB_AUTH_PROVIDER_ORG,OBOT_GITHUB_AUTH_PROVIDER_REPO,OBOT_GITHUB_AUTH_PROVIDER_TOKEN,OBOT_GITHUB_AUTH_PROVIDER_ALLOW_USERS
53
Metadata: noUserAuth: github-auth-provider
64
Credential: ../placeholder-credential as github-auth-provider
75

86
#!sys.daemon ${GPTSCRIPT_TOOL_DIR}/bin/gptscript-go-tool
97

108
---
11-
!metadata:*:icon
12-
https://cdn.jsdelivr.net/npm/simple-icons@v13/icons/github.svg
9+
!metadata:GitHub:providerMeta
10+
{
11+
"icon": "https://cdn.jsdelivr.net/npm/simple-icons@v13/icons/github.svg",
12+
"link": "https://github.com/",
13+
"envVars": [
14+
{
15+
"name": "OBOT_GITHUB_AUTH_PROVIDER_CLIENT_ID",
16+
"friendlyName": "Client ID",
17+
"description": "Client ID for your GitHub OAuth app. Can be found in GitHub Developer Settings > OAuth Apps",
18+
"sensitive": false
19+
},
20+
{
21+
"name": "OBOT_GITHUB_AUTH_PROVIDER_CLIENT_SECRET",
22+
"friendlyName": "Client Secret",
23+
"description": "Client secret for your GitHub OAuth app. Can be found in GitHub Developer Settings > OAuth Apps",
24+
"sensitive": true
25+
},
26+
{
27+
"name": "OBOT_AUTH_PROVIDER_COOKIE_SECRET",
28+
"friendlyName": "Cookie Secret",
29+
"description": "Secret used to encrypt cookies. Must be a random string of length 16, 24, or 32.",
30+
"sensitive": true
31+
},
32+
{
33+
"name": "OBOT_AUTH_PROVIDER_EMAIL_DOMAINS",
34+
"friendlyName": "Allowed E-Mail Domains",
35+
"description": "Comma separated list of email domains that are allowed to authenticate with this provider. * is a special value that allows all domains.",
36+
"sensitive": false
37+
}
38+
],
39+
"optionalEnvVars": [
40+
{
41+
"name": "OBOT_GITHUB_AUTH_PROVIDER_TEAMS",
42+
"friendlyName": "Allowed GitHub Teams",
43+
"description": "Restrict logins to members of any of these GitHub teams (comma-separated list).",
44+
"sensitive": false
45+
},
46+
{
47+
"name": "OBOT_GITHUB_AUTH_PROVIDER_ORG",
48+
"friendlyName": "Allowed GitHub Organization",
49+
"description": "Restrict logins to members of this GitHub organization.",
50+
"sensitive": false
51+
},
52+
{
53+
"name": "OBOT_GITHUB_AUTH_PROVIDER_REPO",
54+
"friendlyName": "Allowed GitHub Repository",
55+
"description": "Restrict logins to collaborators on this GitHub repository (formatted orgname/repo).",
56+
"sensitive": false
57+
},
58+
{
59+
"name": "OBOT_GITHUB_AUTH_PROVIDER_TOKEN",
60+
"friendlyName": "Repository Token",
61+
"description": "The token to use when verifying repository collaborators (must have push access to the repository).",
62+
"sensitive": true
63+
},
64+
{
65+
"name": "OBOT_GITHUB_AUTH_PROVIDER_ALLOW_USERS",
66+
"friendlyName": "Allowed GitHub Users",
67+
"description": "Users allowed to log in, even if they do not belong to the specified org and team or collaborators.",
68+
"sensitive": false
69+
}
70+
]
71+
}

google-auth-provider/tool.gpt

+34-2
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,37 @@ Credential: ../placeholder-credential as google-auth-provider
77
#!sys.daemon ${GPTSCRIPT_TOOL_DIR}/bin/gptscript-go-tool
88

99
---
10-
!metadata:*:icon
11-
/admin/assets/google_icon_small.png
10+
!metadata:Google:providerMeta
11+
{
12+
"icon": "/admin/assets/google_icon_small.png",
13+
"iconDark": "/admin/assets/google_icon_small.png",
14+
"link": "https://google.com/",
15+
"envVars": [
16+
{
17+
"name": "OBOT_GOOGLE_AUTH_PROVIDER_CLIENT_ID",
18+
"friendlyName": "Client ID",
19+
"description": "Unique identifier for the application when using Google's OAuth. Can typically be found in Google Cloud Console > Credentials",
20+
"sensitive": false
21+
},
22+
{
23+
"name": "OBOT_GOOGLE_AUTH_PROVIDER_CLIENT_SECRET",
24+
"friendlyName": "Client Secret",
25+
"description": "Password or key that app uses to authenticate with Google's OAuth. Can typically be found in Google Cloud Console > Credentials",
26+
"sensitive": true
27+
},
28+
{
29+
"name": "OBOT_AUTH_PROVIDER_COOKIE_SECRET",
30+
"friendlyName": "Cookie Secret",
31+
"description": "Secret used to encrypt cookies. Must be a random string of length 16, 24, or 32.",
32+
"sensitive": true
33+
},
34+
{
35+
"name": "OBOT_AUTH_PROVIDER_EMAIL_DOMAINS",
36+
"friendlyName": "Allowed E-Mail Domains",
37+
"description": "Comma separated list of email domains that are allowed to authenticate with this provider. * is a special value that allows all domains.",
38+
"sensitive": false
39+
}
40+
]
41+
}
42+
43+

groq-model-provider/tool.gpt

+13-3
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,25 @@
11
Name: Groq
22
Description: Model provider for models running on Groq
3-
Metadata: envVars: OBOT_GROQ_MODEL_PROVIDER_API_KEY
43
Model Provider: true
54
Credential: ../placeholder-credential as groq-model-provider with OBOT_GROQ_MODEL_PROVIDER_API_KEY as env_vars
65
Metadata: noUserAuth: groq-model-provider
76

87
#!sys.daemon ${GPTSCRIPT_TOOL_DIR}/bin/gptscript-go-tool
98

109
---
11-
!metadata:*:icon
12-
https://www.groq.com/logo.svg
10+
!metadata:Groq:providerMeta
11+
{
12+
"icon": "https://www.groq.com/logo.svg",
13+
"link": "https://groq.com/",
14+
"envVars": [
15+
{
16+
"name": "OBOT_GROQ_MODEL_PROVIDER_API_KEY",
17+
"friendlyName": "API Key",
18+
"description": "Groq API Key. Can be created and fetched from https://console.groq.com/keys",
19+
"sensitive": true
20+
}
21+
]
22+
}
1323

1424
---
1525
Name: validate

ollama-model-provider/tool.gpt

+13-3
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,25 @@
11
Name: Ollama
22
Description: Model provider for models running on Ollama
3-
Metadata: envVars: OBOT_OLLAMA_MODEL_PROVIDER_HOST
43
Model Provider: true
54
Credential: ../placeholder-credential as ollama-model-provider with OBOT_OLLAMA_MODEL_PROVIDER_HOST as env_vars
65
Metadata: noUserAuth: ollama-model-provider
76

87
#!sys.daemon ${GPTSCRIPT_TOOL_DIR}/bin/gptscript-go-tool
98

109
---
11-
!metadata:*:icon
12-
https://ollama.com/public/ollama.png
10+
!metadata:Ollama:providerMeta
11+
{
12+
"icon": "https://ollama.com/public/ollama.png",
13+
"link": "https://ollama.com/",
14+
"envVars": [
15+
{
16+
"name": "OBOT_OLLAMA_MODEL_PROVIDER_HOST",
17+
"friendlyName": "Host",
18+
"description": "Ollama Server Address (e.g. my.ollama.local:11434)",
19+
"sensitive": false
20+
}
21+
]
22+
}
1323

1424
---
1525
Name: validate

openai-model-provider/tool.gpt

+13-3
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,25 @@
11
Name: OpenAI
22
Description: Model Provider for OpenAI
3-
Metadata: envVars: OBOT_OPENAI_MODEL_PROVIDER_API_KEY
43
Model Provider: true
54
Credential: ../placeholder-credential as openai-model-provider with OBOT_OPENAI_MODEL_PROVIDER_API_KEY as env_vars
65
Metadata: noUserAuth: openai-model-provider
76

87
#!sys.daemon ${GPTSCRIPT_TOOL_DIR}/bin/gptscript-go-tool
98

109
---
11-
!metadata:*:icon
12-
https://cdn.jsdelivr.net/npm/@phosphor-icons/core@2/assets/duotone/open-ai-logo-duotone.svg
10+
!metadata:OpenAI:providerMeta
11+
{
12+
"icon": "https://cdn.jsdelivr.net/npm/@phosphor-icons/core@2/assets/duotone/open-ai-logo-duotone.svg",
13+
"link": "https://openai.com/",
14+
"envVars": [
15+
{
16+
"name": "OBOT_OPENAI_MODEL_PROVIDER_API_KEY",
17+
"friendlyName": "API Key",
18+
"description": "OpenAI API Key. Can be created and fetched from https://platform.openai.com/settings/organization/api-keys or https://platform.openai.com/api-keys",
19+
"sensitive": true
20+
}
21+
]
22+
}
1323

1424
---
1525
Name: validate

vllm-model-provider/tool.gpt

+19-2
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,25 @@ Metadata: noUserAuth: vllm-model-provider
88
#!sys.daemon ${GPTSCRIPT_TOOL_DIR}/bin/gptscript-go-tool
99

1010
---
11-
!metadata:*:icon
12-
/admin/assets/vllm-logo.svg
11+
!metadata:vLLM:providerMeta
12+
{
13+
"icon": "/admin/assets/vllm-logo.svg",
14+
"link": "https://docs.vllm.ai/",
15+
"envVars": [
16+
{
17+
"name": "OBOT_VLLM_MODEL_PROVIDER_ENDPOINT",
18+
"friendlyName": "Endpoint",
19+
"description": "Endpoint for the vLLM OpenAI service (eg. http://localhost:8000)",
20+
"sensitive": false
21+
},
22+
{
23+
"name": "OBOT_VLLM_MODEL_PROVIDER_API_KEY",
24+
"friendlyName": "API Key",
25+
"description": "VLLM API Key set when starting the vLLM server",
26+
"sensitive": true
27+
}
28+
]
29+
}
1330

1431
---
1532
Name: validate

voyage-model-provider/tool.gpt

+13-3
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,25 @@
11
Name: Voyage
22
Description: Model provider for Voyage Embeddings
3-
Metadata: envVars: OBOT_VOYAGE_MODEL_PROVIDER_API_KEY
43
Model Provider: true
54
Credential: ../placeholder-credential as voyage-model-provider with OBOT_VOYAGE_MODEL_PROVIDER_API_KEY as env_vars
65
Metadata: noUserAuth: voyage-model-provider
76

87
#!sys.daemon /usr/bin/env python3 ${GPTSCRIPT_TOOL_DIR}/main.py
98

109
---
11-
!metadata:*:icon
12-
https://www.voyageai.com/logo.svg
10+
!metadata:Voyage:providerMeta
11+
{
12+
"icon": "https://www.voyageai.com/logo.svg",
13+
"link": "https://www.voyageai.com/",
14+
"envVars": [
15+
{
16+
"name": "OBOT_VOYAGE_MODEL_PROVIDER_API_KEY",
17+
"friendlyName": "API Key",
18+
"description": "Voyage AI API Key",
19+
"sensitive": true
20+
}
21+
]
22+
}
1323

1424
---
1525
Name: validate

xai-model-provider/tool.gpt

+13-3
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,25 @@
11
Name: xAI
22
Description: Model Provider for xAI
3-
Metadata: envVars: OBOT_XAI_MODEL_PROVIDER_API_KEY
43
Model Provider: true
54
Credential: ../placeholder-credential as xai-model-provider with OBOT_XAI_MODEL_PROVIDER_API_KEY as env_vars
65
Metadata: noUserAuth: xai-model-provider
76

87
#!sys.daemon ${GPTSCRIPT_TOOL_DIR}/bin/gptscript-go-tool
98

109
---
11-
!metadata:*:icon
12-
/admin/assets/xai-logo.svg
10+
!metadata:xAI:providerMeta
11+
{
12+
"icon": "/admin/assets/xai-logo.svg",
13+
"link": "https://x.ai/",
14+
"envVars": [
15+
{
16+
"name": "OBOT_XAI_MODEL_PROVIDER_API_KEY",
17+
"friendlyName": "API Key",
18+
"description": "xAI API Key",
19+
"sensitive": true
20+
}
21+
]
22+
}
1323

1424
---
1525
Name: validate

0 commit comments

Comments
 (0)