Skip to content

服务与部署

ReMe 可以作为本地 HTTP 服务、独立 MCP Server 或一次性 CLI Job 运行。默认模式是在 127.0.0.1:2333 启动 HTTP 服务,并在同一进程中提供 JSON API、SSE、MCP 与可选的 ReMe Studio。

HTTP 服务

bash
reme start
reme start service.host=127.0.0.1 service.port=8181

普通 Job 暴露为 POST /<job-name>

bash
curl -s http://127.0.0.1:2333/search \
  -H 'Content-Type: application/json' \
  -d '{"query":"用户偏好","limit":5}'

请求体允许 Job 参数位于顶层。响应遵循 Response

json
{
  "success": true,
  "answer": "...",
  "metadata": {}
}

未被 Step 捕获的错误会转换成 success: false 的响应。

Streaming 与 SSE

backend: stream 的 Job 仍使用 POST /<job-name>,但响应类型是 text/event-stream。每个 chunk 使用统一的 streaming schema;失败时会发出错误 chunk,并以终止事件结束。

默认 chat 是 Stream Job:

bash
curl -N http://127.0.0.1:2333/chat \
  -H 'Content-Type: application/json' \
  -d '{"query":"总结我的长期偏好"}'

MCP 不暴露 Stream Job。

MCP

默认 HTTP 服务会在 /mcp 挂载 streamable HTTP MCP:

yaml
service:
  backend: http
  mcp_enabled: true
  mcp_path: /mcp
  mcp_stateless_http: false

也可以改用独立 MCP Service:

bash
reme start service.backend=mcp service.transport=stdio
reme start service.backend=mcp service.transport=sse service.port=2333
reme start service.backend=mcp service.transport=streamable-http service.port=2333

MCP tool 来自 enable_serve: true 的非流式 Job。service.jobs 可以设置允许列表;injected_job_kwargs 可以注入服务端管理、调用方不能覆盖的参数。

yaml
service:
  backend: http
  jobs: [search, read, traverse, auto_memory]
  injected_job_kwargs:
    tenant_id: local-user
  tool_error_on_failure: true

ReMe Studio

安装 reme-ai[web]reme-ai[core] 后,默认 HTTP 地址同时提供 ReMe Studio:

text
http://127.0.0.1:2333/

可通过配置关闭或指定自定义构建:

yaml
service:
  web_enabled: false
  # web_static_dir: /absolute/path/to/static

静态资源缺失不会阻止 Job API 启动。

一次性 Job

需要脚本式执行而不常驻服务时:

bash
reme start job=search query="用户偏好" limit=5

它会切换到一次性 CLI Service,但仍经过正常的 Application、Component 和 Job 生命周期。

服务发现

bash
reme find_reme

ReMe 会记录本机运行服务的启动参数。普通 reme <action> 优先使用实际运行服务的 backend、host、port 和 transport;找不到运行服务时才回退到本地配置。

安全边界

ReMe 默认定位为本地服务:

  • 默认绑定 127.0.0.1
  • HTTP CORS 配置允许任意 origin;
  • Job 可进行文件写入、移动和删除;
  • 当前服务层不提供通用用户认证。

不要直接把默认服务暴露到公网。需要远程访问时,在受控网络或带身份认证、TLS、访问控制和请求大小限制的反向代理后部署,并通过 service.jobs 只开放必要 Job。

OpenAPI

HTTP 服务使用 FastAPI。启用 HTTP 服务时,可以通过 /docs/redoc/openapi.json 查看当前配置实际注册的端点;Studio 的 SPA fallback 不会覆盖这些保留路径。

Released under the Apache-2.0 License.