Skip to content

Where people and agents ship software together. The open-source git platform for the whole job: issues, agents, checks and deploys to the edge.

g1t.sh

Commit

Adding an AI provider now says where to get its key, and how. The hint under each key links to the provider's key page (Anthropic's is now platform.claude.com, where the Console lives) and says what to choose there, and whether the account needs credit first: a Claude.ai or ChatGPT subscription does not include the API. Azure OpenAI links to the portal and says where Keys and Endpoint are. The AI guide has the same in a table under "Get a key", and a test asks every provider that takes a key for both. Checked: the AI providers' tests (3 passing) and the site's type-check of these files.

G1t-Session:
ses_01m4ybyg80e6qrrzww8qzs19yw
syntaqxcommitted Parent821cb2aBrowse files
5 files+63−70/5 viewed
+22−0
5252 You can name the model your team uses on each provider. It is optional,
5353 except for Azure OpenAI, where it is the deployment.
5454
55+### Get a key
56+
57+Each provider's form links to the page where its keys are made, and says
58+how. Most show a key only once, so copy it straight into g1t. The API is
59+billed apart from a chat subscription: a Claude.ai or ChatGPT plan does
60+not include it.
61+
62+| Provider | Where | How |
63+| --- | --- | --- |
64+| Anthropic | [platform.claude.com/settings/keys](https://platform.claude.com/settings/keys) | Sign in to the Claude Console and choose **Create key**. Add credits under **Billing**. |
65+| OpenAI | [platform.openai.com/api-keys](https://platform.openai.com/api-keys) | Choose **Create new secret key**. Add credit under **Settings → Billing**. |
66+| Google Gemini | [aistudio.google.com/apikey](https://aistudio.google.com/apikey) | Sign in with a Google account and choose **Create API key**. The free tier needs no card. |
67+| xAI | [console.x.ai](https://console.x.ai) | Open **API Keys** and choose **Create API key**. Add credits under **Billing**. |
68+| Mistral | [console.mistral.ai/api-keys](https://console.mistral.ai/api-keys) | Choose **Create new key**. Pick a plan under **Billing**; the free Experiment plan works. |
69+| DeepSeek | [platform.deepseek.com/api_keys](https://platform.deepseek.com/api_keys) | Choose **Create new API key**. Add a balance under **Top up**. |
70+| Azure OpenAI | [portal.azure.com](https://portal.azure.com) | Open your Azure OpenAI resource, then **Resource Management → Keys and Endpoint**: copy **KEY 1** and the endpoint. Deployments are listed in the Azure AI Foundry portal. |
71+| OpenRouter | [openrouter.ai/keys](https://openrouter.ai/keys) | Choose **Create Key**. Paid models need credits under **Credits**. |
72+| Groq | [console.groq.com/keys](https://console.groq.com/keys) | Choose **Create API Key**. The free tier needs no card. |
73+| Together AI | [api.together.ai/settings/api-keys](https://api.together.ai/settings/api-keys) | Copy the key shown there, or create one. |
74+| Fireworks AI | [fireworks.ai/account/api-keys](https://fireworks.ai/account/api-keys) | Choose **Create API Key**. |
75+| Cerebras | [cloud.cerebras.ai](https://cloud.cerebras.ai) | Open **API Keys** and choose **Generate API Key**. |
76+
5577 ### Anthropic Console workspace
5678
5779 Sessions on issues run on the Anthropic provider's account, and the
+22−5
3535 <Field label="Endpoint" hint="Your resource's endpoint, from the Azure portal: Keys and Endpoint.">
3636 <Input name="baseUrl" type="url" required placeholder="https://acme.openai.azure.com" />
3737 </Field>
38− <Field label="Key" hint="KEY 1 or KEY 2 of the resource. Sealed when saved: nobody sees it again.">
38+ <Field label="Key" hint={<KeyHelp provider={provider} />}>
3939 <Input name="secret" type="password" required autoComplete="new-password" />
4040 </Field>
4141 <Field label="Deployment" hint="The name of the model deployment. Add one provider for each deployment your team uses.">
8080 }
8181 return (
8282 <>
83− <Field
84− label="API key"
85− hint={`${look.keyUrl ? `Get one at ${new URL(look.keyUrl).host}. ` : ""}Sealed when saved: nobody sees it again.`}
86− >
83+ <Field label="API key" hint={<KeyHelp provider={provider} />}>
8784 <Input name="secret" type="password" required placeholder={look.keyPlaceholder} autoComplete="new-password" />
8885 </Field>
8986 <Field label="Model" hint="Optional. The model your team uses on it. g1t lists the key's models when it checks the key.">
9491 );
9592 }
9693
94+/** Where to get a provider's key and how, as the hint under its key. */
95+function KeyHelp({ provider }: { provider: AiProvider }) {
96+ const { keyUrl, keyHow } = AI_PROVIDER_LOOKS[provider];
97+ return (
98+ <>
99+ {keyUrl && (
100+ <>
101+ Get a key at{" "}
102+ <a href={keyUrl} target="_blank" rel="noreferrer" className="text-accent underline-offset-2 hover:underline">
103+ {new URL(keyUrl).host}
104+ </a>
105+ .{" "}
106+ </>
107+ )}
108+ {keyHow && `${keyHow} `}
109+ Sealed when saved: nobody sees it again.
110+ </>
111+ );
112+}
113+
97114 /**
98115 * The Console workspace an Anthropic key belongs to: links to the sessions
99116 * it starts open there. Sessions don't say which workspace they are in.
+1−1
1616 children,
1717 }: {
1818 label: string;
19− hint?: string;
19+ hint?: ReactNode;
2020 htmlFor?: string;
2121 children: ReactNode;
2222 }) {
+2−0
1717 const look = AI_PROVIDER_LOOKS[provider];
1818 assert.ok(look.blurb.length > 0, provider);
1919 if (look.keyUrl) assert.ok(look.keyUrl.startsWith("https://"), provider);
20+ // Every provider that takes a key says where to get one, and how.
21+ assert.equal(Boolean(look.keyUrl && look.keyHow), !isEndpoint(provider), provider);
2022 // Only the endpoints show an icon in place of initials.
2123 assert.equal(look.mark === "", isEndpoint(provider), provider);
2224 }
+16−1
1414 mark: string;
1515 /** Where to get a key. */
1616 keyUrl?: string;
17+ /** How to get one there, in a sentence or two, for someone who never has. */
18+ keyHow?: string;
1719 keyPlaceholder?: string;
1820 /** A model to suggest. */
1921 model?: string;
2527 blurb: "Claude, on your own Anthropic key.",
2628 color: "#d97757",
2729 mark: "A",
28− keyUrl: "https://console.anthropic.com/settings/keys",
30+ keyUrl: "https://platform.claude.com/settings/keys",
2931 keyPlaceholder: "sk-ant-…",
32+ keyHow: "Sign in to the Claude Console, choose Create key and copy it. The account needs credits under Billing; a Claude.ai subscription does not include the API.",
3033 },
3134 openai: {
3235 blurb: "GPT and the o-series, on your own OpenAI key.",
3538 keyUrl: "https://platform.openai.com/api-keys",
3639 keyPlaceholder: "sk-…",
3740 model: "gpt-5",
41+ keyHow: "Choose Create new secret key and copy it. The API needs credit under Settings → Billing; a ChatGPT subscription does not include it.",
3842 },
3943 gemini: {
4044 blurb: "Gemini, on your own Google AI Studio key.",
4246 mark: "G",
4347 keyUrl: "https://aistudio.google.com/apikey",
4448 model: "gemini-2.5-pro",
49+ keyHow: "Sign in with a Google account, choose Create API key and copy it. The free tier needs no card.",
4550 },
4651 xai: {
4752 blurb: "Grok, on your own xAI key.",
5055 keyUrl: "https://console.x.ai",
5156 keyPlaceholder: "xai-…",
5257 model: "grok-4",
58+ keyHow: "Open API Keys, choose Create API key and copy it. The team needs credits under Billing.",
5359 },
5460 mistral: {
5561 blurb: "Mistral and Codestral, on your own key.",
5763 mark: "M",
5864 keyUrl: "https://console.mistral.ai/api-keys",
5965 model: "mistral-large-latest",
66+ keyHow: "Choose Create new key and copy it. The workspace needs a plan under Billing; the free Experiment plan works.",
6067 },
6168 deepseek: {
6269 blurb: "DeepSeek's chat and reasoning models.",
6572 keyUrl: "https://platform.deepseek.com/api_keys",
6673 keyPlaceholder: "sk-…",
6774 model: "deepseek-chat",
75+ keyHow: "Choose Create new API key and copy it. The account needs a balance under Top up.",
6876 },
6977 azure_openai: {
7078 blurb: "OpenAI's models on your own Azure resource and contract.",
7179 color: "#0078d4",
7280 mark: "Az",
81+ keyUrl: "https://portal.azure.com",
82+ keyHow: "Open your Azure OpenAI resource, then Resource Management → Keys and Endpoint: copy KEY 1 and the endpoint. Deployments are listed in the Azure AI Foundry portal.",
7383 },
7484 openrouter: {
7585 blurb: "Hundreds of models from every lab, on one key.",
7888 keyUrl: "https://openrouter.ai/keys",
7989 keyPlaceholder: "sk-or-…",
8090 model: "anthropic/claude-sonnet-4.5",
91+ keyHow: "Choose Create Key and copy it. Paid models need credits under Credits.",
8192 },
8293 groq: {
8394 blurb: "Open models at very high speed.",
8697 keyUrl: "https://console.groq.com/keys",
8798 keyPlaceholder: "gsk_…",
8899 model: "moonshotai/kimi-k2-instruct",
100+ keyHow: "Choose Create API Key and copy it. The free tier needs no card.",
89101 },
90102 together: {
91103 blurb: "Open models: Llama, Qwen, DeepSeek, Kimi.",
93105 mark: "T",
94106 keyUrl: "https://api.together.ai/settings/api-keys",
95107 model: "Qwen/Qwen3-Coder-480B-A35B-Instruct-FP8",
108+ keyHow: "Copy the key shown there, or create one.",
96109 },
97110 fireworks: {
98111 blurb: "Fast open models, and your own fine-tunes.",
100113 mark: "F",
101114 keyUrl: "https://fireworks.ai/account/api-keys",
102115 model: "accounts/fireworks/models/kimi-k2-instruct",
116+ keyHow: "Choose Create API Key and copy it.",
103117 },
104118 cerebras: {
105119 blurb: "Open models on wafer-scale chips.",
108122 keyUrl: "https://cloud.cerebras.ai",
109123 keyPlaceholder: "csk-…",
110124 model: "qwen-3-coder-480b",
125+ keyHow: "Open API Keys, choose Generate API Key and copy it.",
111126 },
112127 anthropic_endpoint: {
113128 blurb: "Anything that speaks Anthropic's API: your own gateway, LiteLLM, Bedrock or Vertex behind a proxy.",

Comments

Sign in to comment.