chatgpt-api/readme.md

116 wiersze
5.1 KiB
Markdown
Czysty Zwykły widok Historia

2025-04-04 10:53:50 +00:00
<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 -->
2025-06-05 16:14:53 +00:00
## API Gateway
2025-06-13 19:31:20 +00:00
- **MCP**: `https://gateway.agentic.so/@{username}/{project-name}/mcp`
- **HTTP**: `GET/POST` `https://gateway.agentic.so/@{username}/{project-name}/{tool-name}`
2025-06-07 21:11:03 +00:00
2025-06-13 15:42:40 +00:00
## TODO: MVP
2025-06-13 15:42:40 +00:00
- **website**
- marketing landing page
- webapp
- consider a PrettyJson component which displays json but links to resources
- stripe
2025-06-18 09:26:09 +00:00
- stripe checkout for changing plans? (need to at least be able to upgrade)
- should we bypass stripe for `free` plans to increase conversions?
2025-06-18 14:05:28 +00:00
- handle browser back/forward with `?next=`
2025-06-18 15:52:18 +00:00
- add some social proof to signup page
- **API gateway**
2025-06-10 05:01:46 +00:00
- 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?
2025-06-18 09:26:09 +00:00
- **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**
2025-06-13 15:42:40 +00:00
- docs
- main readme
- sub readmes
- hosted docs
- merge with current agentic repo
- publish packages to npm
- api
- deploy to prod
2025-06-14 05:28:49 +00:00
- database
- consider using [neon serverless driver](https://orm.drizzle.team/docs/connect-neon) for production
2025-06-14 05:33:32 +00:00
- can this also be used locally?
- may need to update our `drizzle-orm` fork
2025-06-25 01:06:20 +00:00
- simplify `AgenticToolClient` and only require one package per TS LLM SDK
- `createAISDKToolsFromIdentifier(projectIdentifier)`
2025-06-04 20:00:28 +00:00
2025-06-13 15:42:40 +00:00
## TODO: Post-MVP
2025-06-04 20:00:28 +00:00
2025-06-13 15:42:40 +00:00
- **website**
- llms.txt and llms.txt for all projects
2025-06-05 16:14:53 +00:00
- first-party deployment hosting
2025-06-11 03:09:42 +00:00
- api gateway stress tests
2025-06-07 17:50:18 +00:00
- auth
- custom auth provider configs for projects/deployments
2025-06-04 20:00:28 +00:00
- 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
2025-06-13 15:42:40 +00:00
- **API gateway**
2025-06-11 23:22:25 +00:00
- **do we just ditch the public REST interface and focus on MCP?**
2025-06-10 05:01:46 +00:00
- 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?)
2025-06-04 20:00:28 +00:00
- signed requests
2025-06-07 12:32:14 +00:00
- 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"
2025-06-12 00:20:32 +00:00
- extra `Sentry` instrumentation (`setUser`, `captureMessage`, etc)
2025-06-13 15:42:40 +00:00
- 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
2025-06-13 15:42:40 +00:00
- **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_
2025-06-18 09:26:09 +00:00
- _=> ask in the official mcp developers discord_
2025-06-13 15:42:40 +00:00
- mcp auth provider support
2025-06-18 09:26:09 +00:00
- test binary bodies / responses / mcp resources
2025-06-13 15:42:40 +00:00
- resources
- prompts
- other MCP features?
2025-06-04 20:00:28 +00:00
- additional transactional emails
- consider `projectName` and `projectSlug` or `projectIdentifier`?
2025-06-07 09:13:44 +00:00
- handle or validate against dynamic MCP origin tools
- allow config name to be `project-name` or `@namespace/project-name`?
- upgrade to zod v4
2025-06-12 19:07:52 +00:00
- 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/
2025-06-18 09:26:09 +00:00
- make json `$schema` public for `agentic.config.json`
2025-06-20 04:05:47 +00:00
## Connect
2025-04-04 10:53:50 +00:00
To stay up to date or learn more, follow [@transitive_bs](https://x.com/transitive_bs) on Twitter.