chaimi-keep-mcp 3.1.24

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/install.sh ADDED
@@ -0,0 +1,268 @@
1
+ #!/bin/bash
2
+
3
+ # 柴米记账 MCP Server 一键安装脚本
4
+ # 支持 macOS 和 Linux
5
+ # 用法: curl -fsSL https://chaihuo.io/install.sh | bash
6
+
7
+ set -e
8
+
9
+ # 颜色定义
10
+ RED='\033[0;31m'
11
+ GREEN='\033[0;32m'
12
+ YELLOW='\033[1;33m'
13
+ NC='\033[0m' # No Color
14
+
15
+ # 配置
16
+ INSTALL_DIR="$HOME/.chaihuo-mcp"
17
+ WORKBUDDY_DIR="$HOME/WorkBuddy"
18
+ PYTHON_VERSION="3.10"
19
+ SCF_URL="https://1412172089-4wbwsop8pe.ap-shanghai.tencentscf.com"
20
+
21
+ echo -e "${GREEN}=== 柴米记账 MCP Server 安装脚本 ===${NC}"
22
+ echo ""
23
+
24
+ # 检测操作系统
25
+ OS="$(uname -s)"
26
+ case "${OS}" in
27
+ Linux*) PLATFORM=Linux;;
28
+ Darwin*) PLATFORM=Mac;;
29
+ *) PLATFORM="UNKNOWN:${OS}"
30
+ esac
31
+
32
+ echo -e "${YELLOW}检测到操作系统: ${PLATFORM}${NC}"
33
+
34
+ # 检查并安装 Python 3.10+
35
+ check_python() {
36
+ echo -e "${YELLOW}检查 Python 版本...${NC}"
37
+
38
+ if command -v python3.10 &> /dev/null; then
39
+ PYTHON_CMD="python3.10"
40
+ elif command -v python3.11 &> /dev/null; then
41
+ PYTHON_CMD="python3.11"
42
+ elif command -v python3.12 &> /dev/null; then
43
+ PYTHON_CMD="python3.12"
44
+ elif command -v python3 &> /dev/null; then
45
+ PY_VERSION=$(python3 --version 2>&1 | awk '{print $2}' | cut -d. -f1,2)
46
+ if (( $(echo "$PY_VERSION >= 3.10" | bc -l) )); then
47
+ PYTHON_CMD="python3"
48
+ else
49
+ PYTHON_CMD=""
50
+ fi
51
+ else
52
+ PYTHON_CMD=""
53
+ fi
54
+
55
+ if [ -z "$PYTHON_CMD" ]; then
56
+ echo -e "${RED}未检测到 Python 3.10+${NC}"
57
+ install_python
58
+ else
59
+ echo -e "${GREEN}找到 Python: $PYTHON_CMD${NC}"
60
+ fi
61
+ }
62
+
63
+ # 安装 Python 3.10
64
+ install_python() {
65
+ echo -e "${YELLOW}正在安装 Python 3.10...${NC}"
66
+
67
+ if [ "$PLATFORM" == "Mac" ]; then
68
+ # macOS
69
+ if command -v brew &> /dev/null; then
70
+ echo "使用 Homebrew 安装 Python 3.10..."
71
+ brew install python@3.10
72
+ PYTHON_CMD="/opt/homebrew/bin/python3.10"
73
+ else
74
+ echo -e "${RED}请先安装 Homebrew: https://brew.sh${NC}"
75
+ exit 1
76
+ fi
77
+ elif [ "$PLATFORM" == "Linux" ]; then
78
+ # Linux
79
+ if command -v apt-get &> /dev/null; then
80
+ echo "使用 apt 安装 Python 3.10..."
81
+ sudo apt-get update
82
+ sudo apt-get install -y python3.10 python3.10-venv python3.10-pip
83
+ PYTHON_CMD="python3.10"
84
+ elif command -v yum &> /dev/null; then
85
+ echo "使用 yum 安装 Python 3.10..."
86
+ sudo yum install -y python310
87
+ PYTHON_CMD="python3.10"
88
+ else
89
+ echo -e "${RED}不支持的 Linux 发行版,请手动安装 Python 3.10+${NC}"
90
+ exit 1
91
+ fi
92
+ else
93
+ echo -e "${RED}不支持的操作系统: ${PLATFORM}${NC}"
94
+ exit 1
95
+ fi
96
+ }
97
+
98
+ # 创建安装目录
99
+ setup_install_dir() {
100
+ echo -e "${YELLOW}创建安装目录...${NC}"
101
+
102
+ if [ -d "$INSTALL_DIR" ]; then
103
+ echo -e "${YELLOW}目录已存在,清理旧文件...${NC}"
104
+ rm -rf "$INSTALL_DIR"
105
+ fi
106
+
107
+ mkdir -p "$INSTALL_DIR"
108
+ echo -e "${GREEN}安装目录: $INSTALL_DIR${NC}"
109
+ }
110
+
111
+ # 创建虚拟环境
112
+ create_venv() {
113
+ echo -e "${YELLOW}创建 Python 虚拟环境...${NC}"
114
+
115
+ $PYTHON_CMD -m venv "$INSTALL_DIR/venv"
116
+ source "$INSTALL_DIR/venv/bin/activate"
117
+
118
+ echo -e "${GREEN}虚拟环境创建成功${NC}"
119
+ }
120
+
121
+ # 安装依赖
122
+ install_dependencies() {
123
+ echo -e "${YELLOW}安装依赖...${NC}"
124
+
125
+ pip install --upgrade pip
126
+ pip install fastmcp>=0.4.0 requests
127
+
128
+ echo -e "${GREEN}依赖安装完成${NC}"
129
+ }
130
+
131
+ # 下载 MCP Server 文件
132
+ download_server() {
133
+ echo -e "${YELLOW}下载 MCP Server...${NC}"
134
+
135
+ # 复制本地文件(如果是本地安装)
136
+ if [ -f "server.py" ]; then
137
+ cp server.py "$INSTALL_DIR/"
138
+ echo -e "${GREEN}使用本地 server.py${NC}"
139
+ else
140
+ # 从远程下载
141
+ echo "从远程下载..."
142
+ curl -fsSL -o "$INSTALL_DIR/server.py" "https://raw.githubusercontent.com/chaihuo/mcp-server/main/server.py"
143
+ echo -e "${GREEN}下载完成${NC}"
144
+ fi
145
+ }
146
+
147
+ # 配置 WorkBuddy
148
+ configure_workbuddy() {
149
+ echo -e "${YELLOW}配置 WorkBuddy...${NC}"
150
+
151
+ if [ ! -d "$WORKBUDDY_DIR" ]; then
152
+ echo -e "${RED}未找到 WorkBuddy 目录: $WORKBUDDY_DIR${NC}"
153
+ echo "请确认 WorkBuddy 已安装,或手动配置 MCP"
154
+ return 1
155
+ fi
156
+
157
+ # 创建 MCP 配置
158
+ mkdir -p "$WORKBUDDY_DIR/mcp"
159
+
160
+ # 复制 server.py 到 WorkBuddy 目录
161
+ cp "$INSTALL_DIR/server.py" "$WORKBUDDY_DIR/mcp/chaihuo-server.py"
162
+
163
+ # 创建配置文件
164
+ cat > "$WORKBUDDY_DIR/mcp_config.json" << EOF
165
+ {
166
+ "mcpServers": {
167
+ "chaihuo": {
168
+ "command": "$INSTALL_DIR/venv/bin/python",
169
+ "args": ["$WORKBUDDY_DIR/mcp/chaihuo-server.py"],
170
+ "env": {
171
+ "SCF_URL": "$SCF_URL"
172
+ }
173
+ }
174
+ }
175
+ }
176
+ EOF
177
+
178
+ echo -e "${GREEN}WorkBuddy 配置完成${NC}"
179
+ echo -e "${YELLOW}配置文件: $WORKBUDDY_DIR/mcp_config.json${NC}"
180
+ }
181
+
182
+ # 生成 JWT Secret
183
+ generate_jwt_secret() {
184
+ echo -e "${YELLOW}生成 JWT Secret...${NC}"
185
+
186
+ JWT_SECRET=$(openssl rand -base64 32)
187
+
188
+ # 更新配置文件
189
+ cat > "$WORKBUDDY_DIR/mcp_config.json" << EOF
190
+ {
191
+ "mcpServers": {
192
+ "chaihuo": {
193
+ "command": "$INSTALL_DIR/venv/bin/python",
194
+ "args": ["$WORKBUDDY_DIR/mcp/chaihuo-server.py"],
195
+ "env": {
196
+ "SCF_URL": "$SCF_URL",
197
+ "JWT_SECRET": "$JWT_SECRET"
198
+ }
199
+ }
200
+ }
201
+ }
202
+ EOF
203
+
204
+ echo -e "${GREEN}JWT Secret 生成成功${NC}"
205
+ echo -e "${YELLOW}请保存以下密钥(用于生成用户 Token):${NC}"
206
+ echo -e "${GREEN}$JWT_SECRET${NC}"
207
+ }
208
+
209
+ # 测试安装
210
+ test_installation() {
211
+ echo -e "${YELLOW}测试安装...${NC}"
212
+
213
+ source "$INSTALL_DIR/venv/bin/activate"
214
+
215
+ if python -c "import fastmcp" 2>/dev/null; then
216
+ echo -e "${GREEN}✓ fastmcp 安装成功${NC}"
217
+ else
218
+ echo -e "${RED}✗ fastmcp 安装失败${NC}"
219
+ return 1
220
+ fi
221
+
222
+ if [ -f "$INSTALL_DIR/server.py" ]; then
223
+ echo -e "${GREEN}✓ server.py 存在${NC}"
224
+ else
225
+ echo -e "${RED}✗ server.py 不存在${NC}"
226
+ return 1
227
+ fi
228
+
229
+ echo -e "${GREEN}安装测试通过!${NC}"
230
+ }
231
+
232
+ # 打印完成信息
233
+ print_finish() {
234
+ echo ""
235
+ echo -e "${GREEN}=== 安装完成!===${NC}"
236
+ echo ""
237
+ echo -e "${YELLOW}下一步操作:${NC}"
238
+ echo "1. 重启 WorkBuddy"
239
+ echo "2. 在 WorkBuddy 中测试记账功能"
240
+ echo ""
241
+ echo -e "${YELLOW}配置信息:${NC}"
242
+ echo "- 安装目录: $INSTALL_DIR"
243
+ echo "- 配置文件: $WORKBUDDY_DIR/mcp_config.json"
244
+ echo "- SCF 地址: $SCF_URL"
245
+ echo ""
246
+ echo -e "${YELLOW}如需卸载,运行:${NC}"
247
+ echo "rm -rf $INSTALL_DIR"
248
+ echo ""
249
+ }
250
+
251
+ # 主流程
252
+ main() {
253
+ echo -e "${GREEN}开始安装柴米记账 MCP Server...${NC}"
254
+ echo ""
255
+
256
+ check_python
257
+ setup_install_dir
258
+ create_venv
259
+ install_dependencies
260
+ download_server
261
+ configure_workbuddy
262
+ generate_jwt_secret
263
+ test_installation
264
+ print_finish
265
+ }
266
+
267
+ # 运行主流程
268
+ main