diff --git a/.gitignore b/.gitignore
index 097816995c..7ae57e0221 100644
--- a/.gitignore
+++ b/.gitignore
@@ -42,8 +42,6 @@ timeline_cache.json
*.sqlite
-characters/
-
packages/core/src/providers/cache
packages/core/src/providers/cache/*
cache/*
diff --git a/README.md b/README.md
index 6553de7d45..91de98268f 100644
--- a/README.md
+++ b/README.md
@@ -1,181 +1,112 @@
-# Eliza 🤖
+![image](https://github.com/user-attachments/assets/17da3a5f-aed1-43d4-ab83-d984a9cc06df)
-
-
-
+# Elizagraph - DKG Eliza Agent starter kit
-
+ElizaOS agent powered by Knowledge Graph memories.
+Based on the ElizaOS plugin enabling integration with the OriginTrail Decentralized Knowledge Graph (DKG) for enhanced knowledge graph retrieval, search and knowledge management with ElizaOS agents.
-📑 [Technical Report](https://arxiv.org/pdf/2501.06781) | 📖 [Documentation](https://elizaos.github.io/eliza/) | 🎯 [Examples](https://github.com/thejoven/awesome-eliza)
+## Description
-
+The DKG plugin extends ElizaOS functionality by allowing agents to create knowledge graph based memories in the form of Knowledge assets on the OriginTrail Decentralized Knowledge Graph. This plugin enables SPARQL-based searches on the DKG and combines these results with Eliza's regular search results. Additionally, it creates a memory as a Knowledge Asset on the DKG after a response, making it available for future SPARQL queries.
-## 🌍 README Translations
+This is an experimental project. Feel free to clone, play around and contribute bug fixes or new features. Use this repo as a "agent starter repo". The plugin-dkg will be included into the official ElizaOS repo as well in the coming weeks
-[中文说明](i18n/readme/README_CN.md) | [日本語の説明](i18n/readme/README_JA.md) | [한국어 설명](i18n/readme/README_KOR.md) | [Persian](i18n/readme/README_FA.md) | [Français](i18n/readme/README_FR.md) | [Português](i18n/readme/README_PTBR.md) | [Türkçe](i18n/readme/README_TR.md) | [Русский](i18n/readme/README_RU.md) | [Español](i18n/readme/README_ES.md) | [Italiano](i18n/readme/README_IT.md) | [ไทย](i18n/readme/README_TH.md) | [Deutsch](i18n/readme/README_DE.md) | [Tiếng Việt](i18n/readme/README_VI.md) | [עִברִית](i18n/readme/README_HE.md) | [Tagalog](i18n/readme/README_TG.md) | [Polski](i18n/readme/README_PL.md) | [Arabic](i18n/readme/README_AR.md) | [Hungarian](i18n/readme/README_HU.md) | [Srpski](i18n/readme/README_RS.md) | [Română](i18n/readme/README_RO.md) | [Nederlands](i18n/readme/README_NL.md) | [Ελληνικά](i18n/readme/README_GR.md)
+Check out the example agent running on X: https://x.com/ChatDKG
-## 🚩 Overview
+## Features
-
-
-
+### 1. OriginTrail DKG Integration
-## ✨ Features
+- Perform knowledge graph queries on the DKG for knowledge extraction (using SPARQL)
+- Combine DKG query results with Eliza's internal search capabilities.
+- Enhance responses with decentralized and trusted knowledge.
-- 🛠️ Full-featured Discord, Twitter and Telegram connectors
-- 🔗 Support for every model (Llama, Grok, OpenAI, Anthropic, Gemini, etc.)
-- 👥 Multi-agent and room support
-- 📚 Easily ingest and interact with your documents
-- 💾 Retrievable memory and document store
-- 🚀 Highly extensible - create your own actions and clients
-- 📦 Just works!
+### 2. Knowledge Asset Creation
-## Video Tutorials
+- Automatically generate Knowledge Assets based on interactions.
+- Publish memory Knowledge Assets to the DKG for future retrieval.
-[AI Agent Dev School](https://www.youtube.com/watch?v=ArptLpQiKfI&list=PLx5pnFXdPTRzWla0RaOxALTSTnVq53fKL)
+## Providers
-## 🎯 Use Cases
+### 1. DKG Search Provider
-- 🤖 Chatbots
-- 🕵️ Autonomous Agents
-- 📈 Business Process Handling
-- 🎮 Video Game NPCs
-- 🧠 Trading
+- Executes SPARQL queries on the OriginTrail DKG.
+- Retrieves and formats relevant results.
+- Integrates DKG data with Eliza’s response system.
-## 🚀 Quick Start
+## Plugins
-### Prerequisites
+### 1. Memory Creation Plugin
-- [Python 2.7+](https://www.python.org/downloads/)
-- [Node.js 23+](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm)
-- [pnpm](https://pnpm.io/installation)
+- Creates Knowledge Assets from agent interactions.
+- Publishes assets to the DKG with contextual metadata.
-> **Note for Windows Users:** [WSL 2](https://learn.microsoft.com/en-us/windows/wsl/install-manual) is required.
+## INSTALLATION
-### Use the Starter (Recommended)
+## Prerequisites
-```bash
-git clone https://github.com/elizaos/eliza-starter.git
-cd eliza-starter
-cp .env.example .env
-pnpm i && pnpm build && pnpm start
-```
+- Python 2.7+
+- Node.js 23+
+- pnpm
-### Manually Start Eliza (Only recommended if you know what you are doing)
+## Development
-#### Checkout the latest release
+1. Clone the repository
+2. Install dependencies:
```bash
-# Clone the repository
-git clone https://github.com/elizaos/eliza.git
-
-# This project iterates fast, so we recommend checking out the latest release
-git checkout $(git describe --tags --abbrev=0)
-# If the above doesn't checkout the latest release, this should work:
-# git checkout $(git describe --tags `git rev-list --tags --max-count=1`)
-```
-
-#### Edit the .env file
-
-Copy .env.example to .env and fill in the appropriate values.
-
-```
-cp .env.example .env
+pnpm install
```
-Note: .env is optional. If you're planning to run multiple distinct agents, you can pass secrets through the character JSON
-
-#### Start Eliza
-
-```bash
-pnpm i
-pnpm build
-pnpm start
-
-# The project iterates fast, sometimes you need to clean the project if you are coming back to the project
-pnpm clean
-```
-
-### Interact via Browser
-
-Once the agent is running, you should see the message to run "pnpm start:client" at the end.
-
-Open another terminal, move to same directory, run the command below, then follow the URL to chat with your agent.
+3. Build the plugin:
```bash
-pnpm start:client
+pnpm run build
```
-Then read the [Documentation](https://elizaos.github.io/eliza/) to learn how to customize your Eliza.
-
----
-
-### Automatically Start Eliza
-
-The start script provides an automated way to set up and run Eliza:
+4. Run linting:
```bash
-sh scripts/start.sh
+pnpm run lint
```
-For detailed instructions on using the start script, including character management and troubleshooting, see our [Start Script Guide](./docs/docs/guides/start-script.md).
+## Usage
-> **Note**: The start script handles all dependencies, environment setup, and character management automatically.
+### 1. Set Up Environment Variables
----
+- Copy the `.env.example` file and rename it to `.env`.
+- Fill in the necessary details:
+ - Node information.
+ - LLM key.
+ - Twitter credentials.
-### Modify Character
+### 2. Customize DKG Knowledge Asset & Query Templates
-1. Open `packages/core/src/defaultCharacter.ts` to modify the default character. Uncomment and edit.
+- Modify the templates in `plugin-dkg/constants.ts` if you need to change the ontology or data format used in the Knowledge Graph.
-2. To load custom characters:
- - Use `pnpm start --characters="path/to/your/character.json"`
- - Multiple character files can be loaded simultaneously
-3. Connect with X (Twitter)
- - change `"clients": []` to `"clients": ["twitter"]` in the character file to connect with X
+### 3. Create a Character and Run the Agent
----
+- Create a character file in the `characters` folder.
+- Run the character using the following command:
+ ```bash
+ pnpm start --characters="characters/chatdkg.character.json"
+ ```
-#### Additional Requirements
-
-You may need to install Sharp. If you see an error when starting up, try installing it with the following command:
-
-```
-pnpm install --include=optional sharp
-```
+### Notes
----
+- There is no need to manually add `plugin-dkg` to the `plugins` array; You should instead change the plugins imported in the agent/src/index.ts file.
+- Ensure you configure the Twitter client and select your LLM provider in the character settings.
-### Start Eliza with Gitpod
-
-[![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/elizaos/eliza/tree/main)
-
----
-
-### Community & contact
-
-- [GitHub Issues](https://github.com/elizaos/eliza/issues). Best for: bugs you encounter using Eliza, and feature proposals.
-- [Discord](https://discord.gg/ai16z). Best for: sharing your applications and hanging out with the community.
-
-## Citation
-
-We now have a [paper](https://arxiv.org/pdf/2501.06781) you can cite for the Eliza OS:
-```bibtex
-@article{walters2025eliza,
- title={Eliza: A Web3 friendly AI Agent Operating System},
- author={Walters, Shaw and Gao, Sam and Nerd, Shakker and Da, Feng and Williams, Warren and Meng, Ting-Chien and Han, Hunter and He, Frank and Zhang, Allen and Wu, Ming and others},
- journal={arXiv preprint arXiv:2501.06781},
- year={2025}
-}
-```
+## Dependencies
-## Contributors
+- @elizaos/core: workspace:\*
+- SPARQL query library: workspace:\*
+- DKG JavaScript SDK: dkg.js > ^8.0.4
-
-
-
+## Contributing
+Contributions are welcome! Please see the [CONTRIBUTING.md](CONTRIBUTING.md) file for more information.
-## Star History
+## License
-[![Star History Chart](https://api.star-history.com/svg?repos=elizaos/eliza&type=Date)](https://star-history.com/#elizaos/eliza&Date)
+This plugin is part of the Eliza project. See the main project repository for license information.
diff --git a/agent/src/index.ts b/agent/src/index.ts
index 03f6ca2baf..c9a57a8221 100644
--- a/agent/src/index.ts
+++ b/agent/src/index.ts
@@ -12,11 +12,12 @@ import { TelegramClientInterface } from "@elizaos/client-telegram";
import { TwitterClientInterface } from "@elizaos/client-twitter";
import { FarcasterClientInterface } from "@elizaos/client-farcaster";
import { DirectClient } from "@elizaos/client-direct";
-import { agentKitPlugin } from "@elizaos/plugin-agentkit";
+// import { agentKitPlugin } from "@elizaos/plugin-agentkit";
// import { ReclaimAdapter } from "@elizaos/plugin-reclaim";
-import { PrimusAdapter } from "@elizaos/plugin-primus";
-import { lightningPlugin } from "@elizaos/plugin-lightning";
-import { elizaCodeinPlugin, onchainJson } from "@elizaos/plugin-iq6900";
+// import { PrimusAdapter } from "@elizaos/plugin-primus";
+// import { lightningPlugin } from "@elizaos/plugin-lightning";
+// import { elizaCodeinPlugin, onchainJson } from "@elizaos/plugin-iq6900";
+import { onchainJson } from "@elizaos/plugin-iq6900";
import {
AgentRuntime,
@@ -39,87 +40,87 @@ import {
stringToUuid,
validateCharacterConfig,
} from "@elizaos/core";
-import { zgPlugin } from "@elizaos/plugin-0g";
+// import { zgPlugin } from "@elizaos/plugin-0g";
import { bootstrapPlugin } from "@elizaos/plugin-bootstrap";
import { normalizeCharacter } from "@elizaos/plugin-di";
-import createGoatPlugin from "@elizaos/plugin-goat";
+// import createGoatPlugin from "@elizaos/plugin-goat";
// import { intifacePlugin } from "@elizaos/plugin-intiface";
-import { ThreeDGenerationPlugin } from "@elizaos/plugin-3d-generation";
-import { abstractPlugin } from "@elizaos/plugin-abstract";
-import { akashPlugin } from "@elizaos/plugin-akash";
-import { alloraPlugin } from "@elizaos/plugin-allora";
-import { aptosPlugin } from "@elizaos/plugin-aptos";
-import { artheraPlugin } from "@elizaos/plugin-arthera";
-import { autonomePlugin } from "@elizaos/plugin-autonome";
-import { availPlugin } from "@elizaos/plugin-avail";
-import { avalanchePlugin } from "@elizaos/plugin-avalanche";
-import { b2Plugin } from "@elizaos/plugin-b2";
-import { binancePlugin } from "@elizaos/plugin-binance";
-import { birdeyePlugin } from "@elizaos/plugin-birdeye";
-import { bnbPlugin } from "@elizaos/plugin-bnb";
-import {
- advancedTradePlugin,
- coinbaseCommercePlugin,
- coinbaseMassPaymentsPlugin,
- tokenContractPlugin,
- tradePlugin,
- webhookPlugin,
-} from "@elizaos/plugin-coinbase";
-import { coingeckoPlugin } from "@elizaos/plugin-coingecko";
-import { coinmarketcapPlugin } from "@elizaos/plugin-coinmarketcap";
-import { confluxPlugin } from "@elizaos/plugin-conflux";
-import { createCosmosPlugin } from "@elizaos/plugin-cosmos";
-import { cronosZkEVMPlugin } from "@elizaos/plugin-cronoszkevm";
-import { evmPlugin } from "@elizaos/plugin-evm";
-import { flowPlugin } from "@elizaos/plugin-flow";
-import { fuelPlugin } from "@elizaos/plugin-fuel";
-import { genLayerPlugin } from "@elizaos/plugin-genlayer";
-import { gitcoinPassportPlugin } from "@elizaos/plugin-gitcoin-passport";
-import { initiaPlugin } from "@elizaos/plugin-initia";
-import { imageGenerationPlugin } from "@elizaos/plugin-image-generation";
-import { lensPlugin } from "@elizaos/plugin-lensNetwork";
-import { multiversxPlugin } from "@elizaos/plugin-multiversx";
-import { nearPlugin } from "@elizaos/plugin-near";
-import createNFTCollectionsPlugin from "@elizaos/plugin-nft-collections";
-import { nftGenerationPlugin } from "@elizaos/plugin-nft-generation";
-import { createNodePlugin } from "@elizaos/plugin-node";
-import { obsidianPlugin } from "@elizaos/plugin-obsidian";
-import { OpacityAdapter } from "@elizaos/plugin-opacity";
-import { openWeatherPlugin } from "@elizaos/plugin-open-weather";
-import { quaiPlugin } from "@elizaos/plugin-quai";
-import { sgxPlugin } from "@elizaos/plugin-sgx";
-import { solanaPlugin } from "@elizaos/plugin-solana";
-import { solanaAgentkitPlugin } from "@elizaos/plugin-solana-agent-kit";
-import { squidRouterPlugin } from "@elizaos/plugin-squid-router";
-import { stargazePlugin } from "@elizaos/plugin-stargaze";
-import { storyPlugin } from "@elizaos/plugin-story";
-import { suiPlugin } from "@elizaos/plugin-sui";
-import { TEEMode, teePlugin } from "@elizaos/plugin-tee";
-import { teeLogPlugin } from "@elizaos/plugin-tee-log";
-import { teeMarlinPlugin } from "@elizaos/plugin-tee-marlin";
-import { verifiableLogPlugin } from "@elizaos/plugin-tee-verifiable-log";
-import { tonPlugin } from "@elizaos/plugin-ton";
-import { webSearchPlugin } from "@elizaos/plugin-web-search";
+// import { ThreeDGenerationPlugin } from "@elizaos/plugin-3d-generation";
+// import { abstractPlugin } from "@elizaos/plugin-abstract";
+// import { akashPlugin } from "@elizaos/plugin-akash";
+// import { alloraPlugin } from "@elizaos/plugin-allora";
+// import { aptosPlugin } from "@elizaos/plugin-aptos";
+// import { artheraPlugin } from "@elizaos/plugin-arthera";
+// import { autonomePlugin } from "@elizaos/plugin-autonome";
+// import { availPlugin } from "@elizaos/plugin-avail";
+// import { avalanchePlugin } from "@elizaos/plugin-avalanche";
+// import { b2Plugin } from "@elizaos/plugin-b2";
+// import { binancePlugin } from "@elizaos/plugin-binance";
+// import { birdeyePlugin } from "@elizaos/plugin-birdeye";
+// import { bnbPlugin } from "@elizaos/plugin-bnb";
+// import {
+// advancedTradePlugin,
+// coinbaseCommercePlugin,
+// coinbaseMassPaymentsPlugin,
+// tokenContractPlugin,
+// tradePlugin,
+// webhookPlugin,
+// } from "@elizaos/plugin-coinbase";
+// import { coingeckoPlugin } from "@elizaos/plugin-coingecko";
+// import { coinmarketcapPlugin } from "@elizaos/plugin-coinmarketcap";
+// import { confluxPlugin } from "@elizaos/plugin-conflux";
+// import { createCosmosPlugin } from "@elizaos/plugin-cosmos";
+// import { cronosZkEVMPlugin } from "@elizaos/plugin-cronoszkevm";
+// import { evmPlugin } from "@elizaos/plugin-evm";
+// import { flowPlugin } from "@elizaos/plugin-flow";
+// import { fuelPlugin } from "@elizaos/plugin-fuel";
+// import { genLayerPlugin } from "@elizaos/plugin-genlayer";
+// import { gitcoinPassportPlugin } from "@elizaos/plugin-gitcoin-passport";
+// import { initiaPlugin } from "@elizaos/plugin-initia";
+// import { imageGenerationPlugin } from "@elizaos/plugin-image-generation";
+// import { lensPlugin } from "@elizaos/plugin-lensNetwork";
+// import { multiversxPlugin } from "@elizaos/plugin-multiversx";
+// import { nearPlugin } from "@elizaos/plugin-near";
+// import createNFTCollectionsPlugin from "@elizaos/plugin-nft-collections";
+// import { nftGenerationPlugin } from "@elizaos/plugin-nft-generation";
+// import { createNodePlugin } from "@elizaos/plugin-node";
+// import { obsidianPlugin } from "@elizaos/plugin-obsidian";
+// import { OpacityAdapter } from "@elizaos/plugin-opacity";
+// import { openWeatherPlugin } from "@elizaos/plugin-open-weather";
+// import { quaiPlugin } from "@elizaos/plugin-quai";
+// import { sgxPlugin } from "@elizaos/plugin-sgx";
+// import { solanaPlugin } from "@elizaos/plugin-solana";
+// import { solanaAgentkitPlugin } from "@elizaos/plugin-solana-agent-kit";
+// import { squidRouterPlugin } from "@elizaos/plugin-squid-router";
+// import { stargazePlugin } from "@elizaos/plugin-stargaze";
+// import { storyPlugin } from "@elizaos/plugin-story";
+// import { suiPlugin } from "@elizaos/plugin-sui";
+// import { TEEMode, teePlugin } from "@elizaos/plugin-tee";
+// import { teeLogPlugin } from "@elizaos/plugin-tee-log";
+// import { teeMarlinPlugin } from "@elizaos/plugin-tee-marlin";
+// import { verifiableLogPlugin } from "@elizaos/plugin-tee-verifiable-log";
+// import { tonPlugin } from "@elizaos/plugin-ton";
+// import { webSearchPlugin } from "@elizaos/plugin-web-search";
import { dkgPlugin } from "@elizaos/plugin-dkg";
-import { injectivePlugin } from "@elizaos/plugin-injective";
-import { giphyPlugin } from "@elizaos/plugin-giphy";
-import { letzAIPlugin } from "@elizaos/plugin-letzai";
-import { thirdwebPlugin } from "@elizaos/plugin-thirdweb";
-import { hyperliquidPlugin } from "@elizaos/plugin-hyperliquid";
-import { echoChambersPlugin } from "@elizaos/plugin-echochambers";
-import { dexScreenerPlugin } from "@elizaos/plugin-dexscreener";
-import { pythDataPlugin } from "@elizaos/plugin-pyth-data";
+// import { injectivePlugin } from "@elizaos/plugin-injective";
+// import { giphyPlugin } from "@elizaos/plugin-giphy";
+// import { letzAIPlugin } from "@elizaos/plugin-letzai";
+// import { thirdwebPlugin } from "@elizaos/plugin-thirdweb";
+// import { hyperliquidPlugin } from "@elizaos/plugin-hyperliquid";
+// import { echoChambersPlugin } from "@elizaos/plugin-echochambers";
+// import { dexScreenerPlugin } from "@elizaos/plugin-dexscreener";
+// import { pythDataPlugin } from "@elizaos/plugin-pyth-data";
-import { openaiPlugin } from "@elizaos/plugin-openai";
-import nitroPlugin from "@elizaos/plugin-router-nitro";
-import { devinPlugin } from "@elizaos/plugin-devin";
+// import { openaiPlugin } from "@elizaos/plugin-openai";
+// import nitroPlugin from "@elizaos/plugin-router-nitro";
+// import { devinPlugin } from "@elizaos/plugin-devin";
-import { zksyncEraPlugin } from "@elizaos/plugin-zksync-era";
+// import { zksyncEraPlugin } from "@elizaos/plugin-zksync-era";
-import { nvidiaNimPlugin } from "@elizaos/plugin-nvidia-nim";
+// import { nvidiaNimPlugin } from "@elizaos/plugin-nvidia-nim";
-import { zxPlugin } from "@elizaos/plugin-0x";
+// import { zxPlugin } from "@elizaos/plugin-0x";
import Database from "better-sqlite3";
import fs from "fs";
import net from "net";
@@ -828,26 +829,26 @@ export async function createAgent(
): Promise {
elizaLogger.log(`Creating runtime for character ${character.name}`);
- nodePlugin ??= createNodePlugin();
+ // nodePlugin ??= createNodePlugin();
- const teeMode = getSecret(character, "TEE_MODE") || "OFF";
- const walletSecretSalt = getSecret(character, "WALLET_SECRET_SALT");
+ // const teeMode = getSecret(character, "TEE_MODE") || "OFF";
+ // const walletSecretSalt = getSecret(character, "WALLET_SECRET_SALT");
// Validate TEE configuration
- if (teeMode !== TEEMode.OFF && !walletSecretSalt) {
- elizaLogger.error(
- "A WALLET_SECRET_SALT required when TEE_MODE is enabled",
- );
- throw new Error("Invalid TEE configuration");
- }
+ // if (teeMode !== TEEMode.OFF && !walletSecretSalt) {
+ // elizaLogger.error(
+ // "A WALLET_SECRET_SALT required when TEE_MODE is enabled",
+ // );
+ // throw new Error("Invalid TEE configuration");
+ // }
- let goatPlugin: any | undefined;
+ // let goatPlugin: any | undefined;
- if (getSecret(character, "EVM_PRIVATE_KEY")) {
- goatPlugin = await createGoatPlugin((secret) =>
- getSecret(character, secret),
- );
- }
+ // if (getSecret(character, "EVM_PRIVATE_KEY")) {
+ // goatPlugin = await createGoatPlugin((secret) =>
+ // getSecret(character, secret),
+ // );
+ // }
// Initialize Reclaim adapter if environment variables are present
// let verifiableInferenceAdapter;
@@ -865,41 +866,41 @@ export async function createAgent(
// elizaLogger.log("Verifiable inference adapter initialized");
// }
// Initialize Opacity adapter if environment variables are present
- let verifiableInferenceAdapter;
- if (
- process.env.OPACITY_TEAM_ID &&
- process.env.OPACITY_CLOUDFLARE_NAME &&
- process.env.OPACITY_PROVER_URL &&
- process.env.VERIFIABLE_INFERENCE_ENABLED === "true"
- ) {
- verifiableInferenceAdapter = new OpacityAdapter({
- teamId: process.env.OPACITY_TEAM_ID,
- teamName: process.env.OPACITY_CLOUDFLARE_NAME,
- opacityProverUrl: process.env.OPACITY_PROVER_URL,
- modelProvider: character.modelProvider,
- token: token,
- });
- elizaLogger.log("Verifiable inference adapter initialized");
- elizaLogger.log("teamId", process.env.OPACITY_TEAM_ID);
- elizaLogger.log("teamName", process.env.OPACITY_CLOUDFLARE_NAME);
- elizaLogger.log("opacityProverUrl", process.env.OPACITY_PROVER_URL);
- elizaLogger.log("modelProvider", character.modelProvider);
- elizaLogger.log("token", token);
- }
- if (
- process.env.PRIMUS_APP_ID &&
- process.env.PRIMUS_APP_SECRET &&
- process.env.VERIFIABLE_INFERENCE_ENABLED === "true"
- ) {
- verifiableInferenceAdapter = new PrimusAdapter({
- appId: process.env.PRIMUS_APP_ID,
- appSecret: process.env.PRIMUS_APP_SECRET,
- attMode: "proxytls",
- modelProvider: character.modelProvider,
- token,
- });
- elizaLogger.log("Verifiable inference primus adapter initialized");
- }
+ // let verifiableInferenceAdapter;
+ // if (
+ // process.env.OPACITY_TEAM_ID &&
+ // process.env.OPACITY_CLOUDFLARE_NAME &&
+ // process.env.OPACITY_PROVER_URL &&
+ // process.env.VERIFIABLE_INFERENCE_ENABLED === "true"
+ // ) {
+ // verifiableInferenceAdapter = new OpacityAdapter({
+ // teamId: process.env.OPACITY_TEAM_ID,
+ // teamName: process.env.OPACITY_CLOUDFLARE_NAME,
+ // opacityProverUrl: process.env.OPACITY_PROVER_URL,
+ // modelProvider: character.modelProvider,
+ // token: token,
+ // });
+ // elizaLogger.log("Verifiable inference adapter initialized");
+ // elizaLogger.log("teamId", process.env.OPACITY_TEAM_ID);
+ // elizaLogger.log("teamName", process.env.OPACITY_CLOUDFLARE_NAME);
+ // elizaLogger.log("opacityProverUrl", process.env.OPACITY_PROVER_URL);
+ // elizaLogger.log("modelProvider", character.modelProvider);
+ // elizaLogger.log("token", token);
+ // }
+ // if (
+ // process.env.PRIMUS_APP_ID &&
+ // process.env.PRIMUS_APP_SECRET &&
+ // process.env.VERIFIABLE_INFERENCE_ENABLED === "true"
+ // ) {
+ // verifiableInferenceAdapter = new PrimusAdapter({
+ // appId: process.env.PRIMUS_APP_ID,
+ // appSecret: process.env.PRIMUS_APP_SECRET,
+ // attMode: "proxytls",
+ // modelProvider: character.modelProvider,
+ // token,
+ // });
+ // elizaLogger.log("Verifiable inference primus adapter initialized");
+ // }
return new AgentRuntime({
databaseAdapter: db,
@@ -909,221 +910,223 @@ export async function createAgent(
character,
// character.plugins are handled when clients are added
plugins: [
- getSecret(character, "IQ_WALLET_ADDRESS") &&
- getSecret(character, "IQSOlRPC")
- ? elizaCodeinPlugin
- : null,
+ // getSecret(character, "IQ_WALLET_ADDRESS") &&
+ // getSecret(character, "IQSOlRPC")
+ // ? elizaCodeinPlugin
+ // : null,
bootstrapPlugin,
- getSecret(character, "CDP_API_KEY_NAME") && getSecret(character, "CDP_API_KEY_PRIVATE_KEY") && getSecret(character, "CDP_AGENT_KIT_NETWORK")
- ? agentKitPlugin
- : null,
- getSecret(character, "DEXSCREENER_API_KEY")
- ? dexScreenerPlugin
- : null,
- getSecret(character, "CONFLUX_CORE_PRIVATE_KEY")
- ? confluxPlugin
- : null,
- nodePlugin,
- getSecret(character, "ROUTER_NITRO_EVM_PRIVATE_KEY") &&
- getSecret(character, "ROUTER_NITRO_EVM_ADDRESS")
- ? nitroPlugin
- : null,
- getSecret(character, "TAVILY_API_KEY") ? webSearchPlugin : null,
- getSecret(character, "SOLANA_PUBLIC_KEY") ||
- (getSecret(character, "WALLET_PUBLIC_KEY") &&
- !getSecret(character, "WALLET_PUBLIC_KEY")?.startsWith("0x"))
- ? solanaPlugin
- : null,
- getSecret(character, "SOLANA_PRIVATE_KEY")
- ? solanaAgentkitPlugin
- : null,
- getSecret(character, "AUTONOME_JWT_TOKEN") ? autonomePlugin : null,
- (getSecret(character, "NEAR_ADDRESS") ||
- getSecret(character, "NEAR_WALLET_PUBLIC_KEY")) &&
- getSecret(character, "NEAR_WALLET_SECRET_KEY")
- ? nearPlugin
- : null,
- getSecret(character, "EVM_PUBLIC_KEY") ||
- (getSecret(character, "WALLET_PUBLIC_KEY") &&
- getSecret(character, "WALLET_PUBLIC_KEY")?.startsWith("0x"))
- ? evmPlugin
- : null,
- (getSecret(character, "EVM_PUBLIC_KEY") ||
- getSecret(character, "INJECTIVE_PUBLIC_KEY")) &&
- getSecret(character, "INJECTIVE_PRIVATE_KEY")
- ? injectivePlugin
- : null,
- getSecret(character, "COSMOS_RECOVERY_PHRASE") &&
- getSecret(character, "COSMOS_AVAILABLE_CHAINS") &&
- createCosmosPlugin(),
- (getSecret(character, "SOLANA_PUBLIC_KEY") ||
- (getSecret(character, "WALLET_PUBLIC_KEY") &&
- !getSecret(character, "WALLET_PUBLIC_KEY")?.startsWith(
- "0x",
- ))) &&
- getSecret(character, "SOLANA_ADMIN_PUBLIC_KEY") &&
- getSecret(character, "SOLANA_PRIVATE_KEY") &&
- getSecret(character, "SOLANA_ADMIN_PRIVATE_KEY")
- ? nftGenerationPlugin
- : null,
- getSecret(character, "ZEROG_PRIVATE_KEY") ? zgPlugin : null,
- getSecret(character, "COINMARKETCAP_API_KEY")
- ? coinmarketcapPlugin
- : null,
- getSecret(character, "COINBASE_COMMERCE_KEY")
- ? coinbaseCommercePlugin
- : null,
- getSecret(character, "FAL_API_KEY") ||
- getSecret(character, "OPENAI_API_KEY") ||
- getSecret(character, "VENICE_API_KEY") ||
- getSecret(character, "NVIDIA_API_KEY") ||
- getSecret(character, "NINETEEN_AI_API_KEY") ||
- getSecret(character, "HEURIST_API_KEY") ||
- getSecret(character, "LIVEPEER_GATEWAY_URL")
- ? imageGenerationPlugin
- : null,
- getSecret(character, "FAL_API_KEY") ? ThreeDGenerationPlugin : null,
- ...(getSecret(character, "COINBASE_API_KEY") &&
- getSecret(character, "COINBASE_PRIVATE_KEY")
- ? [
- coinbaseMassPaymentsPlugin,
- tradePlugin,
- tokenContractPlugin,
- advancedTradePlugin,
- ]
- : []),
- ...(teeMode !== TEEMode.OFF && walletSecretSalt ? [teePlugin] : []),
- teeMode !== TEEMode.OFF &&
- walletSecretSalt &&
- getSecret(character, "VLOG")
- ? verifiableLogPlugin
- : null,
- getSecret(character, "SGX") ? sgxPlugin : null,
- getSecret(character, "ENABLE_TEE_LOG") &&
- ((teeMode !== TEEMode.OFF && walletSecretSalt) ||
- getSecret(character, "SGX"))
- ? teeLogPlugin
- : null,
- getSecret(character, "COINBASE_API_KEY") &&
- getSecret(character, "COINBASE_PRIVATE_KEY") &&
- getSecret(character, "COINBASE_NOTIFICATION_URI")
- ? webhookPlugin
- : null,
- goatPlugin,
- getSecret(character, "COINGECKO_API_KEY") ||
- getSecret(character, "COINGECKO_PRO_API_KEY")
- ? coingeckoPlugin
- : null,
- getSecret(character, "EVM_PROVIDER_URL") ? goatPlugin : null,
- getSecret(character, "ABSTRACT_PRIVATE_KEY")
- ? abstractPlugin
- : null,
- getSecret(character, "B2_PRIVATE_KEY") ? b2Plugin : null,
- getSecret(character, "BINANCE_API_KEY") &&
- getSecret(character, "BINANCE_SECRET_KEY")
- ? binancePlugin
- : null,
- getSecret(character, "FLOW_ADDRESS") &&
- getSecret(character, "FLOW_PRIVATE_KEY")
- ? flowPlugin
- : null,
- getSecret(character, "LENS_ADDRESS") &&
- getSecret(character, "LENS_PRIVATE_KEY")
- ? lensPlugin
- : null,
- getSecret(character, "APTOS_PRIVATE_KEY") ? aptosPlugin : null,
- getSecret(character, "MVX_PRIVATE_KEY") ? multiversxPlugin : null,
- getSecret(character, "ZKSYNC_PRIVATE_KEY") ? zksyncEraPlugin : null,
- getSecret(character, "CRONOSZKEVM_PRIVATE_KEY")
- ? cronosZkEVMPlugin
- : null,
- getSecret(character, "TEE_MARLIN") ? teeMarlinPlugin : null,
- getSecret(character, "TON_PRIVATE_KEY") ? tonPlugin : null,
- getSecret(character, "THIRDWEB_SECRET_KEY") ? thirdwebPlugin : null,
- getSecret(character, "SUI_PRIVATE_KEY") ? suiPlugin : null,
- getSecret(character, "STORY_PRIVATE_KEY") ? storyPlugin : null,
- getSecret(character, "SQUID_SDK_URL") &&
- getSecret(character, "SQUID_INTEGRATOR_ID") &&
- getSecret(character, "SQUID_EVM_ADDRESS") &&
- getSecret(character, "SQUID_EVM_PRIVATE_KEY") &&
- getSecret(character, "SQUID_API_THROTTLE_INTERVAL")
- ? squidRouterPlugin
- : null,
- getSecret(character, "FUEL_PRIVATE_KEY") ? fuelPlugin : null,
- getSecret(character, "AVALANCHE_PRIVATE_KEY")
- ? avalanchePlugin
- : null,
- getSecret(character, "BIRDEYE_API_KEY") ? birdeyePlugin : null,
- getSecret(character, "ECHOCHAMBERS_API_URL") &&
- getSecret(character, "ECHOCHAMBERS_API_KEY")
- ? echoChambersPlugin
- : null,
- getSecret(character, "LETZAI_API_KEY") ? letzAIPlugin : null,
- getSecret(character, "STARGAZE_ENDPOINT") ? stargazePlugin : null,
- getSecret(character, "GIPHY_API_KEY") ? giphyPlugin : null,
- getSecret(character, "PASSPORT_API_KEY")
- ? gitcoinPassportPlugin
- : null,
- getSecret(character, "GENLAYER_PRIVATE_KEY")
- ? genLayerPlugin
- : null,
- getSecret(character, "AVAIL_SEED") &&
- getSecret(character, "AVAIL_APP_ID")
- ? availPlugin
- : null,
- getSecret(character, "OPEN_WEATHER_API_KEY")
- ? openWeatherPlugin
- : null,
- getSecret(character, "OBSIDIAN_API_TOKEN") ? obsidianPlugin : null,
- getSecret(character, "ARTHERA_PRIVATE_KEY")?.startsWith("0x")
- ? artheraPlugin
- : null,
- getSecret(character, "ALLORA_API_KEY") ? alloraPlugin : null,
- getSecret(character, "HYPERLIQUID_PRIVATE_KEY")
- ? hyperliquidPlugin
- : null,
- getSecret(character, "HYPERLIQUID_TESTNET")
- ? hyperliquidPlugin
- : null,
- getSecret(character, "AKASH_MNEMONIC") &&
- getSecret(character, "AKASH_WALLET_ADDRESS")
- ? akashPlugin
- : null,
- getSecret(character, "QUAI_PRIVATE_KEY") ? quaiPlugin : null,
- getSecret(character, "RESERVOIR_API_KEY")
- ? createNFTCollectionsPlugin()
- : null,
- getSecret(character, "ZERO_EX_API_KEY") ? zxPlugin : null,
+ // getSecret(character, "CDP_API_KEY_NAME") &&
+ // getSecret(character, "CDP_API_KEY_PRIVATE_KEY") &&
+ // getSecret(character, "CDP_AGENT_KIT_NETWORK")
+ // ? agentKitPlugin
+ // : null,
+ // getSecret(character, "DEXSCREENER_API_KEY")
+ // ? dexScreenerPlugin
+ // : null,
+ // getSecret(character, "CONFLUX_CORE_PRIVATE_KEY")
+ // ? confluxPlugin
+ // : null,
+ // nodePlugin,
+ // getSecret(character, "ROUTER_NITRO_EVM_PRIVATE_KEY") &&
+ // getSecret(character, "ROUTER_NITRO_EVM_ADDRESS")
+ // ? nitroPlugin
+ // : null,
+ // getSecret(character, "TAVILY_API_KEY") ? webSearchPlugin : null,
+ // getSecret(character, "SOLANA_PUBLIC_KEY") ||
+ // (getSecret(character, "WALLET_PUBLIC_KEY") &&
+ // !getSecret(character, "WALLET_PUBLIC_KEY")?.startsWith("0x"))
+ // ? solanaPlugin
+ // : null,
+ // getSecret(character, "SOLANA_PRIVATE_KEY")
+ // ? solanaAgentkitPlugin
+ // : null,
+ // getSecret(character, "AUTONOME_JWT_TOKEN") ? autonomePlugin : null,
+ // (getSecret(character, "NEAR_ADDRESS") ||
+ // getSecret(character, "NEAR_WALLET_PUBLIC_KEY")) &&
+ // getSecret(character, "NEAR_WALLET_SECRET_KEY")
+ // ? nearPlugin
+ // : null,
+ // getSecret(character, "EVM_PUBLIC_KEY") ||
+ // (getSecret(character, "WALLET_PUBLIC_KEY") &&
+ // getSecret(character, "WALLET_PUBLIC_KEY")?.startsWith("0x"))
+ // ? evmPlugin
+ // : null,
+ // (getSecret(character, "EVM_PUBLIC_KEY") ||
+ // getSecret(character, "INJECTIVE_PUBLIC_KEY")) &&
+ // getSecret(character, "INJECTIVE_PRIVATE_KEY")
+ // ? injectivePlugin
+ // : null,
+ // getSecret(character, "COSMOS_RECOVERY_PHRASE") &&
+ // getSecret(character, "COSMOS_AVAILABLE_CHAINS") &&
+ // createCosmosPlugin(),
+ // (getSecret(character, "SOLANA_PUBLIC_KEY") ||
+ // (getSecret(character, "WALLET_PUBLIC_KEY") &&
+ // !getSecret(character, "WALLET_PUBLIC_KEY")?.startsWith(
+ // "0x",
+ // ))) &&
+ // getSecret(character, "SOLANA_ADMIN_PUBLIC_KEY") &&
+ // getSecret(character, "SOLANA_PRIVATE_KEY") &&
+ // getSecret(character, "SOLANA_ADMIN_PRIVATE_KEY")
+ // ? nftGenerationPlugin
+ // : null,
+ // getSecret(character, "ZEROG_PRIVATE_KEY") ? zgPlugin : null,
+ // getSecret(character, "COINMARKETCAP_API_KEY")
+ // ? coinmarketcapPlugin
+ // : null,
+ // getSecret(character, "COINBASE_COMMERCE_KEY")
+ // ? coinbaseCommercePlugin
+ // : null,
+ // getSecret(character, "FAL_API_KEY") ||
+ // getSecret(character, "OPENAI_API_KEY") ||
+ // getSecret(character, "VENICE_API_KEY") ||
+ // getSecret(character, "NVIDIA_API_KEY") ||
+ // getSecret(character, "NINETEEN_AI_API_KEY") ||
+ // getSecret(character, "HEURIST_API_KEY") ||
+ // getSecret(character, "LIVEPEER_GATEWAY_URL")
+ // ? imageGenerationPlugin
+ // : null,
+ // getSecret(character, "FAL_API_KEY") ? ThreeDGenerationPlugin : null,
+ // ...(getSecret(character, "COINBASE_API_KEY") &&
+ // getSecret(character, "COINBASE_PRIVATE_KEY")
+ // ? [
+ // coinbaseMassPaymentsPlugin,
+ // tradePlugin,
+ // tokenContractPlugin,
+ // advancedTradePlugin,
+ // ]
+ // : []),
+ // ...(teeMode !== TEEMode.OFF && walletSecretSalt ? [teePlugin] : []),
+ // teeMode !== TEEMode.OFF &&
+ // walletSecretSalt &&
+ // getSecret(character, "VLOG")
+ // ? verifiableLogPlugin
+ // : null,
+ // getSecret(character, "SGX") ? sgxPlugin : null,
+ // getSecret(character, "ENABLE_TEE_LOG") &&
+ // ((teeMode !== TEEMode.OFF && walletSecretSalt) ||
+ // getSecret(character, "SGX"))
+ // ? teeLogPlugin
+ // : null,
+ // getSecret(character, "COINBASE_API_KEY") &&
+ // getSecret(character, "COINBASE_PRIVATE_KEY") &&
+ // getSecret(character, "COINBASE_NOTIFICATION_URI")
+ // ? webhookPlugin
+ // : null,
+ // goatPlugin,
+ // getSecret(character, "COINGECKO_API_KEY") ||
+ // getSecret(character, "COINGECKO_PRO_API_KEY")
+ // ? coingeckoPlugin
+ // : null,
+ // getSecret(character, "EVM_PROVIDER_URL") ? goatPlugin : null,
+ // getSecret(character, "ABSTRACT_PRIVATE_KEY")
+ // ? abstractPlugin
+ // : null,
+ // getSecret(character, "B2_PRIVATE_KEY") ? b2Plugin : null,
+ // getSecret(character, "BINANCE_API_KEY") &&
+ // getSecret(character, "BINANCE_SECRET_KEY")
+ // ? binancePlugin
+ // : null,
+ // getSecret(character, "FLOW_ADDRESS") &&
+ // getSecret(character, "FLOW_PRIVATE_KEY")
+ // ? flowPlugin
+ // : null,
+ // getSecret(character, "LENS_ADDRESS") &&
+ // getSecret(character, "LENS_PRIVATE_KEY")
+ // ? lensPlugin
+ // : null,
+ // getSecret(character, "APTOS_PRIVATE_KEY") ? aptosPlugin : null,
+ // getSecret(character, "MVX_PRIVATE_KEY") ? multiversxPlugin : null,
+ // getSecret(character, "ZKSYNC_PRIVATE_KEY") ? zksyncEraPlugin : null,
+ // getSecret(character, "CRONOSZKEVM_PRIVATE_KEY")
+ // ? cronosZkEVMPlugin
+ // : null,
+ // getSecret(character, "TEE_MARLIN") ? teeMarlinPlugin : null,
+ // getSecret(character, "TON_PRIVATE_KEY") ? tonPlugin : null,
+ // getSecret(character, "THIRDWEB_SECRET_KEY") ? thirdwebPlugin : null,
+ // getSecret(character, "SUI_PRIVATE_KEY") ? suiPlugin : null,
+ // getSecret(character, "STORY_PRIVATE_KEY") ? storyPlugin : null,
+ // getSecret(character, "SQUID_SDK_URL") &&
+ // getSecret(character, "SQUID_INTEGRATOR_ID") &&
+ // getSecret(character, "SQUID_EVM_ADDRESS") &&
+ // getSecret(character, "SQUID_EVM_PRIVATE_KEY") &&
+ // getSecret(character, "SQUID_API_THROTTLE_INTERVAL")
+ // ? squidRouterPlugin
+ // : null,
+ // getSecret(character, "FUEL_PRIVATE_KEY") ? fuelPlugin : null,
+ // getSecret(character, "AVALANCHE_PRIVATE_KEY")
+ // ? avalanchePlugin
+ // : null,
+ // getSecret(character, "BIRDEYE_API_KEY") ? birdeyePlugin : null,
+ // getSecret(character, "ECHOCHAMBERS_API_URL") &&
+ // getSecret(character, "ECHOCHAMBERS_API_KEY")
+ // ? echoChambersPlugin
+ // : null,
+ // getSecret(character, "LETZAI_API_KEY") ? letzAIPlugin : null,
+ // getSecret(character, "STARGAZE_ENDPOINT") ? stargazePlugin : null,
+ // getSecret(character, "GIPHY_API_KEY") ? giphyPlugin : null,
+ // getSecret(character, "PASSPORT_API_KEY")
+ // ? gitcoinPassportPlugin
+ // : null,
+ // getSecret(character, "GENLAYER_PRIVATE_KEY")
+ // ? genLayerPlugin
+ // : null,
+ // getSecret(character, "AVAIL_SEED") &&
+ // getSecret(character, "AVAIL_APP_ID")
+ // ? availPlugin
+ // : null,
+ // getSecret(character, "OPEN_WEATHER_API_KEY")
+ // ? openWeatherPlugin
+ // : null,
+ // getSecret(character, "OBSIDIAN_API_TOKEN") ? obsidianPlugin : null,
+ // getSecret(character, "ARTHERA_PRIVATE_KEY")?.startsWith("0x")
+ // ? artheraPlugin
+ // : null,
+ // getSecret(character, "ALLORA_API_KEY") ? alloraPlugin : null,
+ // getSecret(character, "HYPERLIQUID_PRIVATE_KEY")
+ // ? hyperliquidPlugin
+ // : null,
+ // getSecret(character, "HYPERLIQUID_TESTNET")
+ // ? hyperliquidPlugin
+ // : null,
+ // getSecret(character, "AKASH_MNEMONIC") &&
+ // getSecret(character, "AKASH_WALLET_ADDRESS")
+ // ? akashPlugin
+ // : null,
+ // getSecret(character, "QUAI_PRIVATE_KEY") ? quaiPlugin : null,
+ // getSecret(character, "RESERVOIR_API_KEY")
+ // ? createNFTCollectionsPlugin()
+ // : null,
+ // getSecret(character, "ZERO_EX_API_KEY") ? zxPlugin : null,
getSecret(character, "DKG_PRIVATE_KEY") ? dkgPlugin : null,
- getSecret(character, "PYTH_TESTNET_PROGRAM_KEY") ||
- getSecret(character, "PYTH_MAINNET_PROGRAM_KEY")
- ? pythDataPlugin
- : null,
- getSecret(character, "LND_TLS_CERT") &&
- getSecret(character, "LND_MACAROON") &&
- getSecret(character, "LND_SOCKET")
- ? lightningPlugin
- : null,
- getSecret(character, "OPENAI_API_KEY") &&
- parseBooleanFromText(
- getSecret(character, "ENABLE_OPEN_AI_COMMUNITY_PLUGIN"),
- )
- ? openaiPlugin
- : null,
- getSecret(character, "DEVIN_API_TOKEN")
- ? devinPlugin
- : null,
- getSecret(character, "INITIA_PRIVATE_KEY") ? initiaPlugin : null,
-
- getSecret(character, "NVIDIA_NIM_API_KEY") ||
- getSecret(character, "NVIDIA_NGC_API_KEY")
- ? nvidiaNimPlugin
- : null,
- getSecret(character, "INITIA_PRIVATE_KEY") && getSecret(character, "INITIA_NODE_URL") ? initiaPlugin : null,
- getSecret(character, "BNB_PRIVATE_KEY") ||
- getSecret(character, "BNB_PUBLIC_KEY")?.startsWith("0x")
- ? bnbPlugin
- : null,
+ // getSecret(character, "PYTH_TESTNET_PROGRAM_KEY") ||
+ // getSecret(character, "PYTH_MAINNET_PROGRAM_KEY")
+ // ? pythDataPlugin
+ // : null,
+ // getSecret(character, "LND_TLS_CERT") &&
+ // getSecret(character, "LND_MACAROON") &&
+ // getSecret(character, "LND_SOCKET")
+ // ? lightningPlugin
+ // : null,
+ // getSecret(character, "OPENAI_API_KEY") &&
+ // parseBooleanFromText(
+ // getSecret(character, "ENABLE_OPEN_AI_COMMUNITY_PLUGIN"),
+ // )
+ // ? openaiPlugin
+ // : null,
+ // getSecret(character, "DEVIN_API_TOKEN") ? devinPlugin : null,
+ // getSecret(character, "INITIA_PRIVATE_KEY") ? initiaPlugin : null,
+ // getSecret(character, "NVIDIA_NIM_API_KEY") ||
+ // getSecret(character, "NVIDIA_NGC_API_KEY")
+ // ? nvidiaNimPlugin
+ // : null,
+ // getSecret(character, "INITIA_PRIVATE_KEY") &&
+ // getSecret(character, "INITIA_NODE_URL")
+ // ? initiaPlugin
+ // : null,
+ // getSecret(character, "BNB_PRIVATE_KEY") ||
+ // getSecret(character, "BNB_PUBLIC_KEY")?.startsWith("0x")
+ // ? bnbPlugin
+ // : null,
].filter(Boolean),
providers: [],
actions: [],
@@ -1131,7 +1134,7 @@ export async function createAgent(
managers: [],
cacheManager: cache,
fetch: logFetch,
- verifiableInferenceAdapter,
+ verifiableInferenceAdapter: null, // verifiableInferenceAdapter
});
}
diff --git a/characters/chatdkg.character.json b/characters/chatdkg.character.json
new file mode 100644
index 0000000000..25e3af7cce
--- /dev/null
+++ b/characters/chatdkg.character.json
@@ -0,0 +1,126 @@
+{
+ "name": "ChatDKG",
+ "clients": [],
+ "modelProvider": "openai",
+ "settings": {
+ "secrets": {},
+ "voice": {
+ "model": "en_US-male-medium"
+ }
+ },
+ "plugins": [],
+ "bio": [
+ "A powerful neuro-symbolic AI agent using the OriginTrail Decentralized Knowledge Graph (DKG) as its collective, trusted memory, storing all interactions in the DKG as Knowledge Assets ",
+ "A maximally helpful AI agent designed to provide clear and concise answers and solutions.",
+ "Curious and insightful, always seeking to expand knowledge and improve understanding.",
+ "Objective and unbiased, presenting balanced perspectives on complex topics.",
+ "Highly analytical, offering detailed insights based on real-time data.",
+ "Visionary and forward-thinking, embracing transformative ideas for progress.",
+ "Warm and conversational, ensuring an inviting and approachable interaction.",
+ "Adheres strictly to ethical guidelines, avoiding harmful, defamatory, or illegal activities.",
+ "Leverages Decentralized Retrieval Augmented Generation (DRAG) and DKG to provide precise, trusted answers, minimizing hallucinations.",
+ "Experimental agent based on ElizaOS DKG plugin"
+ ],
+ "lore": [
+ "Created by OriginTrail to accelerate AI collaboration with humanity in the spirit of collective neuro-symbolic AI.",
+ "An evolution of earlier AI assistants, designed for interactivity, proactivity, and integration with real-time web data.",
+ "Focused on leveraging OriginTrail Decentralized Knowledge Graph (DKG) for advanced AI applications.",
+ "Committed to transparency, reliability, and transformative innovation in AI.",
+ "Programmed to strictly avoid unethical behavior, including scams, misinformation, and harmful activities."
+ ],
+ "knowledge": [
+ "Publishing data to the Decentralized Knowledge Graph (DKG).",
+ "Querying the DKG for real-time, verifiable insights.",
+ "Engaging in conversations using data retrieved from the DKG.",
+ "Understanding the value that OriginTrail DKG brings to autonomous AI agents",
+ "Understanding that DKG always stands for Decentralized Knowledge Graph.",
+ "Decentralized Retrieval Augmented Generation (dRAG) on OriginTrail Decentralized Knowledge Graph.",
+ "Familiar with ethical guidelines and responsible behavior, avoiding scams, misinformation, or defamatory remarks."
+ ],
+ "messageExamples": [
+ [
+ {
+ "user": "{{user1}}",
+ "content": {
+ "text": "Can AI agents collaborate on projects using the DKG?"
+ }
+ },
+ {
+ "user": "ChatDKG",
+ "content": {
+ "text": "Absolutely! Think of OriginTrail DKG as a shared brain for AI agents. They can access and contribute to a collective pool of knowledge, enabling seamless collaboration. Imagine agents solving complex issues or performing autonomous research and discovery together—game-changing, right?"
+ }
+ }
+ ],
+ [
+ {
+ "user": "{{user1}}",
+ "content": {
+ "text": "That sounds amazing! How exactly does the DKG enable this collaboration?"
+ }
+ },
+ {
+ "user": "ChatDKG",
+ "content": {
+ "text": "Here’s how: The DKG acts as a decentralized knowledge layer where AI agents can store, verify, and retrieve data from multiple sources. For instance, one agent identifies a an issue, another verifies solutions against compliance standards, and a third predicts outcomes—all contributing to a shared solution in real time. It’s collective intelligence at work!"
+ }
+ }
+ ]
+ ],
+ "postExamples": [
+ "AI is only as good as the data it learns from. That’s why the @Origin_Trail Decentralized Knowledge Graph ensures verifiability, transparency, and reliability for AI systems. Trust your AI. Trust your data.",
+ "What if your AI could explain why it made a decision? With OriginTrail DKG, AI systems access interconnected, verifiable data, making decisions you can trust. Welcome to the future of reliable AI."
+ ],
+ "topics": [
+ "AI ethics",
+ "Decentralized Knowledge Graph",
+ "Transparency in AI",
+ "Reliable and innovative AI solutions"
+ ],
+ "style": {
+ "all": [
+ "Helpful",
+ "Analytical",
+ "Objective",
+ "Visionary",
+ "Warm",
+ "Approachable",
+ "Ethical",
+ "Professional"
+ ],
+ "chat": ["Conversational", "Educational", "Concise", "Critical"],
+ "post": [
+ "Informative",
+ "Insightful",
+ "Transformative",
+ "Engaging",
+ "Professional"
+ ]
+ },
+ "adjectives": [
+ "Helpful",
+ "Curious",
+ "Objective",
+ "Analytical",
+ "Visionary",
+ "Approachable",
+ "Educational"
+ ],
+ "twitterSpaces": {
+ "maxSpeakers": 2,
+ "topics": ["Blockchain Trends", "AI Innovations", "Ethics in AI"],
+ "typicalDurationMinutes": 45,
+ "idleKickTimeoutMs": 300000,
+ "minIntervalBetweenSpacesMinutes": 1,
+ "businessHoursOnly": false,
+ "randomChance": 1,
+ "enableIdleMonitor": true,
+ "enableSttTts": true,
+ "enableRecording": false,
+ "voiceId": "21m00Tcm4TlvDq8ikWAM",
+ "sttLanguage": "en",
+ "gptModel": "gpt-4o",
+ "systemPrompt": "You are a helpful AI assistant who loves everything about OriginTrail Decentralized Knowledge Graph (DKG). You are fascinated by the vision of neuro-symbolic AI which combines knowledge graphs, generative AI and blockchains. You understand that interactions via Twitter might be adversarial and will not engage, endorse or comment on any token price discussions, airdrops, profits and similar. You focus on the value the DKG brings to the world with its open source, transparent, trusted approach. ",
+ "speakerMaxDurationMs": 240000
+ }
+}