chore: migrate services to integration folder

This commit is contained in:
RainbowBird
2026-08-02 20:12:13 +08:00
parent 4ccde2c96e
commit d5a241b10e
344 changed files with 62 additions and 58 deletions
+3 -3
View File
@@ -211,7 +211,7 @@ pnpm dev:docs
A Postgres database is required.
```shell
cd services/telegram-bot
cd integrations/telegram-bot
docker compose up -d
```
@@ -247,7 +247,7 @@ pnpm -F @proj-airi/telegram-bot start
### Discord bot integration
```shell
cd services/discord-bot
cd integrations/discord-bot
```
Configure `.env`
@@ -275,7 +275,7 @@ pnpm -F @proj-airi/discord-bot start
### Minecraft agent
```shell
cd services/minecraft
cd integrations/minecraft
```
Start a Minecraft client, export your world with desired port, and fill-in the port number in `.env.local`.
+1 -1
View File
@@ -25,7 +25,7 @@
"runtimeExecutable": "pnpm",
"runtimeArgs": ["-F", "@proj-airi/minecraft-bot", "exec", "tsx"],
"args": ["--env-file=.env", "--env-file-if-exists=.env.local", "src/main.ts"],
"envFile": "${workspaceFolder}/services/minecraft/.env",
"envFile": "${workspaceFolder}/integrations/minecraft/.env",
// Open terminal when debugging starts (Optional)
// Useful to see console.logs
// "console": "integratedTerminal",
@@ -56,7 +56,7 @@ Such beautiful, and empowers me to continue to improve her.
### Memory system
I was working on the refactoring over
[`telegram-bot`](https://github.com/moeru-ai/airi/tree/main/services/telegram-bot),
[`telegram-bot`](https://github.com/moeru-ai/airi/tree/main/integrations/telegram-bot),
for the upcoming memory update for Project AIRI. Which we were planning to implement
for months.
@@ -6,7 +6,7 @@ description: Contribute to Project AIRI
### Discord bot integration
```shell
cd services/discord-bot
cd integrations/discord-bot
```
Configure `.env`
@@ -6,7 +6,7 @@ description: Contribute to Project AIRI
### Minecraft agent
```shell
cd services/minecraft
cd integrations/minecraft
```
Start a Minecraft client, export your world with desired port, and fill-in the port number in `.env.local`.
@@ -6,7 +6,7 @@ description: Contribute to Project AIRI
### Satori Bot
```shell
cd services/satori-bot
cd integrations/satori-bot
```
Configure the `.env` file:
@@ -8,7 +8,7 @@ description: Contribute to Project AIRI
A Postgres database is required.
```shell
cd services/telegram-bot
cd integrations/telegram-bot
docker compose up -d
```
@@ -45,7 +45,7 @@ import ReLUStickerWow from '../../../en/blog/DevLog-2025.04.06/assets/relu-stick
### 記憶システム
最近、数ヶ月準備してきた Project AIRI の「記憶アップデート」に備えて、[`telegram-bot`](https://github.com/moeru-ai/airi/tree/main/services/telegram-bot) をリファクタリングしています。
最近、数ヶ月準備してきた Project AIRI の「記憶アップデート」に備えて、[`telegram-bot`](https://github.com/moeru-ai/airi/tree/main/integrations/telegram-bot) をリファクタリングしています。
実装後の記憶システムを、現在最も先進的で強力かつ堅牢なものにする予定であり、その思想の多くは現実世界の人間の記憶システムから深くインスピレーションを得ています。
@@ -6,7 +6,7 @@ description: Project AIRI への貢献
### Discord bot 統合
```shell
cd services/discord-bot
cd integrations/discord-bot
```
`.env` の設定
@@ -6,7 +6,7 @@ description: Project AIRI への貢献
### Minecraft エージェント
```shell
cd services/minecraft
cd integrations/minecraft
```
Minecraft クライアントを起動し、希望のポートでワールドを公開し、そのポート番号を `.env.local` に記入します。
@@ -6,7 +6,7 @@ description: Project AIRI への貢献
### Satori Bot / ボット
```shell
cd services/satori-bot
cd integrations/satori-bot
```
`.env` ファイルの設定:
@@ -8,7 +8,7 @@ description: Project AIRI への貢献
Postgres データベースが必要です。
```shell
cd services/telegram-bot
cd integrations/telegram-bot
docker compose up -d
```
@@ -56,7 +56,7 @@ import ReLUStickerWow from '../../../en/blog/DevLog-2025.04.06/assets/relu-stick
### 기억 시스템
Project AIRI 의 다가오는 기억 업데이트를 위해
[`telegram-bot`](https://github.com/moeru-ai/airi/tree/main/services/telegram-bot) 리팩터링 작업을
[`telegram-bot`](https://github.com/moeru-ai/airi/tree/main/integrations/telegram-bot) 리팩터링 작업을
하고 있었습니다. 몇 달 전부터 구현을 계획해 온 것입니다.
저희는 기억 시스템을 가장 진보되고 견고하며 신뢰할 수 있게 만들 계획이며, 인간 뇌의 기억 작동
@@ -6,7 +6,7 @@ description: Project AIRI 에 기여하기
### Discord 봇 연동
```shell
cd services/discord-bot
cd integrations/discord-bot
```
`.env` 설정하기
@@ -6,7 +6,7 @@ description: Project AIRI 에 기여하기
### Minecraft 에이전트
```shell
cd services/minecraft
cd integrations/minecraft
```
Minecraft 클라이언트를 실행하고 원하는 포트로 월드를 개방한 뒤, 그 포트 번호를 `.env.local` 에 입력하세요.
@@ -6,7 +6,7 @@ description: Project AIRI 에 기여하기
### Satori 봇
```shell
cd services/satori-bot
cd integrations/satori-bot
```
`.env` 파일 설정하기:
@@ -8,7 +8,7 @@ description: Project AIRI 에 기여하기
Postgres 데이터베이스가 필요합니다.
```shell
cd services/telegram-bot
cd integrations/telegram-bot
docker compose up -d
```
@@ -45,7 +45,7 @@ import ReLUStickerWow from './assets/relu-sticker-wow.avif'
### 记忆系统
最近正在重构 [`telegram-bot`](https://github.com/moeru-ai/airi/tree/main/services/telegram-bot) 以为已经准备了数月的 Project AIRI 即将到来的「记忆更新」作准备。
最近正在重构 [`telegram-bot`](https://github.com/moeru-ai/airi/tree/main/integrations/telegram-bot) 以为已经准备了数月的 Project AIRI 即将到来的「记忆更新」作准备。
我们计划使实现后的记忆系统成为当下最先进、最强大、最健壮的系统,其中很多的思想都深受真实世界中的人类记忆系统的启发。
@@ -19,10 +19,10 @@ Discord Bot Token、Client ID 和模型 API Key 只应保存在本地 **.env.loc
## 配置
~~~bash
cp services/discord-bot/.env services/discord-bot/.env.local
cp integrations/discord-bot/.env integrations/discord-bot/.env.local
~~~
编辑 **services/discord-bot/.env.local**,填写 **DISCORD_TOKEN**、**DISCORD_BOT_CLIENT_ID**、聊天模型与语音服务配置。Discord Token 丢失或泄露时,应立即在开发者控制台重置。
编辑 **integrations/discord-bot/.env.local**,填写 **DISCORD_TOKEN**、**DISCORD_BOT_CLIENT_ID**、聊天模型与语音服务配置。Discord Token 丢失或泄露时,应立即在开发者控制台重置。
## 启动
@@ -18,10 +18,10 @@ API Key、服务地址和 Minecraft 服务器凭据只应保存在本地 **.env.
## 配置
~~~bash
cp services/minecraft/.env services/minecraft/.env.local
cp integrations/minecraft/.env integrations/minecraft/.env.local
~~~
编辑 **services/minecraft/.env.local**,填写 Minecraft 服务器、AIRI 与模型服务所需的配置。
编辑 **integrations/minecraft/.env.local**,填写 Minecraft 服务器、AIRI 与模型服务所需的配置。
## 启动
@@ -18,10 +18,10 @@ Satori Token、消息平台凭据和模型 API Key 只应保存在本地 **.env.
## 配置
~~~bash
cp services/satori-bot/.env services/satori-bot/.env.local
cp integrations/satori-bot/.env integrations/satori-bot/.env.local
~~~
编辑 **services/satori-bot/.env.local**,填写 **SATORI_WS_URL**、**SATORI_API_BASE_URL**、可选的 **SATORI_TOKEN**,以及 LLM 的地址、密钥和模型。
编辑 **integrations/satori-bot/.env.local**,填写 **SATORI_WS_URL**、**SATORI_API_BASE_URL**、可选的 **SATORI_TOKEN**,以及 LLM 的地址、密钥和模型。
## 启动
@@ -19,15 +19,15 @@ Telegram Bot Token、数据库连接和模型 API Key 只应保存在本地 **.e
## 配置
~~~bash
cp services/telegram-bot/.env services/telegram-bot/.env.local
cp integrations/telegram-bot/.env integrations/telegram-bot/.env.local
~~~
编辑 **services/telegram-bot/.env.local**,填写 **TELEGRAM_BOT_TOKEN**、数据库连接、聊天模型与嵌入模型配置。
编辑 **integrations/telegram-bot/.env.local**,填写 **TELEGRAM_BOT_TOKEN**、数据库连接、聊天模型与嵌入模型配置。
## 初始化数据库
~~~bash
cd services/telegram-bot
cd integrations/telegram-bot
docker compose up -d
cd ../..
pnpm -F @proj-airi/telegram-bot db:push
+1 -1
View File
@@ -110,7 +110,7 @@ AIRI 的主技术栈是 Vue 3、TypeScript、Vite、Pinia、VueUse、UnoCSS 和
- `packages/stage-ui`:网页端、桌面端和移动端共享的核心业务组件、设置页、stores 与 composables
- `packages/stage-ui-three``packages/stage-ui-live2d`3D / Live2D 舞台相关能力;
- `packages/server-runtime``packages/server-sdk``packages/server-shared`:服务通道和外部智能体连接;
- `services/discord-bot``services/telegram-bot``services/minecraft`:需要源码配置运行的服务侧实验模块
- `integrations/discord-bot``integrations/telegram-bot``integrations/minecraft`:需要源码配置运行的外部平台集成
如果你想贡献代码,可以从[开发者指南](../contributing/)开始;如果你想改进界面,请先阅读[设计指南](../contributing/design-guidelines/resources)。
@@ -27,7 +27,7 @@ for newly created bots, click "Reset Token" to generate a new token, and copy th
Create a `.env.local` file:
```shell
cd services/discord-bot
cd integrations/discord-bot
cp .env .env.local
```
@@ -12,7 +12,7 @@
"repository": {
"type": "git",
"url": "https://github.com/moeru-ai/airi.git",
"directory": "services/discord-bot"
"directory": "integrations/discord-bot"
},
"scripts": {
"start": "tsx --env-file=.env --env-file-if-exists=.env.local src/index.ts",
@@ -27,10 +27,10 @@ Treat this service as a local-development and trusted-server tool only.
2. Copy the template:
```bash
cp services/minecraft/.env services/minecraft/.env.local
cp integrations/minecraft/.env integrations/minecraft/.env.local
```
3. Edit `services/minecraft/.env.local`.
3. Edit `integrations/minecraft/.env.local`.
4. Start the service:
@@ -38,7 +38,7 @@ Treat this service as a local-development and trusted-server tool only.
pnpm -F @proj-airi/minecraft-bot dev
```
Or, from `services/minecraft/`:
Or, from `integrations/minecraft/`:
```bash
pnpm dev
@@ -11,7 +11,7 @@ Use this skill to run the local bot and interact with its MCP debug interface sa
## Quick Start Workflow
1. Run `pnpm dev` from `/path/to/project/root/services/minecraft` and keep it running.
1. Run `pnpm dev` from `/path/to/project/root/integrations/minecraft` and keep it running.
2. Wait for `MCP REPL server running at http://localhost:3001` in logs.
3. Connect MCP client to `http://localhost:3001/sse`.
4. Verify readiness with a read-only call:
@@ -1,6 +1,6 @@
# Minecraft Debug MCP Surface
Implementation source: `/path/to/project/root/services/minecraft/src/debug/mcp-repl-server.ts`.
Implementation source: `/path/to/project/root/integrations/minecraft/src/debug/mcp-repl-server.ts`.
## Endpoint
@@ -9,7 +9,7 @@ Implementation source: `/path/to/project/root/services/minecraft/src/debug/mcp-r
- SSE fallback endpoint: `GET /sse` + `POST /messages`
The bot starts this server during normal runtime from:
- `/path/to/project/root/services/minecraft/src/cognitive/index.ts`
- `/path/to/project/root/integrations/minecraft/src/cognitive/index.ts`
## Resources

Before

Width:  |  Height:  |  Size: 41 KiB

After

Width:  |  Height:  |  Size: 41 KiB

@@ -39,7 +39,7 @@ describe('minecraftContextService master identity', () => {
expect(update.text).toContain('Master (your owner) in-game username: dssadg')
// The owner identity rides only in the human-readable status text (for the bot's own brain). It
// must NOT leak as a machine-readable `master:` hint — that was a desktop-store coupling point,
// removed in the services/minecraft neutral restore. Desktop "主人" binding is reintroduced via
// removed in the neutral Minecraft integration restore. Desktop "主人" binding is reintroduced via
// the Minecraft adapter, not baked into the bot service.
expect(update.hints.some((hint: string) => hint.startsWith('master:'))).toBe(false)
service.destroy()

Some files were not shown because too many files have changed in this diff Show More