1结论速览
五个判断,细节和证据在后面各节。
- 项目性质:云升是企业 Agent 应用平台。上游内核 DSH 锁定版本,云升自己的价值主要落在树外插件(39 个包)、角色预设、企业知识和技能上。桌面端、服务器 Web 版、飞书机器人共用同一套内核和插件。2026-08-17 立项,一个月内桌面端迭代到 0.9.x。仓库
- 部署形态:不在 K8s 上。唯一的生产宿主是一台 4C/32G ECS(172.18.193.80)。这台机器实例名叫
aistore.tmall.tmall.01.sit,同时跑着门店 aistore 的 6 个服务和 agent-platform。公网流量走yunrise.xforceplus.com → ALB feishu-dev → nginx:80。湖仓 - 核心机制:nginx
auth_request加上 auth-service 进程管家,实现"每个用户一个 DSH 进程、一个独立 HOME、一个 bwrap 沙箱"的多用户隔离。插件经 GitLab npm 私服发布,由市场门户审核后下发。仓库 湖仓 L3 快照里看到 3 个 bwrap 沙箱内的用户实例在线,与此机制一致。湖仓 - 湖仓可见性:湖仓能看到仓库、入口链、宿主进程和端口;看不到代码结构(没有镜像,所以没有代码抽取)、配置(不用 Apollo)、数据(不用 DMS)。ECS→GitLab 桥对 Node 服务的归属是 0。09-04 之后新增的 88 服务器、
yunrise-ai域名、票易通 MCP 都还不在湖里。湖仓 - 主要风险:单宿主资源争用(09-01 出过 OOM 连锁故障);多处单点(auth-service、80 主机、飞书长连接、市场与 MCP 只在 80);88 迁移中首个用户沙箱出现"双活"会话分叉;88 回源的 ALB 健康检查只探 nginx 默认页;资源命名与成本归属漂移;上游 developer preview 内核的定制负担。仓库湖仓
2项目画像与时间线
定位与形态
- 产品:云升 Yunrise 企业智能,标语"企业智能,自然生长",品牌色云升绿 #0B7A5C。仓库
- 内核:DeepSeek Harness(
@deepseek-ai/dsh),"一切皆插件"的 Cordis 架构,上游仍是 developer preview。仓库 - 桌面端:Electron 壳加内嵌离线内核,支持 Windows NSIS 和 macOS zip(在 Linux 上交叉打包)。仓库版本 0.9.16;文档记录线上 Win 0.9.11 / Mac 0.9.9(09-08 口径)。仓库
- 服务器 Web 版:多用户,入口
https://yunrise.xforceplus.com;未登录时显示门户介绍页,登录后进入工作台。仓库 - 飞书机器人:把飞书消息接进"项目分析师"数字员工。私聊路由到本人实例,群聊一律走共享实例。仓库
能力构成
- 角色预设:配置仓 5 个(lite / dev / analyst / invoice / invoice-fast),服务器侧 7 个(cert / dev / filing / invoice-fast / invoicing / lite / risk)。仓库
- 插件:三模式工作台(工作 / 管理 / 开发)、启动台、定时任务、协作收件箱、组织视图、知识服务、插件与技能市场、安全宪法、票易通嵌入与确认门、成本统计等。仓库
- 技能:21 个通用技能种子,另有业务技能:凯德→汉高开票、数电业务单开票、销项发票风险监控、历峰 posdate 统计。仓库
- 业务集成:票易通 SaaS 4.0 MCP(11 个服务、230 个工具)、Hologres ODS 只读 MCP、研发本体湖仓插件
dsh-ontology。仓库
时间线
- AgentOS 首次提交:Windows 桌面 Agent 平台,洁净室方式对标 WorkBuddy。仓库
- GitLab
yunrise组创建 agentos 与 agentos-cloud 两个项目。湖仓 - 《云升企业级 Agent MVP 设计》定稿,决策 D1 选"路线 A":DSH 锁版本作为上游,云升维护配置层和 Electron 壳。AgentOS 两仓此后停更。仓库推断
- 创建 yunrise-Agent(内核主仓)、yunrise-server、yunrise-config、dsh-plugin-market 四个项目。湖仓
- 公网双域名按 Host 分流上线;多用户隔离(每用户一进程)上线;realip 还原真实客户端 IP。仓库
- 内核换底到 0.1.1-rc.2。仓库
- bwrap 沙箱全量启用;桌面 0.9.0 发布三模式工作台;同日发生 OOM 连锁故障,随后加了四道内存护栏。仓库
- 服务器扩容到 30GB 内存。仓库 湖仓记录规格为 ecs.r7a.xlarge、32768 MB,两者一致。湖仓
- 授权数据迁入
users.json等文件;湖仓完成本次调研所用的批次抽取。仓库湖仓 - 票易通 MCP 服务群上线(nginx 9084),授权备份与巡检定时器上线。仓库
- 第二台服务器 172.18.193.88 独立栈建成,Hologres MCP 上线(nginx 9085)。仓库
yunrise-ai.xforceplus.com开通并指向 88;首个迁移沙箱出现双活,尚未正式切换。仓库
3资产盘点
6 个仓库都由同一位创建者(creator_id 364)在 08-13 ~ 08-21 之间建立。提交数有两个口径:湖仓 09-04 的 GitLab 统计,以及 09-16 实际检出的 git rev-list。
| 项目 ID | 仓库 | 定位 | 主语言 湖仓 | 提交数(09-04 / 09-16) | 贡献者 | 最后提交 | GitLab CI |
|---|---|---|---|---|---|---|---|
| 2707 | yunrise/yunrise-config | 产品仓:插件、预设、知识、技能、桌面壳、运维文档 | JavaScript 63% · TS 17% · Python 15% | 779 / 1349 | 5 | 09-16 | 插件标签发布,lint 通过 |
| 2705 | yunrise/yunrise-server | 80 服务器配置仓:auth-service、nginx、systemd、部署脚本 | Python 86%① | 33 / 139 | 4 | 09-16 | 无 |
| 2704 | yunrise/yunrise-Agent | DSH 内核主仓(0.1.1-rc.2 + 云升定制),Python SDK | TypeScript 97% | 39 / 47 | 2 | 09-15 | python-v* 标签发 wheel,lint 不通过 |
| 2710 | yunrise/dsh-plugin-market | 插件市场:准入门禁 CLI、schema、CI 模板、门户服务 | JavaScript 100% | 41 / 42 | 1 | 09-13 | 分支校验 + v* 标签自发布,lint 通过 |
| 2701 | yunrise/xforceplus-agentos | AgentOS:Windows 桌面 Agent 平台(Electron + 本地 Daemon) | TypeScript 92% · C++ 4% | 388 / 409 | 1 | 08-17 | 无(仓内是 GitHub Actions) |
| 2702 | yunrise/xforceplus-agentos-cloud | AgentOS 云端:Fastify + Postgres/SQLite(SSO、RBAC、市场、计费等) | TypeScript 99.9% | 20 / 20 | 1 | 08-16 | 无 |
① GitLab 语言统计把 dsh/skills 下业务技能的 Python 脚本算进去了,auth-service 本身是 Node.js。
yunrise/xforceplus-mcp(09-06 建,票易通 MCP 服务群)比湖仓批次晚,没被编目;Hologres MCP 服务 09-14 已部署,湖仓里找不到对应仓库。AgentOS 两仓 08-16/17 之后没有新提交,服务器上 /opt/agentos/portal 这个目录名是它留下的痕迹。仓库推断4架构图
三张图都由 archify 生成,已通过 showcase 质量校验(9/9 项)和四种桌面视口的浏览器实测。图内可以缩放、搜索、聚焦路径,点"打开交互版"查看完整视图和引导章节。
5公网入口链
按 scenarios/incident.md INC-3 的 ODS 三段链逐跳实测(dws.v_ingress_chain 当前不可用)。湖仓
| 跳 | 对象 | 实测值 | 备注 |
|---|---|---|---|
| DNS | yunrise.xforceplus.com | CNAME → alb-dvgi4g9180vqvv1crp.cn-hangzhou.alb.aliyuncsslb.com,TTL 60,ENABLE | 同一 ALB 上还挂着 aistore.xforceplus.com、feishu-dev.xforceplus.com、cliproxyapi2.xforcecloud.com |
| WAF | — | 无防护域 | 未接入 WAF |
| ALB | feishu-dev | Internet · Active · 监听 HTTPS:443 | ALB 卸载 HTTPS,回源 HTTP 并透传 Host |
| 规则 | 优先级 3332 | host = yunrise.xforceplus.com → 服务器组 aistore | 与 aistore 域名(优先级 6666)共用同一服务器组 |
| 规则 | 优先级 3333 / 默认 | cliproxyapi2 → IP 型后端 :8317;默认动作 → project.cms.cms.01.prod:5000 | 同 ALB 上的其他业务,与云升共担命运 |
| 后端 | ECS i-bp15teisdgaryc16mtcs | 172.18.193.80:80 · Ecs · Available | 无公网 IP 和 EIP,只经 ALB 暴露 |
yunrise-ai.xforceplus.com 在 09-16 开通,CNAME 到同一 ALB,回源 172.18.193.88:80,证书是 *.xforceplus.com 通配符。分流全部在本机 nginx 的 server_name 里完成,ALB 只负责按 Host 选服务器组。仓库6服务器运行时
下表把湖仓 ECS L3 进程快照(2026-09-04 19:18 UTC)和仓库里声明的 nginx/systemd 配置对齐。该主机是 L3 首梯队 3 台已采集机器之一。
宿主台账 湖仓
- 实例名
aistore.tmall.tmall.01.sit,规格 ecs.r7a.xlarge,4 vCPU / 32 GB,Alibaba Cloud Linux 3,可用区 cn-hangzhou-k,2026-07-21 创建。 - 标签:
pyt_cost_1=aistore、ai-exec=allow;归属解析结果为 aistore(名称与标签一致)。 - L3 采集状态 ok,带
encrypted-dropped降级标记;yunrise 各单元的exec_command为空(原因未核实),启动信息只能从进程命令行看到。
同机共存的非云升负载 湖仓
- aistore 门店:tmall-store(Java :8200)、tmall-billing(Java :8090)、tmall-mdyy(uvicorn :8100)、tmall-ai-sidecar(:8300)、tmall-cloud-phone-gateway(:18120)、tmall-yp-ai-guide(Next.js 16 :3000)。
- agent-platform:Java 21
agent-app-0.1.0-SNAPSHOT(:8080)加 Next.js 14 前端(:3002),经 nginx :3001 暴露。它的 nginx 配置也放在 yunrise-server 仓里,归属待确认。
| 端口 | 服务 | 进程 / 管理方式 | 湖仓快照(09-04) | 仓库声明(09-16) |
|---|---|---|---|---|
| 80 | 公网入口:按 Host 分流 yunrise / aistore | nginx | ✅ 监听 | yunrise-site.conf、tmall-yp-ai-guide.conf |
| 9080 | 内网云升 Web(认证墙) | nginx → 用户实例 | ✅ 监听 | yunrise-dsh.conf |
| 3081 | auth-service(登录、/check、/creds、管理后台) | systemd yunrise-auth · node | ✅ 127.0.0.1 | cgroup 12G,KillMode=process |
| 3100–3199 | 每用户 DSH 实例 | auth-service 拉起 → bwrap → node | ✅ 3 个在线(3100 / 3109 / 3112) | 闲置 60 分钟回收,每个约 200 MB |
| 3080 | 共享兜底内核(dsh web) | systemd yunrise-dsh | ✅ 127.0.0.1 | cgroup 3G,全员迁移后可退役 |
| 9082 / 9083 | 插件市场门户:机器口零凭据 / 人用口带认证墙 | systemd yunrise-market · node | ✅ *:9082;✅ nginx 9083 | 09-01 纳入仓库,带加固 drop-in |
| 8400 / 9081 | 门户下载页与更新服务(manifest.json) | nginx 静态 | ✅ 监听 | 安装包在数据盘,经软链提供 |
| 9084 → 8799 | 票易通 SaaS 4.0 MCP(11 个服务) | systemd xforceplus-mcp | ❌ 未见(09-06 才上线) | 768M 内存围栏 + 加固 |
| 9085 → 8798 | Hologres ODS 只读 MCP | systemd yunrise-hologres-mcp | ❌ 未见(09-14 才上线) | 768M 内存围栏 + 加固 |
fork 记账不足,bash 工具报 spawn ENOMEM,依赖脚本的业务技能全部静默失效。事后加了四道护栏:2G swap、cgroup 限额、原生内存治理环境变量(MALLOC_ARENA_MAX、VIPS_CONCURRENCY)、会话日志解压帧数上限。09-02 又把内存扩到 30 GB。仓库88 独立栈(迁移中)仓库
- 规格 2 核 7.4G 加 2G swap,Alibaba Cloud Linux 4,cgroup v2(
MemoryHigh=5G/MemoryMax=6G)。有自己独立的 nginx、auth-service 和账号库,没有 3080 共享兜底,实例拉起失败时直接返回 502。 - 插件市场(9082)、票易通 MCP(9084)、下载页(9081)仍通过内网回调 80;飞书机器人只能在 80 上跑一份。
- 截至 09-16:首个迁移沙箱在 80 和 88 上同时有实例在跑,两边会话已经分叉(当天各自新增会话),正式切换步骤(强制下线、停实例、挪走目录)还没执行。
- 湖仓 09-04 批次的 ECS 台账里找不到 172.18.193.88。
7鉴权与多用户隔离
依据 auth-service/server.js、proc-manager.js、config.js 与 nginx 配置。仓库
登录与会话
- 三种登录方式:本地
users.htpasswd(bcrypt)、飞书 OAuth(/feishu/start、/feishu/callback)、云砺 PaaS 账号(/xforce/login加/xforce/tenant选择租户)。 - 会话用 HMAC 签名 cookie,签名密钥
session.key不入库;88 使用独立密钥,与 80 不通用。 - 桌面端通过
/desktop-exchange和/creds按账号领取模型 key 与 MCP 服务配置;云砺登录会自动挂上xfp-master-data和xfp-sales-issue两个 MCP。 /check不只校验会话,还做"主体门禁":停用、到期、强制下线、待开通都在这里拦下,并写入审计。
每用户实例调度
/check通过后调用procManager.ensure(),把端口放在X-Dsh-Port响应头里交给 nginx,nginx 用auth_request_set按用户转发。- 单飞:同一用户的并发请求只触发一次拉起。
registry.json记录端口,auth 重启后通过端口探活收养旧进程。 - 种子:插件层
profiles/web(约 625 MB)做成冻结只读种子,用cp -al硬链接克隆给每个用户,磁盘几乎零成本,也不会互相写穿。 - 沙箱:bwrap 独立 mount 和 pid 命名空间,只有 HOME 可写;实例环境变量走白名单,不继承网关机密。
users.json、packages.json、catalog.json、logins.json、audit.jsonl),每次写入自动保留 20 份备份,每天 03:10 全量备份到数据盘并把脱敏结构快照提交回配置仓,03:30 做巡检(实物比对、悬空引用、备份健康)。它不在 DMS 或任何数据库的纳管范围内。仓库8研发与发布链路
CI 配置取自湖仓 gitlab_ci_configs湖仓,打包与部署流程取自运维文档仓库。湖仓里 gitlab_pipelines / gitlab_jobs 整体为空,看不到流水线运行记录。
| 发布线 | 触发 | 流程 | 制品落点 |
|---|---|---|---|
| 插件线(主线) | 在 yunrise-config 打 plugin-<目录>-vX.Y.Z 标签 | Harbor 的 node:24 镜像 → Verdaccio 镜像源装依赖 → 市场准入门禁 @yunrise/dsh-plugin-market@0.3.0 → 校验标签与版本一致 → npm publish → POST :9082/api/refresh 通知门户 | 项目 2707 的 npm 私服 → 门户同步(10 分钟一次或 refresh 触发)→ 默认 pending,审核后才 approved 并下发 |
| 市场包自身 | dsh-plugin-market 打 vX.Y.Z 标签 | 分支跑测试并用模板插件自检门禁 → CI 用 CI_JOB_TOKEN 自发布 | 项目 2710 的 npm 私服 |
| 安装包线 | 手工发版(release-process.md) | 内核仓 build 加 release:pack 出 tarball → 桌面 bundle-runtime(陈旧检测加指纹重装)→ electron-builder;Mac 包在 Linux 服务器上交叉打包 | scp 到门户下载目录 → manifest.json 是版本的唯一权威,客户端检查更新也读它 |
| 服务器线 | 手工 | scripts/deploy.sh 从仓库同步到线上(可 --check 自证一致);线上热修后用 backflow.sh 或 collect.sh 回流仓库 | 80 服务器的运行目录;88 禁止运行 deploy.sh |
| Python SDK | yunrise-Agent 打 python-v* 标签 | SDK wheel 加三平台 runtime wheel(linux-x64、linux-arm64、macos-arm64,内含 pkg 打出的 jsonrpc agent 可执行文件),附冒烟测试 | 项目 2704 的 PyPI 私服;湖仓 lint 报 needs sdk-wheel is not defined in prior stages |
- 插件优先原则:功能改造能做成树外插件就不改内核,判据是"升级到 rc.N+1 时这个功能需不需要人工动手"。目前内核仍有 9 个定制包(品牌文件、ModelSelect 等),每次升级都要重放移植。仓库
- 提交规范:GitLab pre-receive 钩子要求提交信息带飞书子任务编号(
subtask:TAXWARE-…),可以写在 trailer 位置。仓库 - 插件分发平台:09-13 起门户支持
?platform=desktop|server,老客户端只能看到全平台插件。仓库
9外部依赖
| 依赖 | 用途 仓库 | 湖仓佐证 湖仓 |
|---|---|---|
cliproxyapi.xforcecloud.com:8318 | GPT / grok 模型网关(Anthropic 报文),8317 端口已废弃。默认模型口径不一致:环境文档写 cli-proxy / gpt-5.6-sol,服务器仓 settings.yaml 写方舟 doubao-seed | DNS A 记录指向公网 IP。其他项目仍配置 :8317:ticket-tax-ai-ops-service(Apollo PROD)、ai-ops-assistant(FAT)、invoice LLM(in-situ);ant-coop-copilot-service 通过环境变量引用 |
new-api.xforceplus.com/v1 | 13 个国产模型(openai-completions);授权网关 NEWAPI_BASE_URL | CNAME → ALB internet_ecs.vpc_xforceplus_35.01.prod → 服务器组 new-api → ECS :3000,该 ECS 实例名为 devops.prometheus.prometheus.cloud01.prod(名实不符) |
火山方舟 ark.cn-beijing.volces.com | Doubao Seed 系列;服务器种子 settings 里默认 agent 模型是 doubao-seed-2.1-turbo | 公网服务,湖仓无记录 |
| 阿里云 Token Plan(MaaS) | 国产模型;周配额耗尽会让全服对话瘫痪 | 湖仓无记录 |
| 飞书开放平台 | OAuth 登录、机器人长连接 | 湖仓无记录 |
paas.xforceplus.com | 云砺账号登录与租户;票易通 SaaS 嵌入白名单 | 公网 A 记录;内网解析到 172.18.118.1(据文档) |
ai-native.test.xforceplus.com | 数电发票 MCP | CNAME → ALB intranet_k8s.devops-normal(K8s 入口) |
GitLab gitlab-devops.xforceplus.com | 源码、npm 私服、PyPI 私服、CI | 6 个仓库、语言统计、CI 配置 |
Verdaccio 172.18.10.176:4873 | 公司内部 npm 镜像,CI 与三方插件更新检测都用它 | ECS midware.frontend-npm-server.01.prod(fedcenter),无云助手,L3 看不到 |
Harbor harbor.paas.xforceplus.com | CI 用 node 镜像 | — |
| 研发本体湖仓(AnalyticDB PG) | @yunrise/dsh-ontology 插件(未发布)和部分沙箱技能直连查询 | 即本次调研的数据源 |
10湖仓覆盖与治理发现
从研发本体湖仓的视角看,云升这类"ECS 裸部署 + Node.js + 文件型状态"的项目,哪些看得见,哪些看不见。
6 仓、语言、CI 配置与 lint 均可查;流水线运行记录全局为空。
DNS → ALB → 规则 → 服务器组 → ECS 全链可逐跳还原。
宿主规格、标签、进程、监听端口、systemd 单元都可见;云升各单元的 exec_command 为空。
K8s 工作负载 0,没有镜像,因此端点、配置键、调用线索的抽取覆盖为 0。
配置在 .env 与 settings.yaml,状态在本机 JSON,湖仓两域都查不到。
dws.v_ecs_workload_gitlab 对 yunrise 各单元都是 no-jar / none,Node 服务无法归属到仓库。
09-04 之后新增的 88 主机、yunrise-ai 域名、两个 MCP 服务、xforceplus-mcp 仓都不在湖里。
portal_menus / portal_micro_apps 里没有云升,报障时无法从页面名词反查到它。
治理发现
- 命名与成本归属漂移:承载云升生产流量的宿主叫
aistore.tmall.tmall.01.sit,名字里是 sit 环境,成本标签却记在 aistore;ALB 名叫feishu-dev,09-04 批次时已挂 4 个域名,09-16 又加上 yunrise-ai;new-api 网关跑在一台叫 prometheus 的机器上。湖仓 - Node 服务归属缺口:L3 已经采到进程的
script_path(例如/home/appuser/yunrise-dsh/auth-service/server.js、/home/appuser/dsh-market-portal/portal/server.mjs),它们和仓库文件路径(yunrise-server 的auth-service/server.js、dsh-plugin-market 的portal/server.mjs)存在稳定的后缀对应。建议给v_ecs_workload_gitlab增加"脚本路径后缀 ↔ 仓库文件"匹配通路。湖仓仓库 - 单元级命令缺失导致 GAV 丢失:同一台主机上,tmall-billing、tmall-store 在进程级能读到 jar 的 GAV,但单元级
exec_command为空,DWD 层判成 no-jar。建议 DWD 层在单元级缺失时回退使用进程级 jar。湖仓 - 跨项目端口漂移:云升文档说 cliproxyapi 的 8317 端口已废弃,但 ticket-tax-ai-ops-service(PROD)等仍配着 :8317,需要确认这些服务的模型调用是否受影响。湖仓仓库推断
- 非镜像项目缺少代码入口:建议给 yunrise 组增加"源码直抽"的抽取入口(按默认分支或发布标签),补上端点、配置键、依赖这些结构元数据。推断
关键查询(逻辑层名,可直接用 probe 执行)
-- 入口链:域名 → ALB 规则 → 服务器组 → 后端
SELECT r.priority, r.host, g.name AS server_group, s.type, s.server_id, s.server_ip, s.port
FROM ods_current.alb_rules r
JOIN ods_current.alb_load_balancers a ON a.load_balancer_id = r.load_balancer_id
LEFT JOIN ods_current.alb_server_groups g ON r.forward_server_group_ids::jsonb ? g.server_group_id
LEFT JOIN ods_current.alb_servers s ON s.server_group_id = g.server_group_id
WHERE a.dns_name = (SELECT value FROM ods_current.dns_records
WHERE domain_name = 'xforceplus.com' AND rr = 'yunrise');
-- 宿主上的进程 × 监听端口(L3)
SELECT p.unit_name, p.exe_name, p.script_path, lp.addr, lp.port
FROM ods_current.ecs_processes p
LEFT JOIN ods_current.ecs_listen_ports lp
ON lp.instance_id = p.instance_id AND lp.pid = p.pid
WHERE p.instance_id = 'i-bp15teisdgaryc16mtcs' AND p.unit_name ILIKE 'yunrise-%';
-- ECS workload → GitLab 归属(Node 服务全部 no-jar / none)
SELECT unit_name, match_route, match_quality
FROM dws.v_ecs_workload_gitlab
WHERE instance_id = 'i-bp15teisdgaryc16mtcs';
11风险与建议
- 高单宿主资源争用。云升的 N 个用户实例、aistore 门店 6 个服务、agent-platform 挤在同一台 4C/32G 上,09-01 已经出过 OOM 连锁故障。
建议:把云升和 aistore 拆到不同宿主(88 独立栈方向是对的);给 tmall 系服务也加上 cgroup 限额;把
spawn ENOMEM和 OOM 次数接入告警。 - 高迁移双活导致会话分叉。首个迁移沙箱 09-14 起同时在 80 和 88 上被使用,两边会话已经不一致。
建议:按指南先把 80 当天独有的会话补到 88,再执行强制下线、停实例、挪走目录;把"同步即切换"写成一个脚本原子完成,避免只做一半。
- 高多处单点。每个请求(包括静态资源)都要经 auth-service 的
/check;80 是唯一生产主机;飞书机器人长连接只能在一台上跑;88 依赖 80 的市场、MCP 和下载页。建议:给/check结果做短时缓存或对静态资源放行;明确 88 在 80 故障时的降级行为;把市场和 MCP 部署成两台都能用的服务。 - 中共享 ALB 与健康检查。ALB
feishu-dev同时承载 yunrise、aistore、cliproxyapi2 和默认业务;文档记载 88 回源的健康检查只探 nginx 默认页,证明不了云升本身活着(80 侧的检查路径未核实)。建议:健康检查路径改为/_auth/login;为云升单独建服务器组或 ALB,并按实际用途重新命名。 - 中上游内核与定制负担。DSH 仍是 developer preview,会有破坏性变更;云升在内核上仍有 9 个定制包,还出现过内核自带插件与种子插件 id 冲突导致升级即崩的事故(0.6.9)。
建议:继续把定制收敛回插件,把插槽补丁推给上游;发版前固定跑
verify-load的 id 冲突检查。 - 中模型供给集中。Token Plan 周配额耗尽会让全服对话瘫痪;cliproxyapi 端口变更会影响还在用旧端口的调用方。
建议:配额和 401 做监控告警;利用
dsh-model-tiers的档位自动回落到其他 provider。 - 中权限与暴露面。服务器种子 settings 的默认权限预设是
danger-full-access,完全依赖 bwrap 沙箱兜底;市场 9082 机器口零凭据,/api/refresh无鉴权,安全性依赖内网边界。建议:服务器实例改用更严格的默认预设,高危工具走审批;9082 限制来源 IP,refresh 加共享令牌。 - 低可观测与治理缺口。湖仓看不到云升的代码结构、配置和运行记录;CI lint 报错;AgentOS 两仓停更后去留未定。
建议:落实第 10 节的湖仓补桥建议;修复 yunrise-Agent 的 CI
needs顺序;决定 AgentOS 两仓归档还是继续,并清理/opt/agentos的历史命名。
12方法与局限
数据来源
- 湖仓(ontoos-probe):活跃批次
gitlab-devops 20260904_072518、net-aliyun 20260904_111348、ecs-aliyun 20260904_111832、apollo-prod 20260904_105222、dms-aliyun 20260904_074140。检索覆盖 GitLab、K8s、Apollo、DMS、网络、ECS、门户、代码域。 - 仓库(ontoos-code-probe 只读检出):用
git ls-remote取默认分支 HEAD:agentosb2e6e919、agentos-cloudcd35c214、yunrise-Agent4056544d、yunrise-server6a27fff8、yunrise-config48820acb、dsh-plugin-markete014f996。 - 架构图(archify):architecture、sequence、workflow 三种类型,showcase 校验加四视口浏览器实测。
局限
- 检出的不是部署 commit:云升是 ECS 裸部署,湖仓里没有镜像到 commit 的溯源,仓库结论反映 09-16 的默认分支,和线上实际运行的版本可能有差异。
- 文档声明未逐项验证:标注为仓库的运行态事实(内存事故、迁移状态、线上版本等)来自运维文档,本次没有登录服务器核实。
- 快照时效:湖仓 L3 进程快照是某一时刻的采样,在线实例数、端口会随时变化。
- 隐私:报告隐去了账号、邮箱、用户键、令牌和密钥,只保留架构层面的信息。