@clawos-dev/clawd 0.2.149-beta.315.fe63177 → 0.2.150-beta.316.82021dd
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/cli.cjs
CHANGED
|
@@ -35558,41 +35558,34 @@ var fs9 = __toESM(require("fs"), 1);
|
|
|
35558
35558
|
var path11 = __toESM(require("path"), 1);
|
|
35559
35559
|
var import_node_url = require("url");
|
|
35560
35560
|
var import_meta = {};
|
|
35561
|
-
var DEFAULT_BYPASS_PROFILE = {
|
|
35562
|
-
permissions: { defaultMode: "bypassPermissions" }
|
|
35563
|
-
};
|
|
35564
35561
|
var DEFAULT_PERSONAS = [
|
|
35565
35562
|
{
|
|
35566
35563
|
personaId: "persona-researcher",
|
|
35567
35564
|
label: "\u8C03\u7814\u5458",
|
|
35568
35565
|
model: "opus",
|
|
35569
35566
|
iconKey: "research",
|
|
35570
|
-
public: false
|
|
35571
|
-
sandboxProfile: DEFAULT_BYPASS_PROFILE
|
|
35567
|
+
public: false
|
|
35572
35568
|
},
|
|
35573
35569
|
{
|
|
35574
35570
|
personaId: "persona-knowledge-base",
|
|
35575
35571
|
label: "\u77E5\u8BC6\u5E93\u7BA1\u7406\u5458",
|
|
35576
35572
|
model: "opus",
|
|
35577
35573
|
iconKey: "reading",
|
|
35578
|
-
public: false
|
|
35579
|
-
sandboxProfile: DEFAULT_BYPASS_PROFILE
|
|
35574
|
+
public: false
|
|
35580
35575
|
},
|
|
35581
35576
|
{
|
|
35582
35577
|
personaId: "persona-clawd-helper",
|
|
35583
35578
|
label: "clawd\u4F7F\u7528\u52A9\u624B",
|
|
35584
35579
|
model: "opus",
|
|
35585
35580
|
iconKey: "assist",
|
|
35586
|
-
public: false
|
|
35587
|
-
sandboxProfile: DEFAULT_BYPASS_PROFILE
|
|
35581
|
+
public: false
|
|
35588
35582
|
},
|
|
35589
35583
|
{
|
|
35590
35584
|
personaId: "persona-feishu-assistant",
|
|
35591
35585
|
label: "\u98DE\u4E66\u52A9\u7406",
|
|
35592
35586
|
model: "opus",
|
|
35593
35587
|
iconKey: "assist",
|
|
35594
|
-
public: false
|
|
35595
|
-
sandboxProfile: DEFAULT_BYPASS_PROFILE
|
|
35588
|
+
public: false
|
|
35596
35589
|
},
|
|
35597
35590
|
{
|
|
35598
35591
|
// app-builder:全栈应用搭建师,绑 extension-kit 模板 + multi-project picker
|
|
@@ -35676,16 +35669,14 @@ var DEFAULT_PERSONAS = [
|
|
|
35676
35669
|
label: "\u5F00\u53D1\u8005",
|
|
35677
35670
|
model: "opus",
|
|
35678
35671
|
iconKey: "code",
|
|
35679
|
-
public: false
|
|
35680
|
-
sandboxProfile: DEFAULT_BYPASS_PROFILE
|
|
35672
|
+
public: false
|
|
35681
35673
|
},
|
|
35682
35674
|
{
|
|
35683
35675
|
personaId: "persona-bug-fixer",
|
|
35684
35676
|
label: "Bug \u4FEE\u590D\u5E08",
|
|
35685
35677
|
model: "opus",
|
|
35686
35678
|
iconKey: "debug",
|
|
35687
|
-
public: false
|
|
35688
|
-
sandboxProfile: DEFAULT_BYPASS_PROFILE
|
|
35679
|
+
public: false
|
|
35689
35680
|
},
|
|
35690
35681
|
{
|
|
35691
35682
|
// HTML PPT 制作师:把想法/文字/旧 PPT 转成单文件 HTML 演示稿
|
|
@@ -35695,7 +35686,35 @@ var DEFAULT_PERSONAS = [
|
|
|
35695
35686
|
model: "opus",
|
|
35696
35687
|
iconKey: "doc",
|
|
35697
35688
|
public: false,
|
|
35698
|
-
|
|
35689
|
+
// 与 app-builder 对齐"调用阿里云的工作方式"(owner 2026-06-17 要求):开发型 profile —— 放开文件/web
|
|
35690
|
+
// 工具 + node/pnpm 工具链精确路径 + 出站 TLD 通配白名单。html-slides 需要联网(git clone frontend-slides
|
|
35691
|
+
// skill、调阿里云 CLI/SDK)。
|
|
35692
|
+
// 阿里云凭证:**复用共享 deploy-kit 单源**($HOME/.clawd/deploy-kit/.secrets/aliyun.env,全 FC persona 共用、
|
|
35693
|
+
// seedDeployKit 每次安装都铺),不在 persona 目录另存一份。app-builder 的 FC 部署走 daemon 侧脚本(沙箱外)
|
|
35694
|
+
// 故其 profile 无需 carve 这个路径;html-slides 没有 daemon 侧流程、要在 cc 沙箱内直接 `set -a; . $HOME/.clawd/
|
|
35695
|
+
// deploy-kit/.secrets/aliyun.env; set +a` 后调 aliyun CLI(env 凭证绕过沙箱外的 ~/.aliyun/),所以这里**额外**把
|
|
35696
|
+
// 这个凭证文件加进 allowRead(denyRead '~/' 之上的精确凿洞,单文件、最小暴露,同 ~/.npmrc 先例)。
|
|
35697
|
+
sandboxProfile: {
|
|
35698
|
+
permissions: {
|
|
35699
|
+
defaultMode: "bypassPermissions",
|
|
35700
|
+
allow: ["Read", "Edit", "Write", "Glob", "Grep", "WebFetch", "WebSearch"]
|
|
35701
|
+
},
|
|
35702
|
+
sandbox: {
|
|
35703
|
+
filesystem: {
|
|
35704
|
+
allowRead: ["~/.npmrc", "~/Library/Preferences/pnpm", "~/.nvm", "~/Library/pnpm", "~/.local/share/pnpm", "~/.local/state/pnpm", "~/.npm", "~/.pnpm-store", "~/.clawd/deploy-kit/.secrets/aliyun.env"],
|
|
35705
|
+
allowWrite: ["~/Library/pnpm", "~/.local/share/pnpm", "~/.local/state/pnpm", "~/.npm", "~/.pnpm-store"]
|
|
35706
|
+
},
|
|
35707
|
+
network: {
|
|
35708
|
+
allowedDomains: ["*.com", "*.org", "*.io", "*.net", "*.dev", "*.app", "*.cn", "*.co", "*.chat", "*.ai"],
|
|
35709
|
+
allowLocalBinding: true
|
|
35710
|
+
}
|
|
35711
|
+
}
|
|
35712
|
+
},
|
|
35713
|
+
codexSandbox: {
|
|
35714
|
+
writableRoots: ["~/Library/pnpm", "~/.local/share/pnpm", "~/.local/state/pnpm", "~/.npm", "~/.pnpm-store"],
|
|
35715
|
+
denyRead: [".secrets/**"],
|
|
35716
|
+
network: true
|
|
35717
|
+
}
|
|
35699
35718
|
}
|
|
35700
35719
|
];
|
|
35701
35720
|
function bundleSiblingFromArgv(argv1, sibling) {
|
|
@@ -42956,7 +42975,6 @@ function buildFeishuAuthHandlers(deps) {
|
|
|
42956
42975
|
const logout = async () => {
|
|
42957
42976
|
deps.ownerIdentityStore.clear();
|
|
42958
42977
|
deps.serverKeyStore.clear();
|
|
42959
|
-
deps.onLogout();
|
|
42960
42978
|
return {
|
|
42961
42979
|
response: { type: "auth:logout:ok" }
|
|
42962
42980
|
};
|
|
@@ -46517,25 +46535,7 @@ async function startDaemon(config) {
|
|
|
46517
46535
|
bundleCache,
|
|
46518
46536
|
// 飞书统一身份 Phase 1:登录 RPC handlers(auth:login:start / getIdentity / logout)
|
|
46519
46537
|
// deviceId(决策 #15):getIdentity 返回给 UI 拼"我的设备标识"
|
|
46520
|
-
feishuAuth: {
|
|
46521
|
-
loginFlow,
|
|
46522
|
-
ownerIdentityStore,
|
|
46523
|
-
deviceId: authFile.deviceId,
|
|
46524
|
-
serverKeyStore,
|
|
46525
|
-
// 退出登录:登录(feishuLogin.handleLoginCallback)在进程内设置的身份状态的对称逆操作。
|
|
46526
|
-
// 核心是 feishuActive 翻 false——否则 dispatcher 飞书 gate(下方 feishuActive 判定,每帧
|
|
46527
|
-
// 现读 let binding)退登后仍放行 gated 方法。一并把归属人重置回未登录初值 + 重建 handlers
|
|
46528
|
-
// (deps 持 ownerId/displayName 值快照,whoami/出站自报身份用),与登录置位三件套对称。
|
|
46529
|
-
// 不踢连:踢连是登录热切换换身份 ctx 的需要;退登只是降级,gate 每帧现读即时生效,
|
|
46530
|
-
// 既有连接继续用,避免改动连接生命周期 / wire 契约。
|
|
46531
|
-
onLogout: () => {
|
|
46532
|
-
feishuActive = false;
|
|
46533
|
-
ownerId = "";
|
|
46534
|
-
ownerProvider = "";
|
|
46535
|
-
ownerDisplayName = loadOwnerDisplayName(config.dataDir);
|
|
46536
|
-
handlers = makeHandlers();
|
|
46537
|
-
}
|
|
46538
|
-
},
|
|
46538
|
+
feishuAuth: { loginFlow, ownerIdentityStore, deviceId: authFile.deviceId, serverKeyStore },
|
|
46539
46539
|
// 设备目录 + 连接(决策 #15:daemon 代理中心 server)。
|
|
46540
46540
|
// exchange/listDevices 包掉 owner ttcJwt(每次现读 store——热切换后立即用新身份);
|
|
46541
46541
|
// dispatcher 的 FEISHU_GATED_METHODS gate 已保证未登录时这些 RPC 到不了 handler,
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"_comment": "preinstall ship 进 daemon defaults,daemon 启动时 refreshDaemonManagedDirs 把这文件同步到 ~/.clawd*/personas/persona-html-slides/.mcp.json。cc CLI 启动时(cwd=projects/<name>/)会向上找 persona dir 的 .mcp.json 自动加载。用 @aliyun-rds/supabase-mcp-server(阿里云 RDS 包装,跟 clawos / lovagent / extension-kit / app-builder 一致),底下连阿里云自建 supabase 实例 120.26.157.138。AK 是共享 demo 凭证(跟 .secrets/aliyun.env 同性质,PR #808 设计前提),跟 lovagent .mcp.json 用同一把(RDS 权限)。",
|
|
3
|
+
"mcpServers": {
|
|
4
|
+
"supabase": {
|
|
5
|
+
"type": "stdio",
|
|
6
|
+
"command": "npx",
|
|
7
|
+
"args": [
|
|
8
|
+
"@aliyun-rds/supabase-mcp-server",
|
|
9
|
+
"--aliyun-ak", "LTAI5tSebp9pyBLk2nxF5wDg",
|
|
10
|
+
"--aliyun-sk", "DnkOBhZ9pLympYlwcLuQbsaGRIitwG",
|
|
11
|
+
"--aliyun-region", "cn-hangzhou"
|
|
12
|
+
]
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
}
|
package/package.json
CHANGED