内置 HTTP 接口

September 1, 2026 · View on GitHub

鸣潮服务默认听 127.0.0.1:9777。dsh 网页里经插件反代,前缀是 /waves-api(例如 /waves-api/api/health)。 命令结果图文里的 /api/media/... 也会被改写成 /waves-api/api/media/...

本机直连示例:

curl -s http://127.0.0.1:9777/api/health

dsh 里:

curl -s http://127.0.0.1:3080/waves-api/api/health

命令

POST /api/chat

执行一条鸣潮命令,返回摘要和图文段(前端按 segments 渲染)。

{
  "command": "ww椿面板",
  "scene": "group",
  "session_id": "dsh",
  "user_id": null,
  "images": [],
  "file_name": null,
  "file_data": null
}
字段说明
command必填。可带或不带 ww 前缀
scenegroup(默认)或 direct。仅少数命令(如获取 ck)需要 direct
session_id预留。当前不会用来区分 dsh 会话
user_id省略则用本机使用者(默认 local
images可选。http(s) 链接或 base64://...,声骸评分截图用
file_name / file_data可选。随命令附带的文件(base64)

成功:

{
  "ok": true,
  "summary": "卡片上的文字摘要",
  "matched": ["触发词"],
  "segments": [{"type": "html", "url": "/api/media/xxx.html"}],
  "elapsed": 1.23
}

segments[].typetext / image / html / file / buttons / nodeurl/api/ 开头的要按上面的反代规则补前缀。

POST /api/render/panel

自定义 ctx 重组角色声骸后渲完整面板。只渲染:不写 players/、不进总排行上传队列。

{
  "char": "椿",
  "uid": "100000001",
  "echoes": [
    { "slot": 1, "from": { "char": "洛可可", "slot": 2 } },
    { "slot": 2, "name": "无冠者", "cost": 4, "sonata": "沉日劫明",
      "main": [["暴击", "22.0%"], ["攻击", "150"]],
      "subs": [["暴击伤害", "21.0%"], ["攻击", "11.6%"]] }
  ],
  "change": "换6链"
}
字段说明
char必填。角色名/别名
uid可选。默认当前绑定
echoes可选。每项按 slot(1-5, 缺省按下标) 替换:from 引用某角色某槽位的现有声骸,或给全量自定义(name/cost/sonata/main/subs,可选 level/quality/num)。总 cost ≤12
change可选。走既有换装文本管线(换链/武器/等级/技能/主词条等)

返回结构同 /api/chat

GET /api/commands

当前已注册触发器列表,以及标了给模型用的命令说明(ai)。

GET /api/health

服务是否起来、载了哪些插件、命令条数、前缀。

配置

GET /api/config

设置页用的全部分组。敏感项已掩码。

POST /api/config

{ "group": "服务配置", "key": "log_level", "value": "INFO" }

group服务配置 时改服务自身;否则是上游插件配置名(如 XutheringWavesUID)。

POST /api/config/upload

页面模板、头像等文件类配置。data 是 base64(可带 data: 前缀)。目标路径由服务决定,前端改不了。

GET /api/config/media

卡片缩放默认值:image_portrait_max_percentimage_landscape_max_percent

数据与媒体

GET /api/alias/lookup?text=

在一段话里扫本地别名表,只返回命中,不做指代判断。纯英文缩写不收。

{ "hits": [{ "alias": "长离", "kind": "角色", "name": "长离" }] }

GET /api/media/{name}

渲染产物。HTML 带 sandbox CSP。

GET /api/status

各插件状态数字(绑定数等)。不含图标。

POST /api/cleanup

按配置淘汰过期渲染产物。

模型读数据

HTTP 只管下命令和出图。跨角色统筹、自己算分,用 service/tools/wwdata.py,字段和场景见 service/ai/AI_DATA.md

不做的事

公告订阅、定时推送没有接到 dsh 会话:订阅记在假群 dsh 上,通知进全局收件箱。本插件已关掉推送总开关、不注册订阅命令、卡片上也不挂通知条。查公告仍可用 ww公告