{"id":22828430,"url":"https://github.com/callstack/byorg-ai","last_synced_at":"2025-03-03T21:56:56.200Z","repository":{"id":260229365,"uuid":"880218832","full_name":"callstack/byorg-ai","owner":"callstack","description":"TypeScript framework for writing chatbot applications","archived":false,"fork":false,"pushed_at":"2025-01-09T16:06:54.000Z","size":3439,"stargazers_count":31,"open_issues_count":1,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-01T23:38:30.079Z","etag":null,"topics":["chatbot","discord","discord-bot","llm","slack","slack-bot","typescript"],"latest_commit_sha":null,"homepage":"https://byorg.ai","language":"TypeScript","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/callstack.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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}},"created_at":"2024-10-29T10:38:41.000Z","updated_at":"2025-02-07T23:24:25.000Z","dependencies_parsed_at":"2024-10-30T09:26:32.521Z","dependency_job_id":"550a2a3f-98da-4602-9c25-be2ec69d9647","html_url":"https://github.com/callstack/byorg-ai","commit_stats":null,"previous_names":["callstack/byorg-ai"],"tags_count":71,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/callstack%2Fbyorg-ai","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/callstack%2Fbyorg-ai/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/callstack%2Fbyorg-ai/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/callstack%2Fbyorg-ai/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/callstack","download_url":"https://codeload.github.com/callstack/byorg-ai/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241746780,"owners_count":20013154,"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":["chatbot","discord","discord-bot","llm","slack","slack-bot","typescript"],"created_at":"2024-12-12T19:09:35.443Z","updated_at":"2025-03-03T21:56:56.161Z","avatar_url":"https://github.com/callstack.png","language":"TypeScript","readme":"# byorg.ai - Chatbot Application Framework\n\n[Our Docs](https://byorg.ai)\n\n## Structure\n\n### byorg.ai framework\n\nPackages:\n\n- `packages/core` - Frontend-agnostic chatbot logic (application, middlewares, effects)\n- `packages/slack` - Slack frontend integration\n- `packages/discord` - Discord frontend integration\n- `packages/utils` - Utility functions (e.g. logger)\n- `packages/document-loaders` - Document loaders: Google Docs, Notion, PDF, etc.)\n- `packages/slack-rich-text` - Markdown renderer to/from Slack Blocks format\n\n## byorg.ai key concepts (`core` package)\n\n- `Application` (message processor) - pipeline for processing messages from the user. In starts with conversation history (e.g. for Slack), then in passes the message through a series of middleware and finally to AI provider (e.g. OpenAI) which produces the response.\n- `Middleware` - a middleware is a function that processes the message before it is passed to the AI provider. It is used to add custom logic to the message processing pipeline.\n- `Effect` - an effect is a function that is executed after the message is processed. It is used to add custom logic to the message processing pipeline (e.g. logging and analytics).\n- `Tool` - a tool is a function that is used by AI provider to call an external API.\n- `Plugin` - plugin is a simple interface that groups middlewares, tools and effects into a single entity that can be used to extend the chatbot functionality.\n- `ChatModel` - interface representing LLM chat model or more advanced AI flow which adheres to the same simple interface. We use [ai-sdk](https://github.com/ai-sdk/ai-sdk) under the hood to allow for easy integration with many AI providers.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcallstack%2Fbyorg-ai","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcallstack%2Fbyorg-ai","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcallstack%2Fbyorg-ai/lists"}