{"id":50013662,"url":"https://github.com/profiq/ai-powered-qa","last_synced_at":"2026-05-20T02:57:32.620Z","repository":{"id":217335560,"uuid":"697337857","full_name":"profiq/ai-powered-qa","owner":"profiq","description":null,"archived":false,"fork":false,"pushed_at":"2024-04-11T13:07:58.000Z","size":783,"stargazers_count":2,"open_issues_count":13,"forks_count":0,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-04-11T15:02:21.686Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/profiq.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2023-09-27T14:23:02.000Z","updated_at":"2024-04-15T10:57:07.187Z","dependencies_parsed_at":"2024-04-15T10:57:02.912Z","dependency_job_id":null,"html_url":"https://github.com/profiq/ai-powered-qa","commit_stats":null,"previous_names":["profiq/ai-powered-qa"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/profiq/ai-powered-qa","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/profiq%2Fai-powered-qa","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/profiq%2Fai-powered-qa/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/profiq%2Fai-powered-qa/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/profiq%2Fai-powered-qa/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/profiq","download_url":"https://codeload.github.com/profiq/ai-powered-qa/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/profiq%2Fai-powered-qa/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33243960,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-19T15:49:41.270Z","status":"online","status_checked_at":"2026-05-20T02:00:07.149Z","response_time":356,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-05-20T02:57:28.694Z","updated_at":"2026-05-20T02:57:32.612Z","avatar_url":"https://github.com/profiq.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AI Agent for QA\n\nThis repository contains two distinct parts:\n\n1. a framework for developing autonomous agents built on top of LLM models we are developing at profiq,\n2. an agent based on this framework for automating QA for web applications.\n\nYou can read more about our agent framework in our [blog article](https://www.profiq.com/from-chatgpt-to-smart-agents-the-next-frontier-in-app-integration).\n\n## Setup\n\n1. Clone the repository\n2. We use [Poetry](https://python-poetry.org) to manage dependencies so you need to install it\n3. Create a virtual environment and install all dependencies by running:\n\n```bash\n$ poetry install\n```\n\n4. If you want to use the QA agent, you also need to install test browsers for Playwright\n\n```bash\n$ poetry run playwright install\n```\n\n## Usage\n\n### Environment variables\n\nYou will need at least an [OpenAI API](https://platform.openai.com) key.\nYou should put it in a `.env` file like this:\n\n```shell\nOPENAI_API_KEY=\"\u003cYOUR_OPENAI_API_KEY\u003e\"\n```\n\nYou can use `.env.example` as a template if you want to use additional features, like [Anthropic](https://www.anthropic.com/) models, or [LangSmith](https://www.langchain.com/langsmith) tracing.\n\n### Running the QA agent\n\nWe have a couple example usages of the agent.\nOne is a [Streamlit](https://streamlit.io/) interface, currently defaulting to an agent that sees a visible portion of the HTML, and can interact with it using selectors.\nYou can run it like this:\n\n```bash\n$ poetry run streamlit run web_ui_next.py\n```\n\nThis command should automatically open a new browser tab with an interface with a layout similar to ChatGPT.\n\nThe streamlit UI is a bit un-intuitive when the interaction and app state get more complex, so we've also created another UI for the agent using [Gradio](https://gradio.app). This one currently defaults to an accessibility agent, that uses only keyboard, and you can run it using\n\n```bash\n$ poetry run gradio web_ui_gradio.py\n```\n\nBoth interfaces are work in progress and are continually evolving. Please submit an issue if you have any problems or ideas for improvements.\n\n### Creating a new agent in Python\n\nAn agent can be created as an instance of the `ai_powered_qa.components.agent.Agent` class and by registering\nall plugins you want to use.\n\n```python\nfrom ai_powered_qa.components.agent import Agent\nfrom ai_powered_qa.custom_plugins.todo_plugin import TodoPlugin\n\nagent = Agent(agent_name=\"TodoAgent\", model=\"gpt-4-1106-preview\")\ntodo_plugin = TodoPlugin()\nagent.add_plugin(todo_plugin)\n```\n\nYou can then run a simple interaction like this:\n\n```python\ninteraction = agent.generate_interaction(\"Add grocery shopping to the todo list.\")\nagent.commit_interaction(interaction)\n```\n\n### Writing custom plugins\n\nAll plugins have to inherit from the `ai_powered_qa.components.plugin.Plugin` class. We recommend\nchecking out some existing plugins in the `ai_powered_qa/custom_plugins` directory and our\n[blog article](https://www.profiq.com/from-chatgpt-to-smart-agents-the-next-frontier-in-app-integration).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprofiq%2Fai-powered-qa","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprofiq%2Fai-powered-qa","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprofiq%2Fai-powered-qa/lists"}