Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

AITuber OnAir Toolkit

License

NotificationsYou must be signed in to change notification settings

shinshin86/aituber-onair

Repository files navigation

CIAsk DeepWiki

AITuber OnAir Toolkit - logo

日本語版はこちら

Welcome to theAITuber OnAir monorepo!
This repository open-sources the AITuber streaming processes used inAITuber OnAir, a web application for AITuber/AIVTuber streaming.

It contains various packages and tools for AI-powered chat, TTS, virtual streaming, and related features. You can also run asimple chat app using these systems on your local PC or self-host it.

AITuber OnAir Demo(This is the AITuber OnAir interface)

Currently, the primary packages available are:

  • @aituber-onair/coreA TypeScript library for generating text and audio responses in AI Tuber streaming scenarios. It provides seamless integration with various AI and speech APIs, as well as memory and conversation context management.

    npm install @aituber-onair/core
  • @aituber-onair/voiceAn independent voice synthesis library supporting multiple TTS engines (VOICEVOX, VoicePeak, OpenAI TTS, NijiVoice, MiniMax, AIVIS Speech, etc.). Can be used standalone or integrated with the core package for full AITuber functionality.

    npm install @aituber-onair/voice
  • @aituber-onair/manneriA conversation pattern detection library that identifies repetitive dialogue patterns and provides topic diversification prompts. Features simple configuration with customizable intervention messages for maintaining engaging conversations.

    npm install @aituber-onair/manneri
  • @aituber-onair/bushitsu-clientWebSocket client library for chat functionality with React hooks support. Provides WebSocket client and React hooks for real-time chat communication with auto-reconnection, rate limiting, mention support, and voice synthesis integration. Works in both browser and Node.js environments.

    npm install @aituber-onair/bushitsu-client
  • @aituber-onair/kizunaSophisticated bond system (絆 - "Kizuna") for managing user-AI character relationships. Features points-based engagement system with customizable rules, achievements, emotion-based bonuses, level progression, and persistent storage. Supports YouTube, Twitch, and WebSocket platforms.

    npm install @aituber-onair/kizuna
  • @aituber-onair/chatChat and LLM API integration library for AITuber OnAir. Provides a unified interface for interacting with various AI chat providers including OpenAI, Claude (Anthropic), and Google Gemini. Features streaming responses, tool/function calling, vision support, and emotion detection.

    npm install @aituber-onair/chat

Getting Started

  1. Clone the repository

    git clone https://github.com/shinshin86/aituber-onair.gitcd aituber-onair
  2. Install dependencies
    This monorepo usesnpm workspaces. Simply run:

    npm install
  3. Build all packages

    npm run build
    • This runs the build script for each package in thepackages/ directory.
  4. Test all packages

    npm runtest
    • Runs the test suite for each package.
  5. Format all packages

    npm run fmt
    • Runs the format for each package.

Project Structure

aituber-onair/├── packages/│   ├── core/│   │   ├── src/│   │   ├── test/│   │   └── package.json│   ├── voice/│   │   ├── src/│   │   ├── test/│   │   └── package.json│   ├── chat/│   │   ├── src/│   │   ├── test/│   │   └── package.json│   ├── manneri/│   │   ├── src/│   │   ├── test/│   │   └── package.json│   ├── bushitsu-client/│   │   ├── src/│   │   ├── test/│   │   └── package.json│   └── kizuna/│       ├── src/│       ├── tests/│       └── package.json├── package.json├── README.md└── ...
  • packages/core: The main library (@aituber-onair/core) providing AITuber core functionality.
  • packages/voice: The voice synthesis library (@aituber-onair/voice) supporting multiple TTS engines.
  • packages/chat: The chat and LLM API integration library (@aituber-onair/chat) for AI provider interactions.
  • packages/manneri: The conversation pattern detection library (@aituber-onair/manneri) for identifying repetitive dialogue patterns.
  • packages/bushitsu-client: The WebSocket client library (@aituber-onair/bushitsu-client) for chat functionality with React hooks support.
  • packages/kizuna: The user-AI relationship management library (@aituber-onair/kizuna) for engagement tracking.

Release Process

This project usesChangesets for version management and automated releases.

Creating a Release

Automated Release (Recommended)

  1. Create a changeset for your changes

    npm run changeset
    • Select the packages that were modified
    • Choose the appropriate version bump (patch/minor/major)
    • Write a clear description of the changes
  2. Commit the changeset file

    git add .changeset/git commit -m"Add changeset for [your feature]"
  3. Push to GitHub and create a PR

    • After merging to main, the GitHub Action will automatically create a "Version Packages" PR
    • This PR will include all pending changesets
  4. Merge the Version PR

    • Review and merge the "Version Packages" PR
    • This will automatically:
      • Update package versions
      • Update CHANGELOG.md files
      • Create git tags
      • Publish packages to npm

Manual Release (if needed)

For a complete manual release workflow:

Option 1: Using Changesets

  1. Create changeset for your changes

    npm run changeset
  2. Update package versions

    npm run changeset:version
  3. Release (build, test, and publish)

    npm run release

Option 2: Manual Version ManagementIf changeset interactive mode fails:

  1. Update CHANGELOG.md: Add entry topackages/[package]/CHANGELOG.md

    ##0.x.x###Patch Changes- Your change description here
  2. Update package.json: Increment version inpackages/[package]/package.json

  3. Commit changes: Commit both CHANGELOG.md and package.json updates

  4. Build and test:npm run build && npm run test

  5. Publish:npm run changeset:publish orcd packages/[package] && npm publish

Alternative individual operations:

# Check what would be publishednpm run changeset:publish -- --dry-run# Manually publish packages (after changeset:version)npm run changeset:publish

Note:npm run release executesbuild → test → publish in sequence. If any step fails, the process stops and packages won't be published.

License

This project is open-sourced under theMIT License.

Special Thanks

This project is based onthe work referenced below. Without the contributions of these pioneers, I would not have been able to create it.

About

AITuber OnAir Toolkit

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors3

  •  
  •  
  •  

[8]ページ先頭

©2009-2025 Movatter.jp