mirror of
https://github.com/agentscope-ai/ReMe.git
synced 2026-09-14 23:21:04 +00:00
* docs: rebuild documentation site with VitePress * docs: address VitePress review feedback * docs: complete locale redirect validation
115 lines
3.3 KiB
Markdown
115 lines
3.3 KiB
Markdown
---
|
|
title: Services and Deployment
|
|
description: Run ReMe through HTTP, SSE, MCP, the CLI, and ReMe Studio while respecting its local security boundary.
|
|
---
|
|
|
|
# Services and Deployment
|
|
|
|
ReMe can run as a local HTTP service, a standalone MCP server, or a one-shot CLI Job. The default starts HTTP on `127.0.0.1:2333` and serves JSON, SSE, streamable HTTP MCP, and optional ReMe Studio from one process.
|
|
|
|
## HTTP API
|
|
|
|
```bash
|
|
reme start
|
|
reme start service.host=127.0.0.1 service.port=8181
|
|
```
|
|
|
|
Regular Jobs become `POST /<job-name>`:
|
|
|
|
```bash
|
|
curl -s http://127.0.0.1:2333/search \
|
|
-H 'Content-Type: application/json' \
|
|
-d '{"query":"user preferences","limit":5}'
|
|
```
|
|
|
|
Job arguments live at the request body's top level. A regular response follows the `Response` schema:
|
|
|
|
```json
|
|
{"success": true, "answer": "...", "metadata": {}}
|
|
```
|
|
|
|
Unhandled Step failures become unsuccessful responses.
|
|
|
|
## Streaming and SSE
|
|
|
|
Jobs with `backend: stream` also use `POST /<job-name>`, returning `text/event-stream`. Error paths emit an error chunk and always terminate the stream. The default `chat` Job is streaming:
|
|
|
|
```bash
|
|
curl -N http://127.0.0.1:2333/chat \
|
|
-H 'Content-Type: application/json' \
|
|
-d '{"query":"Summarize my long-term preferences"}'
|
|
```
|
|
|
|
MCP does not expose Stream Jobs.
|
|
|
|
## MCP
|
|
|
|
The default HTTP service mounts streamable HTTP MCP at `/mcp`:
|
|
|
|
```yaml
|
|
service:
|
|
backend: http
|
|
mcp_enabled: true
|
|
mcp_path: /mcp
|
|
mcp_stateless_http: false
|
|
```
|
|
|
|
For a standalone 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 tools come from non-stream Jobs with `enable_serve: true`. Use `service.jobs` as an allowlist. `injected_job_kwargs` adds server-managed values that callers cannot override.
|
|
|
|
```yaml
|
|
service:
|
|
backend: http
|
|
jobs: [search, read, traverse, auto_memory]
|
|
injected_job_kwargs:
|
|
tenant_id: local-user
|
|
tool_error_on_failure: true
|
|
```
|
|
|
|
## ReMe Studio
|
|
|
|
After installing `reme-ai[web]` or `reme-ai[core]`, the default HTTP origin also serves Studio:
|
|
|
|
```text
|
|
http://127.0.0.1:2333/
|
|
```
|
|
|
|
Disable it with `service.web_enabled=false` or select a build with `service.web_static_dir`. Missing static assets do not prevent the Job API from starting.
|
|
|
|
## One-shot Jobs
|
|
|
|
```bash
|
|
reme start job=search query="user preferences" limit=5
|
|
```
|
|
|
|
This selects the one-shot CLI Service while retaining the normal Application, Component, and Job lifecycle.
|
|
|
|
## Service discovery
|
|
|
|
```bash
|
|
reme find_reme
|
|
```
|
|
|
|
Ordinary `reme <action>` commands prefer the running service's actual backend, host, port, and transport. They fall back to local configuration only when no service is discovered.
|
|
|
|
## Security boundary
|
|
|
|
ReMe is local-first:
|
|
|
|
- the default binds to `127.0.0.1`;
|
|
- HTTP CORS allows any origin;
|
|
- Jobs may write, move, or delete files;
|
|
- the service layer has no general-purpose user authentication.
|
|
|
|
Do not expose the default service directly to the public internet. For remote access, place it on a controlled network or behind an authenticated TLS reverse proxy, apply access controls and request-size limits, and expose only necessary Jobs.
|
|
|
|
## OpenAPI
|
|
|
|
FastAPI exposes the active endpoints through `/docs`, `/redoc`, and `/openapi.json`. The Studio SPA fallback preserves these reserved paths.
|