@deveco-codegenie/mcp-bridge-win32-x64 0.1.7 → 0.1.8-fix2
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/README.md +28 -173
- package/napi_bridge.node +0 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,187 +1,42 @@
|
|
|
1
|
-
#
|
|
1
|
+
# napi-bridge
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
将MCP Server封装成.node模块,无需经过 MCP 标准协议层(stdio),供 IDE 插件等 Node.js 宿主直接调用。
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
---
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
- 内置 `harmonyos_knowledge_search` 工具,直接对接云端知识库 API。
|
|
9
|
-
- 支持自然语言搜索 HarmonyOS 开发文档、API 参考和最佳实践。
|
|
10
|
-
- 智能检索相关代码片段和解决方案,辅助解决开发难题。
|
|
7
|
+
## 目录
|
|
11
8
|
|
|
12
|
-
-
|
|
13
|
-
|
|
14
|
-
- 提供项目级上下文信息,包括工程结构、依赖关系等。
|
|
9
|
+
- [工作原理](#工作原理)
|
|
10
|
+
- [支持平台](#支持平台)
|
|
15
11
|
|
|
16
|
-
|
|
17
|
-
- 基于 Rust 实现的高性能 MCP 服务端。
|
|
18
|
-
- 提供 NPM 包装器,便于安装和集成到现有工作流中。
|
|
12
|
+
---
|
|
19
13
|
|
|
20
|
-
##
|
|
14
|
+
## 工作原理
|
|
21
15
|
|
|
22
|
-
- `src-server/`: Rust 编写的 MCP 服务端核心逻辑。
|
|
23
|
-
- `src-common/`: Rust 公共库,包含配置、日志、IPC 等通用模块。
|
|
24
|
-
- `npm-wrapper/`: NPM 包封装,用于分发二进制文件。
|
|
25
|
-
- `arkts-lang-server/`: ArkTS 语言服务相关组件。
|
|
26
|
-
|
|
27
|
-
## 快速开始
|
|
28
|
-
|
|
29
|
-
### 前置要求
|
|
30
|
-
|
|
31
|
-
- Rust (用于编译后端)
|
|
32
|
-
- Node.js & npm (用于构建前端)
|
|
33
|
-
|
|
34
|
-
### 构建与运行
|
|
35
|
-
|
|
36
|
-
1. **编译后端**
|
|
37
|
-
```bash
|
|
38
|
-
cargo build --release
|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
2. **运行服务**
|
|
42
|
-
```bash
|
|
43
|
-
./target/release/mcp-server
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
## 🧪 单元测试
|
|
47
|
-
|
|
48
|
-
项目包含集成测试,用于验证与 DevEco Studio 和 ArkTS 语言服务的集成功能。由于这些测试依赖于本地开发环境,你需要配置环境属性文件。
|
|
49
|
-
|
|
50
|
-
### 环境配置
|
|
51
|
-
|
|
52
|
-
在 `src-server/tests/` 目录下,有两个环境配置文件模板:
|
|
53
|
-
|
|
54
|
-
1. **`deveco_env.properties`**: 用于测试与 DevEco Studio 的深度集成(如启动应用、获取 UI 树等)。
|
|
55
|
-
- `DEVECO_PATH`: DevEco Studio 的安装根目录。
|
|
56
|
-
- `EMULATOR_NAME`: 自动化测试使用的模拟器名称,默认为 "Mate 70 Pro"。
|
|
57
|
-
|
|
58
|
-
2. **`clt_env.properties`**: 用于测试与 HarmonyOS 命令行工具 (CLT) 的集成(如构建项目、代码检查等)。
|
|
59
|
-
- `CLT_PATH`: HarmonyOS Command Line Tools 的安装目录。
|
|
60
|
-
- `ARKTS_LANG_SERVER`: ArkTS 语言服务的可执行文件路径。
|
|
61
|
-
- `JAVA_HOME`: Java 运行时环境路径。
|
|
62
|
-
|
|
63
|
-
**设置方式:**
|
|
64
|
-
编辑上述文件,为每个键填入你本地环境的实际路径。例如:
|
|
65
|
-
|
|
66
|
-
**`deveco_env.properties` 示例:**
|
|
67
|
-
```properties
|
|
68
|
-
DEVECO_PATH=D:\program_files\DevEco Studio
|
|
69
|
-
EMULATOR_NAME=Mate 70 Pro
|
|
70
16
|
```
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
17
|
+
Node.js 宿主(IDE 插件等)
|
|
18
|
+
│
|
|
19
|
+
│ require("napi_bridge.<platform>-<arch>.node")
|
|
20
|
+
▼
|
|
21
|
+
napi-bridge ←──── Rust N-API 绑定
|
|
22
|
+
│
|
|
23
|
+
│ 直接调用(无 stdio / MCP 协议)
|
|
24
|
+
▼
|
|
25
|
+
mcp-server(Rust 核心库)
|
|
26
|
+
│
|
|
27
|
+
▼
|
|
28
|
+
HarmonyOS 工具链(hvigor / hdc / ArkTS LSP ...)
|
|
77
29
|
```
|
|
78
30
|
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
在根目录下运行以下命令执行所有测试:
|
|
82
|
-
|
|
83
|
-
```bash
|
|
84
|
-
cargo test
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
> **注意**:如果未设置 `DEVECO_PATH` 或 `CLT_PATH`,相关的集成测试将被跳过。
|
|
88
|
-
|
|
89
|
-
## 🛠️ 辅助开发工具
|
|
90
|
-
|
|
91
|
-
项目利用 `xtask` 模式提供了便捷的版本管理和分发构建工具。
|
|
92
|
-
|
|
93
|
-
### 🧹 代码检查 (`cargo clippyall`)
|
|
94
|
-
|
|
95
|
-
用于在本地开发环境中对支持的所有目标平台(Windows x64, macOS x64/arm64, Linux x64)运行 Clippy 静态检查。
|
|
96
|
-
|
|
97
|
-
- **执行检查**:
|
|
98
|
-
```bash
|
|
99
|
-
cargo clippyall
|
|
100
|
-
```
|
|
101
|
-
- **说明**:
|
|
102
|
-
该命令会自动安装所需的 Rust target(如果缺失),并依次对每个平台运行 `cargo clippy`,确保代码跨平台兼容性。
|
|
103
|
-
|
|
104
|
-
### 🔢 版本更新 (`cargo bump`)
|
|
105
|
-
|
|
106
|
-
用于同步更新项目中所有组件(Rust 核心、Common 库、ArkTS 语言服务、NPM 包装器)的版本号。
|
|
107
|
-
|
|
108
|
-
- **更新版本**:
|
|
109
|
-
```bash
|
|
110
|
-
cargo bump <new_version>
|
|
111
|
-
```
|
|
112
|
-
- **更新版本并自动提交**:
|
|
113
|
-
使用 `--commit` 参数会自动检查 Git 状态并在更新版本后创建 commit 和 tag。
|
|
114
|
-
```bash
|
|
115
|
-
cargo bump <new_version> --commit
|
|
116
|
-
```
|
|
117
|
-
|
|
118
|
-
### 📋 变更日志 (`cargo changelog`)
|
|
119
|
-
|
|
120
|
-
用于查看和生成项目的变更日志。支持灵活的范围指定,可以混合使用 tag 和 commit hash。
|
|
121
|
-
|
|
122
|
-
- **查看最近两个版本的变更**(默认):
|
|
123
|
-
```bash
|
|
124
|
-
cargo changelog
|
|
125
|
-
```
|
|
126
|
-
- **查看指定范围的变更**:
|
|
127
|
-
```bash
|
|
128
|
-
# 使用 tag
|
|
129
|
-
cargo changelog v0.1.0..v0.2.0
|
|
130
|
-
|
|
131
|
-
# 使用 commit hash
|
|
132
|
-
cargo changelog abc123..def456
|
|
133
|
-
|
|
134
|
-
# 混合使用(tag 和 hash)
|
|
135
|
-
cargo changelog v0.1.0..abc123 # tag 到 hash
|
|
136
|
-
cargo changelog def456..v0.2.0 # hash 到 tag
|
|
137
|
-
|
|
138
|
-
# 使用 HEAD 查看未发布的变更
|
|
139
|
-
cargo changelog v0.2.0..HEAD # 最新 tag 到当前 HEAD
|
|
140
|
-
```
|
|
141
|
-
|
|
142
|
-
### 📦 构建发布 (`cargo dist`)
|
|
31
|
+
与 MCP stdio 传输不同,napi-bridge 通过 N-API 在**同一进程内**直接调用工具逻辑,省去了协议序列化与进程间通信开销。
|
|
143
32
|
|
|
144
|
-
用于自动化构建多平台的二进制发布产物和 NPM 包。
|
|
145
33
|
|
|
146
|
-
|
|
147
|
-
```bash
|
|
148
|
-
cargo dist
|
|
149
|
-
```
|
|
150
|
-
- **产物说明**:
|
|
151
|
-
构建结果存放在 `target/dist/` 目录,其典型的目录结构如下:
|
|
34
|
+
---
|
|
152
35
|
|
|
153
|
-
|
|
154
|
-
target/dist/
|
|
155
|
-
├── npm/
|
|
156
|
-
│ ├── codegenie-mcp-server/ # NPM 主包,用于分发和运行
|
|
157
|
-
│ │ ├── package.json # 定义 bin、dependencies 等
|
|
158
|
-
│ │ ├── index.js # 运行时自动检测平台并加载对应二进制
|
|
159
|
-
│ │ └── README.md
|
|
160
|
-
│ ├── codegenie-mcp-server-win32-x64/ # Windows (x64)
|
|
161
|
-
│ │ ├── bin/mcp-server.exe
|
|
162
|
-
│ │ ├── package.json
|
|
163
|
-
│ │ └── README.md
|
|
164
|
-
│ ├── codegenie-mcp-server-darwin-x64/ # macOS (Intel)
|
|
165
|
-
│ │ ├── bin/mcp-server
|
|
166
|
-
│ │ ├── package.json
|
|
167
|
-
│ │ └── README.md
|
|
168
|
-
│ ├── codegenie-mcp-server-darwin-arm64/ # macOS (Apple Silicon)
|
|
169
|
-
│ │ ├── bin/mcp-server
|
|
170
|
-
│ │ ├── package.json
|
|
171
|
-
│ │ └── README.md
|
|
172
|
-
│ └── codegenie-mcp-server-linux-x64/ # Linux (x64)
|
|
173
|
-
│ ├── bin/mcp-server
|
|
174
|
-
│ ├── package.json
|
|
175
|
-
│ └── README.md
|
|
176
|
-
├── mcp-server-v{version}-{platform}.zip # 平台压缩包
|
|
177
|
-
│ └── mcp-server/ # 内部根目录
|
|
178
|
-
│ ├── mcp-server (or .exe) # 可执行文件
|
|
179
|
-
│ ├── README.md # 项目说明
|
|
180
|
-
│ └── LICENSE # 授权协议
|
|
181
|
-
├── mcp-server-v{version}-{triple}{ext} # 原始二进制文件
|
|
182
|
-
└── arkts-lang-server-{version}.js # 编译并混淆后的 ArkTS 语言服务脚本
|
|
183
|
-
```
|
|
36
|
+
## 支持平台
|
|
184
37
|
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
38
|
+
| 平台 | 架构 | Rust Target Triple |
|
|
39
|
+
|------|------|--------------------|
|
|
40
|
+
| Windows | x64 | `x86_64-pc-windows-msvc` |
|
|
41
|
+
| macOS | x64 | `x86_64-apple-darwin` |
|
|
42
|
+
| macOS | arm64 (Apple Silicon) | `aarch64-apple-darwin` |
|
package/napi_bridge.node
CHANGED
|
Binary file
|