Skip to content

Commit 5390bd5

Browse files
authored
Merge branch 'develop' into develop
2 parents c309e21 + 258789d commit 5390bd5

File tree

93 files changed

+872
-456
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

93 files changed

+872
-456
lines changed

.env.example

+4-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
# Cache Configs
2+
CACHE_STORE=database # Defaults to database. Other available cache store: redis and filesystem
3+
REDIS_URL= # Redis URL - could be a local redis instance or cloud hosted redis. Also support rediss:// urls
4+
15
# Discord Configuration
26
DISCORD_APPLICATION_ID=
37
DISCORD_API_TOKEN= # Bot token
@@ -54,7 +58,6 @@ TWITTER_PASSWORD= # Account password
5458
TWITTER_EMAIL= # Account email
5559
TWITTER_2FA_SECRET=
5660

57-
TWITTER_COOKIES= # Account cookies
5861
TWITTER_POLL_INTERVAL=120 # How often (in seconds) the bot should check for interactions
5962
TWITTER_SEARCH_ENABLE=FALSE # Enable timeline search, WARNING this greatly increases your chance of getting banned
6063
TWITTER_TARGET_USERS= # Comma separated list of Twitter user names to interact with

.github/workflows/integrationTests.yaml

+16-6
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@ jobs:
2525
run: pnpm run smokeTests
2626
integration-tests:
2727
runs-on: ubuntu-latest
28+
env:
29+
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
2830
steps:
2931
- uses: actions/checkout@v4
3032

@@ -43,13 +45,21 @@ jobs:
4345
- name: Build packages
4446
run: pnpm build
4547

46-
- name: Run integration tests
47-
env:
48-
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
48+
- name: Check for API key
49+
id: check_api_key
4950
run: |
5051
if [ -z "$OPENAI_API_KEY" ]; then
51-
echo "Skipping integration tests due to missing required API keys"
52-
exit 1
52+
echo "::set-output name=api_key_present::false"
5353
else
54-
pnpm run integrationTests
54+
echo "::set-output name=api_key_present::true"
5555
fi
56+
57+
- name: Run integration tests
58+
if: steps.check_api_key.outputs.api_key_present == 'true'
59+
run: pnpm run integrationTests
60+
61+
- name: Skip integration tests
62+
if: steps.check_api_key.outputs.api_key_present == 'false'
63+
run: |
64+
echo "Skipping integration tests due to missing required API keys"
65+
exit 1

.github/workflows/release.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,11 @@ jobs:
1515

1616
- uses: actions/setup-node@v4
1717
with:
18-
node-version: 22
18+
node-version: 23.3.0
1919

2020
- uses: pnpm/action-setup@v3
2121
with:
22-
version: 8
22+
version: 9.15.0
2323

2424
- name: Configure Git
2525
run: |

.gitignore

+2
Original file line numberDiff line numberDiff line change
@@ -52,3 +52,5 @@ tsup.config.bundled_*.mjs
5252

5353
coverage
5454
.eslintcache
55+
56+
agent/content

CHANGELOG.md

+90-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,94 @@
11
# Changelog
22

3+
## [v0.1.6](https://github.com/ai16z/eliza/tree/v0.1.6) (2024-12-21)
4+
5+
[Full Changelog](https://github.com/ai16z/eliza/compare/v0.1.6-alpha.5...v0.1.6)
6+
7+
**Merged pull requests:**
8+
9+
- feat: release version 0.1.6 [\#1300](https://github.com/ai16z/eliza/pull/1300) ([shakkernerd](https://github.com/shakkernerd))
10+
11+
## [v0.1.6-alpha.5](https://github.com/ai16z/eliza/tree/v0.1.6-alpha.5) (2024-12-21)
12+
13+
[Full Changelog](https://github.com/ai16z/eliza/compare/v0.1.6-alpha.4...v0.1.6-alpha.5)
14+
15+
**Implemented enhancements:**
16+
17+
- Add @eliza/agent to npm registry [\#1281](https://github.com/ai16z/eliza/issues/1281)
18+
- Implement Redis Caching for Performance [\#1277](https://github.com/ai16z/eliza/issues/1277)
19+
- Improve logging for the Coinbase plugin [\#1261](https://github.com/ai16z/eliza/issues/1261)
20+
- doc: Add Twitter automation label requirement to quickstart guide [\#1253](https://github.com/ai16z/eliza/issues/1253)
21+
- Enhance Logging in /packages/plugin-coinbase/src/plugins Using elizaLogger [\#1192](https://github.com/ai16z/eliza/issues/1192)
22+
- Improve Logging in /packages/plugin-coinbase/src/plugins [\#1189](https://github.com/ai16z/eliza/issues/1189)
23+
- Feat: add github client to core agent [\#1130](https://github.com/ai16z/eliza/issues/1130)
24+
25+
**Fixed bugs:**
26+
27+
- SCAM project [\#1286](https://github.com/ai16z/eliza/issues/1286)
28+
- pnpm start --character="characters/trump.character.json" [\#1161](https://github.com/ai16z/eliza/issues/1161)
29+
- REQUIRED\_NODE\_VERSION: No such file [\#1151](https://github.com/ai16z/eliza/issues/1151)
30+
- Discord agents knock each other out of VC [\#1145](https://github.com/ai16z/eliza/issues/1145)
31+
- Missing required secret OPENAI\_API\_KEY in PR workflow [\#1027](https://github.com/ai16z/eliza/issues/1027)
32+
33+
**Closed issues:**
34+
35+
- Bug: Application crashes on startup [\#1173](https://github.com/ai16z/eliza/issues/1173)
36+
- Bug: Application crashes on startup [\#1172](https://github.com/ai16z/eliza/issues/1172)
37+
38+
**Merged pull requests:**
39+
40+
- fix: default character model to LLAMALOCAL [\#1299](https://github.com/ai16z/eliza/pull/1299) ([shakkernerd](https://github.com/shakkernerd))
41+
- fix: remove clients from default character [\#1297](https://github.com/ai16z/eliza/pull/1297) ([shakkernerd](https://github.com/shakkernerd))
42+
- chore: bump version to 0.1.6-alpha.5 [\#1296](https://github.com/ai16z/eliza/pull/1296) ([shakkernerd](https://github.com/shakkernerd))
43+
- feat: Add caching support for Redis [\#1295](https://github.com/ai16z/eliza/pull/1295) ([shakkernerd](https://github.com/shakkernerd))
44+
- fix: output checkable variable for conditional [\#1294](https://github.com/ai16z/eliza/pull/1294) ([twilwa](https://github.com/twilwa))
45+
- fix: add missing claude vertex case to handleProvider [\#1293](https://github.com/ai16z/eliza/pull/1293) ([shakkernerd](https://github.com/shakkernerd))
46+
- fix: pnpm lock file [\#1292](https://github.com/ai16z/eliza/pull/1292) ([shakkernerd](https://github.com/shakkernerd))
47+
- fix: integration tests fix [\#1291](https://github.com/ai16z/eliza/pull/1291) ([twilwa](https://github.com/twilwa))
48+
- feat: Update main for v0.1.6-alpha.5 [\#1290](https://github.com/ai16z/eliza/pull/1290) ([odilitime](https://github.com/odilitime))
49+
- chore: clean up merged PR1168 [\#1289](https://github.com/ai16z/eliza/pull/1289) ([odilitime](https://github.com/odilitime))
50+
- fix: fix lockfile [\#1283](https://github.com/ai16z/eliza/pull/1283) ([odilitime](https://github.com/odilitime))
51+
- feat: Redis Cache Implementation [\#1279](https://github.com/ai16z/eliza/pull/1279) ([shakkernerd](https://github.com/shakkernerd))
52+
- chore: Revert "fix: pnpm lockfile" [\#1275](https://github.com/ai16z/eliza/pull/1275) ([shakkernerd](https://github.com/shakkernerd))
53+
- fix: pnpm lockfile [\#1273](https://github.com/ai16z/eliza/pull/1273) ([shakkernerd](https://github.com/shakkernerd))
54+
- fix: fix ENABLE\_ACTION\_PROCESSING logic [\#1268](https://github.com/ai16z/eliza/pull/1268) ([oxSaturn](https://github.com/oxSaturn))
55+
- feat: add README\_DE.md in docs directory [\#1262](https://github.com/ai16z/eliza/pull/1262) ([derRizzMeister](https://github.com/derRizzMeister))
56+
- fix: unsupported model provider: claude\_vertex [\#1258](https://github.com/ai16z/eliza/pull/1258) ([tcm390](https://github.com/tcm390))
57+
- doc: add Twitter automation label notice \(\#1253\) [\#1254](https://github.com/ai16z/eliza/pull/1254) ([julienbrs](https://github.com/julienbrs))
58+
- Update trump.character.json [\#1252](https://github.com/ai16z/eliza/pull/1252) ([lalalune](https://github.com/lalalune))
59+
- fix: Fix local\_llama key warning [\#1250](https://github.com/ai16z/eliza/pull/1250) ([odilitime](https://github.com/odilitime))
60+
- feat: upgrade Tavily API with comprehensive input and constrain the token consumption [\#1246](https://github.com/ai16z/eliza/pull/1246) ([tomguluson92](https://github.com/tomguluson92))
61+
- feat: make express payload limit configurable [\#1245](https://github.com/ai16z/eliza/pull/1245) ([renlulu](https://github.com/renlulu))
62+
- feat: make twitter login retry times as env [\#1244](https://github.com/ai16z/eliza/pull/1244) ([renlulu](https://github.com/renlulu))
63+
- Fix visibility issue github image cicd [\#1243](https://github.com/ai16z/eliza/pull/1243) ([luisalrp](https://github.com/luisalrp))
64+
- fix: twitterShouldRespondTemplate Fails When Defined as a String in JSON Character Config [\#1242](https://github.com/ai16z/eliza/pull/1242) ([tcm390](https://github.com/tcm390))
65+
- fix: Sync UI Client with server port env [\#1239](https://github.com/ai16z/eliza/pull/1239) ([jonathangus](https://github.com/jonathangus))
66+
- Update trump.character.json - Enhance terminology in the project for clarity and inclusivity [\#1237](https://github.com/ai16z/eliza/pull/1237) ([yjshi2015](https://github.com/yjshi2015))
67+
- Update README for french, spanish and italian language [\#1236](https://github.com/ai16z/eliza/pull/1236) ([azurwastaken](https://github.com/azurwastaken))
68+
- feat: add parse mode=Markdown, enhance telegram bot output [\#1229](https://github.com/ai16z/eliza/pull/1229) ([simpletrontdip](https://github.com/simpletrontdip))
69+
- fix: CircuitBreaker.ts [\#1226](https://github.com/ai16z/eliza/pull/1226) ([tomguluson92](https://github.com/tomguluson92))
70+
- fix: Allow the bot to post messages with images generated by the imageGenerationPlugin on Telegram. [\#1220](https://github.com/ai16z/eliza/pull/1220) ([tcm390](https://github.com/tcm390))
71+
- fix: postgres needs the user to exist before you can add a participant [\#1219](https://github.com/ai16z/eliza/pull/1219) ([odilitime](https://github.com/odilitime))
72+
- chore: clean up scripts [\#1218](https://github.com/ai16z/eliza/pull/1218) ([danbednarski](https://github.com/danbednarski))
73+
- fix: improve twitter post generation prompt [\#1217](https://github.com/ai16z/eliza/pull/1217) ([cygaar](https://github.com/cygaar))
74+
- fix: fail when cannot get token, add Akash to generateText switch [\#1214](https://github.com/ai16z/eliza/pull/1214) ([vpavlin](https://github.com/vpavlin))
75+
- chore: New docs [\#1211](https://github.com/ai16z/eliza/pull/1211) ([madjin](https://github.com/madjin))
76+
- docs: Update README.md [\#1209](https://github.com/ai16z/eliza/pull/1209) ([marcNY](https://github.com/marcNY))
77+
- fix: gitpod cicd bug [\#1207](https://github.com/ai16z/eliza/pull/1207) ([v1xingyue](https://github.com/v1xingyue))
78+
- fix: write summary file before trying to cache it [\#1205](https://github.com/ai16z/eliza/pull/1205) ([tobbelobb](https://github.com/tobbelobb))
79+
- fix: optional chaining on search to avoid startup errors when search is not enabled [\#1202](https://github.com/ai16z/eliza/pull/1202) ([netdragonx](https://github.com/netdragonx))
80+
- docs\(cn\): add python 3.7 [\#1201](https://github.com/ai16z/eliza/pull/1201) ([9547](https://github.com/9547))
81+
- docs: Update "CN README" with more details [\#1196](https://github.com/ai16z/eliza/pull/1196) ([tomguluson92](https://github.com/tomguluson92))
82+
- docs: fixed CONTRIBUTING.md file Issue: 1048 [\#1191](https://github.com/ai16z/eliza/pull/1191) ([ileana-pr](https://github.com/ileana-pr))
83+
- test: adding tests for runtime.ts. Modified README since we switched to vitest [\#1190](https://github.com/ai16z/eliza/pull/1190) ([ai16z-demirix](https://github.com/ai16z-demirix))
84+
- fix: Fix client.push issue and update README for Slack client verification [\#1182](https://github.com/ai16z/eliza/pull/1182) ([SumeetChougule](https://github.com/SumeetChougule))
85+
- feat: integration tests fixes + library improvements [\#1177](https://github.com/ai16z/eliza/pull/1177) ([jzvikart](https://github.com/jzvikart))
86+
- docs: Update "What Did You Get Done This Week? 5" spaces notes [\#1174](https://github.com/ai16z/eliza/pull/1174) ([YoungPhlo](https://github.com/YoungPhlo))
87+
- fix: Fix typo in multiversx plugin prompt for creating token [\#1170](https://github.com/ai16z/eliza/pull/1170) ([thomasWos](https://github.com/thomasWos))
88+
- feat: make script dash compatible [\#1165](https://github.com/ai16z/eliza/pull/1165) ([shakkernerd](https://github.com/shakkernerd))
89+
- chore: print commands to start the client and remove unused --non-itera… [\#1163](https://github.com/ai16z/eliza/pull/1163) ([yang-han](https://github.com/yang-han))
90+
- fix: Enable multiple bots to join Discord voice channels [\#1156](https://github.com/ai16z/eliza/pull/1156) ([tcm390](https://github.com/tcm390))
91+
392
## [v0.1.6-alpha.4](https://github.com/ai16z/eliza/tree/v0.1.6-alpha.4) (2024-12-17)
493

594
[Full Changelog](https://github.com/ai16z/eliza/compare/v0.1.6-alpha.3...v0.1.6-alpha.4)
@@ -116,7 +205,7 @@
116205
- feat: add support for handlebars templating engine as an option [\#1136](https://github.com/ai16z/eliza/pull/1136) ([erise133](https://github.com/erise133))
117206
- feat: allow agents to create/buy/sell tokens on FOMO.fund's bonding curve in plugin-solana [\#1135](https://github.com/ai16z/eliza/pull/1135) ([0xNerd](https://github.com/0xNerd))
118207
- fix: fix the name [\#1133](https://github.com/ai16z/eliza/pull/1133) ([n00b21337](https://github.com/n00b21337))
119-
- Add `chatapi.akash.network` to available list of model providers \(FREE LLAMA API ACCESS!\) [\#1131](https://github.com/ai16z/eliza/pull/1131) ([MbBrainz](https://github.com/MbBrainz))
208+
- feat: Add `chatapi.akash.network` to available list of model providers \(FREE LLAMA API ACCESS!\) [\#1131](https://github.com/ai16z/eliza/pull/1131) ([MbBrainz](https://github.com/MbBrainz))
120209
- fix: discord client duplicate function removal [\#1125](https://github.com/ai16z/eliza/pull/1125) ([azep-ninja](https://github.com/azep-ninja))
121210
- fix: add more heplful default agents \(Dobby and C3PO\) [\#1124](https://github.com/ai16z/eliza/pull/1124) ([n00b21337](https://github.com/n00b21337))
122211
- fix: Refactor to prevent unnecessary lockfile changes [\#1120](https://github.com/ai16z/eliza/pull/1120) ([monilpat](https://github.com/monilpat))

README_CN.md

-1
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,6 @@ TWITTER_DRY_RUN=false
145145
TWITTER_USERNAME= # Account username
146146
TWITTER_PASSWORD= # Account password
147147
TWITTER_EMAIL= # Account email
148-
TWITTER_COOKIES= # Account cookies
149148
150149
X_SERVER_URL=
151150
XAI_API_KEY=

README_ES.md

-1
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,6 @@ TWITTER_DRY_RUN=false
9898
TWITTER_USERNAME= # Nombre de usuario de la cuenta
9999
TWITTER_PASSWORD= # Contraseña de la cuenta
100100
TWITTER_EMAIL= # Correo electrónico de la cuenta
101-
TWITTER_COOKIES= # Cookies de la cuenta
102101
103102
X_SERVER_URL=
104103
XAI_API_KEY=

README_JA.md

-1
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,6 @@ TWITTER_DRY_RUN=false
9696
TWITTER_USERNAME= # アカウントのユーザー名
9797
TWITTER_PASSWORD= # アカウントのパスワード
9898
TWITTER_EMAIL= # アカウントのメール
99-
TWITTER_COOKIES= # アカウントのクッキー
10099
101100
X_SERVER_URL=
102101
XAI_API_KEY=

README_PTBR.md

-1
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,6 @@ TWITTER_DRY_RUN=false
9898
TWITTER_USERNAME= # Nome de usuário da conta
9999
TWITTER_PASSWORD= # Senha da conta
100100
TWITTER_EMAIL= # Email da conta
101-
TWITTER_COOKIES= # Cookies da conta
102101
103102
X_SERVER_URL=
104103
XAI_API_KEY=

README_RU.md

-1
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,6 @@ TWITTER_DRY_RUN=false
114114
TWITTER_USERNAME= # Имя пользователя аккаунта
115115
TWITTER_PASSWORD= # Пароль аккаунта
116116
TWITTER_EMAIL= # Email аккаунта
117-
TWITTER_COOKIES= # Cookies аккаунта
118117
119118
X_SERVER_URL=
120119
XAI_API_KEY=

agent/package.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@ai16z/agent",
3-
"version": "0.1.6-alpha.4",
3+
"version": "0.1.6",
44
"main": "src/index.ts",
55
"type": "module",
66
"scripts": {
@@ -18,6 +18,7 @@
1818
},
1919
"dependencies": {
2020
"@ai16z/adapter-postgres": "workspace:*",
21+
"@ai16z/adapter-redis": "workspace:*",
2122
"@ai16z/adapter-sqlite": "workspace:*",
2223
"@ai16z/client-auto": "workspace:*",
2324
"@ai16z/client-direct": "workspace:*",

agent/src/index.ts

+60-10
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,9 @@ import {
2424
settings,
2525
stringToUuid,
2626
validateCharacterConfig,
27+
CacheStore,
2728
} from "@ai16z/eliza";
29+
import { RedisClient } from "@ai16z/adapter-redis";
2830
import { zgPlugin } from "@ai16z/plugin-0g";
2931
import { bootstrapPlugin } from "@ai16z/plugin-bootstrap";
3032
import createGoatPlugin from "@ai16z/plugin-goat";
@@ -218,11 +220,13 @@ export async function loadCharacters(
218220
export function getTokenForProvider(
219221
provider: ModelProviderName,
220222
character: Character
221-
):string {
223+
): string {
222224
switch (provider) {
223-
// no key needed for llama_local
225+
// no key needed for llama_local or gaianet
224226
case ModelProviderName.LLAMALOCAL:
225-
return ''
227+
return "";
228+
case ModelProviderName.GAIANET:
229+
return "";
226230
case ModelProviderName.OPENAI:
227231
return (
228232
character.settings?.secrets?.OPENAI_API_KEY ||
@@ -318,9 +322,9 @@ export function getTokenForProvider(
318322
settings.AKASH_CHAT_API_KEY
319323
);
320324
default:
321-
const errorMessage = `Failed to get token - unsupported model provider: ${provider}`
322-
elizaLogger.error(errorMessage)
323-
throw new Error(errorMessage)
325+
const errorMessage = `Failed to get token - unsupported model provider: ${provider}`;
326+
elizaLogger.error(errorMessage);
327+
throw new Error(errorMessage);
324328
}
325329
}
326330

@@ -408,17 +412,19 @@ export async function initializeClients(
408412
elizaLogger.log("client keys", Object.keys(clients));
409413

410414
// TODO: Add Slack client to the list
415+
// Initialize clients as an object
416+
411417
if (clientTypes.includes("slack")) {
412418
const slackClient = await SlackClientInterface.start(runtime);
413-
if (slackClient) clients.push(slackClient);
419+
if (slackClient) clients.slack = slackClient; // Use object property instead of push
414420
}
415421

416422
if (character.plugins?.length > 0) {
417423
for (const plugin of character.plugins) {
418-
// if plugin has clients, add those..
419424
if (plugin.clients) {
420425
for (const client of plugin.clients) {
421-
clients.push(await client.start(runtime));
426+
const startedClient = await client.start(runtime);
427+
clients[client.name] = startedClient; // Assuming client has a name property
422428
}
423429
}
424430
}
@@ -588,6 +594,45 @@ function initializeDbCache(character: Character, db: IDatabaseCacheAdapter) {
588594
return cache;
589595
}
590596

597+
function initializeCache(
598+
cacheStore: string,
599+
character: Character,
600+
baseDir?: string,
601+
db?: IDatabaseCacheAdapter
602+
) {
603+
switch (cacheStore) {
604+
case CacheStore.REDIS:
605+
if (process.env.REDIS_URL) {
606+
elizaLogger.info("Connecting to Redis...");
607+
const redisClient = new RedisClient(process.env.REDIS_URL);
608+
return new CacheManager(
609+
new DbCacheAdapter(redisClient, character.id) // Using DbCacheAdapter since RedisClient also implements IDatabaseCacheAdapter
610+
);
611+
} else {
612+
throw new Error("REDIS_URL environment variable is not set.");
613+
}
614+
615+
case CacheStore.DATABASE:
616+
if (db) {
617+
elizaLogger.info("Using Database Cache...");
618+
return initializeDbCache(character, db);
619+
} else {
620+
throw new Error(
621+
"Database adapter is not provided for CacheStore.Database."
622+
);
623+
}
624+
625+
case CacheStore.FILESYSTEM:
626+
elizaLogger.info("Using File System Cache...");
627+
return initializeFsCache(baseDir, character);
628+
629+
default:
630+
throw new Error(
631+
`Invalid cache store: ${cacheStore} or required configuration missing.`
632+
);
633+
}
634+
}
635+
591636
async function startAgent(
592637
character: Character,
593638
directClient: DirectClient
@@ -609,7 +654,12 @@ async function startAgent(
609654

610655
await db.init();
611656

612-
const cache = initializeDbCache(character, db);
657+
const cache = initializeCache(
658+
process.env.CACHE_STORE,
659+
character,
660+
"",
661+
db
662+
); // "" should be replaced with dir for file system caching. THOUGHTS: might probably make this into an env
613663
const runtime: AgentRuntime = await createAgent(
614664
character,
615665
db,

client/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "eliza-client",
33
"private": true,
4-
"version": "0.1.6-alpha.4",
4+
"version": "0.1.6",
55
"type": "module",
66
"scripts": {
77
"dev": "vite",

docs/README.md

-1
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,6 @@ TWITTER_DRY_RUN=false
102102
TWITTER_USERNAME= # Account username
103103
TWITTER_PASSWORD= # Account password
104104
TWITTER_EMAIL= # Account email
105-
TWITTER_COOKIES= # Account cookies
106105
107106
X_SERVER_URL=
108107
XAI_API_KEY=

docs/README_CN.md

-1
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,6 @@ TWITTER_DRY_RUN=false
9494
TWITTER_USERNAME= # Account username
9595
TWITTER_PASSWORD= # Account password
9696
TWITTER_EMAIL= # Account email
97-
TWITTER_COOKIES= # Account cookies
9897
9998
X_SERVER_URL=
10099
XAI_API_KEY=

0 commit comments

Comments
 (0)