From f736f3fbc1dfbe2e88be1607769a45bc9a1d0c9a Mon Sep 17 00:00:00 2001 From: SengokuCola <1026294844@qq.com> Date: Fri, 8 May 2026 18:02:38 +0800 Subject: [PATCH 1/4] =?UTF-8?q?perf=EF=BC=9A=E4=BF=AE=E6=94=B9=E6=8F=92?= =?UTF-8?q?=E4=BB=B6=E5=8D=A1=E7=89=87=E6=A0=B7=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dashboard/package.json | 2 +- dashboard/src/lib/version.ts | 2 +- dashboard/src/routes/plugins/InstalledTab.tsx | 2 +- .../src/routes/plugins/MarketplaceTab.tsx | 2 +- dashboard/src/routes/plugins/PluginCard.tsx | 26 +++++++------- dashboard/src/routes/plugins/index.tsx | 35 +++++++++++++------ pyproject.toml | 2 +- requirements.txt | 2 +- src/config/config.py | 2 +- uv.lock | 8 ++--- 10 files changed, 49 insertions(+), 34 deletions(-) diff --git a/dashboard/package.json b/dashboard/package.json index c88b8bca..0656c4a3 100644 --- a/dashboard/package.json +++ b/dashboard/package.json @@ -1,7 +1,7 @@ { "name": "maibot-dashboard", "private": true, - "version": "1.0.9", + "version": "1.0.10", "type": "module", "main": "./out/main/index.js", "scripts": { diff --git a/dashboard/src/lib/version.ts b/dashboard/src/lib/version.ts index 6a5f4070..e1520244 100644 --- a/dashboard/src/lib/version.ts +++ b/dashboard/src/lib/version.ts @@ -5,7 +5,7 @@ * 修改此处的版本号后,所有展示版本的地方都会自动更新 */ -export const APP_VERSION = '1.0.9' +export const APP_VERSION = '1.0.10' export const APP_NAME = 'MaiBot Dashboard' export const APP_FULL_NAME = `${APP_NAME} v${APP_VERSION}` diff --git a/dashboard/src/routes/plugins/InstalledTab.tsx b/dashboard/src/routes/plugins/InstalledTab.tsx index 3447f949..659cd83b 100644 --- a/dashboard/src/routes/plugins/InstalledTab.tsx +++ b/dashboard/src/routes/plugins/InstalledTab.tsx @@ -67,7 +67,7 @@ export function InstalledTab({ }) return ( -
+
{filteredPlugins.map((plugin) => ( +
{filteredPlugins.map((plugin) => ( - -
- {plugin.manifest?.name || plugin.id} -
+ +
+ {plugin.manifest?.name || plugin.id} +
{plugin.manifest?.categories && plugin.manifest.categories[0] && ( {CATEGORY_NAMES[plugin.manifest.categories[0]] || plugin.manifest.categories[0]} @@ -56,18 +56,18 @@ export function PluginCard({ {getStatusBadge(plugin)}
- {plugin.manifest?.description || '无描述'} + {plugin.manifest?.description || '无描述'}
- -
+ +
{/* 统计信息 */} -
+
- + {(pluginStats[plugin.id]?.downloads ?? plugin.downloads ?? 0).toLocaleString()}
- + {(pluginStats[plugin.id]?.rating ?? plugin.rating ?? 0).toFixed(1)}
@@ -85,7 +85,7 @@ export function PluginCard({ )}
{/* 版本和作者 */} -
+
v{plugin.manifest?.version || 'unknown'} · {plugin.manifest?.author?.name || 'Unknown'}
{/* 支持版本 */} {plugin.manifest?.host_application && ( @@ -103,7 +103,7 @@ export function PluginCard({
- +
+
+ + + )} {/* Git 状态警告 */} {gitStatus && !gitStatus.installed && ( diff --git a/pyproject.toml b/pyproject.toml index 4a639f2e..5c020d1f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -19,7 +19,7 @@ dependencies = [ "jieba>=0.42.1", "json-repair>=0.47.6", "maim-message>=0.6.2", - "maibot-dashboard>=1.0.8", + "maibot-dashboard>=1.0.9", "maibot-plugin-sdk>=2.4.0", "matplotlib>=3.10.5", "mcp", diff --git a/requirements.txt b/requirements.txt index 737bedcc..ba6f59d2 100644 --- a/requirements.txt +++ b/requirements.txt @@ -33,4 +33,4 @@ tomlkit>=0.13.3 typing-extensions uvicorn>=0.35.0 watchfiles>=1.1.1 -maibot-dashboard>=1.0.8 \ No newline at end of file +maibot-dashboard>=1.0.9 \ No newline at end of file diff --git a/src/config/config.py b/src/config/config.py index f0366d5f..38ea4c6f 100644 --- a/src/config/config.py +++ b/src/config/config.py @@ -56,7 +56,7 @@ BOT_CONFIG_PATH: Path = (CONFIG_DIR / "bot_config.toml").resolve().absolute() MODEL_CONFIG_PATH: Path = (CONFIG_DIR / "model_config.toml").resolve().absolute() LEGACY_ENV_PATH: Path = (PROJECT_ROOT / ".env").resolve().absolute() A_MEMORIX_LEGACY_CONFIG_PATH: Path = (CONFIG_DIR / "a_memorix.toml").resolve().absolute() -MMC_VERSION: str = "1.0.0-pre.15" +MMC_VERSION: str = "1.0.0-pre.16" CONFIG_VERSION: str = "8.10.15" MODEL_CONFIG_VERSION: str = "1.16.1" diff --git a/uv.lock b/uv.lock index 81e0cff4..2e06f64f 100644 --- a/uv.lock +++ b/uv.lock @@ -1511,7 +1511,7 @@ requires-dist = [ { name = "httpx", extras = ["socks"] }, { name = "jieba", specifier = ">=0.42.1" }, { name = "json-repair", specifier = ">=0.47.6" }, - { name = "maibot-dashboard", specifier = ">=1.0.8" }, + { name = "maibot-dashboard", specifier = ">=1.0.9" }, { name = "maibot-plugin-sdk", specifier = ">=2.4.0" }, { name = "maim-message", specifier = ">=0.6.2" }, { name = "matplotlib", specifier = ">=3.10.5" }, @@ -1549,11 +1549,11 @@ dev = [ [[package]] name = "maibot-dashboard" -version = "1.0.8" +version = "1.0.9" source = { registry = "https://pypi.tuna.tsinghua.edu.cn/simple" } -sdist = { url = "https://pypi.tuna.tsinghua.edu.cn/packages/13/9f/e59b1a6299cc4f8c9ac16c7c2774581220fdd27227ac9c2fdfb947dfc2f5/maibot_dashboard-1.0.8.tar.gz", hash = "sha256:a47309072d8154905738d02ccad17a543d5159a1e62ca87076ac4dce39e6c922", size = 2496374, upload-time = "2026-05-07T13:58:39.386Z" } +sdist = { url = "https://pypi.tuna.tsinghua.edu.cn/packages/ac/5b/e90896cbdddc89ec5586873de07a3d70c0107e4dc76db8666a0c0fde6ae8/maibot_dashboard-1.0.9.tar.gz", hash = "sha256:0e5c00be021419686105238cded501024f0383a3815bd85f9a1e747f3f04d0cd", size = 2496957, upload-time = "2026-05-07T18:37:51.291Z" } wheels = [ - { url = "https://pypi.tuna.tsinghua.edu.cn/packages/0f/60/fde671bf332133f1403673096eefcd49f36133141a6b9229e72c2588b221/maibot_dashboard-1.0.8-py3-none-any.whl", hash = "sha256:39da973fed56f1491245109615d81ea79add859467798af92d4ace7d8a5d7557", size = 2563243, upload-time = "2026-05-07T13:58:37.868Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/8c/27/ab227a84e55356039004a375e78031e5e8aaf4192e11908a568498816d5e/maibot_dashboard-1.0.9-py3-none-any.whl", hash = "sha256:197b26c5c3d0e6ba1238b91d12c88e57db71c65303cc602fcccdca84ce4db582", size = 2563281, upload-time = "2026-05-07T18:37:49.648Z" }, ] [[package]] From 80b7585da692bf7c277bdba7880a606d1fdc751b Mon Sep 17 00:00:00 2001 From: SengokuCola <1026294844@qq.com> Date: Fri, 8 May 2026 18:02:48 +0800 Subject: [PATCH 2/4] =?UTF-8?q?fix=EF=BC=9A=E4=B8=8D=E6=B3=A8=E5=86=8C?= =?UTF-8?q?=E5=B0=81=E7=A6=81=E8=A1=A8=E6=83=85=E5=8C=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/emoji_system/emoji_manager.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/emoji_system/emoji_manager.py b/src/emoji_system/emoji_manager.py index 19823ff3..6029221f 100644 --- a/src/emoji_system/emoji_manager.py +++ b/src/emoji_system/emoji_manager.py @@ -388,7 +388,6 @@ class EmojiManager: if existing_record := session.exec(statement).first(): existing_record.full_path = str(emoji.full_path) existing_record.no_file_flag = False - existing_record.is_banned = False existing_record.last_used_time = datetime.now() existing_record.query_count += 1 session.add(existing_record) @@ -473,7 +472,6 @@ class EmojiManager: image_record.full_path = str(new_emoji.full_path) image_record.description = new_emoji.description image_record.no_file_flag = False - image_record.is_banned = False session.add(image_record) except Exception as exc: logger.error(f"Update cached emoji description failed: {exc}") @@ -531,6 +529,9 @@ class EmojiManager: statement = select(Images).filter_by(image_hash=emoji.file_hash, image_type=ImageType.EMOJI).limit(1) existing_record = session.exec(statement).first() if existing_record: + if existing_record.is_banned: + logger.info(f"[register_emoji] Emoji is banned, skipping: {emoji.file_hash}") + return "skipped" if existing_record.is_registered and _is_available_emoji_record(existing_record): # logger.info(f"[register_emoji] Emoji already registered, skipping: {emoji.file_hash}") return "skipped" @@ -1085,6 +1086,10 @@ class EmojiManager: return "failed" if existing_record is not None: + if existing_record.is_banned: + logger.info(f"[register_emoji] Emoji is banned, skipping: {target_emoji.file_name}") + return "skipped" + if existing_record.is_registered and _is_available_emoji_record(existing_record): logger.info(f"[register_emoji] Emoji already registered, skipping: {target_emoji.file_name}") return "skipped" From ed091dd70dd5c1d7fa0b2b733304de2302642b8f Mon Sep 17 00:00:00 2001 From: SengokuCola <1026294844@qq.com> Date: Fri, 8 May 2026 19:14:42 +0800 Subject: [PATCH 3/4] Update docker-entrypoint.sh --- docker-entrypoint.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docker-entrypoint.sh b/docker-entrypoint.sh index 0ac15c7b..17c14c5b 100644 --- a/docker-entrypoint.sh +++ b/docker-entrypoint.sh @@ -10,4 +10,6 @@ if [ ! -e "$ADAPTER_TARGET" ] && [ -d "$ADAPTER_TEMPLATE" ]; then cp -a "$ADAPTER_TEMPLATE" "$ADAPTER_TARGET" fi +uv pip install --python "/MaiMBot/.venv/bin/python" --upgrade maibot-dashboard + exec /MaiMBot/.venv/bin/python bot.py "$@" From 05052ba02b16b704dac47f0569f903d835548df8 Mon Sep 17 00:00:00 2001 From: SengokuCola <1026294844@qq.com> Date: Fri, 8 May 2026 21:14:12 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E9=BB=98=E8=AE=A4?= =?UTF-8?q?=E4=BE=9D=E8=B5=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pyproject.toml | 2 +- requirements.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 5c020d1f..8b830551 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -19,7 +19,7 @@ dependencies = [ "jieba>=0.42.1", "json-repair>=0.47.6", "maim-message>=0.6.2", - "maibot-dashboard>=1.0.9", + "maibot-dashboard>=1.0.10", "maibot-plugin-sdk>=2.4.0", "matplotlib>=3.10.5", "mcp", diff --git a/requirements.txt b/requirements.txt index ba6f59d2..2b50090a 100644 --- a/requirements.txt +++ b/requirements.txt @@ -33,4 +33,4 @@ tomlkit>=0.13.3 typing-extensions uvicorn>=0.35.0 watchfiles>=1.1.1 -maibot-dashboard>=1.0.9 \ No newline at end of file +maibot-dashboard>=1.0.10 \ No newline at end of file