Skip to content

Commit caae5e8

Browse files
author
mike dupont
committed
reduced calls to get secret rfom 39 to 35
still too many calls to get secret
1 parent 3c00132 commit caae5e8

File tree

2 files changed

+73
-72
lines changed

2 files changed

+73
-72
lines changed

.env

+46-50
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,38 @@
11
# Required environment variables
2-
DISCORD_APPLICATION_ID=
3-
DISCORD_API_TOKEN= # Bot token
2+
#DISCORD_APPLICATION_ID=
3+
#DISCORD_API_TOKEN= # Bot token
44
#OPENAI_API_KEY=sk-* # OpenAI API key, starting with sk-
5-
REDPILL_API_KEY= # REDPILL API Key
6-
GROK_API_KEY= # GROK API Key
7-
GROQ_API_KEY=gsk_*
8-
OPENROUTER_API_KEY=
9-
GOOGLE_GENERATIVE_AI_API_KEY= # Gemini API key
5+
#REDPILL_API_KEY= # REDPILL API Key
6+
#GROK_API_KEY= # GROK API Key
7+
#GROQ_API_KEY=gsk_*
8+
#OPENROUTER_API_KEY=
9+
#GOOGLE_GENERATIVE_AI_API_KEY= # Gemini API key
1010

11-
ELEVENLABS_XI_API_KEY= # API key from elevenlabs
11+
#ELEVENLABS_XI_API_KEY= # API key from elevenlabs
1212

1313
# ELEVENLABS SETTINGS
14-
ELEVENLABS_MODEL_ID=eleven_multilingual_v2
15-
ELEVENLABS_VOICE_ID=21m00Tcm4TlvDq8ikWAM
16-
ELEVENLABS_VOICE_STABILITY=0.5
17-
ELEVENLABS_VOICE_SIMILARITY_BOOST=0.9
18-
ELEVENLABS_VOICE_STYLE=0.66
19-
ELEVENLABS_VOICE_USE_SPEAKER_BOOST=false
20-
ELEVENLABS_OPTIMIZE_STREAMING_LATENCY=4
21-
ELEVENLABS_OUTPUT_FORMAT=pcm_16000
22-
23-
TWITTER_DRY_RUN=false
24-
TWITTER_USERNAME= # Account username
25-
TWITTER_PASSWORD= # Account password
26-
TWITTER_EMAIL= # Account email
27-
TWITTER_COOKIES= # Account cookies
28-
29-
X_SERVER_URL=
30-
XAI_API_KEY=
31-
XAI_MODEL=
14+
#ELEVENLABS_MODEL_ID=eleven_multilingual_v2
15+
#ELEVENLABS_VOICE_ID=21m00Tcm4TlvDq8ikWAM
16+
#ELEVENLABS_VOICE_STABILITY=0.5
17+
#ELEVENLABS_VOICE_SIMILARITY_BOOST=0.9
18+
#ELEVENLABS_VOICE_STYLE=0.66
19+
#ELEVENLABS_VOICE_USE_SPEAKER_BOOST=false
20+
#ELEVENLABS_OPTIMIZE_STREAMING_LATENCY=4
21+
#ELEVENLABS_OUTPUT_FORMAT=pcm_16000
22+
23+
#TWITTER_DRY_RUN=false
24+
#TWITTER_USERNAME= # Account username
25+
#TWITTER_PASSWORD= # Account password
26+
#TWITTER_EMAIL= # Account email
27+
#TWITTER_COOKIES= # Account cookies
28+
29+
#X_SERVER_URL=
30+
#XAI_API_KEY=
31+
#XAI_MODEL=
3232

3333
#POST INTERVAL RANDOM MIN-MAX MINUTES
3434
POST_INTERVAL_MIN= #90 #Default
3535
POST_INTERVAL_MAX= #180 #Default
36-
37-
3836
#USE IMAGE GEN
3937
IMAGE_GEN= #TRUE
4038

@@ -43,12 +41,10 @@ IMAGE_GEN= #TRUE
4341

4442
#OpenRouter (Use one model for everything or set individual for small, medium, large tasks)
4543
#leave blank to use defaults hermes 70b for small tasks & 405b for medium/large tasks
46-
OPENROUTER_MODEL=
47-
SMALL_OPENROUTER_MODEL=
44+
#OPENROUTER_MODEL=
45+
#SMALL_OPENROUTER_MODEL=
4846
MEDIUM_OLLAMA_MODEL=
4947
LARGE_OLLAMA_MODEL=
50-
51-
5248
#Set to Use for New OLLAMA provider
5349
#OLLAMA_SERVER_URL= #Leave blank for default localhost:11434
5450
OLLAMA_MODEL=temp1
@@ -59,34 +55,34 @@ MEDIUM_OLLAMA_MODEL= #default herems3
5955
LARGE_OLLAMA_MODEL= #default hermes3:70b
6056

6157
# For asking Claude stuff
62-
ANTHROPIC_API_KEY=
58+
#ANTHROPIC_API_KEY=
6359

6460
# Heurist API (Get API Key at https://heurist.ai/dev-access)
65-
HEURIST_API_KEY=
66-
SMALL_HEURIST_LANGUAGE_MODEL=
67-
MEDIUM_HEURIST_LANGUAGE_MODEL=
68-
LARGE_HEURIST_LANGUAGE_MODEL=
69-
HEURIST_IMAGE_MODEL=
61+
#HEURIST_API_KEY=
62+
#SMALL_HEURIST_LANGUAGE_MODEL=
63+
#MEDIUM_HEURIST_LANGUAGE_MODEL=
64+
#LARGE_HEURIST_LANGUAGE_MODEL=
65+
#HEURIST_IMAGE_MODEL=
7066

71-
WALLET_PRIVATE_KEY=EXAMPLE_WALLET_PRIVATE_KEY
72-
WALLET_PUBLIC_KEY=EXAMPLE_WALLET_PUBLIC_KEY
67+
#WALLET_PRIVATE_KEY=EXAMPLE_WALLET_PRIVATE_KEY
68+
#WALLET_PUBLIC_KEY=EXAMPLE_WALLET_PUBLIC_KEY
7369

74-
BIRDEYE_API_KEY=
70+
#BIRDEYE_API_KEY=
7571

76-
SOL_ADDRESS=So11111111111111111111111111111111111111112
77-
SLIPPAGE=1
78-
BASE_MINT=So11111111111111111111111111111111111111112
79-
RPC_URL=https://api.mainnet-beta.solana.com
80-
HELIUS_API_KEY=
72+
#SOL_ADDRESS=So11111111111111111111111111111111111111112
73+
#SLIPPAGE=1
74+
#BASE_MINT=So11111111111111111111111111111111111111112
75+
#RPC_URL=https://api.mainnet-beta.solana.com
76+
#HELIUS_API_KEY=
8177

8278

8379
## Telegram
84-
TELEGRAM_BOT_TOKEN=
80+
#TELEGRAM_BOT_TOKEN=
8581

86-
TOGETHER_API_KEY=
82+
#TOGETHER_API_KEY=
8783
SERVER_PORT=3000
8884
VERBOSE=true
8985
NODE_ENV=dev
9086
# Starknet
91-
STARKNET_ADDRESS=
92-
STARKNET_PRIVATE_KEY=
87+
#STARKNET_ADDRESS=
88+
#STARKNET_PRIVATE_KEY=

agent/src/index.ts

+27-22
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import { HttpInstrumentation } from '@opentelemetry/instrumentation-http';
2121
import { wrapTracer } from '@opentelemetry/api/experimental';
2222

2323
//Specify zipkin url. default url is http://localhost:9411/api/v2/spans
24+
// docker run -d -p 9411:9411 openzipkin/zipkin
2425
const zipkinUrl = 'http://localhost';
2526
const zipkinPort = '9411';
2627
const zipkinPath = '/api/v2/spans';
@@ -89,24 +90,10 @@ try {
8990
} catch(error){
9091
elizaLogger.log("ERROR",error)
9192
}
92-
// const sdk = new NodeSDK({ resource: new Resource({
93-
94-
//const tracer=opentelemetry.trace.getTracer('ai16z');
95-
96-
9793

94+
// wrapper
9895
const tracer = wrapTracer(opentelemetry.trace.getTracer('ai16z-agent'))
9996

100-
// //traceExporter: new ConsoleSpanExporter(),
101-
// traceExporter: myExporter,
102-
// //traceExporter_zipkin
103-
// instrumentations: [, new HttpInstrumentation() ],
104-
// });
105-
// // For troubleshooting, set the log level to DiagLogLevel.DEBUG
106-
// diag.setLogger(new DiagConsoleLogger(), DiagLogLevel.ALL);
107-
// console.log(sdk.start());
108-
109-
11097
import { PostgresDatabaseAdapter } from "@elizaos/adapter-postgres";
11198
import { SqliteDatabaseAdapter } from "@elizaos/adapter-sqlite";
11299
import { AutoClientInterface } from "@elizaos/client-auto";
@@ -220,7 +207,7 @@ export function parseArguments(): {
220207

221208
function tryLoadFile(filePath: string): string | null {
222209
elizaLogger.log(`tryLoadFile filePath: ${filePath}`);
223-
return tracer.withActiveSpan('tryLoadFile', () => {
210+
return tracer.withActiveSpan(`tryLoadFile filePath: ${filePath}`, () => {
224211
try {
225212
const ret = fs.readFileSync(filePath, "utf8");
226213
return ret;
@@ -473,6 +460,7 @@ export function getTokenForProvider(
473460
}
474461

475462
function initializeDatabase(dataDir: string) {
463+
return tracer.withActiveSpan('initializeDatabase', () => {
476464
if (process.env.POSTGRES_URL) {
477465
elizaLogger.info("Initializing PostgreSQL connection...");
478466
const db = new PostgresDatabaseAdapter({
@@ -499,13 +487,16 @@ function initializeDatabase(dataDir: string) {
499487
const db = new SqliteDatabaseAdapter(new Database(filePath));
500488
return db;
501489
}
490+
})
502491
}
503492

504493
// also adds plugins from character file into the runtime
505494
export async function initializeClients(
506495
character: Character,
507496
runtime: IAgentRuntime
508497
) {
498+
499+
return await tracer.withActiveSpan('initializeClients', async () => {
509500
// each client can only register once
510501
// and if we want two we can explicitly support it
511502
const clients: Record<string, any> = {};
@@ -590,11 +581,15 @@ export async function initializeClients(
590581
}
591582
}
592583

584+
593585
return clients;
586+
});
594587
}
595588

596589
function getSecret(character: Character, secret: string) {
597-
return character.settings?.secrets?.[secret] || process.env[secret];
590+
return tracer.withActiveSpan('getSecret', () => {
591+
return character.settings?.secrets?.[secret] || process.env[secret];
592+
});
598593
}
599594

600595
let nodePlugin: any | undefined;
@@ -605,6 +600,8 @@ export async function createAgent(
605600
cache: ICacheManager,
606601
token: string
607602
): Promise<AgentRuntime> {
603+
return await tracer.withActiveSpan('createAgent', async () => {
604+
608605
elizaLogger.success(
609606
elizaLogger.successesTitle,
610607
"Creating runtime for character",
@@ -727,18 +724,23 @@ export async function createAgent(
727724
cacheManager: cache,
728725
fetch: logFetch,
729726
});
727+
});
730728
}
731729

732-
function initializeFsCache(baseDir: string, character: Character) {
730+
function initializeFsCache(baseDir: string, character: Character) {
731+
return tracer.withActiveSpan('initializeFsCache', () => {
733732
const cacheDir = path.resolve(baseDir, character.id, "cache");
734733

735734
const cache = new CacheManager(new FsCacheAdapter(cacheDir));
736-
return cache;
735+
return cache;
736+
});
737737
}
738738

739-
function initializeDbCache(character: Character, db: IDatabaseCacheAdapter) {
740-
const cache = new CacheManager(new DbCacheAdapter(db, character.id));
741-
return cache;
739+
function initializeDbCache(character: Character, db: IDatabaseCacheAdapter) {
740+
return tracer.withActiveSpan('initializeDbCache', () => {
741+
const cache = new CacheManager(new DbCacheAdapter(db, character.id));
742+
return cache;
743+
});
742744
}
743745

744746
function initializeCache(
@@ -747,6 +749,7 @@ function initializeCache(
747749
baseDir?: string,
748750
db?: IDatabaseCacheAdapter
749751
) {
752+
return tracer.withActiveSpan('initializeCache', () => {
750753
switch (cacheStore) {
751754
case CacheStore.REDIS:
752755
if (process.env.REDIS_URL) {
@@ -778,12 +781,14 @@ function initializeCache(
778781
`Invalid cache store: ${cacheStore} or required configuration missing.`
779782
);
780783
}
784+
});
781785
}
782786

783787
async function startAgent(
784788
character: Character,
785789
directClient: DirectClient
786790
): Promise<AgentRuntime> {
791+
787792
let db: IDatabaseAdapter & IDatabaseCacheAdapter;
788793
try {
789794
character.id ??= stringToUuid(character.name);

0 commit comments

Comments
 (0)