#388·inkos

建议增加账户系统与登录鉴权,便于服务器部署与远程访问

Author: skillstudioCreated Aug 31, 2026Updated Aug 31, 2026
Labelsenhancement

Problem

目前 InkOS Studio 很适合本地使用,但如果部署到家庭服务器、NAS、VPS 或局域网服务器,并通过浏览器远程访问,会遇到一个比较明显的问题:缺少面向 Web UI 的账户 / 登录鉴权机制

服务器部署后,用户通常不希望 Studio 直接暴露在网络中;同时,如果未来需要多人共用同一套 InkOS 服务,也需要基本的用户身份与数据隔离能力。

现有的 Docker 部署建议(#369)以及远程 API / SK 鉴权建议(#273)可以解决部署与 API 访问的一部分问题,但 Web Studio 本身仍然需要独立的用户登录能力。

Proposed solution

建议为 InkOS Studio 增加一个可选的账户系统 / Authentication 模式

本地单机使用时可以继续保持当前体验,服务器部署时则可以开启登录鉴权。

第一阶段可以尽量轻量:

  1. 支持开启 / 关闭登录鉴权

    • 本地默认关闭,保持当前开箱即用体验;
    • 服务端部署时通过环境变量或配置文件开启。
  2. 提供基础账户登录

    • 用户名 / 邮箱 + 密码;
    • 密码安全哈希存储;
    • 登录后通过 Session / Cookie 访问 Studio。
  3. 提供管理员初始化

    • 首次启动创建管理员账户;
    • 或通过 CLI / 环境变量初始化管理员。
  4. 为未来多用户能力预留数据边界

    • 第一版不一定需要完整团队协作;
    • 但建议 Account 与 Book / Workspace 能建立归属关系,避免以后实现多用户时进行大规模重构。
  5. 兼容服务器及反向代理部署

    • Nginx / Caddy / Traefik;
    • HTTPS;
    • Secure Cookie;
    • Trusted Proxy 等常见部署环境。

例如可以提供:

env
INKOS_AUTH_ENABLED=true
INKOS_AUTH_MODE=local

未来可以逐步增加:

  • 多用户注册 / 邀请;
  • Book / Workspace 用户隔离;
  • 管理员后台;
  • OAuth / OIDC;
  • 只读 / 编辑 / 管理员等角色权限。

Alternatives considered

1. Nginx Basic Auth / Cloudflare Access

虽然可以保护整个网站,但 InkOS 自身不知道当前访问者是谁,因此无法进一步实现:

  • 工作区归属;
  • 数据隔离;
  • 多用户;
  • 权限控制。

2. API Key / SK 鉴权

更适合机器、Agent 和 API 调用,不适合作为普通用户访问 Studio Web UI 的长期账户体系。

Additional context

这个功能对于服务器部署非常有价值。

用户可以把 InkOS 安装在一台长期运行的服务器 / NAS 上,然后从:

  • 台式机;
  • 笔记本;
  • 平板;
  • 其他设备

直接通过浏览器安全访问,而不需要每台设备单独部署 InkOS。

建议第一阶段优先实现:

可选 Authentication + 单管理员 / 单用户模式

在不明显增加 InkOS 本地使用复杂度的情况下,先解决服务器部署后的安全访问问题,然后再逐步演进到完整的多用户账户系统。