Skip to content

Regarding the Separation of Web and Agent #24

@luke0408

Description

@luke0408

Current Swagger Chat

From what I understand, Swagger Chat is a support tool that reads the Swagger file registered by the user and uses ChatGPT to interpret the Swagger documentation based on the user's requests. Its main functionality is to make Swagger API documentation easier to use and to assist users in receiving development directions based on the Swagger documentation.

Structure Diagram

Image

The diagram above represents my interpretation of the flow of the main functionality.

  • Blue section: Responsible for the user-facing view.
  • Red section: Responsible for responding to the user’s requests and handling the main logic for dealing with Swagger.
  • Green section: Handles the interaction with ChatGPT.

Based on this diagram, I felt that the red and green sections are the core of this project.

Regarding the Separation of Agent

Therefore, I wondered whether it might be beneficial to extract the red and green sections into an Agent.

This would allow Swagger Chat to evolve in a way where Web and Agent are developed in parallel. The Web would be responsible for the UI presented to the user, while the Agent would handle the core logic of interpreting Swagger documentation and generating code samples.

Swagger Chat Agent SDK Distribution

By distributing the Agent as an SDK, it opens up many more possibilities for usage.

Instead of just users coming to the Web interface, it could directly contribute to projects that use Swagger, serving as a support tool integrated into their code.

Mitigating Financial Issues

Currently, Swagger Chat doesn't seem to ask users for an OpenAI API key, so I assume the developer might be shouldering the cost. If the project becomes more popular, it might become harder to sustain.

However, by distributing it as an SDK and allowing developers to integrate Swagger Chat into their own projects, they would use their own API keys instead of relying on the developer's OpenAI API key.

This could be a breakthrough in ensuring the long-term sustainability of the project.


What do you think about this direction?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions