目录地图
仓库里每个目录管什么。改一个功能之前,先知道它住在哪、和谁挨着。
本页 4 节
运行时(Python)
src/ 下是几个包,pyproject.toml 里登记:
src/aeria/:运行时本体。- 入口:
main.py(aeria命令)、supervisor.py(一个进程里托管几个人格)、personas.py(人格注册表、会话绑定)。 - 一条消息:
bot.py(Discord 客户端和整条处理流水线)、platform_bridge.py+qq_bridge.py(QQ 等别的平台)。 cognition/:认知内核——专家、护栏、打分、路由、生活引擎、作息、心情、主动联系。hmc/:记忆核心。actions/:服务器管理动作(目录、解析、权限、执行)。- 模型:
deepseek.py(所有模型调用都从这里走,名字是历史原因)、models.py、model_profiles.py、embeddings.py、onnx_embeddings.py。 - 写回复以后:
reply_quality.py(草稿检查)、splitting.py(分条)、typos.py(打错字)。 - 存储:
storage.py(SQLite,一个人格一个库)、system_store.py(进程级的系统库)、backup.py。 - 网页后台的后端:
webui.py、webui_auth.py、webui_events.py;插件宿主:plugins.py、plugin_discord.py、plugin_qq.py;内置插件:builtin_plugins/。 - 配置:
config.py(全部配置的定义)、templates/(新人格的起步模板);提示词的装配:prompts.py、prompt_manager.py、prompt_text.py。 - 更新:
update/(检查、下载、校验、安装、回滚、安全模式)。
- 入口:
src/aeria_identity/:产品身份(product.json是产品名的唯一来源)、使用协议、日志打码。src/aeria_platforms/:平台协议的客户端(QQ 的 OneBot)、账号编号表。src/aeria_release/:发布工具aeria-release(写清单、签名、验签、从哪找新版本)。
界面
webui_frontend/:网页后台(React + Vite),构建产物提交在src/aeria/webui_dist/,运行时直接发。desktop/:桌面版(Tauri 2):src/是界面,src-tauri/是 Rust 写的壳(钥匙串、启动和守护运行时、首次配置、更新)。design/:几个界面共用的设计令牌(颜色、字号、间距、时长)和组件。site/:这个官网(Astro)。
其他
prompts/:提示词模板,每种语言一个目录(zh-CN、en-US、ja-JP)(3.23)。tests/:后端测试(pytest)。前端和桌面的测试在各自目录里(vitest)。scripts/:开发和发布用的脚本:编运行时、审计包、隐私 / 密钥 / 旧名字的关卡、截图、生成官网数据。tools/:一次性的迁移工具。docs/:设计文档和工程笔记。config/:仓库里只有一份开发用的基础配置bot.toml,它不是出厂默认(新装的人拿到的是src/aeria/templates/bot.default.toml,加上config.py里的默认值);人格的配置personas/<人格>.toml和注册表personas.toml是aeria init或网页后台建的,不进 git。
没做到的
bot.py一个文件一万多行:Discord 客户端、流水线、主动联系、作息都在里面,还没拆开。- 模型调用都在
deepseek.py里,文件名是只接 DeepSeek 时留下的,现在五家服务商都走它。