发布文件
Eidos Publish 可以把本地 .eidos、.md 或 .markdown 文件变成稳定的托管地址。
内容变化时会创建不可变 Version,并将它激活到一个资源 slug;完整 Source Bundle 未变化时
继续使用当前 Version。Eidos File 通过
只读 Eidos Runtime 提供访问;Markdown 会在发布时一次性渲染成不含脚本的静态页面。
本地文件仍是源文件;发布完成后 CLI 可以退出。
- 登录 Publish 账号页。
- 创建一个 Publish CLI 密钥,并在显示时立即复制。服务端只保存哈希,之后无法再次 显示同一个密钥。
- 在当前 Shell 或 Secret Manager 中把密钥保存为
EIDOS_PUBLISH_TOKEN。不要把它写进 共享脚本,也不要提交到代码仓库。 - 确认当前 CLI build 包含 Publish 命令:
eidos publish --help发布公开资源
Section titled “发布公开资源”为资源选择一个 slug,然后发布文件:
eidos publish tracker.eidos --slug trackerslug 会成为 URL path。它包含 1–64 个小写字母、数字或连字符,并且必须以字母或数字开头 和结尾。例如,上面的命令可能得到:
https://u-….eidos.ink/trackerPublish 可以把这段不透明 hostname 换成独立的 Publish Handle。打开 Publish
账号页,在 Publish 域名中输入符合规则的 Handle,然后点击认领域名。服务会立即认领
handle.eidos.ink;系统分配的 u-* hostname 继续作为稳定后备地址。Handle 不会
修改账户 username。Handle 使用 3–30 个小写字母、数字或连字符,以字母开头,并且不能占用
Publish 或 Relay 的保留命名空间。
普通终端输出会持续展示文件校验、附件发现、逐对象哈希、内容去重、待上传总字节、 Serving Target 准备和 Version 激活进度。Version 就绪并激活后命令才会成功返回;失败时返回非零 exit code。 CLI 会为包含附件 digest 的完整 canonical Source Bundle 计算 fingerprint。对相同内容重复 执行发布时,只核对线上活动 fingerprint,不会制造重复的 Version 历史。
如果需要直接链接到发布文件中的指定表格或视图,可在 URL 中添加稳定的 Eidos UUIDv7 ID:
https://u-….eidos.ink/tracker?table={table-id}&view={view-id}view 参数也可以单独使用;无法找到 ID 时会回退到默认表格和默认视图。
发布 Form View
Section titled “发布 Form View”Eidos File 可以包含一个向目标表格创建 Row 的 Form View。使用稳定的 View ID 或名称,把它 发布为托管表单:
eidos publish feedback.eidos --slug feedback --form-view "公开反馈"该命令会创建一个新的不可变 Form revision。访客只能看到 Form View 选中的字段;浏览器拿到 的公开 definition 不包含内部 File、Table、View 或 Field ID。公开、密码保护和账号私有访问 继续使用其他 Publish 资源相同的参数。
Form 的填写权限与资源访问权限分开设置。使用 --form-respondents signed-in 要求填写者先
登录 eidos.space;再加上 --one-response-per-user,即可限制每个登录账户只能提交一次:
eidos publish feedback.eidos --slug feedback \ --form-view "公开反馈" \ --form-respondents signed-in \ --one-response-per-user匿名表单始终允许多次填写,因为未登录时无法可靠识别“同一个人”。Form definition 未变化时, 只调整这些发布策略不会创建新的内容 Version。
已完成的回复会等待在私有 Publish Inbox,不会修改托管快照,也不会修改某份云端数据集副本。 使用发布结果中的 Publication ID,把回复收回原来的本地文件:
eidos collect feedback.eidos \ --publication 7300a083-df92-49d8-945d-1e0bae0eac18每条回复都通过 Eidos Runtime 导入。新 Row 与本地导入回执在同一个 SQLite transaction 中 提交,然后再确认云端回复;即使在本地提交后崩溃或 ACK 丢失,重试也不会创建重复 Row。
Form 支持 File 字段。Collector 会下载提交附件,核对大小与 SHA-256,再把它保存到源文件
目录下的 .eidos-assets/publish/sha256/。相同附件 bytes 会复用同一个本地内容寻址文件。
本地 schema 变化不会自动修改线上 Form。需要显式重新发布才能激活新 revision。当前预览版 Collector 如果发现 Table 或 Form View 自该 revision 后已经变化,会停止并报告 schema 错误, 避免静默丢字段或执行不安全转换。
发布 Markdown
Section titled “发布 Markdown”Markdown 使用相同的命令与 slug 模型:
eidos publish docs/guide.md --slug guide发布端支持 CommonMark,以及 GitHub 风格的表格、删除线、任务列表和自动链接。文档必须是 UTF-8,正文最多 16 MiB。原始 HTML 会作为文本显示而不会执行,页面不允许 JavaScript, 并使用严格的 Content Security Policy。
相对链接和图片地址会成为附件:
[下载工作簿](files/example.xlsx)CLI 会以 Markdown 文件所在目录解析这些路径,把附件随 Version 上传,再将页面中的地址
重写为绑定 Version 和内容摘要的不可变 URL。https:、mailto:、内联图片 data: 和
#fragment 不会上传;renderer 会移除不安全的链接协议。绝对路径、其他 URL scheme、
带 query 的本地路径、目录逃逸和符号链接会在激活前被拒绝。
一并发布本地附件
Section titled “一并发布本地附件”Eidos File 的相对 File 字段条目会成为附件;Markdown 的相对链接和图片地址也会成为附件。 CLI 以源文件所在目录为根目录解析附件,确认路径不越界、每一层都不是符号链接且目标是 普通文件。Eidos File 附件还会核对 File entry 声明的精确大小。
同一账号内,相同 SHA-256 的内容只上传和存储一次;多个 File entry、路径、slug 或 Version
引用相同 bytes 都不会重复占用存储。发布后的附件继承资源的公开、密码或私有访问策略。文件
缺失、大小变化、路径越界、包含符号链接或单个附件超过 1 GiB 时,发布会在激活前失败。
标准 Publish 的 .eidos 文件上限为 256 MiB;CLI 会先读取账号额度并检查文件大小,再开始
计算哈希。Custom 账号可以配置更高上限。
选择访问方式
Section titled “选择访问方式”访问策略属于每个资源 slug,而不是整个账号。
| 访问方式 | 发布参数 | 谁能打开 |
|---|---|---|
| 公开 | 不传访问参数 | 任何持有 URL 的人 |
| 密码保护 | --password |
知道密码的人;不需要 Eidos 账号 |
| 账号私有 | --visibility private |
已登录资源所有者 eidos.space 账号的发布者 |
再次发布同一个 slug 时,如果不传访问参数,会保留当前访问策略。
添加或轮换密码
Section titled “添加或轮换密码”eidos publish tracker.eidos --slug tracker --passwordCLI 会无回显地要求输入两次密码。密码必须包含 8–128 个 Unicode 字符、最多占用 256 个 UTF-8 bytes,并且不能包含控制字符。密码不会进入 URL 或命令行参数。
自动化时,把密码放入 CI 或 Shell Secret EIDOS_PUBLISH_PASSWORD,并仍然传入
--password:
# EIDOS_PUBLISH_PASSWORD 由 Secret Manager 注入。eidos publish tracker.eidos --slug tracker --password使用新密码再次执行命令就会轮换密码,已有浏览器会话会立即失效。正确密码会创建最长 12 小时、仅限当前 Host 的 HttpOnly 浏览器会话;连续失败会被临时限流。
显式移除密码并恢复公开访问:
eidos publish tracker.eidos --slug tracker --remove-password设为账号私有
Section titled “设为账号私有”eidos publish tracker.eidos --slug tracker --visibility private账号私有模式目前仅限所有者本人。打开 URL 时会跳转到 eidos.space 登录;确认是资源所属 账号后再返回资源。如果要分享给没有发布者账号的人,请使用密码保护。
配置 Eidos 品牌标识
Section titled “配置 Eidos 品牌标识”发布后的 Eidos File、Markdown 文档和 Form 默认显示 Built with Eidos 标识。Publish 可以只为某个资源隐藏它,不会创建新的内容 Version:
eidos publish tracker.eidos --slug tracker --hide-branding使用 --show-branding 恢复标识;两个参数都不传时保留资源当前设置。Publish 账号页的每条
资源旁和 Eidos Lite 的 Publish 面板也提供相同控制。
发布多个资源
Section titled “发布多个资源”一个 slug 表示一个长期存在的资源。使用新 slug 发布另一个文件,会在同一个 canonical hostname 下创建新资源:
eidos publish roadmap.eidos --slug roadmapeidos publish inventory.eidos --slug inventory把新内容发布到已有 slug 会创建新的不可变 Version,同时保持 URL 不变;source bytes 与附件 引用都相同时,不会创建新 Version。资源数不作为商业额度,实际限制是去重后的总存储与 历史策略。当前标准 Publish 额度为:
| 限制 | Publish |
|---|---|
| 账号去重后总存储 | 10 GiB |
单个 .eidos 文件 |
256 MiB |
| 单个 source 附件 | 1 GiB |
| Markdown 正文 | 16 MiB |
| 非当前 Version 历史 | 30 天 |
| 资源数 | 不限数量 |
| 访问方式 | 公开、密码保护、账号私有 |
| Canonical hostname | 一个独立 Publish Handle |
| 移除 Built with Eidos | 是 |
| 每月 Form 回复 | 5,000 |
| Collect Inbox | 5 GiB |
| 单次回复附件数 | 20 |
| 单个提交附件 | 100 MiB |
| 已导入回复保留 | 30 天 |
当 .eidos 文件需要更高上限或独立 Runtime 容量时,可以联系 Eidos 开通 Custom 方案。
以上为付费 Publish 的限制;本地构建与预览保持免费。付费方案的历史保留期从活动 Version 被替换时开始
计算,非当前 Version 保留 30 天。失败或从未激活的 Version 在 24 小时后清理。
当前活动 Version 永远不会因历史保留期被删除;旧历史到期时,只会释放已经没有任何 Version
引用的内容对象。解释已收集回复所需的 Form 定义快照独立于完整发布 source 保留。
Publish Free 的 Markdown 上限为 2 MiB,每次发布最多 20 个附件、每个附件 25 MiB, Source Bundle 总计最多 50 MiB。保留的源文件、附件和生成产物共同计入账户的 100 MiB。 每天最多创建 20 个新 Version(按 UTC 计算);重复发布同一 slug 不占新名额。 可在账户页的资源列表中选择“取消发布”立即释放名额;历史版本在清理前仍计入存储。 Free 保留上一版本 24 小时。禁止搜索收录不代表私密,知道公开链接的人仍可访问。
账号页展示的套餐和实时用量是最终依据。Publish 1.0 不包含外部自定义域名。
人类输出与自动化
Section titled “人类输出与自动化”交互发布时使用普通输出,CLI 会持续展示进度。脚本需要稳定的单一结果 document 时,使用
全局 --json:
eidos --json publish tracker.eidos --slug trackerJSON 模式向 stdout 写一个结果,错误写到 stderr;它不会渲染交互式进度展示。
publishFingerprint 表示完整 Source Bundle,versionCreated 表示本次是创建了新 Version,
还是继续使用活动 Version。
Publish 还是 Relay?
Section titled “Publish 还是 Relay?”- Publish 适合稳定、托管、只读的快照;本地 CLI 不需要持续在线。
eidos serve --relay适合由本机文件驱动的实时 编辑器;Serve 进程必须保持运行。
需要开通 Publish
本地预览不会创建托管 URL。请从账号页或价格页开通 Publish,再使用相同文件和 slug 重试。
已达到存储上限
删除不需要的未激活 Version,或减少数据库/附件体积。相同内容不会重复计量;标准
.eidos 文件上限为 256 MiB,source 附件的单对象上限仍为 1 GiB。
附件无法发布
确认附件使用的是目录内相对 URI,文件确实位于源文件旁的对应路径,并且路径中没有符号链接。 对于 Eidos File,还需要确认实际大小仍与 File entry 一致。
浏览器再次要求输入密码
密码可能已轮换、访问方式可能已变化,或者 12 小时会话已经过期。请重新输入当前密码。
无法识别 eidos publish
请更新到包含 Publish 的 CLI build,或构建当前仓库版本。