← Open Source
team-openpm

workgpt

A GPT agent framework for invoking APIs.

AI EngineeringGive agent toolsBuild agent workflow (SDK)TypeScript
Open on GitHub
Momentum
+0stars in 24 hours0.0%
731
Stars
57
Forks
+0
This week
3
Contributors
Created 2023-05-02 · Updated 2026-09-14 · #14430 today
Top developers
maccmanrileytomasekocavue

team-openpm/workgpt is ranked 14,430 with 731 stars.

Same-category comparison

team-openpm/workgpt is ranked 14,430 among these 8 peers; langchain-ai/langgraph-codeact is ranked 14,429.

Same-category comparison
NameRankMetrics
neo4j-labs/create-context-graph14,410
Language:
Python
Stars:
734
Forks:
106
Description:
AI agents with graph based reasoning memory, scaffolded in seconds.
PromtEngineer/agentic-file-search14,414
Language:
Python
Stars:
733
Forks:
116
jiran214/langup-ai14,422
Language:
Python
Stars:
732
Forks:
126
langchain-ai/langgraph-codeact14,429
Language:
Python
Stars:
731
Forks:
77
Chen-zexi/open-ptc-agent14,434
Language:
Python
Stars:
730
Forks:
90
Description:
An open source implementation of code execution with MCP (Programatic Tool Calling).
YonkoSam/whatsapp-python-chatbot14,436
Language:
Python
Stars:
730
Forks:
218
Description:
WhatsApp Chatbot using Gemini + WasenderAPI.
microsoft/teams-sdk14,441
Language:
TypeScript
Stars:
730
Forks:
271
Description:
SDK focused on building AI based applications and extensions for Microsoft Teams and other Bot Framework channels.
ankane/transformers-ruby14,448
Language:
Ruby
Stars:
729
Forks:
12
Description:
State-of-the-art transformers for Ruby.
Key parameters and specifications
Key parameters and specifications
ParameterValue
LanguageTypeScript
CategoryAI Engineering
SubcategoryGive agent tools, Build agent workflow (SDK)
KeywordsAgent-ready APIs
Stars731
Forks57
Contributors3
Created date2023-05-02
Updated date2026-09-14
Stars in 1 day0
Stars in 7 days0
Rank14,430
Previous rank14,290
Rank change-140
7-day stars rank14,473
Previous 7-day stars rank14,490
7-day stars rank change17
Total stars rank14,358
Previous total stars rank14,332
Total stars rank change-26
README summary

workgpt WorkGPT is an agent framework in a similar fashion to AutoGPT or LangChain. You give it a directive and an array of APIs and it will converse back and forth with the AI until its directive is complete. For example, a directive could be to research the web for something, to crawl a website, or to order you an Uber. We support any and all APIs that can be represented with an OpenAPI file. Install Usage What is OpenPM

You'll notice that we're using an OpenPM API in the example above. OpenPM is a package manager for OpenAPI files. In the example you can see we've pulled in a package from OpenPM called to be used for looking up IP addresses. We support importing any arbitrary OpenAPI file. You can see that we're smart about authentication. You just need to pass an and the library will figure out how to authorize itself. All the endpoints in the API will

be exposed as local functions to the LLM, ready to be invoked. Crawling example We include an example of using Puppeteer as a text-based browser to give the LLM access to the web. You'll notice that the text-based browser passes out all the HTML and just returns text. This is actually enough for GPT-4, which is smart enough to extract data from the plain text. We can pass our own custom API to the LLM as a

finishing program API that the LLM can call whenever it's finished. The advantage of this is that you can give it a schema to follow, which is great when trying to extract data from a webpage.

Frequently asked questions

How many stars and forks are recorded?

team-openpm/workgpt has 731 stars and 57 forks.

What is the repository rank?

team-openpm/workgpt is ranked 14,430.

What language and category are recorded?

team-openpm/workgpt has 731 stars, uses TypeScript and belongs to AI Engineering.

Which repository is closest in rank?

team-openpm/workgpt is compared with langchain-ai/langgraph-codeact, ranked 14,429 with 731 stars.

README

workgpt

WorkGPT is an agent framework in a similar fashion to AutoGPT or LangChain. You give it a directive and an array of APIs and it will converse back and forth with the AI until its directive is complete.

For example, a directive could be to research the web for something, to crawl a website, or to order you an Uber. We support any and all APIs that can be represented with an OpenAPI file.

Install

npm install workgpt

Usage

import { Calculator } from 'workgpt/apis/calculator'
import { FactApi } from 'workgpt/apis/fact'
import { OpenpmApi } from 'workgpt/apis/openpm'
import { OpenAiAgent } from 'workgpt/chat-agents/open-ai'
import { WorkGptRunner } from 'workgpt/runners/workgpt'

const agent = new OpenAiAgent({
  verbose: true,
  temperature: 0.1,
  model: 'gpt-4-0613',
})

const apis = await Promise.all([
  OpenpmApi.fromPackageId('ipinfo', {
    authKey: process.env.IPINFO_API_KEY!,
  }),
  new Calculator(),
  new FactApi(),
])

const runner = new WorkGptRunner({
  agent,
  apis,
})

const result = await runner.runWithDirective(
  'What is the city related to the ip address 76.220.35.234 and what is the population of that city?'
)

console.log('Result', result)

What is OpenPM

You'll notice that we're using an OpenPM API in the example above. OpenPM is a package manager for OpenAPI files. In the example you can see we've pulled in a package from OpenPM called ipinfo to be used for looking up IP addresses.

You don't have to use OpenPM. We support importing any arbitrary OpenAPI file. You can see that we're smart about authentication. You just need to pass an authKey and the library will figure out how to authorize itself. All the endpoints in the API will be exposed as local functions to the LLM, ready to be invoked.

Crawling example

We include an example of using Puppeteer as a text-based browser to give the LLM access to the web. You'll notice that the text-based browser passes out all the HTML and just returns text. This is actually enough for GPT-4, which is smart enough to extract data from the plain text.

We can pass our own custom API to the LLM as a finishing program API that the LLM can call whenever it's finished. The advantage of this is that you can give it a schema to follow, which is great when trying to extract data from a webpage.

export class WorkGptControl extends Api {
  @invokable({
    usage: 'Finishes the program. Call when you have an answer.',
    schema: z.object({
      fundingRounds: z.array(
        z.object({
          organizationName: z.string(),
          transactionName: z.string(),
          moneyRaised: z.string(),
          leadInvestors: z.array(z.string()),
        })
      ),
    }),
  })
  onFinish(result: any) {
    haltProgram(result)
  }
}

const agent = new OpenAiAgent({
  verbose: true,
  temperature: 0,
  model: 'gpt-4-0613',
})

const apis = await Promise.all([new TextBrowser(), new WorkGptControl()])

const runner = new WorkGptRunner({
  agent,
  apis,
})

const result = await runner.runWithDirective(
  'Get the featured funding rounds of https://www.crunchbase.com'
)

console.log('Result', JSON.stringify(result, null, 2))

License

MIT

Nearby in the ranking
Similar items