chatgpt-api/readme.md

116 wiersze
5.1 KiB
Markdown

<p>
<a href="https://github.com/transitive-bullshit/agentic-platform/actions/workflows/main.yml"><img alt="Build Status" src="https://github.com/transitive-bullshit/agentic-platform/actions/workflows/main.yml/badge.svg" /></a>
<a href="https://prettier.io"><img alt="Prettier Code Formatting" src="https://img.shields.io/badge/code_style-prettier-brightgreen.svg" /></a>
</p>
# Agentic <!-- omit from toc -->
## API Gateway
- **MCP**: `https://gateway.agentic.so/@{username}/{project-name}/mcp`
- **HTTP**: `GET/POST` `https://gateway.agentic.so/@{username}/{project-name}/{tool-name}`
## TODO: MVP
- **website**
- marketing landing page
- webapp
- consider a PrettyJson component which displays json but links to resources
- stripe
- stripe checkout for changing plans? (need to at least be able to upgrade)
- should we bypass stripe for `free` plans to increase conversions?
- handle browser back/forward with `?next=`
- add some social proof to signup page
- **API gateway**
- oauth flow
- https://docs.scalekit.com/guides/mcp/oauth
- custom oauth flow might need to use separate domains per project instead of separate pathnames?
- since the .well-known routes and standard oauth 2.1 routes are all at the top-level?
- **e2e tests for usage tracking and reporting**
- marketplace
- need a different flag besides `private` for inclusion on the marketplace
- projects may be public but not accepted into the marketplace, and that's okay?
- => **punt on this for mvp**
- docs
- main readme
- sub readmes
- hosted docs
- merge with current agentic repo
- publish packages to npm
- api
- deploy to prod
- database
- consider using [neon serverless driver](https://orm.drizzle.team/docs/connect-neon) for production
- can this also be used locally?
- may need to update our `drizzle-orm` fork
- simplify `AgenticToolClient` and only require one package per TS LLM SDK
- `createAISDKToolsFromIdentifier(projectIdentifier)`
## TODO: Post-MVP
- **website**
- llms.txt and llms.txt for all projects
- first-party deployment hosting
- api gateway stress tests
- auth
- custom auth provider configs for projects/deployments
- stripe
- re-add coupons
- declarative json-based pricing
- like https://github.com/tierrun/tier and Saasify
- https://github.com/tierrun/tier/blob/main/pricing/schema.json
- https://blog.tier.run/tier-hello-world-demo
- stripe connect
- stripe-related billing emails
- re-add support for teams / organizations
- consider switching to [consola](https://github.com/unjs/consola) for logging?
- consider switching to `bun` (for `--hot` reloading!!)
- validate stability of pricing plan slugs across deployments
- same for pricing plan line-items
- replace `ms` package
- **API gateway**
- **do we just ditch the public REST interface and focus on MCP?**
- SSE support? (no; post-mvp if at all; only support [streamable http](https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#streamable-http) like smithery does, or maybe support both?)
- signed requests
- add support for custom headers on responses
- add ability to only report stripe usage on non-cached requests
- add support for ToolConfig.cost defaulting to 1, to easily support tools which cost multiple "credits"
- extra `Sentry` instrumentation (`setUser`, `captureMessage`, etc)
- test handling of binary bodies and responses
- improve logger vs console for non-hono path and util methods
- consider replacing `eventId` with uuids for `requestId`?
- openapi origin kitchen sink
- add more test cases to e2e tests for diff content types
- mcp origin kitchen sink
- add support for `/sse`? need to test with claude desktop
- test handling of resources
- `@agentic/platform-hono`
- fix sentry middleware
- https://github.com/honojs/middleware/blob/main/packages/sentry/src/index.ts
- https://github.com/honojs/middleware/issues/943
- https://github.com/getsentry/sentry-javascript/tree/master/packages/cloudflare
- **Origin MCP servers**
- how to guarantee that the request is coming from agentic?
- `_meta` for tool calls
- _still need a way of doing this for initial connection requests_
- _=> ask in the official mcp developers discord_
- mcp auth provider support
- test binary bodies / responses / mcp resources
- resources
- prompts
- other MCP features?
- additional transactional emails
- consider `projectName` and `projectSlug` or `projectIdentifier`?
- handle or validate against dynamic MCP origin tools
- allow config name to be `project-name` or `@namespace/project-name`?
- upgrade to zod v4
- decide whether deployment fields like `defaultRateLimit` and others should be generated and stored in the db, or should be inferred based on `undefined` values
- support multiple rate-limits by slug
- RateLimit-Policy: "burst";q=100;w=60,"daily";q=1000;w=86400
- https://datatracker.ietf.org/doc/draft-ietf-httpapi-ratelimit-headers/
- make json `$schema` public for `agentic.config.json`
## Connect
To stay up to date or learn more, follow [@transitive_bs](https://x.com/transitive_bs) on Twitter.