{"full_name":"CopilotKit/OpenBot","owner":"CopilotKit","name":"OpenBot","url":"https://github.com/CopilotKit/OpenBot","description":"Open-source AI coworkers that each get a computer of their own: a browser, files and tools, with every action decided before it happens and recorded after. Bring any AG-UI agent.","homepage":"open.bot","topics":[],"language":"TypeScript","license":"MIT","avatar":"https://avatars.githubusercontent.com/u/131273140?v=4","created_at":"2026-08-17T00:44:59Z","pushed_at":"2026-11-10T08:27:08Z","metrics":{"stars":10607,"forks":1323,"watchers":34,"issues":204,"prs":1100,"releases":23,"issues_open":null,"issues_closed":null,"prs_open":null,"prs_closed":null,"prs_merged":null,"discussions":0},"growth":{"day":{"stars":89,"forks":14,"base_day":"2026-11-09"},"week":{"stars":730,"forks":113,"base_day":"2026-11-03"},"month":{"stars":4660,"forks":530,"base_day":"2026-10-11"}},"history":{"dates":["2026-09-06","2026-09-07","2026-09-08","2026-09-09","2026-09-10","2026-09-11","2026-09-12","2026-09-13","2026-09-14","2026-09-15","2026-09-16","2026-09-17","2026-09-18","2026-09-19","2026-09-20","2026-09-21","2026-09-22","2026-09-23","2026-09-24","2026-09-25","2026-09-26","2026-09-27","2026-09-28","2026-09-29","2026-09-30","2026-10-01","2026-10-02","2026-10-03","2026-10-04","2026-10-05","2026-10-06","2026-10-07","2026-10-08","2026-10-09","2026-10-10","2026-10-11","2026-10-12","2026-10-13","2026-10-14","2026-10-15","2026-10-16","2026-10-17","2026-10-18","2026-10-19","2026-10-20","2026-10-21","2026-10-22","2026-10-23","2026-10-24","2026-10-25","2026-10-26","2026-10-27","2026-10-28","2026-10-29","2026-10-30","2026-10-31","2026-11-01","2026-11-02","2026-11-03","2026-11-04","2026-11-09","2026-11-10"],"stars":[2298,2613,2859,3007,3169,3221,3266,3415,3722,3885,4085,4244,4305,4414,4481,4550,4611,4709,4803,4883,4941,4998,5080,5128,5167,5263,5349,5459,5512,5554,5592,5680,5715,5799,5871,5947,6075,6117,6166,6218,6265,6302,6394,6441,6477,6513,6593,6672,6722,6842,6915,6997,7037,7192,7353,7611,8001,8657,9877,10005,10518,10607],"forks":[263,304,345,365,387,389,396,424,460,471,495,518,528,546,548,559,576,585,600,619,627,635,644,647,655,677,687,708,719,725,732,747,756,775,781,793,813,820,831,845,853,861,872,881,883,897,912,925,927,939,942,954,960,980,994,1012,1040,1097,1210,1233,1309,1323],"watchers":[9,12,14,16,15,16,16,17,17,18,18,18,18,19,19,19,19,19,19,20,20,20,20,20,20,23,22,22,22,22,22,23,23,22,22,22,22,22,23,22,22,22,22,23,24,25,24,24,24,23,25,25,25,28,28,30,30,33,34,33,34,34],"issues_open":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"prs_open":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]},"boards":{"weekly":156,"monthly":119,"weekly_rate":52,"monthly_rate":45,"new":43},"same_owner":[{"full_name":"CopilotKit/CopilotKit","name":"CopilotKit","boards":{}},{"full_name":"CopilotKit/OpenDots","name":"OpenDots","boards":{"monthly":172,"weekly_rate":176,"monthly_rate":43,"new":95}},{"full_name":"CopilotKit/openmuse","name":"openmuse","boards":{"new":99}}],"issues":[{"number":449,"title":"Proposal: optional endpoint-bound preflight hook before remote MCP calls","comments":4,"created_at":"2026-09-08T21:33:30Z"},{"number":399,"title":"A coworker created as Built in still cannot hand work on","comments":3,"created_at":"2026-09-06T03:22:01Z"},{"number":890,"title":"The safety policy hands off a Shopify order note as \"moving money\" while refunds pass","comments":2,"created_at":"2026-10-29T15:41:15Z"},{"number":876,"title":"Record missing audit events for 13 authorization lifecycle transitions","comments":2,"created_at":"2026-10-28T21:01:43Z"},{"number":817,"title":"Composio plugin sends x-api-key, but connect.composio.dev/mcp requires x-consumer-api-key","comments":2,"created_at":"2026-10-21T12:52:20Z"},{"number":767,"title":"Feature Request: Add Chinese UI support for PC and Mobile","comments":2,"created_at":"2026-10-11T03:49:25Z"},{"number":988,"title":"The work was interrupted.","comments":1,"created_at":"2026-11-04T15:53:23Z"},{"number":975,"title":"55","comments":1,"created_at":"2026-11-03T19:42:24Z"}],"discussions":[],"latest_release":{"name":"v0.3.3","tag":"v0.3.3","published_at":"2026-11-08T01:51:05Z","body":"\n**Before upgrading.** Five migrations add columns: `0078_routine_title` adds a nullable\n`routines.title`, `0079_tool_unclassified` adds `mcp_tools.unclassified`, false on every existing\nrow, `0080_listing_revision` adds `mcp_servers.listing_revision`, 0 on every existing row,\n`0081_goal_recurring` adds `responsibilities.recurring`, false on every existing row, and\n`0082_routine_goal` adds `routines.goal_id`, empty on every existing row, and\n`routines.goal_by_title`, true on every existing row. The database moves to `0082_routine_goal`. Eight things change for an existing deployment:\n- A goal's tools are named for goals. `create_responsibility`, `list_responsibilities`,\n  `update_responsibility`, `report_responsibility_progress`, `run_responsibility`,\n  `pause_responsibility`, `resume_responsibility` and `complete_responsibility` are now\n  `create_goal`, `list_goals`, `update_goal`, `report_goal_progress`, `run_goal`, `pause_goal`,\n  `resume_goal` and `complete_goal`, and `create_trigger` takes `goalId`. The old names are gone, so\n  update any Bot instructions, skills or goals that mention them. API routes and the database are\n  unchanged.\n- At the first start, the saved tools of OpenBot's own apps, Routines and Google Drive (where it is\n  added), are brought up to this release's, and every Bot gets Routines' seven new goal tools\n  (below). After that, a start changes them only when a release does.\n- An app tool whose action is archive, and any app tool its app marks destructive, asks with\n  **Allow once** or **Deny** every time, whatever your settings (below). This starts at once, with\n  nothing to refresh.\n- At the first start, every app of your broker (Arcade or Composio) is listed again once, as\n  **Refresh tools** does, so an action its app says nothing about is recorded as a fresh install\n  records it: an ordinary change (below). Nobody has to press anything, and the start doesn't wait\n  for it. Actions the broker flags destructive, and delete or archive names, still ask every time.\n  If the broker can't be reached, an app keeps its actions, which ask as before, and OpenBot keeps\n  trying every few minutes and at the next start.\n- Existing goals keep their state, but a goal that one of its Bot's routines runs, or that an event\n  wakes, now counts as repeating, so its runs no longer complete it (below). An existing routine\n  runs a goal when its instruction names the goal's id, or the goal's whole title in quotes. A goal a run already\n  completed stays completed, and its routine now says so each time it fires.\n- The audit trail records a person's denial as the action's own refusal (`computer.action_refused`\n  or `mcp.call_rejected`), and an approved computer action as one `computer.action_allowed`, where\n  it wrote up to three. A Bot's actions in folders on OpenBot Desktop are `computer.action_*` events\n  (actions `host/read_file`, `host/write_file` and so on), where each was two\n  `configuration.changed` rows. OpenBot giving a Bot an app's tools is one `configuration.changed`\n  row per Bot and app, where each tool had one. Counts taken from the export or a log collector\n  change. Rows recorded before the upgrade keep their old shape.\n- A Bot you run at your own address that hands `ask_person` or `message_bot` back to OpenBot\n  unanswered now has OpenBot carry it out: the person is asked, or the message is delivered. A Bot\n  that calls OpenBot's tools itself is unchanged. Any Bot at its own address is never sent more than\n  128 tools in one request, whatever its provider takes: the app tools least like the request are\n  left out.\n- An existing personal edition keeps its Bots. On OpenBot Desktop the Personal Assistant and the\n  Bot picked in setup stay two Bots, and the Personal Assistant is no longer rewritten from the\n  package at each Start. The picked Bot's subtitle says \"Powered by\" and its framework where it\n  repeated the framework's name, and a picked Bot named \"LangGraph\" becomes \"LangChain (LangGraph)\".\n  An Open"},"readme":true,"readme_zh":false,"news":[{"title":"Show HN: Open Bot – an open-source Grok Bot that works with any agent harness","url":"https://github.com/copilotkit/openbot","hn":"https://news.ycombinator.com/item?id=49365575","source":"Hacker News","lang":"en","date":"2026-08-19","points":12,"comments":1},{"title":"[GitHub Daily] Local AI workspace openbot debuts, security-audit-skill tops for 4 consecutive days — 2026-10-26","url":"https://note.com/coderadar/n/n66e98b181f6e?hl=en","source":"note","lang":"en","date":"2026-10-25"},{"title":"Multiple open-source projects called \"OpenBot\"","url":"https://note.com/sunwood_ai_labs/n/nbce51e8dc365?hl=en","source":"note","lang":"en","date":"2026-09-29"},{"title":"OpenBot on X: \"Plugins are now live in OpenBot. Your AI teammates can now work directly with GitHub, Linear, Sentry, Canva, PostHog, Airtable, and more. Review issues, manage ...","url":"https://x.com/OpenBot_/status/2102378633524376057","source":"x","lang":"en","date":"2026-09-21"},{"title":"UCLA’s PhoneBot puts an Android phone in charge of a small humanoid","url":"https://news.google.com/rss/articles/CBMidkFVX3lxTE9TV3o0MVJwQUg5UlV4UlZGOU9pM3V5QVBhNUZXemJ0aUduMTZmZV9tWk1KQklYUjVsR2FoeVhacFkwYVZ6Y3Q4aDdDQUh3cU5CZ1l5dU1SWFVTWm9lR25rYm5LRk8wRHhib3FOSnRFSmFaSDVfUnc?oc=5","source":"The Rundown AI","lang":"en","date":"2026-10-15"},{"title":"OpenDots：开源版OpenAI dots，常驻 AI 员工各配一台电脑，能聊天、打电话、Slack 里接活","url":"https://news.google.com/rss/articles/CBMiVkFVX3lxTFAyUGwxWnBRS0tjTWFxZ1Q1Qld4YUZaaU54d05Jbzk5M1I1WV91WXkxTExya1JIM1lwS3ZmNjI0V1gzZ1RVVFpSQ0M1U1R1X1RMdlJOY3p3?oc=5","source":"QQ News","lang":"zh","date":"2026-10-03"},{"title":"A Simple $25 Robot Based On The ESP32","url":"https://news.google.com/rss/articles/CBMieEFVX3lxTE1uMFlScVZXMkNtMURMYkZHSTdZVzFQZWxTTDN6SGNlaDZmWUMtaDdkT2hUMkQwR21pMi1qVkFkTHUxeDdycDVSOS1OWTA0bEpPRjBvYTNyVHJLVXRXSXVnOEp5SHN4WGZXbjJGWlF5VXZJYzlhTWFWcA?oc=5","source":"Hackaday","lang":"en","date":"2025-10-25"},{"title":"Intel researchers develop $50 3D printed “Openbot” to advance the accessibility of robotics","url":"https://news.google.com/rss/articles/CBMizAFBVV95cUxPRTBhQ0tIaDlyZHZBblJCSmJBaFU2bnpjSlFObGFLOUxwQXNrajJEbVVnTVFWRWlSd050alFoeC1UenEzZXNYMGRVSnI2djBHMG0tXy16VDRRU2VPR0NkTVZqOW5SNTQ4em1hTko2MFlHME80OUNHcVBobjBIRWJrc2lLZ3p4R01WR1FhOWhNdGNiQkFEUzVxdmtuY0VZYlJ4VEdjYWIybWU1MzBGeFk3ck1UalFVU1l4UjJoTldWUExock5TVG9XOGhITkQ?oc=5","source":"3D Printing Industry","lang":"en","date":"2020-09-07"}],"stale":false,"snapshot_at":"2026-11-10T09:35:25Z","history_start":"2026-09-06"}