{"id":30983825,"url":"https://github.com/jadbox/solomonagent","last_synced_at":"2025-09-12T11:09:41.397Z","repository":{"id":296955171,"uuid":"995058215","full_name":"jadbox/solomonagent","owner":"jadbox","description":"This project provides a command-line interface (CLI) tool to interact with web pages. It fetches page content, summarizes it using an AI model, and allows users to select and interact with identified actions (like forms or links) on the page.","archived":false,"fork":false,"pushed_at":"2025-06-03T15:50:13.000Z","size":65,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-06-03T15:53:31.989Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","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/jadbox.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,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-06-02T22:50:15.000Z","updated_at":"2025-06-03T15:50:15.000Z","dependencies_parsed_at":"2025-06-03T15:53:55.902Z","dependency_job_id":"255811c7-452c-459c-b8f3-e897a48f2976","html_url":"https://github.com/jadbox/solomonagent","commit_stats":null,"previous_names":["jadbox/solomonagent"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/jadbox/solomonagent","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jadbox%2Fsolomonagent","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jadbox%2Fsolomonagent/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jadbox%2Fsolomonagent/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jadbox%2Fsolomonagent/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jadbox","download_url":"https://codeload.github.com/jadbox/solomonagent/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jadbox%2Fsolomonagent/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274800755,"owners_count":25352178,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-12T02:00:09.324Z","response_time":60,"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":"2025-09-12T11:09:39.915Z","updated_at":"2025-09-12T11:09:41.384Z","avatar_url":"https://github.com/jadbox.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Solomon's Agent: CLI interaction to a more concise web\n\n![Screenshot 2025-06-06 124815](https://github.com/user-attachments/assets/51f7b3c7-18c1-4696-b1d5-3a59ed74d8b0)\n\nThis project provides a command-line interface (CLI) tool to quickly interact with web from the CLI. It fetches page content, summarizes it using an AI model, and allows users to select and interact with identified actions (like forms or links) on the page. This tool acts as a smart filter for the web, right in your CLI. It parses a page to surface only the essential content and the most common next steps, streamlining tasks like reading the news, researching on Wikipedia, or getting a quick weather update.\n\n### CLI prompt a webpage:\n![Screenshot 2025-06-06 120950](https://github.com/user-attachments/assets/c39722ab-c097-42a5-8fa0-3f653145fd9d)\n\n### Interact with a simple page form:\n![Screenshot 2025-06-06 121008](https://github.com/user-attachments/assets/efc81f9e-7521-4052-b501-f8077677ce1c)\n![Screenshot 2025-06-06 121026](https://github.com/user-attachments/assets/41ae148f-33b2-4ccb-b46e-50f87da9e8f2)\n\n\n## Project Structure\n\nThe project is organized into a modular structure for better maintainability and scalability:\n\n```\n.\n├── src/\n│   ├── types.ts            # Defines shared TypeScript interfaces (e.g., PageAction).\n│   ├── browserUtils.ts     # Handles Playwright browser automation and Chrome profile detection.\n│   ├── aiUtils.ts          # Contains logic for AI-powered page summarization using OpenAI/Gemini.\n│   └── cliHandler.ts       # Manages all command-line user interactions using @clack/prompts.\n├── index.ts                # The main entry point, orchestrating the application flow.\n├── package.json            # Project metadata and dependencies.\n├── tsconfig.json           # TypeScript configuration.\n├── .gitignore              # Specifies intentionally untracked files to ignore.\n└── README.md               # Project documentation.\n```\n\n## How to Run\n\n1.  **Set up Environment Variable:**\n    Ensure you have your Gemini API key set as an environment variable:\n    `export GEMINI_API_KEY=\"YOUR_GEMINI_API_KEY\"`\n\n2.  **Install Dependencies:**\n    ```bash\n    bun install\n    ```\n\n3.  **Run the Application:**\n    ```bash\n    npm install\n    ```\n    Node Example with type stripping attribute:\n    ```bash\n    npm run start https://example.com\n    ```\n\n\n## Features\n\n*   **Web Page Fetching:** Retrieves HTML content and title from a given URL.\n*   **AI Summarization:** Uses a configured AI model (Gemini) to summarize page content concisely.\n*   **Action Identification:** Identifies potential user actions (forms, links) on the page based on AI analysis.\n*   **Interactive CLI:** Provides a user-friendly command-line interface to select and interact with identified page actions.\n*   **Chrome Profile Detection:** [WIP] Automatically detects common Chrome user profile paths for persistent browser sessions (though currently configured for non-persistent headless mode).\n\n## Plug\nThis is a silly project built while I'm looking for new opportunities around building AI-powered platforms and tools. If you're hiring, message me on https://www.linkedin.com/in/jonathandunlap/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjadbox%2Fsolomonagent","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjadbox%2Fsolomonagent","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjadbox%2Fsolomonagent/lists"}