当前位置: 首页 > news >正文

【OpenClaw】Edict 三省六部制部署与启动

本篇只讲安装与启动,目标很明确:把 Edict 在本地成功跑起来,并完成基础验收。内容按实际部署顺序展开,减少概念说明,重点放在环境检查、启动命令、页面访问、接口验证和常见报错处理上。完成后,可以独立完成 Demo 启动、本地完整栈启动,以及基础问题排查。

目前已整理为一组连续教程,分别对应部署启动、使用实战、二开扩展和封装版本使用四个方向。若希望完整了解该项目的源码运行方式、实际操作流程以及封装版本的使用方法,建议结合以下文章按需阅读。

文章说明
【OpenClaw】Edict 三省六部制部署与启动介绍 Edict 三省六部制的基础部署方式、运行环境准备和启动流程
【OpenClaw】Edict 三省六部制使用与实战流程介绍系统启动后的主要使用方式、核心流程和实战操作思路
【OpenClaw】Edict 三省六部制二开与扩展介绍项目在源码层面的二次开发、扩展思路和能力接入方式
AIGC工具平台-Edict 三省六部制 OpenClaw 集成封装版介绍封装后的本地程序获取、启动配置、WebUI 访问和标准使用流程

文章目录

  • 项目简介与适用人群
  • 架构速览
  • 环境准备
  • 三种安装方式
    • Docker 快速体验
    • macOS/Linux 原生安装
    • Windows 本地生产仿真
  • 一键启动与停止
  • 首次验收清单
  • 常见安装问题排查
  • 可选扩展
  • 总结

项目简介与适用人群

Edict 是一个围绕“三省六部”协作机制构建的任务流转系统,包含看板、后端服务、同步脚本和 OpenClaw 支撑层。学习这类项目,最有效的入口不是先读完整架构,而是先把系统跑起来,再通过页面、接口和日志理解整体结构。

本篇完成后,应达到下面的运行结果:

看板:http://127.0.0.1:7891 健康检查:http://127.0.0.1:7891/healthz 实时状态:http://127.0.0.1:7891/api/live-status 后端文档:http://127.0.0.1:8000/docs Gateway:http://127.0.0.1:18789

部署完成的最低标准

浏览器能打开http://127.0.0.1:7891,接口http://127.0.0.1:7891/api/live-status能返回 JSON,完整模式下http://127.0.0.1:8000/docs能打开,这说明本地环境已经具备继续学习和联调的条件。

架构速览

安装阶段只需要先记住四个组成部分。看板负责展示页面,后端负责接口,同步脚本负责刷新数据,OpenClaw 负责网关与 Agent 能力。页面打不开,多半看端口和看板服务。接口打不开,多半看后端和基础依赖。页面能开但数据不变,多半看同步脚本和日志。

快速记忆可以直接看下面这组对应关系:

看板服务:dashboard/server.py 同步脚本:scripts/run_loop.sh 后端接口:http://127.0.0.1:8000/docs 网关地址:http://127.0.0.1:18789 日志目录:.runtime\prod\logs

首页能打开,但面板没有数据,这类问题通常不是浏览器异常,而是同步链路或后端接口没有准备好。此时应优先检查api/live-status和日志,而不是反复刷新页面。

环境准备

运行 Edict 之前,需要先准备 Git、Python、Node.js、OpenClaw 和 Docker。安装是否成功,不能只看图形界面,而要以命令行检查结果为准。命令能执行,后续脚本才有机会正常运行。

先检查基础命令:

openclaw--versionpython--versionnpm-vdocker-vgit--version

常见要求如下:

Python 3.9+ Node.js 18+ Docker 可正常运行

如果python --version正常,但npm -v报错,说明 Python 已准备完成,Node.js 仍未就绪。继续执行前端相关安装脚本时,通常会直接失败。

在新环境中,先执行下面这一组命令:

openclaw--versionpython--versionnpm-vdocker-vgit--version

只有这些命令都能正常输出版本,才适合进入仓库安装阶段。这样可以减少一半以上的基础环境报错。

三种安装方式

这一部分保留三种路径,但直接按“适用场景 + 命令 + 验收方式”展开,方便照着执行。

Docker 快速体验

这一方式最适合第一次启动,命令最少,目标是先看到页面。

dockerrun-p7891:7891 cft0808/sansheng-demo

打开浏览器访问:

http://127.0.0.1:7891

如果仓库根目录已提供docker-compose.yml,也可以执行:

dockercompose up

停止运行:

Ctrl + C

这组命令的意义很直接,就是先确认项目最外层界面能否正常访问。只要页面能打开,后续再切到完整模式就会更顺手。

执行:

dockerrun-p7891:7891 cft0808/sansheng-demo

看到终端持续运行后,浏览器打开:

http://127.0.0.1:7891

只要页面出现,就说明 Demo 模式已经成功启动。

macOS/Linux 原生安装

原生安装更适合继续做本地开发和联调。

安装并初始化 OpenClaw:

brewinstallopenclaw openclaw init

克隆项目并执行安装脚本:

gitclone https://github.com/cft0808/edict.gitcdedictchmod+x install.sh&&./install.sh

启动同步脚本:

bashscripts/run_loop.sh

启动看板服务:

python3 dashboard/server.py

打开页面:

http://127.0.0.1:7891

这里的重点不是死记命令,而是理解启动顺序。安装脚本负责准备环境和数据,同步脚本负责更新状态,看板服务负责提供页面。少任意一个环节,都可能出现页面能开但功能不完整的情况。

进入项目目录后依次执行:

chmod+x install.sh&&./install.shbashscripts/run_loop.sh python3 dashboard/server.py

另开浏览器访问:

http://127.0.0.1:7891

如果页面正常,再访问:

http://127.0.0.1:7891/api/live-status

能看到 JSON 数据,就说明原生安装基本成功。

Windows 本地生产仿真

Windows 环境更适合直接用批处理脚本拉起整套服务。

本地准备 OpenClaw:

02_setup_openclaw_local.bat

准备 Python 依赖和前端产物:

01_setup_prod_env.bat --sync

启动 Postgres 和 Redis:

dockercompose-fedict/docker-compose.yml up-dpostgres redis

启动整套服务:

03_start_prod_stack.bat --open-browser --migrate

停止服务:

04_stop_prod_stack.bat

启动成功后,重点检查下面这些地址:

看板:http://127.0.0.1:7891 后端文档:http://127.0.0.1:8000/docs Gateway:http://127.0.0.1:18789 日志目录:.runtime\prod\logs

执行:

01_setup_prod_env.bat --sync 03_start_prod_stack.bat --open-browser --migrate

如果脚本执行完成后浏览器打开看板页面,再访问:

http://127.0.0.1:8000/docs

能打开 Swagger 页面,就说明完整链路已经进入可用状态。

一键启动与停止

启动与停止命令是日常最常用的操作。很多异常并不是安装失败,而是旧进程没退出、端口没释放或依赖服务没先启动。

Linux 或 macOS 常用命令:

bashscripts/run_loop.sh python3 dashboard/server.py

Windows 常用命令:

03_start_prod_stack.bat --open-browser --migrate 04_stop_prod_stack.bat

启动前如果系统状态不确定,更稳妥的做法是先执行停止脚本,再重新启动。这样可以减少端口占用和旧进程残留带来的干扰。

当页面异常但原因不明时,可以先执行:

04_stop_prod_stack.bat 03_start_prod_stack.bat --open-browser --migrate

这一套做法比直接双击旧脚本更可靠,因为它会先清理已有服务,再重新拉起当前环境。

首次验收清单

安装完成后,不要只看“命令执行结束”,还要看页面、接口和日志是否正常。只有这三部分都通过,部署才算真正完成。

浏览器检查:

http://127.0.0.1:7891 http://127.0.0.1:7891/healthz http://127.0.0.1:7891/api/live-status http://127.0.0.1:8000/docs

命令行检查:

curlhttp://127.0.0.1:7891/healthzcurlhttp://127.0.0.1:7891/api/live-status

日志位置:

.runtime\prod\logs

healthz用来判断看板服务是否存活,api/live-status用来判断数据接口是否连通,docs用来判断后端是否正常启动。日志则用来确认是否存在持续重复报错。

执行:

curlhttp://127.0.0.1:7891/healthzcurlhttp://127.0.0.1:7891/api/live-status

如果有正常返回,再打开:

http://127.0.0.1:8000/docs

Swagger 页面能显示,说明前端、接口和后端文档链路都已打通。

常见安装问题排查

安装阶段最常见的问题通常集中在端口、基础依赖、同步链路和配置生效这几类。排查时不必大范围重装,按现象查对应模块更高效。

7891 端口被占用

先停止旧服务:

04_stop_prod_stack.bat

继续检查端口:

netstat -ano | findstr 7891

如果已经查到进程号,可以直接结束进程:

taskkill /PID 进程号 /F

页面能开但提示服务未启动

检查健康接口:

curlhttp://127.0.0.1:7891/healthz

检查实时状态接口:

curlhttp://127.0.0.1:7891/api/live-status

如果健康检查正常,但实时状态没有数据,问题大多出在后端或同步链路。

后端起不来

先启动基础依赖:

dockercompose-fedict/docker-compose.yml up-dpostgres redis

再重新启动完整服务:

03_start_prod_stack.bat --open-browser --migrate

模型切换后没生效

同步配置并重启网关:

python scripts/apply_model_changes.py openclaw gateway restart

数据不刷新

手动刷新一次:

python scripts/refresh_live_data.py

如果刷新后仍无变化,通常需要继续检查run_loop是否正在运行。

数据不更新示例

页面能打开,但状态始终不变化,可以先执行:

curlhttp://127.0.0.1:7891/api/live-status python scripts/refresh_live_data.py

如果接口仍没有新数据,再去查看日志目录中的 backend 和 dispatcher 输出,排查会更有方向。

可选扩展

接入消息渠道

本地启动完成后,还可以把消息渠道接入到 OpenClaw,让任务从外部进入系统,而不只是停留在页面演示阶段。

查看已有渠道:

openclaw channels list

添加飞书渠道:

openclaw channelsadd--typefeishu--agenttaizi

配置完成后,任务可以从入口 Agent 进入系统流转。

执行:

openclaw channels list openclaw channelsadd--typefeishu--agenttaizi

完成配置后,通过飞书发送任务消息,就可以测试外部任务进入“三省六部”流程的效果。

总结

本篇的重点只有一个,把 Edict 跑起来。实际操作上可以分成三步:先检查环境,再选安装方式,最后做首次验收。只想快速看效果,用 Docker。准备本地开发,用 macOS 或 Linux 原生安装。需要在 Windows 中做完整联调,用批处理脚本启动整套服务。

只要看板能打开、接口能返回、后端文档能访问,这一篇的目标就已经达成。下一篇就可以直接进入实战使用,包括任务下发、状态流转、看板观察和常用操作。

http://www.jsqmd.com/news/471619/

相关文章:

  • vi编辑器中替换命令
  • 从原理到实战:会话固定漏洞深度剖析与YXcms案例复现
  • OpenClaw 超级 AI 实战专栏【入门与环境】(四)Linux 服务器部署:从零到一跑通 OpenClaw(附命令行全程)
  • Linux虚拟机三种配网
  • 用cpolar给Wikijs解锁公网访问,知识管理再也不被“圈”在办公室
  • InstructPix2Pix效果实测:保留原图结构,精准执行“戴眼镜”、“变老”指令
  • 零基础玩转AudioLDM-S:输入英文描述,一键生成雨林鸟鸣、飞船引擎声
  • Spring AI Alibaba 入门实战
  • linux服务器内存used重启都不释放解决办法
  • MATLAB MAB 5.0建模规范-Stateflow规范 第3部分(详细)
  • azaharplus和azahar区别
  • 利用快马ai快速生成智能温控风扇的pcb设计原型代码
  • android-实例-网络互交-post get请求(依赖okhttp)
  • 【2026-03-07】连岳摘抄
  • 电科金仓MySQL迁移实战:一个技术专家的深度踩坑与突围笔记
  • 常用功能代码笔记
  • 公司都用神电脑监控软件?分享七款好用的电脑监控软件,2026最新精选
  • anaconda3 2023.09-0 安装教程(新手向)
  • 深入解析 Java 代理:从静态代理到 CGLIB,掌握 AOP 底层核心
  • Protocol Launcher 系列:Kaleidoscope 优雅的代码比对与合并
  • __try / __except 和 __try / __finally 用法(五)
  • 鸿蒙中 memory://协议
  • PHP编写对账脚本:立即开发一个每分钟运行的 PHP 脚本,比对活跃商品的 DB 和 Redis 库存。
  • MYSQL中锁的分类与加锁方式小结
  • 鸿蒙开发工程师:构建未来智能生态的基石——技术解析、能力要求与面试指南
  • 2026年伽玛能谱仪采购必看:这些知名企业的产品值得关注 - 品牌推荐大师1
  • Linux驱动SPI-3-注册流程spi4
  • 势能法求解含齿根裂纹的直齿轮时变啮合刚度,根据万志国和梁新辉文献并结合其它文献采用MATLAB...
  • 高性能后台服务分级优化--百万级IO、千万级内存、亿级CPU的递进式优化思路
  • HarmonyOS开发指南:从入门到精通——聚焦APP、游戏与PC应用