{"id":16887749,"url":"https://github.com/ethanhe42/actgpt","last_synced_at":"2025-04-09T08:09:49.028Z","repository":{"id":65512399,"uuid":"592113874","full_name":"ethanhe42/ActGPT","owner":"ethanhe42","description":"chatbot does what you ask, like open Google search, post a Tweet, etc.","archived":false,"fork":false,"pushed_at":"2023-03-26T03:14:13.000Z","size":10,"stargazers_count":318,"open_issues_count":1,"forks_count":33,"subscribers_count":8,"default_branch":"main","last_synced_at":"2024-04-13T06:58:42.496Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://twitter.com/he_yi_hui/status/1617328366876786688","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ethanhe42.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-01-22T23:56:09.000Z","updated_at":"2024-04-06T23:55:56.000Z","dependencies_parsed_at":"2023-09-24T12:10:44.814Z","dependency_job_id":null,"html_url":"https://github.com/ethanhe42/ActGPT","commit_stats":{"total_commits":4,"total_committers":1,"mean_commits":4.0,"dds":0.0,"last_synced_commit":"d23d827215d2a4d65a22f2d0b295dbdcd99f90b5"},"previous_names":["ethanhe42/actgpt","yihui-he/actgpt"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ethanhe42%2FActGPT","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ethanhe42%2FActGPT/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ethanhe42%2FActGPT/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ethanhe42%2FActGPT/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ethanhe42","download_url":"https://codeload.github.com/ethanhe42/ActGPT/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247999861,"owners_count":21031046,"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","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":"2024-10-13T16:46:38.997Z","updated_at":"2025-04-09T08:09:49.003Z","avatar_url":"https://github.com/ethanhe42.png","language":"Python","readme":"# ActGPT - chatbot that controls browser\n\nblog post: https://yihui.dev/actgpt\n\ndemo: https://twitter.com/he_yi_hui/status/1617328366876786688\n\nconfig api key, chromedriver path and user data path in `conf/config.yaml`.\n\n- API key is from OpenAI. You can get it from https://beta.openai.com/\n- chromedriver path is where you have chromedriver installed. You can download it from https://chromedriver.chromium.org/downloads\n- User data path is where your browser stores cookies, history, etc. You can use a new folder to avoid logging in to websites.\n\n```\nOPENAI_API_KEY: api_key\nexecutable_path: /path/to/chromedriver\nuser_data_dir: /path/to/user_data\n```\n\ninstall `requirements.txt` then run `python3 demo.py` to start the chatbot.\n\n### examples\n\nsearch for \"ChatGPT\" on wikipedia. summarize and tweet on Tiwtter.\n\n```\nwrite code:\n1. go to www.wikipedia.org\n2. find all textboxes. find one from them that is visible\n3. click on the textbox\n4. type in \"ChatGPT\" + Keys.ENTER\n5. sleep 3 seconds\n6. find all elements that contains text longer than 50 characters\n7. combine their text in a string `text` and print it\n8. go to url 'www.twitter.com'\n9. ask AI about \"write a tagline tweet given:\" + `text` and store it in variable `response`\n10. find an element whose text is Tweet\n11. find a textbox near the element\n12. click the textbox\n13. type in existing variable `response` + Keys.ENTER\n14. click the element whose text is Tweet.\n15. wait 3 seconds\n16. find an element that has text longer than 50 characters\n17. click on the nearest like button\n```\n\nGoogle search, write joke about search and tweet it\n\n```\nwrite code: 1. go to google. 2. find all textboxes. find one from them that is visible 3. click on the textbox 4. type in Andrej Karpathy and ENTER key\nwrite code: 1. find all elements that contains text longer than 50 characters 2. store their text in `text` and print it\nwrite code: 1. find all elements contain text 2. initialize an empty string 3. for each element, split the text into lines 4. for each line, if it's longer than 20 words, append it to the string\nask AI about \"write a joke given:\" + `text` and store it in variable `response`\nwrite code: 1. go to twitter 2. find an element whose text is Tweet 3. find a textbox near the element 4. click the textbox 5. type in existing variable `response` 6. click the element\n```\n\nAmazon search\n\n```\ngo to amazon\nfind all textboxes. find one from them that is visible\nclick on the textbox\ntype in \"ChatGPT\" and enter\n```\n\ngenerating the code from one sentence high level instruction:\n\n![image](https://user-images.githubusercontent.com/10027339/227753195-739efe81-a783-4c4a-89ec-dc614a055ff6.png)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fethanhe42%2Factgpt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fethanhe42%2Factgpt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fethanhe42%2Factgpt/lists"}