docs(dsh): describe the cleared backend and the unverified record

The service lifetime now says what a conflict with an unreadable recorded
process offers, and the environment section says what clearing the backend
selection writes and what the probe reports for an explicitly empty one.
This commit is contained in:
LiangshouX 2026-11-03 13:23:25 +08:00
parent fc4d92aa59
commit 663735abd1
2 changed files with 17 additions and 0 deletions

View file

@ -104,6 +104,9 @@ DSH settings.
cleared: a credential cannot be deleted by emptying its control, so the blank field always means “keep what is
stored”. Emptying a **non-secret** field and saving **clears** it. Only fields you edited are written, so the rest
of the file keeps its comments, unknown keys and order.
- The backend selection is the one non-secret field with a default: clearing it writes the default
(`LLM_BACKEND=openai`) instead of an empty value. ReMe applies `${LLM_BACKEND:-openai}` only when the variable is
absent, so an empty value would name no backend at all and the service would refuse to start.
- A save writes the edits that were submitted and leaves newer ones alone: typing another field while the save is in
flight keeps that text, and the card says that unsaved edits are still pending.
- Saving validates the whole merged file, not just the values you typed: ReMe 0.4.0.x instantiates the embedding
@ -126,6 +129,10 @@ DSH settings.
- ReMe reaches xAI through its gRPC SDK, so the xAI probe is a REST-level approximation of that channel.
- The probe reads the `.env` on disk, so a configuration that is only picked in the form is not tested before the
file is saved; the button says so while it waits.
- A `.env` that sets `LLM_BACKEND` to an empty value is reported as an incomplete configuration
(`LLM config incomplete (LLM_BACKEND)`) and no request is sent: ReMe would start with no backend at all, so the
probe must not test a configuration the service cannot use. A `.env` without the key is probed with the default
backend, exactly as ReMe would start it.
- The draft, the save message and the LLM-test result belong to the workspace they were produced for: switching
the workspace disposes the section's state, so neither a key typed for one workspace nor a success reported for
it can be carried into another.
@ -163,6 +170,9 @@ processes it manages when the Host exits. The plugin owns a small service adapte
the meantime, the Host refuses instead of dropping the new record silently.
- A service that occupies the port but fails the health check is reported as a conflict; if it is provably this
plugin's service, the tab still offers **Stop**.
- A conflict caused by a **recorded** process whose identity cannot be read is a different case: the process is
never signalled, so the tab offers **Forget this record** instead. The record travels with the status, so the way
out does not depend on a start that the conflict card disables.
- A record left by an older version under a path prefix of the same origin (for example
`127.0.0.1:2333/reme`) describes the **same** local service, because the launch configures only host
and port. When it can be proven to be this plugin's service, such a record is re-keyed to the endpoint on

View file

@ -84,6 +84,8 @@ ReMe 在服务启动时读取 workspace 目录下的 `.env`;标签页从不把
- 清空**密钥**字段并保存会保留已存的密钥——即便先输入过替代值再清空也是如此:凭据无法通过清空输入框来删除,
因此留空始终表示“保留已存的值”。清空**非密钥**字段并保存即表示**删除**该值。只有编辑过的字段会被写入,
文件其余部分的注释、未知键与顺序保持不变。
- 后端选择是唯一带默认值的非密钥字段:清空它会写入默认值(`LLM_BACKEND=openai`),而不是空值。ReMe 只在变量
**不存在**时才应用 `${LLM_BACKEND:-openai}`,空值等于没有指定任何后端,服务将无法启动。
- 保存只清除本次提交的那部分编辑,更晚的编辑会被保留:保存进行中再改动其它字段时,那份文本不会丢失,页面也会
提示仍有未保存的改动。
- 保存时会校验合并后的整份文件,而不只是本次输入:ReMe 0.4.0.x 会无条件实例化 embedding 组件,因此即使不使用向量检索
@ -101,6 +103,9 @@ ReMe 在服务启动时读取 workspace 目录下的 `.env`;标签页从不把
同样失败。
- ReMe 通过 gRPC SDK 连接 xAI,因此 xAI 的探测只是该通道在 REST 层面的近似。
- 探测读取的是磁盘上的 `.env`,所以只在表单里改过配置而未保存时不会发起测试;等待期间按钮会给出提示。
- 若 `.env` 把 `LLM_BACKEND` 设为空值,探测会报告配置不完整(`LLM config incomplete (LLM_BACKEND)`)并且不发送
任何请求:此时 ReMe 启动时并没有任何后端,探测不能去测试服务根本无法使用的配置。若 `.env` 里没有这个键,
探测会与 ReMe 一样使用默认后端。
- 草稿、保存提示与 LLM 测试结果都属于产生它们的 workspace:切换 workspace 会随旧区块一并丢弃,因此为某个 workspace
输入的密钥、或属于它的一次成功提示,都不会被带到另一个。
@ -130,6 +135,8 @@ ReMe 在服务启动时读取 workspace 目录下的 `.env`;标签页从不把
**忘记**针对的正是那条记录(可能是另一个端口上的记录,而不是当前显示的地址),并带上它的 pid:记录在此期间被换掉时,
Host 会拒绝而不是静默丢弃新记录。
- 服务占用端口但健康检查失败时显示为“端口被占用”;若能证明是本插件启动的,标签页仍给出**停止**按钮。
- 占用端口的是**已记录**但身份无法验证的进程时情况不同:该进程绝不会被发信号,因此标签页改为给出**忘记这条记录**。
这条记录随状态一起返回,所以出路不依赖被“端口被占用”状态禁用的**启动**按钮。
- 旧版本遗留在同一源(origin)某个路径前缀下(例如 `127.0.0.1:2333/reme`)的记录,描述的是**同一个**本地服务——
启动只配置 host 与端口。只要能证明它是本插件启动的,这种记录就会被重新登记到当前显示的地址,随后与其他启动
一样被管理:给出**停止**按钮,**启动**在它尚未健康时替换它。它不会再被当成标签页无从处理的外部进程,否则用户