跳到主要内容

密码 · API 密钥更改

Studio 所用的 DB 账户和 AI 密钥在所有安装中的初始值都相同。在调试阶段改一次,然后就完成了。 之后无需再动。

更改工具只有一个 bin/passwd.sh。platform · ai · studio 三个产品都用相同的名称、相同的用法配备它。

配置的规范出处只有 /etc/kopens/plantpulse-studio.env 一个

此产品的密钥位于 /etc/kopens/plantpulse-studio.env。不在安装目录(/opt/kopens/plantpulse-studio-docker)里,而是在 repo 树之外,权限为 0600

安装目录根目录下的 .env旧路径。现在没人读它 — 改这里也改不了堆栈。

2026-08-16 之前,passwd.sh写入 /etc/kopens/plantpulse-studio.env,但 compose 和其他脚本都读取 repo 根目录下的 .env。所以轮转无声地无效,passwd.sh 说成功了,但堆栈依然用旧值运行(ANTHROPIC_API_KEY · AI_API_KEY 就处于那种状态)。不要再写旧路径。


应用登录账户不在本文档范围内

不要混淆两种情况。

内容在哪里更改
应用登录账户人员登录 Studio 的账户应用内的配置 → 用户管理
基础设施 · API 密钥捆绑 PostgreSQL 账户、AI 密钥本文档bin/passwd.sh
不要用 .env 改应用账户 — 会变成死值

Studio 服务器登录时按①DB → ②环境变量的顺序查看。如果 DB 里找到账户就在那里结束,所以之后改 env 里的 STUDIO_LOCAL_USERS 也没有任何效果。

应用账户要在配置 → 用户管理中创建、分配角色、重置密码。详见配置(管理员)中的用户管理小节。来源为 환경변수 的账户无法在界面上修改·删除。

引导账户(STUDIO_LOCAL_USERS)是首次进入的临时手段。运营账户准备好后要清空并重启。


可以改什么

先看列表。不带参数运行也一样。

cd /opt/kopens/plantpulse-studio-docker
bin/passwd.sh --list

密钥 · ID · 当前值(仅前 3 个字符)· 目标 · 该值在何处会一起显示。 要看完整值,用 --list --show

密钥内容如何改变
PG_PASSWORD捆绑 PostgreSQL服务器账户是规范出处 — ALTER ROLE (psql)
ANTHROPIC_API_KEYAnthropic API 密钥文件 — agent-server 启动时加载
AI_API_KEYOpenAI 兼容 API 密钥文件 — agent-server 启动时加载

密钥名称就是环境变量名称。 没有 postgres 这样的别名 — 如果有别名,就得单独维护一张名称和变量的对应表,而那张表必然总是和实际不符。

列表里没有 PG_PASSWORD 是正常的

PG_PASSWORD 仅在启动捆绑 PostgreSQL 的安装上由本产品所有(COMPOSE_PROFILES 时有 bundled-pg)。如果使用平台·公用 PG 的安装,那个密码是别人的,所以从列表中遗漏,转而告知这一事实。

平台的 PP_* 也不在这里。遗漏它会被拒绝,和拼写错误一样。


更改

建议的做法是省略值,通过提示符输入。 密码不会在 ps 输出或 shell 历史中留下。会要求输入两次,验证是否一致。

bin/passwd.sh PG_PASSWORD

也可以直接作为参数给出值。

bin/passwd.sh ANTHROPIC_API_KEY=<new-value>

一次传入多个会将重启合并为 1 次。 在调试时用这种形式。

bin/passwd.sh PG_PASSWORD=<new-password> ANTHROPIC_API_KEY=<new-value>

如果只想看要改什么,不想动任何东西,用 --dry-run

bin/passwd.sh --dry-run PG_PASSWORD=<new-password>

运行后会先显示要改的项目和影响,然后用 [y/N] 确认。要在自动化中跳过确认,用 --yes

在非交互模式下无法省略值

在脚本·cron 这样没有终端的环境中省略值,会因为无法显示提示符而报错。此时要用 KEY=<value> 格式传入。


执行时会发生什么

顺序是固定的。

顺序做的事
1先从服务器账户是规范出处开始 — 如果 PG_PASSWORD,会先在 PostgreSQL 内改账户
2用新值更新 /etc/kopens/plantpulse-studio.env(保留权限 0600
3docker compose up -d --wait — 重建容器,装入新值

先改服务器端,再对齐文件的顺序。反过来的话服务器是旧值,文件是新值,重启前会一直连接中断。

这期间 Studio 连接会断开。 在维护窗口进行。

中途失败时

发生在状态处理方法
1 阶段(PostgreSQL 账户更改)文件未触及,中止bin/status.sh 确认捆绑 PG 是否运行,然后重新执行
3 阶段(重启)文件已是新值bin/status.sh 确认状态,处理启动失败原因
数据积累后不要手动改 PG_PASSWORD

在捆绑模式下只改文件里的 PG_PASSWORD,会和既有数据目录的账户不符,堆栈无法启动。passwd.sh 改服务器账户的原因就在这里。


确认

bin/passwd.sh --list

如果当前值的前 3 个字符变了,就是已反映了。保留前 3 个字符是为了一眼看清初始值是否还在。


相关文档