59 lines
1.5 KiB
Markdown
59 lines
1.5 KiB
Markdown
# Codex SDK
|
|
|
|
If you use Codex through the Codex CLI, the IDE extension, or Codex Web, you can also control it programmatically.
|
|
|
|
Use the SDK when you need to:
|
|
|
|
- Control Codex as part of your CI/CD pipeline
|
|
- Create your own agent that can engage with Codex to perform complex engineering tasks
|
|
- Build Codex into your own internal tools and workflows
|
|
- Integrate Codex within your own application
|
|
|
|
## TypeScript library
|
|
|
|
The TypeScript library provides a way to control Codex from within your application that is more comprehensive and flexible than non-interactive mode.
|
|
|
|
Use the library server-side; it requires Node.js 18 or later.
|
|
|
|
### Installation
|
|
|
|
To get started, install the Codex SDK using `npm`:
|
|
|
|
```bash
|
|
npm install @openai/codex-sdk
|
|
```
|
|
|
|
### Usage
|
|
|
|
Start a thread with Codex and run it with your prompt.
|
|
|
|
```ts
|
|
|
|
|
|
const codex = new Codex();
|
|
const thread = codex.startThread();
|
|
const result = await thread.run(
|
|
"Make a plan to diagnose and fix the CI failures"
|
|
);
|
|
|
|
console.log(result);
|
|
```
|
|
|
|
Call `run()` again to continue on the same thread, or resume a past thread by providing a thread ID.
|
|
|
|
```ts
|
|
// running the same thread
|
|
const result = await thread.run("Implement the plan");
|
|
|
|
console.log(result);
|
|
|
|
// resuming past thread
|
|
|
|
const threadId = "<thread-id>";
|
|
const thread2 = codex.resumeThread(threadId);
|
|
const result2 = await thread2.run("Pick up where you left off");
|
|
|
|
console.log(result2);
|
|
```
|
|
|
|
For more details, check out the [TypeScript repo](https://github.com/openai/codex/tree/main/sdk/typescript). |