This release introduces an experimental plugin system using WebAssembly. Since it's based on WebAssembly, you can develop Cotoami plugins in a variety of programming languages.
Below is an example of a simple Echo plugin. When you start a Coto with #echo, the plugin agent will mimic the rest of the content and post it back.
Plugins are installed per database (node). When you open a database with Cotoami v0.8.0 or later, a plugins folder will be created inside the database folder. To install a plugin, simply copy the plugin file into this folder. For the Echo plugin, copy the included cotoami_plugin_echo.wasm file into the plugins folder.
The Echo plugin is just a demonstration and doesn't do anything particularly useful. A more practical example is the ChatGPT plugin. If you start a Coto with #chatgpt, the plugin will send the following content to the ChatGPT API and return its response.
Since Cotoami's interface is already chat-like, it works naturally with ChatGPT. If you're sharing a remote node with others, you can even bring ChatGPT into your team conversations. And since ChatGPT's responses are just normal Cotos, you can pin them, connect them to other Cotos, or treat them however you like.
One Cotoami-specific feature is the ability to post a #chatgpt Coto connected to another Coto using the + button. When you do this, the ChatGPT plugin will walk backward through the directed graph to collect all relevant Cotos as context. This allows you to freely craft and edit the context you provide to ChatGPT.
To install the ChatGPT plugin, just like with the Echo plugin, copy the cotoami_plugin_chatgpt.wasm file into the plugins folder inside your database folder. Then, create a configs.toml file in the same folder with the following content. As shown below, you'll need to sign up for the OpenAI API and obtain an API key to use the plugin.
["app.cotoami.plugin.chatgpt"]
allowed_hosts = "api.openai.com"
api_key = "your api key"
model = "gpt-4o"
# developer-provided instruction (optional)
developer_message = "You are a helpful assistant." At this point, we haven't yet prepared detailed documentation or tools for plugin developers. We hope to gradually improve this area. If you're interested, feel free to explore the source code linked below — and feedback is always welcome.
What's Changed
- Plugin system based on WebAssembly by @marubinotto in #87
- ChatGPT Plugin by @marubinotto in #88
- Fix a design flaw in Change::Promote by @marubinotto in #89
Full Changelog: desktop-v0.7.4...desktop-v0.8.0
Download
- Application packages
- macOS (Apple Silicon/Intel)
- Linux (Intel)
- Windows (Not signed)
- Plugins


