|
5 | 5 | ## 开发命令 |
6 | 6 |
|
7 | 7 | ### 构建和测试 |
| 8 | + |
8 | 9 | - `pnpm build` - 构建项目(包括 Web 构建和 TypeScript 编译) |
9 | 10 | - `pnpm dev` - 开发模式(带监视功能) |
10 | 11 | - `pnpm test` - 运行一次测试 |
|
13 | 14 | - `pnpm test:silent` - 静默运行测试(用于 CI) |
14 | 15 |
|
15 | 16 | ### 代码质量 |
| 17 | + |
16 | 18 | - `pnpm lint` - 运行 Biome linter 并自动修复 |
17 | 19 | - `pnpm format` - 使用 Biome 格式化代码 |
18 | 20 | - `pnpm type:check` - 运行 TypeScript 类型检查 |
|
21 | 23 | - `pnpm check:all` - 运行所有质量检查(lint、typecheck、spellcheck、duplicate check) |
22 | 24 |
|
23 | 25 | ### 其他质量工具 |
| 26 | + |
24 | 27 | - `pnpm spell:check` - 使用 cspell 检查拼写 |
25 | 28 | - `pnpm duplicate:check` - 使用 jscpd 检查重复代码 |
26 | 29 | - `pnpm docs:dev` - 启动文档开发服务器 |
|
32 | 35 | ### 核心组件 |
33 | 36 |
|
34 | 37 | 1. **CLI 层** (`src/cli/`) - 使用 Commander.js 的命令行界面 |
| 38 | + |
35 | 39 | - 入口点:`src/cli/index.ts` |
36 | 40 | - 依赖注入容器:`src/cli/Container.ts` |
37 | 41 | - 命令注册和处理 |
38 | 42 |
|
39 | 43 | 2. **核心 MCP 层** (`src/core/`) - MCP 协议实现 |
| 44 | + |
40 | 45 | - `UnifiedMCPServer.ts` - 主要 MCP 服务器实现 |
41 | 46 | - `ServerFactory.ts` - 用于创建不同服务器类型的工厂 |
42 | 47 | - `MCPMessageHandler.ts` - 消息处理和路由 |
43 | 48 |
|
44 | 49 | 3. **传输层** (`src/transports/`) - 通信适配器 |
| 50 | + |
45 | 51 | - `WebSocketAdapter.ts` - WebSocket 通信 |
46 | 52 | - `HTTPAdapter.ts` - HTTP 通信 |
47 | 53 | - `StdioAdapter.ts` - 标准 I/O 通信 |
48 | 54 |
|
49 | 55 | 4. **服务层** (`src/services/`) - 连接和服务管理 |
| 56 | + |
50 | 57 | - `IndependentXiaozhiConnectionManager.ts` - 独立多接入点连接管理器 |
51 | 58 | - `MCPServiceManager.ts` - MCP 服务管理器 |
52 | 59 | - `XiaozhiConnectionManagerSingleton.ts` - 全局单例管理器 |
|
75 | 82 | ### 配置 |
76 | 83 |
|
77 | 84 | 主配置文件是 `xiaozhi.config.json`,支持: |
| 85 | + |
78 | 86 | - `mcpEndpoint` - 单个端点字符串或端点数组 |
79 | 87 | - `mcpServers` - MCP 服务器配置对象 |
80 | 88 | - `modelscope` - ModelScope API 配置 |
|
84 | 92 | ### 入口点 |
85 | 93 |
|
86 | 94 | 项目构建三个主要入口点: |
| 95 | + |
87 | 96 | - `dist/cli.js` - CLI 工具(主入口点) |
88 | 97 | - `dist/mcpServerProxy.js` - MCP 服务器代理,用于集成到其他客户端 |
89 | 98 | - `dist/WebServerStandalone.js` - 独立 Web 服务器 |
|
110 | 119 | - 2 空格缩进 |
111 | 120 | - 行结尾:LF |
112 | 121 |
|
| 122 | +### 本地化规范 |
| 123 | + |
| 124 | +- **注释信息**:请使用中文编写所有代码注释 |
| 125 | +- **测试用例描述**:`describe` 和 `it` 函数的参数请使用中文描述 |
| 126 | +- **文档和说明**:README、技术文档等说明性内容优先使用中文 |
| 127 | +- **变量和函数名**:继续使用英文命名(符合编程惯例) |
| 128 | +- **目的**:有助于中国开发团队的持续维护和代码理解,降低沟通成本 |
| 129 | + |
113 | 130 | ### 重要说明 |
114 | 131 |
|
115 | 132 | - 项目完全使用 ESM 模块 |
116 | 133 | - 配置了路径别名以实现更清晰的导入(`@cli/*` 等) |
117 | 134 | - 外部依赖不打包(ws、express、commander 等) |
118 | 135 | - 模板目录复制到 dist 用于项目脚手架 |
119 | | -- Web UI 在 `web/` 目录中单独构建 |
| 136 | +- Web UI 在 `web/` 目录中单独构建 |
0 commit comments