diff --git a/services/minecraft/src/agents/actions.test.ts b/services/minecraft/src/agents/actions.test.ts index ac6d9748a..8dcc217ac 100644 --- a/services/minecraft/src/agents/actions.test.ts +++ b/services/minecraft/src/agents/actions.test.ts @@ -1,5 +1,6 @@ import { messages, system, user } from 'neuri/openai' import { beforeAll, describe, expect, it } from 'vitest' + import { initBot, useBot } from '../composables/bot' import { botConfig, initEnv } from '../composables/config' import { genActionAgentPrompt, genQueryAgentPrompt } from '../prompts/agent' @@ -25,7 +26,6 @@ describe('actions agent', { timeout: 0 }, () => { user('What\'s your status?'), ), async (c) => { const completion = await c.reroute('query', c.messages, { model: 'openai/gpt-4o-mini' }) - console.log(JSON.stringify(completion, null, 2)) return await completion?.firstContent() }) @@ -48,16 +48,11 @@ describe('actions agent', { timeout: 0 }, () => { system(genActionAgentPrompt(bot)), user('goToPlayer: luoling8192'), ), async (c) => { - console.log(JSON.stringify(c, null, 2)) - const completion = await c.reroute('action', c.messages, { model: 'openai/gpt-4o-mini' }) - - console.log(JSON.stringify(completion, null, 2)) - return await completion?.firstContent() }) - console.log(JSON.stringify(text, null, 2)) + expect(text?.toLowerCase()).toContain('goToPlayer') await sleep(10000) resolve() diff --git a/services/minecraft/src/agents/actions.ts b/services/minecraft/src/agents/actions.ts index 709943e93..c40a2b445 100644 --- a/services/minecraft/src/agents/actions.ts +++ b/services/minecraft/src/agents/actions.ts @@ -1,6 +1,8 @@ import type { Action } from '../libs/mineflayer' + import { useLogg } from '@guiiai/logg' import { z } from 'zod' + import * as world from '../composables/world' import * as skills from '../skills' import { collectBlock } from '../skills/actions/collect-block' diff --git a/services/minecraft/src/agents/openai.test.ts b/services/minecraft/src/agents/openai.test.ts index 4f7547eb0..1e66564d1 100644 --- a/services/minecraft/src/agents/openai.test.ts +++ b/services/minecraft/src/agents/openai.test.ts @@ -1,5 +1,6 @@ import { messages, system, user } from 'neuri/openai' import { beforeAll, describe, expect, it } from 'vitest' + import { initBot, useBot } from '../composables/bot' import { botConfig, initEnv } from '../composables/config' import { genSystemBasicPrompt } from '../prompts/agent' diff --git a/services/minecraft/src/agents/openai.ts b/services/minecraft/src/agents/openai.ts index 925848552..5b17f23e9 100644 --- a/services/minecraft/src/agents/openai.ts +++ b/services/minecraft/src/agents/openai.ts @@ -1,7 +1,9 @@ import type { Agent, Neuri } from 'neuri' import type { Mineflayer } from '../libs/mineflayer' + import { useLogg } from '@guiiai/logg' import { agent, neuri } from 'neuri' + import { openaiConfig } from '../composables/config' import { actionsList } from './actions' diff --git a/services/minecraft/src/composables/action.ts b/services/minecraft/src/composables/action.ts index d22b43a8b..74d6a3431 100644 --- a/services/minecraft/src/composables/action.ts +++ b/services/minecraft/src/composables/action.ts @@ -1,4 +1,5 @@ import type { Agent } from './agent' + import { useLogg } from '@guiiai/logg' type Fn = (...args: any[]) => void diff --git a/services/minecraft/src/composables/config.ts b/services/minecraft/src/composables/config.ts index 2cbfd062b..6f3d7b175 100644 --- a/services/minecraft/src/composables/config.ts +++ b/services/minecraft/src/composables/config.ts @@ -1,4 +1,5 @@ import type { BotOptions } from 'mineflayer' + import { env } from 'node:process' import { useLogg } from '@guiiai/logg' diff --git a/services/minecraft/src/composables/conversation.ts b/services/minecraft/src/composables/conversation.ts index 5d61f6590..3a651f243 100644 --- a/services/minecraft/src/composables/conversation.ts +++ b/services/minecraft/src/composables/conversation.ts @@ -1,4 +1,5 @@ import type { Agent } from './agent' + import { useLogg } from '@guiiai/logg' let self_prompter_paused = false diff --git a/services/minecraft/src/composables/world.ts b/services/minecraft/src/composables/world.ts index db4719ca4..fd7e95042 100644 --- a/services/minecraft/src/composables/world.ts +++ b/services/minecraft/src/composables/world.ts @@ -3,7 +3,9 @@ import type { Entity } from 'prismarine-entity' import type { Item } from 'prismarine-item' import type { Vec3 } from 'vec3' import type { Mineflayer } from '../libs/mineflayer' + import pf from 'mineflayer-pathfinder' + import * as mc from '../utils/mcdata' export function getNearestFreeSpace( diff --git a/services/minecraft/src/libs/mineflayer/core.ts b/services/minecraft/src/libs/mineflayer/core.ts index 446ac4782..af50a822e 100644 --- a/services/minecraft/src/libs/mineflayer/core.ts +++ b/services/minecraft/src/libs/mineflayer/core.ts @@ -1,9 +1,11 @@ import type { Bot, BotOptions } from 'mineflayer' import type { MineflayerPlugin } from './plugin' import type { EventHandlers, EventsHandler } from './types' + import { type Logg, useLogg } from '@guiiai/logg' import EventEmitter from 'eventemitter3' import mineflayer from 'mineflayer' + import { parseCommand } from './command' import { Components } from './components' import { Health } from './health' diff --git a/services/minecraft/src/main.ts b/services/minecraft/src/main.ts index 138d1b162..cca879f8c 100644 --- a/services/minecraft/src/main.ts +++ b/services/minecraft/src/main.ts @@ -1,5 +1,4 @@ import process, { exit } from 'node:process' - import { useLogg } from '@guiiai/logg' import { Client } from '@proj-airi/server-sdk' import MineflayerArmorManager from 'mineflayer-armor-manager' diff --git a/services/minecraft/src/mineflayer/echo.ts b/services/minecraft/src/mineflayer/echo.ts index cf03105a7..b4be3dc5f 100644 --- a/services/minecraft/src/mineflayer/echo.ts +++ b/services/minecraft/src/mineflayer/echo.ts @@ -1,6 +1,7 @@ import type { MineflayerPlugin } from '../libs/mineflayer/plugin' import { useLogg } from '@guiiai/logg' + import { formBotChat } from '../libs/mineflayer/message' export function Echo(): MineflayerPlugin { diff --git a/services/minecraft/src/mineflayer/follow.ts b/services/minecraft/src/mineflayer/follow.ts index 7b5c5d8da..851b9bfd7 100644 --- a/services/minecraft/src/mineflayer/follow.ts +++ b/services/minecraft/src/mineflayer/follow.ts @@ -1,4 +1,5 @@ import type { MineflayerPlugin } from '../libs/mineflayer/plugin' + import { useLogg } from '@guiiai/logg' import pathfinderModel from 'mineflayer-pathfinder' diff --git a/services/minecraft/src/mineflayer/llm-agent.ts b/services/minecraft/src/mineflayer/llm-agent.ts index 145e9f8b3..5777e0b80 100644 --- a/services/minecraft/src/mineflayer/llm-agent.ts +++ b/services/minecraft/src/mineflayer/llm-agent.ts @@ -1,6 +1,7 @@ import type { Client } from '@proj-airi/server-sdk' import type { Neuri, NeuriContext } from 'neuri' import type { MineflayerPlugin } from '../libs/mineflayer/plugin' + import { useLogg } from '@guiiai/logg' import { assistant, system, user } from 'neuri/openai' diff --git a/services/minecraft/src/mineflayer/status.ts b/services/minecraft/src/mineflayer/status.ts index 2500835b1..b1401f649 100644 --- a/services/minecraft/src/mineflayer/status.ts +++ b/services/minecraft/src/mineflayer/status.ts @@ -1,4 +1,5 @@ import type { MineflayerPlugin } from '../libs/mineflayer/plugin' + import { useLogg } from '@guiiai/logg' export function Status(): MineflayerPlugin { diff --git a/services/minecraft/src/prompts/agent.ts b/services/minecraft/src/prompts/agent.ts index c27144b18..8e017dfd2 100644 --- a/services/minecraft/src/prompts/agent.ts +++ b/services/minecraft/src/prompts/agent.ts @@ -1,4 +1,5 @@ import type { Mineflayer } from '../libs/mineflayer' + import { listInventory } from '../skills/actions/inventory' export function genSystemBasicPrompt(botName: string): string { diff --git a/services/minecraft/src/skills/actions/collect-block.ts b/services/minecraft/src/skills/actions/collect-block.ts index 35c539ca2..333d91d02 100644 --- a/services/minecraft/src/skills/actions/collect-block.ts +++ b/services/minecraft/src/skills/actions/collect-block.ts @@ -1,7 +1,9 @@ import type { Block } from 'prismarine-block' import type { Mineflayer } from '../../libs/mineflayer' + import { useLogg } from '@guiiai/logg' import pathfinder from 'mineflayer-pathfinder' + import { getNearestBlocks } from '../../composables/world' import { breakBlockAt } from '../blocks' import { ensurePickaxe } from './ensure' diff --git a/services/minecraft/src/skills/actions/ensure.ts b/services/minecraft/src/skills/actions/ensure.ts index dfed7c73b..cf22b9dfc 100644 --- a/services/minecraft/src/skills/actions/ensure.ts +++ b/services/minecraft/src/skills/actions/ensure.ts @@ -1,5 +1,7 @@ import type { Mineflayer } from '../../libs/mineflayer' + import { useLogg } from '@guiiai/logg' + import { getItemId } from '../../utils/mcdata' import { craftRecipe } from '../crafting' import { moveAway } from '../movement' diff --git a/services/minecraft/src/skills/actions/gather-wood.ts b/services/minecraft/src/skills/actions/gather-wood.ts index 678468c16..91479c13a 100644 --- a/services/minecraft/src/skills/actions/gather-wood.ts +++ b/services/minecraft/src/skills/actions/gather-wood.ts @@ -1,5 +1,7 @@ import type { Mineflayer } from '../../libs/mineflayer' + import { useLogg } from '@guiiai/logg' + import { getNearestBlocks } from '../../composables/world' import { sleep } from '../../utils/helper' import { breakBlockAt } from '../blocks' diff --git a/services/minecraft/src/skills/actions/inventory.ts b/services/minecraft/src/skills/actions/inventory.ts index a63d068e2..0fa75ff8a 100644 --- a/services/minecraft/src/skills/actions/inventory.ts +++ b/services/minecraft/src/skills/actions/inventory.ts @@ -2,6 +2,7 @@ import type { Item } from 'prismarine-item' import type { Mineflayer } from '../../libs/mineflayer' import { useLogg } from '@guiiai/logg' + import { getNearestBlock } from '../../composables/world' import { goToPlayer, goToPosition } from '../movement' diff --git a/services/minecraft/src/skills/actions/world-interactions.ts b/services/minecraft/src/skills/actions/world-interactions.ts index c4d1b77b7..fbfb5e163 100644 --- a/services/minecraft/src/skills/actions/world-interactions.ts +++ b/services/minecraft/src/skills/actions/world-interactions.ts @@ -1,9 +1,11 @@ import type { Bot } from 'mineflayer' import type { Block } from 'prismarine-block' import type { Mineflayer } from '../../libs/mineflayer' + import { useLogg } from '@guiiai/logg' import pathfinder from 'mineflayer-pathfinder' import { Vec3 } from 'vec3' + import { sleep } from '../../utils/helper' import { getNearestBlock, makeItem } from '../../utils/mcdata' import { goToPosition } from '../movement' diff --git a/services/minecraft/src/skills/base.ts b/services/minecraft/src/skills/base.ts index 7991de9c6..a2721f1e0 100644 --- a/services/minecraft/src/skills/base.ts +++ b/services/minecraft/src/skills/base.ts @@ -1,4 +1,5 @@ import type { Mineflayer } from '../libs/mineflayer' + import { useLogg } from '@guiiai/logg' const logger = useLogg('skills').useGlobalConfig() diff --git a/services/minecraft/src/skills/blocks.ts b/services/minecraft/src/skills/blocks.ts index 4d9f2b9df..78e6cff87 100644 --- a/services/minecraft/src/skills/blocks.ts +++ b/services/minecraft/src/skills/blocks.ts @@ -3,6 +3,7 @@ import type { BlockFace } from './base' import pathfinderModel, { type SafeBlock } from 'mineflayer-pathfinder' import { Vec3 } from 'vec3' + import { getNearestBlock, getNearestBlocks, getPosition, shouldPlaceTorch } from '../composables/world' import { getBlockId, makeItem } from '../utils/mcdata' import { log } from './base' diff --git a/services/minecraft/src/skills/inventory.ts b/services/minecraft/src/skills/inventory.ts index 4d3623a2d..91c3c9ca1 100644 --- a/services/minecraft/src/skills/inventory.ts +++ b/services/minecraft/src/skills/inventory.ts @@ -1,4 +1,5 @@ import type { Mineflayer } from '../libs/mineflayer' + import { getNearestBlock } from '../composables/world' import { log } from './base' import { goToPlayer, goToPosition } from './movement' diff --git a/services/minecraft/src/skills/movement.ts b/services/minecraft/src/skills/movement.ts index 857c08ab9..a48ae85d9 100644 --- a/services/minecraft/src/skills/movement.ts +++ b/services/minecraft/src/skills/movement.ts @@ -5,6 +5,7 @@ import { useLogg } from '@guiiai/logg' import { randomInt } from 'es-toolkit' import pathfinder from 'mineflayer-pathfinder' import { Vec3 } from 'vec3' + import { getNearestBlock, getNearestEntityWhere } from '../composables/world' import { sleep } from '../utils/helper' import { log } from './base' diff --git a/services/minecraft/src/utils/mcdata.ts b/services/minecraft/src/utils/mcdata.ts index 8dc96307c..21a02e937 100644 --- a/services/minecraft/src/utils/mcdata.ts +++ b/services/minecraft/src/utils/mcdata.ts @@ -2,6 +2,7 @@ import type { Bot } from 'mineflayer' import type { Entity } from 'prismarine-entity' + import minecraftData, { type Biome, type ShapedRecipe,