Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
113 commits
Select commit Hold shift + click to select a range
f160b76
添加linux环境扫描游戏路径特性支持
Jan 15, 2026
944fbf3
feat: 添加了README.md的linux指引
Jan 15, 2026
ff64fe5
feat: 将linux文档部分放入LINUX.md
Jan 15, 2026
9a64a3c
修正了一个错误的方法名
Jan 27, 2026
536d19f
update:完成v2代码合并,windows环境下的目录检测使用主线的逻辑
Jan 28, 2026
d0ad529
添加文档文本
Jan 28, 2026
ca8f38a
Merge branch 'main' into feature/linux-wayland-support
TNT569 Jan 28, 2026
b2901cd
Merge pull request #1 from TNT569/feature/linux-wayland-support
farshore07 Jan 28, 2026
f1af895
feat: 支持更多类型的压缩包 (#8)
farshore07 Jan 29, 2026
28091bb
feat: 增加CI/CD,釋放檔案移動到Documents,標準化日誌,炮鏡UID選擇器 (#12)
kyokusakin Feb 5, 2026
7953fa0
feat: 支持更多类型的压缩包;新增遥测功能,用于帮助开发者了解应用使用情况 (#13)
farshore07 Feb 5, 2026
2336a6b
Revert "feat: 支持更多类型的压缩包;新增遥测功能,用于帮助开发者了解应用使用情况 (#13)" (#15)
farshore07 Feb 5, 2026
972de74
fix & feat: 恢复模块导入功能;新增开关遥测功能按钮;更新免责声明;优化涂装库读取 (#16)
farshore07 Feb 8, 2026
300145c
refactor: 目录结构优化 (#17)
farshore07 Feb 11, 2026
caabc48
致敬传奇force push使用者AimerSo (#18)
farshore07 Feb 22, 2026
e7983d5
feat: 遥测后端完善 & 语音包试听 (#19)
farshore07 Feb 24, 2026
d126f0c
feat: 文本库支持 (#20)
farshore07 Feb 24, 2026
e629b7a
feat & chore: 完善删除语音包功能;更新changelog (#21)
farshore07 Feb 26, 2026
95269ee
更新文件
AimerSo Mar 1, 2026
ebebc01
feat: 优化自定义文本功能 (#22)
farshore07 Mar 4, 2026
d25fae7
feat: 完善主题系统和语音包卡片功能
AimerSo Mar 7, 2026
70b74a2
fix: 现在GitHub版不强依赖theme_unlock
AimerSo Mar 8, 2026
f741cb4
feat(author): 修改了主软件文件夹生成结构统一资源库路径配置,将WT任务库、模型库、机库和语音包库整合至AimerWT资源库目…
AimerSo Mar 8, 2026
f278809
Update README.md
AimerSo Mar 8, 2026
5f9588f
Update README.md
AimerSo Mar 8, 2026
2505490
feat:
AimerSo Mar 9, 2026
a50a620
Merge branch 'dev' of https://github.com/AimerSo/Aimer_WT into dev
AimerSo Mar 9, 2026
77822b3
feat: 添加自定义文本的备份跟还原功能,能手动创建备份快照和历史备份管理,备份文件在资源库的WT备份目录中,包含CSV文件和local…
AimerSo Mar 9, 2026
53c2397
chore: 添加缺失的数据表迁移
AimerSo Mar 9, 2026
8828c7c
feat: 增加公告卡片识别度。
AimerSo Mar 10, 2026
5700bdd
feat: 优化公告打开的视觉效果,增加缓入缓出。
AimerSo Mar 10, 2026
e146e4a
feat: 公告弹窗支持点击遮罩层关闭,
AimerSo Mar 10, 2026
f4d9bbb
feat: 公告栏底部展示用户注册序号
AimerSo Mar 10, 2026
679b510
feat: 增加头部banner提示功能,遥测未修改。
AimerSo Mar 10, 2026
af73de0
refactor: 更改头部banner信息显示样式。
AimerSo Mar 10, 2026
cfd844a
feat: 增加头部banner更多显示方式。
AimerSo Mar 10, 2026
f3539d9
feat: 增加头部Banner的更新提示功能/样式。
AimerSo Mar 10, 2026
ba45e65
feat: 初始化遥测后端服务,包括数据库、Gin路由、认证中间件、统计API和数据导出功能。
AimerSo Mar 10, 2026
767163f
feat(resource-pages): 新增、补全了任务库、模型库和机库的卡片管理功能
AimerSo Mar 10, 2026
5cb2cca
docs: 修改了“更新公告”内容,增加了几条说明。
AimerSo Mar 11, 2026
49d3cbd
feat: 扩充和修改了引导系统
AimerSo Mar 11, 2026
c58d380
fix: 上传没上传的后端代码 (#23)
farshore07 Mar 11, 2026
34a01b7
feat: 远程内容管理系统,轮播+公告列表+配置
AimerSo Mar 11, 2026
366acf4
feat: 优化仪表盘和公告设置。
AimerSo Mar 11, 2026
a88b281
feat: 反馈功能后端联通了,并且增加了仪表盘查看反馈功能。
AimerSo Mar 12, 2026
f02b187
fix: 修复了一些显示问题。
AimerSo Mar 12, 2026
7e353ab
feat: 增加AI、公告、banner功能管理,链接到服务器,同时更新了仪表盘。
AimerSo Mar 12, 2026
29d65df
fix: 清理无用文件。
AimerSo Mar 13, 2026
934754f
feat: 仪表盘图标选择器,Remix Icon 更新
AimerSo Mar 13, 2026
6f41e78
feat: 仪表盘图标选择器,Remix Icon 更新
AimerSo Mar 13, 2026
4d1b1e0
fate: 修改仪表盘管理逻辑,新增设置页内容,主软件通知样式更新,主题弹窗问题修复。banner管理优化。
AimerSo Mar 14, 2026
a4933f4
feat: 轮播图床直传与焦点系统升级,修复更新提示弹窗死循环及 Banner 位置问题。
AimerSo Mar 14, 2026
b03d5c8
feat: 支持linux环境开发。
AimerSo Mar 15, 2026
0c93507
feat: 新增用户标签管理系统及星标核管理员标记功能
AimerSo Mar 16, 2026
bd5525a
chore: 清理误传的 AI 生成说明文档,更新 .gitignore
AimerSo Mar 16, 2026
1b5bcc1
fix: 公告和轮播不生效的问题
AimerSo Mar 16, 2026
84ac05f
feat & fix: 增加控制面板图文裁剪组件,优化部分弹窗及渲染逻辑
AimerSo Mar 17, 2026
38425a8
大更新:
AimerSo Mar 18, 2026
2252163
feat(notice): 引入 Markdown
AimerSo Mar 18, 2026
d241e7d
feat: 优化新手教程高亮系统与AI助手弹窗逻辑,升级遥测与广告追踪功能
AimerSo Mar 18, 2026
5652e4e
feat: 新增 AI 相关显示内容,更新AI后端逻辑,更新仪表盘AI功能。
AimerSo Mar 19, 2026
0ea170e
feat: 重构AI配额系统和实现客户端诊断日志自动备份
AimerSo Mar 19, 2026
81a2d61
fix: 修复日志显示内容重复和字体错误问题。
AimerSo Mar 19, 2026
1985c6b
feat: 新增与完善兑换码(Redeem)系统与各类专属弹窗样式
AimerSo Mar 19, 2026
45e374a
feat: 数据模型优化,兑换码逻辑优化,主题解锁兜底优化。
AimerSo Mar 21, 2026
3d96fc8
feat: 增加遥测安全签名校验及系统优化
AimerSo Mar 21, 2026
c51fa16
feat: 完善未配置遥测时的离线响应,修复后端兑换逻辑边界异常
AimerSo Mar 21, 2026
8df05e2
feat: 主软件增加兑换码按钮和检测更新按钮,同时重构后端逻辑。遥测更新前端样式。
AimerSo Mar 22, 2026
ab8061b
feat: AI代理逻辑更新、后台更新、兑换码前端页面更新。
AimerSo Mar 22, 2026
43bf22a
feat: 仪表盘功能更新,支持导出兑换码。
AimerSo Mar 22, 2026
b76d7fa
feat:AI交互流优化,重构和升级兑换系统与界面细节
AimerSo Mar 23, 2026
f34677a
update: 更新gitignore规则
AimerSo Mar 23, 2026
6466f5e
feat: 公告新增表情系统,遥测权限管理更新
AimerSo Mar 24, 2026
3c4a578
feat: 新增公告社区评论系统,Emoji反应功能
AimerSo Mar 24, 2026
0f46045
feat: 增加用户认证、控制面板扩展与请求签名验证,并且在数据拉取与更新时增强了请求的安全性,并对遥测控制台UI及客户端评论面板进行翻新适配。
AimerSo Mar 25, 2026
0734881
feat: 进一步评论系统完善,评论区交互UI重构,完善和增加仪表盘相应的功能。
AimerSo Mar 26, 2026
853be43
feat: 新增信息库广告系统与社区评论热门回复机制
AimerSo Mar 26, 2026
3209230
feat: 新增内容审查审计日志,公告红点消退机制, 修复侧边栏与下拉菜单在重构后的样式卷层及滚动条问题
AimerSo Mar 29, 2026
9bece17
feat:升级管理面板,新增用户批量操作与审批机制
AimerSo Mar 30, 2026
78efd96
feat: 重构评论UI渲染逻辑及增加遥测防抖机制
AimerSo Mar 31, 2026
e24a361
feat: 重构客户端网络通讯链路并增强服务稳定性
AimerSo Apr 3, 2026
9acbbed
feat: 增加多语言功能与消息通知中心
AimerSo May 6, 2026
8ae4778
feat: 优化资源库缓存与社区互动状态同步
AimerSo May 8, 2026
0db6764
feat: 重构副功能库资源管理界面
AimerSo May 20, 2026
1e6b3cb
feat: 优化资源库选择状态与操作面板交互
AimerSo May 20, 2026
453983c
feat: 增加语言和优化资源库显示名称与编辑体验
AimerSo May 21, 2026
6ab8656
feat: 拖入导入压缩包逻辑更新和完善
AimerSo May 21, 2026
d1125e3
feat: 增加炮镜一键导入与管理功能
AimerSo May 21, 2026
02351a2
feat: 优化新手引导,完善资源库批量管理操作
AimerSo May 22, 2026
a6ff7ef
feat: 关闭部分在线功能入口
AimerSo May 23, 2026
5055a68
feat: 增加语音包拖入导入与资源库多语言文案
AimerSo May 23, 2026
38b7361
feat: 优化公告文案与弹窗过渡动画
AimerSo May 23, 2026
71fda2c
style: 更新作者端的UI样式
AimerSo May 23, 2026
8be09a9
feat: 优化炮镜功能,增加德、俄语言支持并完善多语言提示
AimerSo May 24, 2026
b4f1cf4
feat: 增加独立用户公开UID映射
AimerSo May 24, 2026
3933394
feat: 完善主题与公告主题样式
AimerSo May 24, 2026
053edbb
feat: 增加Banner点击统计与UserSkins残留迁移
AimerSo May 25, 2026
7995f02
fix: 移除管理员凭证构建依赖,修改要饭页面
AimerSo May 29, 2026
54c2b1c
fix: 内置主题不再显示作者和版本号
AimerSo May 29, 2026
802cb8d
feat: 增强遥测身份稳定性与打包配置
AimerSo May 30, 2026
3a4ab49
feat: 增加后台素材库并优化免责声明界面
AimerSo May 30, 2026
85cd57b
feat: 增加 Sound 源文件替换安装、风险确认与备份还原功能
AimerSo May 31, 2026
3b09661
feat: 增加遥测后台推送送达统计与用户指令日志
AimerSo May 31, 2026
0de1061
feat: 增加远程主题分发与兑换码绑定功能
AimerSo Jun 1, 2026
44e0ce8
feat: 主题分发功能,和增加推送点击统计
AimerSo Jun 2, 2026
635851b
feat: 增加用户 UID 欢迎弹窗与公告栏 UID 入口
AimerSo Jun 2, 2026
dfb904a
feat: 增加远程素材离线缓存与主题图标切换
AimerSo Jun 4, 2026
34966b3
fix: 修复打包版主题兑换资源缺失
AimerSo Jun 4, 2026
0162ff1
feat: 添加程序专属圆角图标
AimerSo Jun 4, 2026
2ccc785
fix: 修复公告缓存刷新与兑换弹窗配置链路
AimerSo Jun 5, 2026
e753578
feat: 增加遥测仪表盘用户总量趋势
AimerSo Jun 5, 2026
f3e703a
fix(作者端): 清理无效注释与空占位文件
AimerSo Jun 5, 2026
401c02d
feat: 新增自定义兑换码
AimerSo Jun 5, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
105 changes: 105 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
name: Build

on:
push:
branches: [ "**" ]
workflow_dispatch:

permissions:
contents: read

jobs:
build:
name: Build on ${{ matrix.os }} (${{ matrix.arch }})
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
include:
# Windows amd64
- os: windows-latest
arch: amd64
python-arch: x64
# Windows arm64
- os: windows-11-arm
arch: arm64
python-arch: arm64
# Linux amd64
- os: ubuntu-latest
arch: amd64
python-arch: x64
# Linux arm64
- os: ubuntu-24.04-arm
arch: arm64
python-arch: arm64
# macOS amd64 (Intel)
- os: macos-15-intel
arch: amd64
python-arch: x64
# macOS arm64 (Apple Silicon)
- os: macos-latest
arch: arm64
python-arch: arm64

steps:
- uses: actions/checkout@v4

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.12'
architecture: ${{ matrix.python-arch }}

- name: Install Linux dependencies
if: runner.os == 'Linux'
run: |
sudo apt-get update
sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.1-dev python3-gi python3-gi-cairo gir1.2-gtk-3.0 gir1.2-webkit2-4.1

- name: Install macOS dependencies
if: runner.os == 'macOS'
run: |
brew install gtk+3 gobject-introspection pygobject3
# 設置 PKG_CONFIG_PATH 以便找到 GTK 相關庫
echo "PKG_CONFIG_PATH=$(brew --prefix)/lib/pkgconfig:$(brew --prefix)/share/pkgconfig" >> $GITHUB_ENV

- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt

- name: Build
env:
PYTHONIOENCODING: utf-8
REPORT_URL: ${{ secrets.REPORT_URL }}
TELEMETRY_CLIENT_SECRET: ${{ secrets.TELEMETRY_CLIENT_SECRET }}
TELEMETRY_SALT: ${{ secrets.TELEMETRY_SALT }}
run: |
python scripts/build.py

- name: Rename Checksum
shell: bash
run: |
if [ -f dist/checksum.txt ]; then
mv dist/checksum.txt dist/checksum_${{ runner.os }}_${{ matrix.arch }}.txt
fi

- name: Rename file
shell: bash
run: |
ARCH="${{ matrix.arch }}"

if [ -f dist/WT_Aimer_Voice.exe ]; then
mv dist/WT_Aimer_Voice.exe dist/WT_Aimer_Voice_${{ runner.os }}_${ARCH}.exe
elif [ -f dist/WT_Aimer_Voice ]; then
mv dist/WT_Aimer_Voice dist/WT_Aimer_Voice_${{ runner.os }}_${ARCH}
elif [ -f dist/WT_Aimer_Voice.app ]; then
# macOS app bundle - 壓縮為 zip
cd dist && zip -r WT_Aimer_Voice_${{ runner.os }}_${ARCH}.zip WT_Aimer_Voice.app && rm -rf WT_Aimer_Voice.app
fi

- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: build-${{ matrix.os }}-${{ matrix.arch }}
path: dist/*
237 changes: 237 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,237 @@
name: Release

on:
push:
tags:
- "v*"
workflow_dispatch:
inputs:
manual_bump:
description: "Version Bump Type (選擇版本升級類型)"
type: choice
options:
- "patch"
- "minor"
- "major"
default: "patch"

permissions:
contents: write

jobs:
prepare:
name: Prepare
runs-on: ubuntu-latest
outputs:
should_release: ${{ steps.guard.outputs.should_release }}
version: ${{ steps.version.outputs.version }}
tag_name: ${{ steps.version.outputs.tag_name }}
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
fetch-tags: true

- name: Guard (main only)
id: guard
shell: bash
run: |
set -euo pipefail
SHOULD="true"

# workflow_dispatch 必須在 main 上觸發
if [ "${{ github.event_name }}" = "workflow_dispatch" ]; then
if [ "${{ github.ref_name }}" != "main" ]; then
echo "workflow_dispatch must run from main (current: ${{ github.ref_name }})"
SHOULD="false"
fi
fi

# tag push 必須是 main 分支上的提交(可被 origin/main 包含)
if [[ "${{ github.ref }}" == refs/tags/v* ]]; then
git fetch origin main --force
if git merge-base --is-ancestor "${{ github.sha }}" "origin/main"; then
echo "Tag commit is on main"
else
echo "Tag commit is NOT on main; skipping release"
SHOULD="false"
fi
fi

echo "should_release=$SHOULD" >> "$GITHUB_OUTPUT"

- name: Run Semver (Manual Trigger)
id: semver
if: steps.guard.outputs.should_release == 'true' && github.event_name == 'workflow_dispatch'
uses: bitshifted/git-auto-semver@v2
with:
main_branch: main
initial_version: "1.0.0"
create_tag: true
tag_prefix: "v"
manual_bump: ${{ inputs.manual_bump }}

- name: Determine Final Version
id: version
if: steps.guard.outputs.should_release == 'true'
shell: bash
run: |
if [[ "${{ github.ref }}" == refs/tags/v* ]]; then
TAG="${{ github.ref_name }}"
VERSION="${TAG#v}"
else
VERSION="${{ steps.semver.outputs.version-string }}"
TAG="v$VERSION"
fi

echo "version=$VERSION" >> "$GITHUB_OUTPUT"
echo "tag_name=$TAG" >> "$GITHUB_OUTPUT"

build:
name: Build on ${{ matrix.os }} (${{ matrix.arch }})
needs: prepare
if: needs.prepare.outputs.should_release == 'true'
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
include:
# Windows amd64
- os: windows-latest
arch: amd64
python-arch: x64
# Windows arm64
- os: windows-11-arm
arch: arm64
python-arch: arm64
# Linux amd64
- os: ubuntu-latest
arch: amd64
python-arch: x64
# Linux arm64
- os: ubuntu-24.04-arm
arch: arm64
python-arch: arm64
# macOS amd64 (Intel)
- os: macos-15-intel
arch: amd64
python-arch: x64
# macOS arm64 (Apple Silicon)
- os: macos-latest
arch: arm64
python-arch: arm64

steps:
- uses: actions/checkout@v4

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.12"
architecture: ${{ matrix.python-arch }}

- name: Install Linux dependencies
if: runner.os == 'Linux'
run: |
sudo apt-get update
sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.1-dev python3-gi python3-gi-cairo gir1.2-gtk-3.0 gir1.2-webkit2-4.1

- name: Install macOS dependencies
if: runner.os == 'macOS'
run: |
brew install gtk+3 gobject-introspection pygobject3
# 設置 PKG_CONFIG_PATH 以便找到 GTK 相關庫
echo "PKG_CONFIG_PATH=$(brew --prefix)/lib/pkgconfig:$(brew --prefix)/share/pkgconfig" >> $GITHUB_ENV

- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt

- name: Build
env:
PYTHONIOENCODING: utf-8
REPORT_URL: ${{ secrets.REPORT_URL }}
TELEMETRY_CLIENT_SECRET: ${{ secrets.TELEMETRY_CLIENT_SECRET }}
TELEMETRY_SALT: ${{ secrets.TELEMETRY_SALT }}
run: |
python scripts/build.py

- name: Rename Checksum
shell: bash
run: |
if [ -f dist/checksum.txt ]; then
mv dist/checksum.txt dist/checksum_${{ runner.os }}_${{ matrix.arch }}.txt
fi

- name: Rename file
shell: bash
run: |
ARCH="${{ matrix.arch }}"

if [ -f dist/WT_Aimer_Voice.exe ]; then
mv dist/WT_Aimer_Voice.exe dist/WT_Aimer_Voice_${{ runner.os }}_${ARCH}.exe
elif [ -f dist/WT_Aimer_Voice ]; then
mv dist/WT_Aimer_Voice dist/WT_Aimer_Voice_${{ runner.os }}_${ARCH}
elif [ -f dist/WT_Aimer_Voice.app ]; then
# macOS app bundle - 壓縮為 zip
cd dist && zip -r WT_Aimer_Voice_${{ runner.os }}_${ARCH}.zip WT_Aimer_Voice.app && rm -rf WT_Aimer_Voice.app
fi

- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: build-${{ matrix.os }}-${{ matrix.arch }}
path: dist/*

release:
name: Create Release
needs: [prepare, build]
if: needs.prepare.outputs.should_release == 'true' && needs.build.result == 'success'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Download Artifacts
uses: actions/download-artifact@v4
with:
pattern: build-*
merge-multiple: true
path: dist

- name: List downloaded artifacts
run: |
echo "Downloaded artifacts:"
ls -la dist/ || echo "No artifacts found"

- name: Generate Release Name
id: release_name
shell: bash
run: |
MSG=$(git log -1 --pretty=%s)
TAG="${{ needs.prepare.outputs.tag_name }}"
echo "title=$TAG - $MSG" >> "$GITHUB_OUTPUT"
- name: Resolve changelog file by tag
id: notes
shell: bash
run: |
set -euo pipefail
TAG="${{ needs.prepare.outputs.tag_name }}" # 例如 v3
FILE="changelog_${TAG}.md" # => changelog_v3.md
if [ ! -f "$FILE" ]; then
echo "找不到更新日志文件: $FILE"
exit 1
fi
echo "notes_file=$FILE" >> "$GITHUB_OUTPUT"
echo "Using changelog file: $FILE"
- name: Create Release
uses: softprops/action-gh-release@v1
with:
tag_name: ${{ needs.prepare.outputs.tag_name }}
name: ${{ steps.release_name.outputs.title }}
draft: false
prerelease: false
body_path: ${{ steps.notes.outputs.notes_file }}
files: dist/*
Loading
Loading