@clawos-dev/clawd 0.2.145 → 0.2.146-beta.309.31014b1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/deploy-kit/scripts/publish.sh +8 -5
- package/dist/persona-defaults/persona-app-builder/CLAUDE.md +1 -0
- package/dist/persona-defaults/persona-app-builder/extension-kit/config.env +6 -0
- package/dist/persona-defaults/persona-app-builder/extension-kit/contract/s.yaml.tmpl +6 -3
- package/package.json +1 -1
|
@@ -81,20 +81,23 @@ echo "==> s deploy ($APP_NAME)"
|
|
|
81
81
|
( cd "$EXT_DIR" && s deploy -y )
|
|
82
82
|
|
|
83
83
|
echo "::stage::verify"
|
|
84
|
+
# 精确匹配 s.yaml.tmpl 里写死的 domainName 模式: <APP_NAME>.app.clawos.chat
|
|
85
|
+
EXPECTED_DOM="${APP_NAME}.app.clawos.chat"
|
|
84
86
|
DOM="$(aliyun fc GET /2023-03-30/custom-domains --region "$REGION" 2>/dev/null | python3 -c "
|
|
85
87
|
import sys,json
|
|
86
88
|
d=json.load(sys.stdin)
|
|
87
|
-
|
|
89
|
+
target='$EXPECTED_DOM'
|
|
90
|
+
m=[c['domainName'] for c in d.get('customDomains',[]) if c.get('domainName','')==target]
|
|
88
91
|
print(m[0] if m else '')")"
|
|
89
92
|
|
|
90
93
|
echo ""
|
|
91
94
|
echo "=================================================="
|
|
92
95
|
if [ -n "$DOM" ]; then
|
|
93
|
-
echo "::prod-url::
|
|
94
|
-
echo " ✅ 发布完成:
|
|
96
|
+
echo "::prod-url::https://$DOM"
|
|
97
|
+
echo " ✅ 发布完成: https://$DOM"
|
|
95
98
|
echo "=================================================="
|
|
96
|
-
bash "$KIT_DIR/scripts/verify.sh" "
|
|
99
|
+
bash "$KIT_DIR/scripts/verify.sh" "https://$DOM"
|
|
97
100
|
else
|
|
98
|
-
echo "❌
|
|
101
|
+
echo "❌ 部署完成但未取到自定义域名 $EXPECTED_DOM,检查 fc3-domain 是否成功 + DNS *.app.clawos.chat CNAME 是否生效" >&2
|
|
99
102
|
exit 1
|
|
100
103
|
fi
|
|
@@ -169,6 +169,7 @@ createProject 成功后 daemon 自动:
|
|
|
169
169
|
|
|
170
170
|
- 一律走 **FC(函数计算,serverless)**:免 Docker、闲置缩到 0 按量、适合海量小 extension。
|
|
171
171
|
- Node web 应用走 `custom.debian12` + 官方 Node 层 + `bootstrap` + `fc3-domain` 自定义域名(否则 fcapp.run 默认 URL 强制下载、浏览器不渲染)。
|
|
172
|
+
- **自定义域名 = `<APP_NAME>.app.clawos.chat`(HTTPS 直出)**。根域 `clawos.chat` 一条泛解析 CNAME `*.app → <FC accountId>.cn-hangzhou.fc.aliyuncs.com` 一劳永逸,所有 app 自动落 FC;TLS 走通配符证书 `*.app.clawos.chat`(已托管到 FC 账号 CAS,`certId` 在 `extension-kit/config.env`,3 个月自动续期,证书 ID 不变)。**不要**再回退 `domainName: auto` —— 那派的 `xxx.fcapp.run` 阿里云 3 天回收。
|
|
172
173
|
- 工具链:**`aliyun` CLI + Serverless Devs(`s`)**——即 `publish.sh` 内部做的事。两者由 `deploy-kit/scripts/ensure-toolchain.sh` 在 publish/remove 动手前自动检测+安装(缺 `aliyun`:有 brew 走 `brew install aliyun-cli`,否则下官方二进制到 `~/.clawd/bin`;缺 `s`:`npm i -g @serverless-devs/s`),新机器无需手动装。接管发布失败时**不必再排查"CLI 没装"**。
|
|
173
174
|
- 实时推送用 Supabase Realtime(FC 不维持长连接)。
|
|
174
175
|
|
|
@@ -21,3 +21,9 @@ SUPABASE_KEY=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJvbG
|
|
|
21
21
|
FC_CPU=0.35
|
|
22
22
|
FC_MEMORY=512
|
|
23
23
|
FC_TIMEOUT=60
|
|
24
|
+
|
|
25
|
+
# 自定义域名 SSL 证书:已上传到 FC 账号 CAS(数字证书管理服务),s.yaml 走 certId 引用
|
|
26
|
+
# 证书域名 *.app.clawos.chat(通配符),覆盖所有 <APP_NAME>.app.clawos.chat
|
|
27
|
+
# 续期:阿里云"自动托管"开着,3 个月自动续,certId 不变
|
|
28
|
+
# 更新证书:aliyun cas UploadUserCertificate 上传后改这里
|
|
29
|
+
CERT_ID=25612343
|
|
@@ -40,13 +40,16 @@ resources:
|
|
|
40
40
|
authType: anonymous
|
|
41
41
|
methods: [GET, POST, PUT, DELETE, HEAD]
|
|
42
42
|
|
|
43
|
-
#
|
|
43
|
+
# 自定义域名:绑 *.app.clawos.chat 子域名(根域 DNS 已加泛解析 CNAME 到 FC)
|
|
44
|
+
# 证书走 FC 账号 CAS 托管(certId 在 config.env 里),续期 FC 自动跟新
|
|
44
45
|
__APP_NAME__Domain:
|
|
45
46
|
component: fc3-domain
|
|
46
47
|
props:
|
|
47
48
|
region: ${vars.region}
|
|
48
|
-
domainName:
|
|
49
|
-
protocol: HTTP
|
|
49
|
+
domainName: __APP_NAME__.app.clawos.chat
|
|
50
|
+
protocol: HTTP,HTTPS
|
|
51
|
+
certConfig:
|
|
52
|
+
certId: __CERT_ID__
|
|
50
53
|
routeConfig:
|
|
51
54
|
routes:
|
|
52
55
|
- path: /*
|
package/package.json
CHANGED