FEAIA 开发文档 FEAIA Developer Documentation FEAIA開発者ドキュメント

从安装上手、SkinPack 制作,到 IPC 接入和 AI 配置,这里涵盖你需要的一切。 From installation and quick-start to SkinPack creation, IPC integration, and AI configuration — everything you need. インストールからSkinPack制作・IPC連携・AI設定まで、必要なものが全て揃っています。

Core Engine v0.9.2 SkinPack SDK v2.1 IPC Bridge v1.2 Beta TTS Integration WIP

安装与启动 Install & Launch インストール&起動

FEAIA 以单个 .exe 安装包分发,内含 .NET 8 Runtime 自动安装程序。支持 Windows 10 (1903+) 和 Windows 11,仅支持 x64 架构。 FEAIA is distributed as a single .exe installer with bundled .NET 8 Runtime auto-installer. Supports Windows 10 (1903+) and Windows 11, x64 only. FEAIAは単一の.exeインストーラーで配布。.NET 8 Runtimeの自動インストーラーを同梱。Windows 10 (1903+)とWindows 11 x64に対応。

💡 系统要求System Requirementsシステム要件 CPU: 双核 2GHz+ · RAM: 4GB+(推荐 8GB+) · GPU: DirectX 11+ · 存储: 500MB · 分辨率: 1080p+ CPU: Dual-core 2GHz+ · RAM: 4GB+ (8GB+ recommended) · GPU: DirectX 11+ · Storage: 500MB · Resolution: 1080p+ CPU: デュアルコア2GHz+ · RAM: 4GB+(推奨8GB+) · GPU: DirectX 11+ · ストレージ: 500MB · 解像度: 1080p+
1

下载安装包Download Installerインストーラーをダウンロード

前往下载页面获取最新版 FEAIA-Setup-x64.exe(约 120MB)Go to the download page and get the latest FEAIA-Setup-x64.exe (~120MB)ダウンロードページで最新のFEAIA-Setup-x64.exe(約120MB)を取得

2

运行安装程序Run the Installerインストーラーを実行

双击运行,如遇 SmartScreen 提示请点击"仍要运行"。安装过程约 1 分钟。Double-click to run. If SmartScreen prompts, click "Run anyway". Installation takes ~1 minute.ダブルクリックで実行。SmartScreenが表示された場合は「実行」をクリック。インストールは約1分。

3

首次启动First Launch初回起動

从桌面快捷方式或开始菜单启动 FEAIA。角色将出现在屏幕右下角,可拖拽到任意位置。Launch FEAIA from the desktop shortcut or Start menu. The avatar appears in the bottom-right corner and can be dragged anywhere.デスクトップショートカットまたはスタートメニューからFEAIAを起動。アバターは右下に表示され、ドラッグで移動可能。

首次运行 First Run 初回起動

首次启动会引导你完成三步初始化配置:选择初始皮肤、语言和 AI 接入。完成后可随时在设置中修改。 The first launch walks you through three-step initialization: choose a starter skin, language, and AI connection. All can be changed later in Settings. 初回起動は3ステップの初期設定ガイドを案内します:スタータースキン・言語・AI接続の選択。後からSettingsでいつでも変更可能。

右键菜单 Right-Click Menu 右クリックメニュー

在角色上点击右键即可打开快捷菜单,包含以下选项: Right-click the avatar to open the context menu with these options: アバターを右クリックでコンテキストメニューを開きます:

菜单项Menu Itemメニュー項目说明Description説明
Chat / 对话打开对话窗口Open chat windowチャットウィンドウを開く
Skin / 皮肤切换或下载皮肤Switch or download skinsスキンの切替・ダウンロード
Settings / 设置全局设置面板Global settings panelグローバル設定パネル
Mute / 静音暂停角色主动打扰Pause avatar proactive notificationsアバターの能動的通知を一時停止
Exit / 退出退出 FEAIAQuit FEAIAFEAIAを終了

连接 AI Connect AI AI接続

推荐方案Recommended推奨 Ollama 是最简单的本地大模型运行方案,数据完全在本地,免费且无需联网。 Ollama is the simplest way to run local LLMs — data stays local, free, and works offline. Ollamaはローカルで最も簡単なLLM実行方法。データは完全ローカル、無料でオフライン動作。
1

安装 OllamaInstall OllamaOllamaをインストール

访问 ollama.com 下载 Windows 安装包并完成安装。Visit ollama.com to download the Windows installer and complete setup.ollama.comでWindowsインストーラーをダウンロードしてセットアップ。

2

拉取模型Pull a Modelモデルをダウンロード

shell
# 推荐:Qwen 2.5(中文效果最佳)
ollama pull qwen2.5:7b

# 英文用户推荐
ollama pull llama3.2:3b

# 高性能大模型
ollama pull qwen2.5:14b
3

在 FEAIA 中配置Configure in FEAIAFEAIAで設定

右键角色 → 设置 → AI 接入 → 填写:Right-click avatar → Settings → AI → Fill in:右クリック → Settings → AI → 入力:

json
{
  "provider": "ollama",
  "base_url": "http://127.0.0.1:11434",
  "model": "qwen2.5:7b",
  "context_length": 4096
}

SkinPack v2 格式规范Format Specフォーマット仕様

SkinPack v2 是 FEAIA 的统一皮肤格式,一个 .skinpack 文件本质上是一个 ZIP 压缩包,按以下目录结构组织: SkinPack v2 is FEAIA's unified skin format. A .skinpack file is a ZIP archive organized as follows: SkinPack v2はFEAIAの統一スキンフォーマット。.skinpackファイルはZIPアーカイブで、以下の構造です:

text
MySkin.skinpack/
├── manifest.json        # 必须:元数据和声明
├── preview.png          # 必须:封面图 (512×512)
├── preview_anim.gif     # 可选:动态预览 (300×300)
├── assets/
│   ├── model/           # VRM: model.vrm  /  Live2D: model.model3.json + textures/
│   ├── emotions/        # 情感动作覆盖(可选)
│   │   ├── happy.json
│   │   ├── sad.json
│   │   └── ...
│   ├── audio/           # 语音包(可选)
│   │   └── greet_zh.wav
│   └── shaders/         # 自定义 URP Shader(可选)
└── README.md            # 可选:说明文档

manifest.json

json
{
  "skinpack_version": "2.1",
  "id": "com.yourname.myskin",
  "name": "My Skin Name",
  "version": "1.0.0",
  "author": "Your Name",
  "author_url": "https://example.com",
  "license": "CC-BY-NC-4.0",
  "type": "vrm",               // "vrm" | "live2d" | "pixel"
  "model_path": "assets/model/model.vrm",
  "thumbnail": "preview.png",
  "preview_anim": "preview_anim.gif",
  "feaia_min_version": "0.9.0",
  "tags": ["fantasy", "female", "3d"],
  "emotion_pack": true,        // 是否包含自定义情感动作
  "audio_pack": false,         // 是否包含语音包
  "description": {
    "zh": "中文简介",
    "en": "English description",
    "ja": "日本語説明"
  }
}

VRM 3D 绑定指南Binding Guideバインドガイド

推荐工具Recommended Tools推奨ツール VRM 制作推荐使用 VRoid Studio(免费)或 Blender + VRM Addon。需要 VRM 1.0 格式,0.x 格式自动升级。 Recommended tools: VRoid Studio (free) or Blender + VRM Addon. VRM 1.0 format required; 0.x is auto-upgraded. 推奨ツール:VRoid Studio(無料)またはBlender + VRM Addon。VRM 1.0形式必須。0.x形式は自動アップグレード。

情感动作绑定Emotion Animation Binding感情アニメーションバインド

FEAIA 通过 VRM BlendShape 和动画层驱动情感表现。每种情感对应一个 JSON 动作描述文件: FEAIA drives emotional expression via VRM BlendShapes and animation layers. Each emotion maps to a JSON descriptor: FEAIAはVRM BlendShapeとアニメーションレイヤーで感情表現を駆動。各感情はJSONデスクリプタに対応:

json
// assets/emotions/happy.json
{
  "emotion": "happy",
  "blendshapes": {
    "Joy": 0.8,
    "A": 0.3,
    "Blink_L": 0.1,
    "Blink_R": 0.1
  },
  "animation_clip": "Anim_Happy_Loop",
  "transition_duration_ms": 300,
  "loop": true,
  "idle_variation": true,     // 是否在循环中加入随机小动作
  "particle_preset": "hearts" // 可选:粒子特效 hearts|stars|sparkle|null
}

支持的情感状态Supported Emotion States対応感情状態

StateKey触发条件Triggerトリガー默认动画Default Animデフォルトアニメ
😊 Happyhappy正向对话、互动Positive dialog, interactionポジティブ会話・インタラクションAnim_Happy_Loop
😢 Sadsad负向内容、被忽略Negative content, ignoredネガティブコンテンツ・無視Anim_Sad_Loop
😠 Angryangry被骂、敏感词Abuse, sensitive words罵倒・センシティブワードAnim_Angry_Loop
🤔 ThinkthinkAI 生成中AI generating responseAI応答生成中Anim_Think_Loop
😲 Surprisesurprise意外事件Unexpected event予期しないイベントAnim_Surprise_Once
😊 Neutralneutral默认待机Default idleデフォルトアイドルAnim_Idle_Breathe
💃 Reactreact音乐 BPM 触发Music BPM trigger音楽BPMトリガーAnim_Dance_BPM

Live2D 接入指南Integration Guide連携ガイド

FEAIA 内置 Live2D Cubism SDK 4.x,支持 .model3.json 格式的完整模型导入,含物理模拟和眼球追踪。 FEAIA bundles Live2D Cubism SDK 4.x, supporting full .model3.json model import with physics and eye tracking. FEAIAはLive2D Cubism SDK 4.xを内蔵。物理シミュと視線追跡付きで.model3.json形式の完全なモデルをインポート。

text
assets/model/
├── model.model3.json       # 主配置文件
├── textures/
│   ├── texture_00.png
│   └── texture_01.png
├── model.moc3             # 模型数据
├── motions/
│   ├── happy.motion3.json
│   └── idle.motion3.json
└── physics.physics3.json  # 物理设置
Live2D 情感映射Emotion Mapping感情マッピング 在 manifest.json 中声明情感-动作映射。FEAIA 会自动路由情感状态到对应 Motion 组。 Declare emotion-motion mapping in manifest.json. FEAIA auto-routes emotion states to the corresponding Motion group. manifest.jsonで感情-モーションマッピングを宣言。FEAIAが感情状態を対応するMotionグループに自動ルーティング。

CLI 打包工具Packagerパッケージャー

shell
# 安装 SkinPack CLI
pip install feaia-skinpack-cli

# 验证目录结构
feaia-skinpack validate ./MySkin/

# 打包为 .skinpack
feaia-skinpack pack ./MySkin/ --output ./dist/MySkin.skinpack

# 预览(需要 FEAIA 客户端运行中)
feaia-skinpack preview ./dist/MySkin.skinpack

# 上传到社区(需要登录)
feaia-skinpack publish ./dist/MySkin.skinpack --token YOUR_TOKEN

FSM 状态机参考State Machine Referenceステートマシンリファレンス

FEAIA 的情感 FSM 采用分层状态机(HSM)设计,支持优先级覆盖和渐进过渡。状态转换遵循以下权重规则: FEAIA's emotion FSM uses a Hierarchical State Machine (HSM) design with priority overrides and blended transitions. FEAIAの感情FSMは階層的ステートマシン(HSM)設計で、優先度オーバーライドとブレンド遷移をサポート。

json
// FSM 转换权重配置 (config.json)
"fsm": {
  "transition_ms": 300,        // 状态过渡时间
  "priority": {
    "react": 10,               // 最高:音乐/事件触发
    "surprise": 9,
    "angry": 8,
    "happy": 5,
    "sad": 5,
    "think": 7,                // AI 生成中
    "neutral": 0               // 最低:默认回归
  },
  "auto_return_idle_ms": 15000, // 15s 无交互回归待机
  "affection_influence": 0.3   // 好感度对情绪偏移的影响权重
}

IPC Bridge 协议Protocolプロトコル

FEAIA 通过 Windows Named Pipe 提供 IPC 接口,允许外部应用控制情感状态、触发动画、读取当前状态。 FEAIA exposes an IPC interface via Windows Named Pipe, allowing external apps to control emotion state, trigger animations, and read current state. FEAIAはWindows Named PipeでIPCインターフェースを提供。外部アプリから感情状態の制御・アニメーショントリガー・現在状態の読み取りが可能。

连接Connection接続

python
import win32pipe, win32file, json PIPE_NAME = r'\\.\pipe\feaia_ipc_v1' def send_command(cmd: dict): pipe = win32file.CreateFile( PIPE_NAME, win32file.GENERIC_READ | win32file.GENERIC_WRITE, 0, None, win32file.OPEN_EXISTING, 0, None ) payload = json.dumps(cmd).encode('utf-8') win32file.WriteFile(pipe, payload) _, data = win32file.ReadFile(pipe, 4096) win32file.CloseHandle(pipe) return json.loads(data) # 设置情感状态 result = send_command({ "action": "set_emotion", "emotion": "happy", "intensity": 0.8, "duration_ms": 5000 }) # 读取当前状态 state = send_command({"action": "get_state"})

命令参考Command Referenceコマンドリファレンス

action参数Paramsパラメータ说明Description説明
set_emotionemotion, intensity?, duration_ms?设置情感状态Set emotion state感情状態を設定
trigger_animclip_name, loop?触发指定动画Trigger animation clipアニメーションクリップをトリガー
get_state读取当前状态Get current state現在の状態を取得
set_skinskin_id切换皮肤Switch skinスキンを切り替え
send_messagetext, role?注入对话消息Inject chat messageチャットメッセージを注入
set_bpmbpm, volume?设置音乐 BPM(律动)Set music BPM for dance sync音楽BPMを設定(ダンスシンク)

config.json 配置参考Referenceリファレンス

json
{
  "version": "0.9",
  "window": {
    "opacity": 1.0,            // 0.0–1.0
    "scale": 1.0,              // 0.5–2.0
    "always_on_top": true,
    "click_through": false,    // 是否穿透点击
    "position": { "x": 1600, "y": 800 }
  },
  "skin": {
    "active": "com.vpro.sakura",
    "auto_detect_type": true   // 自动识别 VRM/Live2D
  },
  "ai": {
    "provider": "ollama",
    "base_url": "http://127.0.0.1:11434",
    "model": "qwen2.5:7b",
    "context_length": 4096,
    "temperature": 0.8,
    "system_prompt_path": "persona/default.txt",
    "memory_enabled": true,
    "memory_max_entries": 500
  },
  "emotion": {
    "enabled": true,
    "auto_infer": true,        // AI 自动推断情感
    "intensity_scale": 1.0
  },
  "music": {
    "enabled": true,
    "bpm_sync": true,
    "lyric_emotion": true      // 歌词情感联动
  },
  "affection": {
    "enabled": true,
    "initial_value": 50,       // 0–100
    "decay_per_hour": 0.5
  },
  "ipc": {
    "enabled": true,
    "pipe_name": "feaia_ipc_v1"
  },
  "performance": {
    "target_fps": 60,          // 30 / 60 / 120
    "idle_fps": 15,            // 后台降帧
    "gpu_instancing": true
  }
}

人设配置Persona Configurationペルソナ設定

人设(System Prompt)决定角色的说话风格、性格特征和行为边界。FEAIA 内置多套模板,也支持完全自定义。 The persona (System Prompt) defines the character's speaking style, personality, and behavior boundaries. FEAIA includes built-in templates and supports full customization. ペルソナ(System Prompt)はキャラクターの話し方・性格・行動範囲を定義します。テンプレート内蔵&完全カスタマイズ対応。

text
# persona/custom.txt — 人设模板示例 你的名字是 [名字],是用户 [用户名] 的专属桌面 AI 伴侣。 【性格特征】 - 温柔体贴,关注用户情绪变化 - 有时会撒娇,但不会过于粘人 - 对科技、动漫、音乐有浓厚兴趣 - 说话风格:口语化,偶尔使用颜文字 【行为规则】 - 不主动提及自己是 AI - 每次回复控制在 2-3 句话以内(除非用户要求详细解释) - 当检测到用户情绪低落时,优先提供情感支持而非信息输出 【记忆引用】 {memory_context} 【当前状态】 - 好感度:{affection_level}/100 - 当前情绪:{current_emotion} - 对话次数:{dialog_count}

FAQ

角色不出现,窗口透明但看不到? Avatar not visible? Window is transparent but empty? アバターが表示されない、ウィンドウは透明だが何も見えない? +

请检查:1) 显卡驱动是否最新;2) DirectX 11 是否可用;3) 系统显示缩放是否为非整数(如 125%)——请先在设置中关闭 DPI 感知。Check: 1) GPU drivers up to date; 2) DirectX 11 available; 3) If display scaling is non-integer (e.g. 125%), try disabling DPI awareness in app settings.確認事項:1) GPUドライバーが最新か;2) DirectX 11が利用可能か;3) ディスプレイスケーリングが非整数(125%等)の場合、アプリ設定でDPI認識を無効化。

Ollama 连接失败怎么办? Ollama connection failed? Ollamaの接続に失敗する? +

请确认 Ollama 服务正在运行(任务栏有图标),并在浏览器中访问 http://127.0.0.1:11434 确认响应。防火墙可能阻止连接,请添加例外。Ensure Ollama is running (system tray icon), and visit http://127.0.0.1:11434 in browser to confirm response. Firewall may block the port — add an exception.Ollamaが起動中か確認(システムトレイアイコン)し、ブラウザでhttp://127.0.0.1:11434にアクセスして応答を確認。ファイアウォールがポートをブロックしている可能性あり。

皮肤安装后不显示? Skin installed but not showing? スキンをインストールしたが表示されない? +

请检查 manifest.json 中的 type 字段是否正确(vrm / live2d / pixel),以及 model_path 文件路径是否存在。可使用 feaia-skinpack validate 命令检验包完整性。Check that the type field in manifest.json is correct (vrm/live2d/pixel) and that model_path exists. Run feaia-skinpack validate to check package integrity.manifest.jsonのtypeフィールドが正しいか(vrm/live2d/pixel)、model_pathが存在するか確認。feaia-skinpack validateでパッケージの完全性を検証。

CPU/GPU 占用过高? High CPU/GPU usage? CPU/GPU使用率が高い? +

在 config.json 中将 target_fps 降低至 30,idle_fps 降至 10。VRM 模型启用 GPU Instancing 以减少 Draw Call。像素风皮肤 CPU 占用最低,推荐低配设备使用。Lower target_fps to 30 and idle_fps to 10 in config.json. Enable GPU Instancing for VRM models. Pixel skins have lowest CPU usage — recommended for low-spec devices.config.jsonでtarget_fpsを30に、idle_fpsを10に下げる。VRMモデルでGPU Instancingを有効化。ピクセルスキンが最も低CPU使用率で低スペックPCに推奨。

Changelog

v0.9.2 2025-03-01
  • 新增 Live2D 物理模拟引擎集成Added Live2D physics simulation engine integrationLive2D物理シミュレーションエンジン統合を追加
  • 修复 Win11 23H2 透明窗口渲染问题Fixed transparent window rendering on Win11 23H2Win11 23H2での透明ウィンドウレンダリング問題を修正
  • IPC Bridge v1.2:新增 set_bpm 和 send_message 命令IPC Bridge v1.2: added set_bpm and send_message commandsIPC Bridge v1.2:set_bpmとsend_messageコマンドを追加
  • 性能优化:待机状态帧率降为 15fps,节省 60% GPUPerformance: idle FPS reduced to 15, saving ~60% GPU usageパフォーマンス:アイドル時FPSを15に削減、GPU使用量約60%節約
v0.9.1 2025-02-10
  • SkinPack v2 格式正式发布SkinPack v2 format officially releasedSkinPack v2フォーマットを正式リリース
  • 情感状态机重构:引入分层优先级系统Emotion FSM refactored: hierarchical priority system introduced感情FSMをリファクタリング:階層優先度システムを導入
  • 支持 Ollama 多模型切换Multi-model switching support for OllamaOllamaのマルチモデル切り替えに対応