绯典阁 Akasha Codex:把 ACG 角色图鉴留在本地
绯典阁 Akasha Codex:把 ACG 角色图鉴留在本地
我把自己的一个小工具开源了:绯典阁(Akasha Codex)。
它是一个本地优先的 ACG 角色图鉴桌面应用,目标很朴素:把喜欢的角色、头像、立绘、介绍、标签、语音、模型附件和个人备注,都收进一个自己能掌控的资料库里。
为什么做这个项目
很多 ACG 资料管理工具要么偏云端,要么偏通用笔记,要么更适合管理单一类型的素材。可我真正需要的是一个更贴近“角色图鉴”的本地系统:
- 角色应该有头像、立绘、介绍、标签和备注。
- 图片、语音、模型、附件应该能归档到角色名下。
- 资料库默认应该在本机,迁移和备份都能自己掌控。
- 桌面端要顺手,后续也要给移动端留下空间。
所以 Akasha Codex 的第一原则就是:本地优先。
它现在能做什么
Akasha Codex 使用 Electron + React + Vite 构建,默认资料库保存在本机文件夹中。它目前围绕角色资料整理做了这些能力:
- 首页壁纸,可裁切并调节透明度。
- 自定义分类分组,本质是“标签筛选预设”,支持图标和快捷筛选。
- 角色矩阵,支持搜索、标签筛选、排序和右侧预览。
- 全屏详情,支持详情查看与原位编辑。
- 多头像、多立绘,支持设置主头像和封面立绘。
- 大图预览支持缩放、拖拽、切图和重置。
- 本地语音、附件、模型文件归档。
- Capacitor Android 工程骨架,移动端使用独立本地资料库。
这不是一个追求“把所有内容都上传到哪里”的项目。它更像一个属于自己的资料柜:你把喜欢的角色和素材放进去,它负责让它们变得可搜索、可整理、可沉淀。
数据如何保存
项目默认使用这样的本地资料结构:
library/ catalog.json catalog-assets/ characters/ <character-id>/ character.json avatar/ portraits/ voices/ models/ attachments/打包后的应用会优先使用运行目录附近的 library 和 config。如果找不到,就会在可执行文件目录下创建新的本地资料库。
这个设计意味着:角色资料和素材不会天然绑定到某个远程服务。只要你能备份文件夹,就能迁移自己的资料。
开源边界
Akasha Codex 是一个开源项目,但它也很明确地区分“项目代码”和“个人资料库”。
仓库里提供的是应用代码、工程结构、审计脚本和开发流程,不应该提交私人 library/、打包产物、下载后的版权素材、API Key 或个人配置。
项目里也准备了开源审计命令,用来检查 .gitignore、构建残留、本机绝对路径、常见密钥格式,以及不该进入开源仓库的资料目录。
适合谁
如果你也有这些需求,Akasha Codex 可能会有用:
- 想整理 ACG 角色资料,而不是只存一堆散图。
- 希望资料优先留在本地,不依赖单一云服务。
- 想把头像、立绘、语音、模型和附件按角色归档。
- 想要一个可以继续改造的 Electron 桌面应用骨架。
项目还在继续迭代。如果你对角色图鉴、本地资料库、ACG 素材整理或桌面端体验有想法,欢迎来 GitHub 看看,也欢迎提出 issue 或 PR。
文章分享
如果这篇文章对你有帮助,欢迎分享给更多人!