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

Repository Map

qingchenyouforcc edited this page Apr 24, 2026 · 2 revisions

仓库导览

本页回答一个非常实际的问题:如果你已经知道自己想改什么,第一眼该去哪个目录、哪个文件。

最常见的入口

你想改什么 先看哪里
程序启动、CLI 分流、单实例 src/app/main.cc
CLI 参数解析与输出 src/app/cli.ccsrc/app/cli/
HTTP 接口 src/app/core/http/ShijimaHttpApi.cc
本地控制接口 src/app/core/localipc/
桌宠生成、销毁、调度 src/app/runtime/ManagerLifecycle.ccManagerMascotRuntime.cc
环境同步、多屏幕、前台窗口联动 src/app/runtime/ManagerEnvironmentSync.cc
模板导入 src/app/runtime/ManagerImportWorkflow.cc
.mascot 包验证、安装、迁移 src/app/core/assets/MascotPackage.cc
桌宠渲染与交互 src/app/ui/mascot/
管理器窗口与界面动作 src/app/ui/Manager*.ccsrc/app/ui/interface/
右键菜单 src/app/ui/menus/
检查器、许可证、进度框等对话框 src/app/ui/dialogs/
平台差异 src/platform/Platform/
构建和打包 CMakeLists.txtMakefilecmake/src/packaging/

顶层目录怎么读

src/app/

主应用层,按照职责拆成了 coreruntimeui

这是你改业务逻辑时最常进入的目录。

src/platform/Platform/

平台抽象层,按 Windows、Linux、macOS、Stub 分目录。

如果一个问题只在某个平台复现,通常应先来这里定位。

include/shijima-qt/

公共头文件入口。想看类的公开接口,通常从这里进。

src/app/core/shijima-engine/

集成的桌宠模拟引擎源码。

如果问题已经深入到 XML 行为解析、动作执行、物理或脚本层,最终大多会落到这里。

translations/

当前翻译资源。现在仓库里至少有简体中文翻译文件。

src/docs/HTTP-API.md

接口真源文档。你改了 API 或 CLI 语义时,这里通常比 wiki 更应该优先同步。

GUI、CLI、控制接口之间的文件关系

如果你在改控制链路,可以按这条线看:

src/app/main.cc
 -> src/app/cli.cc
 -> src/app/cli/CommandLineParser.cc
 -> src/app/cli/CommandExecutor.cc
 -> src/app/core/commands/
 -> src/app/core/localipc/
 -> src/app/core/http/

这条链路能帮你判断一个问题到底属于:

  • 参数解析问题
  • 命令执行问题
  • 本地控制接口问题
  • HTTP 接口问题

桌宠本体相关的文件关系

如果你在改"桌宠为什么这样动、这样画、这样响应",可以从这里切入:

src/app/runtime/ManagerMascotRuntime.cc
 -> src/app/ui/mascot/
 -> src/app/core/shijima-engine/

常见分工:

  • 运行时层决定何时生成、如何调度
  • UI 层决定如何绘制、如何交互
  • 引擎层决定行为逻辑和状态推进

平台问题排查路径

Windows

先看:

  • src/platform/Platform/Windows/

适合排查:

  • 前台窗口获取
  • 窗口样式
  • 与任务栏 / Alt-Tab 相关的问题

Linux

先看:

  • src/platform/Platform/Linux/

适合排查:

  • KDE / GNOME 前台窗口追踪
  • DBus 交互
  • Shell 扩展或脚本联动

macOS

先看:

  • src/platform/Platform/macOS/

适合排查:

  • Accessibility
  • AppKit 相关行为

构建与产物相关文件

CMakeLists.txt

适合看:

  • Windows / MSVC 构建
  • target 定义
  • Qt 组件发现
  • windeployqt
  • 翻译资源编译

Makefilecommon.mk

适合看:

  • Linux / macOS / MinGW 构建
  • 发布目录结构
  • AppImage / macOS .app
  • GUI 与 CLI 实际产物名

改动前的建议动作

如果你不确定应该从哪里下手,推荐按这个顺序:

  1. 先在 架构概览 里确认该能力属于哪一层。
  2. 再来本页查最可能的目录和文件。
  3. 最后再打开对应头文件,确认接口边界。

下一步阅读

Clone this wiki locally

AltStyle によって変換されたページ (->オリジナル) /