常见问题
在把一份收藏托付给我们之前,值得先问清楚的一切。
102 条回答,分为 10 个主题:所有权、隐私、价格、自托管,以及 KolleK 能力的坦白边界。
十秒速览版
几乎每个人最先问的问题。
KolleK 真的是开源的吗?
是,MIT 许可
整个应用都在 GitHub 上。可以阅读、复刻、自行运行。
自托管是免费的吗?
永久免费
无需在我们这里注册账户,无需许可密钥,也没有付费档位。
数据属于我吗?
始终属于你
你录入的一切,所有权都归你。
我的收藏是私密的吗?
仅限本账户
目前还没有公开链接,因此任何内容都不会离开你的账户。
有订阅吗?
没有,一次付清
自托管免费。托管账户只需解锁一次,不是租用。
我能导出数据吗?
只能导出一部分
只有类型定义和未归还的借出记录。物品导出尚未实现。
我可以邀请其他人吗?
可以,且不按人数收费
所有者、编辑者和查看者三种角色,每次写入都会校验。
如果我不再使用 KolleK 会怎样?
它照常运行
自托管实例无需我们提供任何东西即可运行。
我的数据托管在哪里?
由你决定
你自己的服务器,或者我们的托管基础设施(如果你使用它)。
它是评估作价软件吗?
否
它只记录你填写的价值,从不替你定价。
目录
找真人聊聊 →KolleK 是什么、面向谁,以及本页其余部分使用的术语。
KolleK 是一款用于收藏编目的开源应用。你可以逐件物品、逐个实体副本地记录自己拥有的东西,包含照片、文件、价值和历史,既可以部署在自己的服务器上,也可以使用别人运行的实例。项目以 MIT 许可发布。
首先是已经用不下电子表格的个人收藏者。家庭、俱乐部和小型机构同样适用,因为一个账户可以容纳多位成员并分配不同角色。它不是机构级藏品管理系统,也无意成为。
任何类型。新账户会预置十二种现成的收藏类型(漫画、卡牌、黑胶唱片、CD、DVD、硬币、邮票、书籍、手办、电子游戏、腕表和葡萄酒),你可以修改其中任意一种,也可以从零创建自己的类型。
可以,代码中没有任何数量限制。每个收藏都有自己的名称、表情符号、描述、货币,以及各自的分类和套装。
物品是抽象意义上的东西:一个标题、一个型号、一个版本。副本是你实际拥有的某一件实物,拥有自己的品相、位置、购入价格和历史。同一本漫画有三册,就是一件物品加三个副本。这是 KolleK 中最重要的概念。
可以。一件物品可以只有名称和一张照片,也可以是带自定义字段、多个副本、估值、保险、借出、维护、来源和附件的完整记录。你没有定义的字段永远不会出现。
支持七种:英语、法语、西班牙语、德语、巴西葡萄牙语、简体中文和日语。每个人可以各自选择语言,文档和这个公开网站同样有翻译。
没有。目前没有 iOS 或 Android 原生应用,代码里也没有。KolleK 是一个在浏览器中打开的网页应用。
可以。每个界面都适配到手机宽度,添加照片时调用设备自带的文件选择器,在手机上也包含相机。
是的,采用 MIT 许可,全部源代码公开在 GitHub 上。对于已经发布的代码,这个许可无法被收回。
运行 KolleK 的两种方式,以及两种方式下数据的归属。
可以,而且这是主要支持的运行方式。一套 Docker Compose 会启动 Web 服务器、队列工作进程、计划任务和数据库,自托管版本不会缺少任何功能。
软件完全相同,功能集也一样:没有任何东西被套餐锁住,自托管版本也没有被削减任何功能。区别在于由谁运维服务器、应用更新和保管备份,以及托管账户在需要解锁前可免费容纳十件藏品。自托管实例没有这个限制。
如果你能自如地运行一套小型 Docker 环境,并愿意负责备份,就自托管。它免费,而且数据永远不会离开你的机器。如果你不想维护任何东西,就使用托管实例。
是的。你添加的一切所有权都归你,使用条款也是这么写的。在托管服务上,我们仅为提供服务而存储和处理这些数据,不做别的,也不会用它们训练任何模型。
只能部分导出,这是目前产品中我们坦承的短板。你可以把收藏类型定义导出为 JSON,把未归还的借出记录导出为 CSV。目前还没有物品级或整个收藏的导出。如果你自托管,完整的答案是备份数据库和存储卷,那里保存着全部内容。
目前还不能在应用内完成,因为物品导出尚不存在。在此之前,迁移意味着向托管实例的运营者索取数据库和文件转储,再恢复到你自己的安装中。
反方向的答案相同:物品目前还没有导入路径。两个实例只能由运营者在数据库层面合并。
自托管实例会原样继续运行。它不会回连任何服务器,不做许可校验,MIT 许可也保证没有人能收回代码。在托管实例上,你可以随时删除账户及其中的一切。
运行在 Laravel Cloud 上,数据库使用 Turso,前面由 Cloudflare 负责 DNS、缓存和防护。取决于这些服务商,你的信息可能在你所在国家以外被处理,目前我们不提供区域选择。
应用使用 Laravel Cloud,数据库使用 Turso,DNS、路由、TLS 和滥用防护使用 Cloudflare。它们作为基础设施服务商代表我们处理数据,隐私政策中逐一列出了它们的名称。
软件的价格,以及坦白说尚未实现的部分。
自托管是免费的,成本就是你自己服务器的成本。在托管服务上,一个账户可免费容纳十件藏品,一次性支付 49 美元即可永久解锁。结账功能尚未开放,因此今天还买不了,但说明该限制的界面已经在应用中了。
没有,而且也没有实现这种功能的机制。KolleK 中没有任何东西能够定期扣款。我们的承诺是一次付款永久解锁账户,绝不是租用。
它取消托管账户的藏品数量限制,并支付运营开销:服务器、更新、备份和支持。它不会解锁功能,因为无论你怎么运行,所有功能都已在应用中。
是的。没有试用期,没有精简档位,也没有需要购买的许可密钥。已发布代码上的 MIT 许可日后无法撤回。
自托管实例完全没有配额。在托管服务上,唯一的配额是藏品数量:一个账户免费容纳十件,再宽限接受五件,之后在解锁前不再接受新藏品。已添加的内容永远不会被删除、隐藏或变为只读。无论哪种方式,收藏、成员、照片和文档都不计入配额。剩下的限制是单个文件大小(照片 10 MB,文档 12 MB)以及你给实例分配的磁盘空间。
不可以,而且我们在你付款之前就说明,而不是写在小字里。一次撤销会让这种规模的项目损失支付手续费、拒付罚金,还要搭上一个下午处理文书。如果出了问题,给我们发邮件,我们会修好。如果你完全不想付费,自托管是免费的,而且永远免费。
对以后的购买可能会变。使用条款写明,已完成的一次性购买不会被追溯调价,也不会变成订阅。
不需要。自托管不涉及在我们这里注册账户、注册流程或付款环节。克隆仓库或拉取镜像,然后运行即可。
托管方案开始销售时,增值税和销售税取决于你所在的地区,并会按使用条款的说明在付款前显示。
没有按人数收费,也没有单独档位,所以一个家庭和一个三十人的机构付的钱一样。如果你需要发票或采购材料,欢迎联系我们。
什么受到保护,密钥由谁掌握,以及保护的边界在哪里。
你记录的任何内容在账户之外都不可见:没有公开链接,也没有任何形式的对外发现。在账户内部请注意,目前每位成员都能浏览其中的所有收藏。按收藏设置的可见性会被保存,但尚未生效。
不会。隐私政策已明确写出,而且这里没有任何需要靠它盈利的广告模式。
不会。应用中没有广告追踪器、没有第三方分析、没有追踪像素。我们只保留运维日志(请求、错误、安全事件)以运行和排查服务。
是的。名称、描述、编号和备注在写入数据库之前,由应用使用你所在实例的密钥加密,传输过程使用 TLS。但这不是端到端加密:运行实例的人掌握密钥,可以读取数据。
如果你自托管,就是你自己。密钥就是你自己环境文件中的 APP_KEY,别人永远看不到。在托管服务上,应用密钥由我们掌握,基础设施服务商不会拿到它。
它们作为代表我们工作的基础设施服务商,运行着存储和传输数据的系统。应用的加密密钥不会交给它们,它们也没有任何权利将你的收藏用于自己的用途。
用于 DNS、TLS 终止、缓存,以及抵御拒绝服务和其他滥用行为。它让一个小项目在没有庞大基础设施团队的情况下保持快速和可用。
带恢复码的双重验证、免密码的魔法链接登录、对照已知泄露库校验密码、敏感事件的提醒邮件(新设备、新 IP 地址、登录失败、API 密钥创建或吊销)、每次写入都校验的角色权限、可随时吊销的 API 密钥,以及记录谁改动了什么的审计轨迹。没有单点登录,不支持硬件密钥,也没有管理活动会话的界面。
支持,可使用任何标准验证器应用,启用时还会提供一组一次性恢复码。
敏感字段在写入之前就由应用加密,因此在任何数据库转储中(包括你自己的转储)它们仍然是加密的。除此之外,托管备份仅用于运维恢复,自托管备份的保护程度取决于你自己的措施。
请通过邮件私下向维护者报告,而不是提交公开 issue,它会被优先处理。我们没有漏洞赏金计划,也没有可以承诺的正式披露时间表。
可以。你可以在个人资料中删除自己的用户,所有者可以删除整个账户及其全部内容。另外还有一个选项,可在长期不活跃后自动删除你的用户。删除会随备份的正常轮换逐步从备份中消失。
什么能存进来、什么能取回去,以及保管的责任归谁。
收藏、物品和你拥有的副本、照片、文件、分类、标签、位置、品相、套装和系列,以及每个副本上的交易、估值、保险记录、借出、维护记录、来源事件和位置历史。
可以,每件物品可上传多张,顺序自定,并指定一张为主图。每次上传都会生成较小的尺寸变体以便浏览,单张照片最大 10 MB。账户还有一个照片库,把所有图片集中展示。
可以。文件可附加到某个副本,或附加到它的某条记录上(交易、估值、保险记录、借出、维护记录、来源事件)。支持 PDF、图片、Word 和 Excel 文件、CSV 和纯文本,单个最大 12 MB,你也可以记录一个存放在外部网址的文件。
可以。估值是一段历史而不是单一数字,每条都带类型和可信度,因此能看出一个副本的价值变化。买入和卖出属于交易,保险有自己的记录并包含保单信息,相关文件可以附加到其中任意一条上。
还不能。导出仅限于以 JSON 导出收藏类型定义,以及以 CSV 导出未归还的借出记录。物品和整个收藏的导出是已知缺口,记录在文档的功能状态页面上。
只能导入收藏类型定义,来源是导出功能生成的 JSON。物品没有电子表格或 CSV 导入,因此目前收藏要靠手工录入或通过 API 填充。
托管服务会保留用于运维恢复的备份。它们的作用是在必要时恢复服务,而不是给用户自助撤销,也不能替代你自己的记录。
包含,无需另外购买。它们是整个实例的运维备份,而不是你可以自行浏览的按账户快照。
完全由你负责。全部内容存放在两处:数据库卷,以及存放照片和文件的存储卷。请用你已经信任的工具备份这两者,并妥善保存 APP_KEY 的副本,因为没有它,加密数据无法读取。
收藏、物品、副本、分类和套装会进入回收站,默认可在 30 天内恢复,之后每日任务会将其彻底清除。照片、文件和历史记录会立即删除,无法在应用内恢复。
可以。清空回收站会立即移除其中的内容,删除账户则会移除属于它的一切。
创建第一个收藏之后,这个应用实际能做什么。
可以。类型描述某一类收藏包含哪些内容,使用该类型的每个收藏都会继承这些字段。你可以修改新账户自带的类型,也可以自建,并把定义导出为 JSON 以便在别处复用。
可以,共六种:文本、数字、日期、是/否、你自定义选项的下拉列表,以及五分制评分。字段可放入命名分组,让长表单保持易读,字段和分组都可以重新排序。
五种都可以,而且彼此独立。分类在收藏内部嵌套,位置可以嵌套到任意深度(房间里的箱子里的架子),标签在整个账户内共享,套装按目标数量跟踪完成度,系列则把成套的物品归到一起。
可以,这正是把物品和副本分开的意义。每个副本都有自己的编号、品相、位置、购入日期、购入价格和历史。
可以,双向都行:你借出的和你借入的。一条借出记录会保存对方、日期、应还期限,以及副本出借时和归还时的品相,每个方向的未结借出都能下载为 CSV。
可以。来源事件在副本上形成一条带日期的链条,每条都有类型、相关方、说明,以及你附加的文件。
可以。维护记录会保存工作类型、日期、费用、由谁完成,以及随之而来的文件。
可以。估值记录副本随时间变化的价值以及这个数字的来源。交易记录支付或收到的金额、时间和对方。金额按收藏所用货币保存。
可以。照片在物品上管理,也可以在账户级的照片库中查看你上传的每一张图片。文件在它所属的副本或记录上管理,并且都会出现在搜索结果中。
可以。一次搜索覆盖物品、副本、收藏、照片、借出、位置、套装、系列、分类、标签和文件,结果按类别分组。即使底层文本是加密的它依然有效,因为词语是以哈希形式建立索引,而不是明文存储。
可以,按收藏查看:总数、价值随时间变化、每月新增、按分类和品相及位置的分布、最有价值的物品,以及套装距离集齐还差多少。目前还没有覆盖整个账户的汇总页面,仪表盘展示的是近期动态。
让别人参与进来,又不必交出整个账户。
可以。所有者通过邮件邀请,并在邀请时选择角色。邀请通过链接接受,不按成员收费。
三种:所有者、编辑者和查看者。所有者管理成员、设置和删除,编辑者创建和修改记录,查看者只能阅读。账户始终至少保留一位所有者,因此最后一位无法被移除或降级。
可以。账户中的所有人操作同一批收藏,每个动作都会连同操作者一起记录,因此动态流和物品历史都能看出改动来自谁。
还不能。收藏带有可见性设置,也会被保存,但目前没有任何机制执行它,也没有公开链接,因此标记为公开的收藏在账户之外根本无法访问。
对同一账户内的其他成员做不到,原因相同:可见性只被保存,目前并未执行。你邀请的任何人都能看到账户里的全部收藏,所以真正需要分开的内容,暂时请放在不同账户中。
可以,由所有者立即移除。访问权当场终止,而这个人记录过的内容仍留在账户中。
可以,账户和角色正是为此设计的。有一点需要提前规划:一个人只属于一个账户,一个邮箱地址也只能对应一个用户,因此无法一边加入俱乐部账户,一边保留个人账户。
应用有一个支持板块,你可以在其中开启会话并就地收到回复。除非实例运营者开启,否则它处于关闭状态,因此在自托管实例上通常看不到。
运行你自己的实例:它需要什么、如何更新、责任在谁。
需要 Docker Engine 24 或更新版本以及 Compose 插件,还有足够存放照片和文件的磁盘空间。一台小型 VPS 或家里的一台机器就绰绰有余。这套环境会启动 Web 服务器、队列工作进程、计划任务和 MySQL。
支持,而且这是推荐路径。复制示例环境文件,生成应用密钥,然后启动整套服务。完整指南在仓库里,也在文档的自托管章节中。
可以。它是一个常规的 Laravel 应用,只需 PHP 8.4 及常用扩展、一个数据库、一台 Web 服务器、一个队列工作进程和一个计划任务即可。只是相比有文档的 Docker 路径,你能得到的帮助会少一些。
MySQL 8,由 Docker 环境替你运行。SQLite 适合本地开发,Laravel 支持的其他数据库也可能可用,但项目的测试和文档都是基于 MySQL。
拉取新镜像并重启服务。迁移会在启动时执行,并且写法保证在既有数据库上是安全的,因此升级绝不会重置你的数据和上传文件。
由你自行安排。备份数据库卷和存储卷,把 APP_KEY 保存在安全的地方,并不时演练一次恢复。在你自己的实例上,备份没有任何自动化。
可以。照片和文件默认存放在本地卷,把 FILESYSTEM_DISK 指向任意兼容 S3 的存储桶即可迁移过去。文件依然通过校验账户的路由提供,绝不会以公开网址暴露。
可以,通过环境文件中的邮件设置:任意 SMTP 服务器,或者 Resend。邮件默认写入日志文件,因此请在邀请任何人之前先配置好。
MIT 许可允许你做任何修改。现实中的代价是,改动过多的实例更难升级,因此把有用的改动回馈到上游通常更划算。
社区支持,通过 GitHub 的 issues 和 discussions。没有付费支持合同可买,这就是自己运行和让别人替你运行之间坦白的差别。
程序化访问,以及你若愿意可以如何参与。
有,一套与网页端一一对应的 JSON API:相同的操作、相同的规则,约一百五十个接口,参考文档发布在每个实例的 /docs/api 上。
使用个人访问令牌,通过 HTTPS 放在 Authorization 头中作为 Bearer 令牌发送。你也可以在登录接口用邮箱和密码换取令牌。
可以,在个人资料设置中创建,也可以逐个吊销。密钥拥有的权限与你的角色完全一致,目前没有作用域和有效期。每当密钥被创建或删除,你都会收到邮件。
收藏及其类型、自定义字段和分组、物品、副本、照片、标签、分类、套装、系列、位置、品相、文件、交易、估值、保险、维护、来源、位置历史、借出、回收站、搜索、统计、成员和邀请。读写皆可,取决于你的角色。
有:认证后每分钟 60 次请求,登录和注册每分钟 6 次,以减缓暴力尝试。
只支持一半,而且值得弄清是哪一半。你可以注册接收端点,每个都会获得自己的签名密钥,但目前还没有任何应用事件会触发 Webhook。投递机制已经就绪,只等事件接入。
可以。界面能做的事 API 都能做,所以用脚本导入目录,或者定时导出,今天完全可行。
它写在仓库中、紧挨着代码,然后渲染成你在 /docs/api 上读到的参考文档,每个章节还有 Markdown 版本。当某个接口没有文档时,测试会让构建失败,正是这一点让两者保持同步。
非常欢迎。缺陷报告、功能建议、翻译、文档和 Pull Request 都受欢迎,标记为 “good first issue” 的问题是友好的起点。
在项目的 GitHub issues 中,如果更像讨论而不是缺陷,则可以发到 discussions。安全问题是例外:请通过私下邮件发送。
KolleK 有意不做的事情。在依赖它之前值得一读。
不会。它只记录你告诉它的内容。它无法确认一件物品是否为真品,也从不假装可以。
不是。它保存你或专业人士填写的估值,并标注这个数字的可信程度。它不会查询市场价格,也不会自行生成价值。
不提供。它是一款记录工具,使用条款也是这么写的。关于承保、税务和出售的决定,应当交给相应的专业人士。
不能。一份包含收据、照片和来源的完善记录是有用的佐证,但并不是所有权凭证,而且任何能访问该账户的人都可以往里写任何内容。
对个人收藏者或小团体来说,往往可以。但对于藏品登记规范、保护修复流程或法定报送,不能,也不应当依赖它。
它会被如实保存,错误也一并保留。每件物品都有改动记录,写明改了什么、由谁改动,因此你可以找到错误并更正。
坦白的清单:没有物品或收藏的导出与导入;按收藏的可见性只保存不生效;Webhook 永远不会触发;没有原生手机应用;没有单点登录和会话管理;统计按收藏而非整个账户;每人只能属于一个账户。文档中的功能状态页面会持续更新这份清单。
我们有意不提供带日期的路线图。GitHub 上开放的 issues 展示正在进行的工作,文档中的功能状态页面说明什么已完成、什么尚未完成。
在实例开启了应用内支持板块时通过它联系。否则请用 GitHub 的 issues 和 discussions,会有一个人逐条阅读。
请私下写邮件给维护者,而不是提交公开 issue,这样漏洞可以在被公开描述之前修复。善意的报告我们欢迎,并会优先处理。