管理开发服务
通过对话启动项目预览,检查进程、端口就绪、日志,并管理停止与重启。
工作区与会话用托管服务运行本地预览#
网站预览、API 等需要持续运行的进程,可以交给 Onevium 的托管服务管理。它记录服务名称、启动命令、目录、进程和端口,并提供对应服务的停止与重启操作。
在对话中明确说“作为托管开发服务启动”。普通终端命令、nohup 或一次后台构建不等于托管服务。
准备一个最小演示项目#
本例只需要本机已经安装 Node.js,不需要 npm install 或下载第三方项目。先在终端运行:
node --version
如果命令不可用,先准备 Node.js 运行环境再继续;Onevium 内部使用的运行时不等于终端里一定有 node。
按项目教程新建 onevium-service-demo。在这个空项目中,让 Agent 创建 server.mjs,完整内容如下:
import { createServer } from "node:http";
const port = 4173;
const html = `<!doctype html>
<html lang="en">
<meta charset="utf-8">
<title>Onevium service demo</title>
<h1>Onevium service demo</h1>
<p>The local preview is ready.</p>
</html>`;
createServer((request, response) => {
console.log(`${new Date().toISOString()} ${request.method} ${request.url}`);
response.writeHead(200, { "Content-Type": "text/html; charset=utf-8" });
response.end(html);
}).listen(port, "127.0.0.1", () => {
console.log(`READY http://127.0.0.1:${port}`);
});
先只创建文件,不在普通终端后台启动它。这个示例只监听本机回环地址;本地预览不是公网部署。
启动演示服务#
在同一项目的会话发送:
先列出现有托管服务,检查是否已有本项目的演示服务。
若没有,确认本项目 server.mjs 已保存,且 4173 端口未被占用。
将 node server.mjs 作为托管开发服务启动:
名称 onevium-service-demo,工作目录使用本项目的绝对路径,
日志就绪标记为 READY,自动重启策略为 no。
不要停止其他进程;端口被占用时先报告并等待处理。
返回服务 ID、进程、端口和就绪状态,并打开本地预览。
这个请求应调用 Onevium 的 run_service 能力,而不是只把启动命令写进回答。如果需要确认权限,核对命令是 node server.mjs,目录是刚创建的演示项目。
预期地址为 http://127.0.0.1:4173。需要再次打开时,直接在会话要求“在内置预览中打开这个地址”。
检查进程、端口和页面#
打开当前会话的活动面板,查看 进程 区域中的 onevium-service-demo 行。它显示名称、运行状态、端口和最近输出;悬停名称可以核对完整命令。
| 检查项 | 本例应看到什么 |
|---|---|
| 进程 | 服务有实际进程,未立即退出 |
| 就绪 | 检测到 4173 端口,或日志出现 READY |
| 页面 | 内置预览显示 Onevium service demo 和 The local preview is ready. |
| 请求日志 | 打开或刷新页面后出现 GET / 等请求行 |
进程运行和端口就绪仍不等于页面正确,最后一项页面检查不能省略。需要完整近期日志时,在会话说“读取这个服务最后 50 行日志”,指定刚返回的服务 ID;不要把“最近一行输出”当作完整日志。
停止、重启与再次进入#
- 停止:点击目标服务行的方形停止按钮。停止后刷新预览,应无法再从该端口取得新页面;已经显示的旧页面可能仍留在浏览器中。
- 重启:点击圆形箭头按钮,或在会话要求重启明确的服务 ID。重启沿用原命令和服务记录,再检查新的进程与就绪结果。
- 查看记录:会话结束并不等于常驻服务自动结束。再次工作前先列出现有服务,避免重复启动。
- 清除已完成项:活动面板的清理操作移除已结束记录,不用于停止正在运行的服务。
本例结束时停止 onevium-service-demo。如需调整端口,应修改示例文件并重新验证;不要结束端口上不属于本项目的进程。
处理启动故障#
| 现象 | 下一步 |
|---|---|
node 找不到 | 回到前置检查,确认当前终端/服务环境能找到 Node.js |
| 提示端口占用 | 确认占用者;复用本项目已有服务,或选择其他空闲端口,不盲目杀进程 |
| 立即退出 | 读取该服务日志,检查文件名、语法和工作目录 |
| 运行但未就绪 | 检查真实监听端口和 READY 输出;运行状态与就绪状态分开判断 |
| 网页内容不对 | 核对地址、端口和服务目录,确认不是另一项目的预览 |
| 重开应用后仍有记录 | 重新检查进程、就绪和页面;恢复记录不等于验收通过 |
下一步#
用浏览器自动化检查更多页面行为。修改代码和检查差异见文件、终端与 Review,操作边界见权限与计划。