本仓准备、安装和运行官方 Harness Web 环境。私人助理已拆到私有仓库 HYBB-rash/dsh-assistant,以单个预构建 @herman/dsh-assistant tgz 提供 Telegram、持续责任与定时任务;源码、SDK、业务测试和迁移实现由该仓库维护。
config/web/assistant-release.json 固定助理版本、GitHub Release、来源提交、SHA-256 与兼容的 Harness 版本。准备端通过已登录的 gh 下载;也可用 DSH_ASSISTANT_ARCHIVE 指定已下载的同一归档,仍须通过摘要和包身份校验。候选校验可用 DSH_ASSISTANT_RELEASE_MANIFEST 指定清单;正式准备使用已发布清单。目标机不需要 GitHub 凭据。
config/web/environments/local.json 与 herman.hermes.json 各自固定第三方插件。两端使用同一助理和 Harness,本机保留较新的 Web 插件及订阅插件,Liangshen 使用同一维护版。准备默认 local;远端显式指定 DSH_WEB_TARGET=herman.hermes。
部署不复制助理源码、不修改 peers、不执行插件编译。归档只带精确运行时清单/锁、插件 tgz、配置和脚本;目标 npm 安装本机平台依赖。Node 内置 SQLite 必须至少为 3.51.3,原生终端检查通过后才修改 Profile。
nix develop
npm test
bash scripts/tests/plugin-boundaries.test.sh
DSH_WEB_HOME=/absolute/isolated-home ./scripts/dsh-web-install-plugins
DSH_WEB_HOME=/absolute/isolated-home ./scripts/dsh-web-runtime --no-open安装与启动分开;默认开发端口 5080,临时端口通过 --port 指定。测试用合成配置与隔离状态,不启动真实 Telegram。修改助理行为请到独立仓库构建测试、发布后更新本仓清单。只合成配置不等于实际加载或业务验收。
本机 scripts/dsh-web-local-deploy prepare 只准备批次,必须显式提供本机的 DSH_WEB_PRODUCTION_CREDENTIALS。远端 scripts/dsh-web-deploy 只打包和上传;二者均不停止、安装或启动服务。凭据只允许由打包器从 Git 忽略目录加入,归档按秘密载体保管。
明确授权停机并完成一致性备份后,才运行本批安装器;本机使用 scripts/dsh-web-local-deploy install <批次目录>,再单独启动现有 systemd 服务。远端使用上传批次中的 dsh-web-install 和独立的 dsh-web-start。本机正式端口为 3080,远端保持既有监听、认证和设备配对机制。
旧 JSONL cron 必须在所有写入者停止后,运行本批 bin/cron-migrate --store-dir <绝对路径> --offline 并检查报告;install --migrate 只处理旧 Profile。会话升级到 V3 后不能靠换回旧程序恢复,须依赖升级前一致性备份。安装失败保持现场,不提供自动 rollback。
详细步骤见 部署说明。验收必须覆盖真实进程、入口、认证、会话、Telegram、cron、模型与适用的 Notion 业务。
本仓不含上游源码、fork 或补丁;OpenClaw 和已退役 Docker/OCI 流程始终在范围外。现有 skills/explore-opportunity 是独立的行为指引,不参与助理构建和发布。
仓库目前没有提供开源许可证;公开可见不等于授予使用、复制、修改或分发权。