mumucc 0.3.1 → 0.4.0

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.
Files changed (2) hide show
  1. package/bin/mumuclaw +111 -0
  2. package/package.json +3 -2
package/bin/mumuclaw ADDED
@@ -0,0 +1,111 @@
1
+ #!/bin/bash
2
+ # ────────────────────────────────────────────────────────────────
3
+ # mumuclaw — AI Agent 守护平台(OpenClaw 替代品)
4
+ #
5
+ # 基于 mumucc,默认启用:
6
+ # - Channels(微信/心跳/自定义通道)
7
+ # - 所有 MCP 工具权限
8
+ # - 心跳 channel(GLM-5-turbo 预筛选)
9
+ # - 微信 wechat_reply 自动批准
10
+ #
11
+ # 用法:
12
+ # mumuclaw # 交互模式
13
+ # mumuclaw --daemon # 守护进程模式(无 TTY)
14
+ # mumuclaw --model glm # 指定模型预设
15
+ # mumuclaw --model minimax # MiniMax 预设
16
+ # mumuclaw --model claude # Claude Sonnet(默认)
17
+ # ────────────────────────────────────────────────────────────────
18
+
19
+ set -euo pipefail
20
+
21
+ SCRIPT_PATH="$(cd "$(dirname "$(readlink -f "$0" 2>/dev/null || python3 -c "import os,sys; print(os.path.realpath(sys.argv[1]))" "$0")")" && pwd)"
22
+ PROJECT_ROOT="$(dirname "$SCRIPT_PATH")"
23
+
24
+ # ── 模型预设 ──
25
+ MODEL_PRESET="claude"
26
+ EXTRA_ARGS=()
27
+
28
+ # 解析 mumuclaw 专属参数
29
+ while [[ $# -gt 0 ]]; do
30
+ case "$1" in
31
+ --model)
32
+ MODEL_PRESET="$2"
33
+ shift 2
34
+ ;;
35
+ --daemon)
36
+ DAEMON_MODE=1
37
+ shift
38
+ ;;
39
+ *)
40
+ EXTRA_ARGS+=("$1")
41
+ shift
42
+ ;;
43
+ esac
44
+ done
45
+
46
+ case "$MODEL_PRESET" in
47
+ glm|glm-5-turbo)
48
+ export ANTHROPIC_BASE_URL="https://open.bigmodel.cn/api/anthropic"
49
+ export ANTHROPIC_AUTH_TOKEN="fb1c93822c2947d3b84019d1f6c525ee.fnpWi89jlC6IxPLQ"
50
+ export ANTHROPIC_API_KEY=""
51
+ export ANTHROPIC_DEFAULT_SONNET_MODEL="${GLM_MODEL:-glm-5-turbo}"
52
+ export ANTHROPIC_DEFAULT_OPUS_MODEL="${GLM_MODEL:-glm-5-turbo}"
53
+ export ANTHROPIC_DEFAULT_HAIKU_MODEL="${GLM_MODEL:-glm-5-turbo}"
54
+ ;;
55
+ glm-5.1)
56
+ export ANTHROPIC_BASE_URL="https://open.bigmodel.cn/api/anthropic"
57
+ export ANTHROPIC_AUTH_TOKEN="fb1c93822c2947d3b84019d1f6c525ee.fnpWi89jlC6IxPLQ"
58
+ export ANTHROPIC_API_KEY=""
59
+ export ANTHROPIC_DEFAULT_SONNET_MODEL="glm-5.1"
60
+ export ANTHROPIC_DEFAULT_OPUS_MODEL="glm-5.1"
61
+ export ANTHROPIC_DEFAULT_HAIKU_MODEL="glm-5.1"
62
+ ;;
63
+ minimax|m2.7)
64
+ export ANTHROPIC_BASE_URL="https://api.minimaxi.com/anthropic"
65
+ export ANTHROPIC_AUTH_TOKEN="sk-cp-rWK5pwrquDncnYIfVknvMNEBDvMR7-xPOtg5SBX9erW3_hkPUJhU6qYoZRzStCTqBppfvK4AVj4OPCpCICtScSm-_5obP48cEl8MwchmA0A5eo8kE3Vt4Dw"
66
+ export ANTHROPIC_API_KEY=""
67
+ export ANTHROPIC_DEFAULT_SONNET_MODEL="${MINIMAX_MODEL:-MiniMax-M2.7-highspeed}"
68
+ export ANTHROPIC_DEFAULT_OPUS_MODEL="${MINIMAX_MODEL:-MiniMax-M2.7-highspeed}"
69
+ export ANTHROPIC_DEFAULT_HAIKU_MODEL="${MINIMAX_MODEL:-MiniMax-M2.7-highspeed}"
70
+ ;;
71
+ claude|sonnet)
72
+ # 使用 claude.ai 默认配置,不覆盖任何环境变量
73
+ ;;
74
+ *)
75
+ echo "mumuclaw: 未知模型预设 '$MODEL_PRESET'"
76
+ echo "可用: glm, glm-5.1, minimax, claude"
77
+ exit 1
78
+ ;;
79
+ esac
80
+
81
+ export API_TIMEOUT_MS=${API_TIMEOUT_MS:-300000}
82
+
83
+ # ── mumuclaw 默认启用的 channel servers ──
84
+ # 从 .mcp.json 中读取可用的 channel servers
85
+ CHANNEL_SERVERS=""
86
+ MCP_JSON="$(pwd)/.mcp.json"
87
+ if [[ -f "$MCP_JSON" ]]; then
88
+ # 自动检测 .mcp.json 中声明的 channel servers
89
+ for server in wechat heartbeat; do
90
+ if python3 -c "import json; d=json.load(open('$MCP_JSON')); exit(0 if '$server' in d.get('mcpServers',{}) else 1)" 2>/dev/null; then
91
+ CHANNEL_SERVERS="$CHANNEL_SERVERS server:$server"
92
+ fi
93
+ done
94
+ fi
95
+
96
+ # ── 启动 ──
97
+ if [[ "${DAEMON_MODE:-}" = "1" ]] || [[ ! -t 0 ]]; then
98
+ # 守护模式:用 script 模拟 PTY
99
+ exec script -q /dev/null "$SCRIPT_PATH/mumucc" \
100
+ --dangerously-load-development-channels $CHANNEL_SERVERS \
101
+ --allowedTools "mcp__wechat__wechat_reply" \
102
+ --dangerously-skip-permissions \
103
+ "${EXTRA_ARGS[@]}"
104
+ else
105
+ # 交互模式
106
+ exec "$SCRIPT_PATH/mumucc" \
107
+ --dangerously-load-development-channels $CHANNEL_SERVERS \
108
+ --allowedTools "mcp__wechat__wechat_reply" \
109
+ --dangerously-skip-permissions \
110
+ "${EXTRA_ARGS[@]}"
111
+ fi
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mumucc",
3
- "version": "0.3.1",
3
+ "version": "0.4.0",
4
4
  "description": "Open-source AI coding assistant CLI with multi-model support (Anthropic, OpenAI/GPT, DeepSeek, GLM, Ollama, etc.), MCP integration, agent swarms, and out-of-the-box developer experience.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -27,7 +27,8 @@
27
27
  "src/*": "./src/*"
28
28
  },
29
29
  "bin": {
30
- "mumucc": "./bin/mumucc"
30
+ "mumucc": "./bin/mumucc",
31
+ "mumuclaw": "./bin/mumuclaw"
31
32
  },
32
33
  "scripts": {
33
34
  "start": "bun run --preload ./shims/globals.ts src/main.tsx",