@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
- sandboxProfile: DEFAULT_BYPASS_PROFILE
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@clawos-dev/clawd",
3
- "version": "0.2.149-beta.315.fe63177",
3
+ "version": "0.2.150-beta.316.82021dd",
4
4
  "description": "Standalone clawd daemon — Claude Code (and future Codex) session server over WebSocket",
5
5
  "type": "module",
6
6
  "license": "MIT",