{"id":22862418,"url":"https://github.com/dylibso/chainsocket","last_synced_at":"2025-04-30T21:51:18.016Z","repository":{"id":187484958,"uuid":"677000892","full_name":"dylibso/chainsocket","owner":"dylibso","description":"Proof of concept for a generative AI application framework powered by WebAssembly and Extism","archived":false,"fork":false,"pushed_at":"2023-08-10T14:03:27.000Z","size":723,"stargazers_count":14,"open_issues_count":1,"forks_count":1,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-03-30T20:13:01.382Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://dylibso.com/blog/wasm-ai-plugins/","language":"Rust","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/dylibso.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}},"created_at":"2023-08-10T14:00:48.000Z","updated_at":"2024-08-27T01:51:21.000Z","dependencies_parsed_at":"2023-08-10T19:25:36.882Z","dependency_job_id":null,"html_url":"https://github.com/dylibso/chainsocket","commit_stats":null,"previous_names":["dylibso/chainsocket"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dylibso%2Fchainsocket","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dylibso%2Fchainsocket/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dylibso%2Fchainsocket/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dylibso%2Fchainsocket/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dylibso","download_url":"https://codeload.github.com/dylibso/chainsocket/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251789308,"owners_count":21644081,"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-12-13T10:13:29.516Z","updated_at":"2025-04-30T21:51:17.992Z","avatar_url":"https://github.com/dylibso.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n## Overview\nThis proof of concept aims to demonstrate a versatile software platform inspired by LangChain, facilitating the creation of generative AI applications through portable plugins. These plugins, written in various languages, can run on different host platforms with support for cross-environment compatibility and security through the use of [WebAssembly](https://webassembly.org/) and [Extism](https://extism.org/).\n\n## Setup\nCreate a \"secrets.json\" file in the root directory with your [SerpApi](https://serpapi.com/) and [OpenAI](https://openai.com/) API keys\n\n```json\n{\n    \"openai_apikey\": \"\u003cYOUR_OPENAI_APIKEY\u003e\",\n    \"google_apikey\": \"\u003cYOUR_SERP_APIKEY\u003e\"\n}\n```\n\n## Run\n```\npython3 chainsocket.py\n```\nStart chatting with the bot! Type 'end' to exit the conversation\n\n## Modify a Plug-in\n- cd into the plugin directory (e.g. cd plugins/self-ask)\n- modify the lib.rs as desired\n```\ncargo build --release --target wasm32-unknown-unknown\n```\n- copy the the .wasm in \"./target/wasm32-unknown-unknown/release to the top level of the plugins directory\n\n## Create a new Plug-in \nFollow the instructions at https://extism.org/docs/category/write-a-plug-in\n\n\u003e Each plug-in must implement a \"call\" function\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdylibso%2Fchainsocket","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdylibso%2Fchainsocket","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdylibso%2Fchainsocket/lists"}