Comment by kordlessagain
1 year ago
I've been working on Webwright[1] for a month after having prototyped a few different terminal solutions for a coding agents. Webwright manifests in a psuedo terminal in Powershell or terminal on MacOS.
Using Claude.AI, I determined the `ast` package would be suitable (for Python scanning), so had Webwright author a new function module to scan the project and assemble a list of functions, function calls, imports, and decorators. I then installed the function module and relaunched the app.
It produced the following as a request to explain how the system works for y'all:
WebWright uses modular function calls to handle various tasks such as user input processing, file operations, git management, and AI interactions. The main application routes commands to specific functions, which in turn perform discrete tasks like reading files, managing containers, and querying AI APIs. This architecture ensures clear separation of concerns, maintainability, and scalability while efficiently handling complex operations asynchronously.
The heavy lifting in WebWright is primarily done in the AI handlers and utility modules:
1. AI Handlers (`lib.aifunc`):
- The core AI functionality, like processing user queries and interacting with AI APIs (OpenAI, Anthropic), performs the most computationally intensive tasks.
- Managing asynchronous API calls, error handling, and processing large datasets.
2. Utility Modules:
- Modules like lib.functions.filesystem, lib.functions.git_*, and lib.functions.manage_app_container handle substantial operations such as file I/O, version control, and Docker container management.
These components shoulder the bulk of the computational and I/O work, ensuring efficient task execution and resource management.
That's awesome thanks!