跳转至

配置

优先级大致是:环境变量 > 磁盘 yaml > 库里缓存的运行时设置。人格与身份以磁盘为准,不会把 Postgres 当唯一真相;控制台改完会写回对应 yaml。

完整示例见仓库 .env.example

服务与存储

变量 说明
LUOPITA_HOST / LUOPITA_PORT 监听地址,默认 0.0.0.0:5170
LUOPITA_DATABASE_URL postgresql://...memory://
LUOPITA_REDIS_URL redis://...memory://(库也是 memory 时会强制内存 Redis)
LUOPITA_ADMIN_TOKEN 管理 API / 控制台;空则本机开发不鉴权
LUOPITA_LOG_LEVEL / LUOPITA_LOG_DIR / LUOPITA_LOG_FILE 日志
LUOPITA_SHORT_TERM_MESSAGES 短期窗口条数,默认 16

模型

变量 说明
LUOPITA_PROVIDER deepseek / openai / mock(以及 fakeoffline
LUOPITA_MODEL 文本模型,默认 deepseek-chat
LUOPITA_VISION_MODEL 视觉模型,默认 deepseek-flash
LUOPITA_BASE_URL OpenAI 兼容网关
LUOPITA_API_KEY 密钥;mock 可不填

sys.yaml 里也有同名默认项;环境变量会覆盖。

NapCat / TUI

变量 说明
LUOPITA_NAPCAT_ENABLED 是否启用适配器
LUOPITA_NAPCAT_URLLUOPITA_BOT_URL OneBot HTTP,Compose 内是 http://napcat:3000
LUOPITA_NAPCAT_TOKEN 与 NapCat access_token 一致
LUOPITA_BOT_ID 机器人 QQ;启动时会尝试 get_login_info 回填
LUOPITA_TUI_ENABLED TUI WebSocket,默认开
LUOPITA_TUI_WS TUI 客户端连接地址

Docker / NapCat 容器:

变量 说明
NAPCAT_UID / NAPCAT_GID 容器文件权限,建议 $(id -u) / $(id -g)
NAPCAT_WEBUI_TOKEN NapCat WebUI 登录 token(改掉默认值)
NAPCAT_HTTP_PORT / NAPCAT_WS_PORT / NAPCAT_WEBUI_PORT 宿主机端口

文件落点

文件 / 变量 作用
.env 密钥与 Compose 连接串(勿提交)
config/sys.yaml 非密钥默认项(host、平台开关、shell 白名单)
config/person.yaml 人格;LUOPITA_PERSON_FILE 可改路径。模板:person.example.yaml
config/voice_examples.yaml 说话样例;LUOPITA_EXAMPLES_FILE 可改路径。控制台「样例」页编辑
config/identity.yaml 主人 QQ、唤醒词、群聊策略(gitignore;LUOPITA_IDENTITY_FILE 可改路径)
Postgres 会话、群事件、向量、画像、cron、承诺、scratchpad;控制台「画像」页只读
Redis 群活跃分片热上下文

运行时配置可通过管理端写入数据库(密钥 GET 时掩码;留空 PUT 不会覆盖原密钥)。identity / persona 同时写磁盘,编排器会按文件 mtime 热加载。

身份与群聊策略

config/identity.example.yaml

owners:
- platform: admin
  user_id: admin
- platform: tui
  user_id: tui
# - platform: napcat
#   user_id: "你的QQ号"
group_require_at: true
wake_keywords: [小lu, 小Lu, luopita, 小陆, 小路]
group_tech_chance: 0.22
group_chatty_chance: 0.1
group_chime_cooldown_sec: 45
group_engage_sec: 90
group_engage_replies: 2
字段 含义
owners 主人列表。admin / tui 即使漏写也会被补上
group_require_at 群里是否默认要 @ / 唤醒才回
wake_keywords 点名用的名字
group_tech_chance 技术闲聊时插话概率
group_chatty_chance 普通闲聊插话概率
group_chime_cooldown_sec 插话冷却
group_engage_sec / group_engage_replies 同一说话人接话窗口与条数

Agent 白名单

config/sys.yamlAGENT.COMMAND_ALLOWLIST(可用控制台 Agent 页改)限制 run_shell 能跑的程序。默认含 lspwdpythonuv 等;不是 bash,不能管道、重定向、&&

说话样例维度

每条样例:

  • scenetech / chat / image / silence
  • modedirect / chime / bare_wake
  • relationowner / peer
  • good / bad:愿意说的 vs 客服腔

按当前回合推断 scene/mode/relation,最多注入 4 条、约 800 字。