Vercel AI SDK
1. Install the CLI
npm install -g swytchcodeirm https://cli.swytchcode.com/install.ps1 | iexcurl -fsSL https://cli.swytchcode.com/install.sh | shUse swy as a shorter alias for swytchcode.
2. Install the packages
npm install @swytchcode/runtime ai @ai-sdk/openai dotenvpip install swytchcode-runtime python-dotenv3. Initialize Swytchcode and fetch a toolkit
swy initswy get githubswy init creates .swytchcode/ and tooling.json for the project. swy get github downloads the GitHub integration bundle - the schemas that tools.get reads from in the next step.
4. Create the tool set
import 'dotenv/config';import { openai } from '@ai-sdk/openai';import { generateText } from 'ai';import { Swytchcode } from '@swytchcode/runtime';import { VercelProvider } from '@swytchcode/runtime/providers/vercel';
const swx = new Swytchcode(new VercelProvider());const tools = await swx.tools.get({ toolkits: ['github'] });import osfrom dotenv import load_dotenvfrom swytchcode_runtime import Swytchcode
load_dotenv()
swx = Swytchcode()tools = swx.tools.get(toolkits=["github"])
print(f"Loaded {len(tools)} tools")5. Run the prompt
const result = await generateText({ model: openai('gpt-4.1'), tools, prompt: 'Summarize my open pull requests from GitHub.',});
console.log(result.text);result = swx.tools.execute("github.pull_requests.list", { "params": {"state": "open"}, "Authorization": f"Bearer {os.getenv('GITHUB_TOKEN')}",})
print(result)6. Run the file
Save the example as main.js, then run:
node main.jsSwytchcode provides the tool execution layer while the SDK handles the model loop.