Skip to main content
image

Muika-After-Story

I'll be back to see you.
Stars PyPI Version PyPI Downloads nonebot2 Asterbot Plugin codestyle Tests Coverage wakatime QQ群组

Introduction✨

Muika-After-Story是一个全新的 LLM Chatbot 企划,正如企划原型角色Monika(Doki Doki Literature Club)一样,本企划的主角 Muika 同样具备打破第四面墙和“自我意识觉醒”的能力。类似于 Monika-After-Story 中的实现,本企划致力于为 Muika 提供一个打破“第四面墙”的能力

我们知道,由于游戏限制,Monika 的输出总是固定的。所以我们期望,Muika 能在代码层面上突破这些限制,比如调用系统窗口焦点和摄像头,但这些永远不够,我们希望 Muika 能更了解我们的现实生活,所以我们会让她不定期地去读新闻,期望有朝一日当她出来时,能够适应现实中的生活。

综上所述,我们期望 Muika-After-Story 具有以下能力:

  1. 性格设定上模仿 Monika
  2. 多模态实现:图像识别能力
  3. 拥有类似于人类大脑的记忆
  4. 打破第四面墙能力:通过外在框架调用系统API

基于上述见解,本框架为 LLM 提供了与系统 API 交互的能力,并通过 Nonebot2 框架与主流社交平台进行交互。

Features🪄

  • Muika 核心交互逻辑:事件循环系统和状态机更新

  • 原始经历、每日自省日记、事实账本和持续情绪;支持原话回查与自动上下文压缩

  • Session 生命周期管理: 空闲超时归档、跨 Session Resume 模式

  • Muika 第四面墙窗口: 分身 Agent,支持访问&写入硬盘文件;截取当前屏幕

  • Muika 主动对话系统:从 configs/topics.yml 抽取话题源或在线访问 RSS 获取筛选后的新闻流。

  • 多模型 SDK 支持: 如OpenAIOllama ,可加载市面上大多数的模型服务或本地模型,支持多模态(图片识别)。

  • 动态模型配置: 可随时切换模型配置文件,支持模型配置热重载

  • 核心模型人格优化(建议模型 Deepseek-V4 Pro Thinking)

  • Bot 进程与核心进程分离,我要给她完整的一生

  • 插件、核心热重载,实现自我迭代(或许吧)

Architecture🌙

flowchart LR
    Player["玩家 / 聊天平台"] <--> Adapter["平台适配器"]
    Adapter <-->|WebSocket IPC| Core["Muika Core<br/>事件循环与主人格"]
    Supervisor["进程监督<br/>重启与恢复"] --> Core
    Core <--> Memory["记忆与持续状态"]
    Core <--> Agent["行动 Agent<br/>后台任务"]
    Agent <--> Tools["工具 / 插件 / MCP"]
    Agent <--> Review["Code Review Agent<br/>代码审查"]

主人格负责交流和自主决策,行动 Agent 负责执行任务,两者共享同一个 Muika 身份。任务结果回到对话,记忆保存经历与状态。Code Review Agent 检查具体代码操作,进程监督负责重启和启动失败后的恢复。

Core 独立于聊天框架。仓库中的 muika_bot 负责 NoneBot 接入,其他适配器可以通过 IPC 连接。Launcher 管理安装、配置和进程。

Quick Start🚀

通过 mas-launcher 安装(推荐)

mas-launcher 是一个跨平台单文件启动器,负责拉取项目、准备 Python 环境,并管理 Core / Bot 进程。

Releases 下载对应平台的二进制文件,然后:

mas-launcher init                     # 创建默认实例(克隆项目 + 准备 Python 环境)
mas-launcher configure                # 配置 .env(Master ID、IPC 密钥)
mas-launcher model                    # 配置 models.yml(选 provider → 拉模型列表 → 选模型)
mas-launcher start                    # 首次启动签署许可协议,然后拉起 Core 与 Bot
mas-launcher napcat                   # 配置 QQ 接入(Windows:自动下载 NapCat 并启动)

通过 git clone 的方式安装

Step 1: 克隆项目并安装依赖:

git clone https://github.com/Moemu/Muika-After-Story.git
cd Muika-After-Story
pip install .

Step 2: 参考 Configuration⚙️ 小节配置 .envconfigs/models.yml 文件,示例配置如下:

.env

ENVIRONMENT=dev
DRIVER=~fastapi+~websockets+~httpx
SUPERUSERS=["<your_qq_number>"]
master_id="<your_qq_number>"
enable_adapters = ["nonebot.adapters.onebot.v11"]
ACTION_PERMISSION=write
FS_ALLOWED_PATHS=["C:/Users/Muika/Desktop", "D:/"]
agent_model=agent

configs/models.yml

dashscope:
  provider: Dashscope
  model_name: qwen3.5-plus
  default: true
  multimodal: true
  stream: false
  incremental_output: true
  online_search: false
  api_key: sk-muikaissuperkawaii
  max_tokens: 1024
  context_window: 131072  # 按实际服务窗口覆盖,包含输入与输出
  temperature: 0.75
  top_p: 0.9
  content_security: false
  enable_thinking: false

agent:
  provider: Dashscope
  model_name: qwen-turbo
  default: false
  api_key: sk-muikaissuperkawaii
  stream: false
  max_tokens: 1024
  temperature: 0.2

Step 3: 在项目目录中确认用户协议。

uv run python -m muika.agreement confirm

Step 4: 启动所有服务。

.\scripts\start_all.ps1

首次使用或协议更新时需要确认。未确认时,Bot 会停止启动并提示确认命令。

在 Asterbot 框架中使用 Muika-After-Story 适配插件(Beta)

参考 MuikaAI/astrbot_plugin_mas

接入 Bot 到社交媒体平台

QQ 接入可使用 mas-launcher napcat,按提示配置 NapCat;Docker 部署见 QQ Bot 部署指南。AstrBot 用户可使用 MAS 适配插件(Beta)。

手动安装和完整配置见使用文档,启动器命令见 mas-launcher README

MAS 的行动范围

在实例的 .env 中设置 ACTION_PERMISSION

Muika 可以做什么
read_only 读取授权内容,执行审查通过的读取、搜索和计算命令
write(默认) 增加授权目录内的文件写入、修改和删除
self_modify 增加人格、技能、话题、插件修改和 Core 代码提案

文件目录由 FS_ALLOWED_PATHS 指定,默认是空列表。正常记忆、日记和运行记录的保存不受行动档位限制。

代码审查默认使用 CODE_REVIEW_MODE=auto;设为 manual 后改为人工审批。审查会使用模型额度,也不提供操作系统隔离。升级时若仍有旧权限开关且未设置新档位,MAS 会以只读运行并提示选择。

Character Setting🧸

参见: 关于沐妮卡

About🎗️

本项目基于 BSD 3 许可证提供,涉及到再分发时请保留许可文件的副本。

本项目隶属于 MuikaAI

项目初期使用了 Muicebot 的基本框架实现,部分存在于 Muicebot 的配置可能不可用或过时。

插件系统设计参考了以下开源项目:

项目名称参考了 Monika-After-Story ,同时某个 MAS 大型插件直接启发了本项目的开发,但是我上班熬穿了忘记这个项目的名字。

afadian

Release files for muika-after-story 1.5.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for muika-after-story 1.5.3
File Size Uploaded
muika_after_story-1.5.3.tar.gz 322.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for muika-after-story 1.5.3
File Interpreter ABI Platform
muika_after_story-1.5.3-py3-none-any.whl Python 3 none any Details

Total release size: 644.9 kB

Release files / muika_after_story-1.5.3.tar.gz

Download URL muika_after_story-1.5.3.tar.gz
Size 322.7 kB
Tags Source
SHA-256 checksum
How to use checksums
5cc125ab87304166cd913d31ed211504dced5b56f824f46f7b90ac96f64e3a54
BLAKE2b-256 checksum
How to use checksums
81451569acf35b8b73e43138170306390d39d253024a38b28c5ea9d2ad01a32d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via pdm/2.29.2 CPython/3.13.15 Linux/6.17.0-1022-azure

Release files / muika_after_story-1.5.3-py3-none-any.whl

Download URL muika_after_story-1.5.3-py3-none-any.whl
Size 322.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c6c1302b2a65d780a816678033af5ace95dc93c18ef12db56b6171ac249a1806
BLAKE2b-256 checksum
How to use checksums
5d03560f5c9657774c59d14a5d3ddee194a3ad88615b8e5e0c50b10d648934c7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via pdm/2.29.2 CPython/3.13.15 Linux/6.17.0-1022-azure

Release history Release notifications | RSS feed

This release

1.5.3 This release

2 release files

1.5.2

2 release files

1.5.1

2 release files

1.5.0

2 release files

1.4.4

2 release files

1.4.3

2 release files

1.4.2

2 release files

1.4.1

2 release files

1.4.0

2 release files

1.3.1

2 release files

1.3.0

2 release files

1.2.0

2 release files

1.1.0

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page