@lemonbeijing/lemonclaw-mcp-service 0.1.3 → 0.1.4
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 +27 -21
- package/dist/lemonclaw-mcp.cjs +13 -9
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -2,36 +2,42 @@
|
|
|
2
2
|
|
|
3
3
|
面向柠檬云的本地 STDIO MCP 服务,支持 ACC 财务、SCM 进销存、ERP 业财和独立开票。可查询客户、供应商、商品、仓库等基础资料,以及采购、销售、库存、收付款、往来、凭证、账簿、发票和经营或财务报表;对于 Action 文档明确支持的写操作,会在用户确认后执行。
|
|
4
4
|
|
|
5
|
-
MCP
|
|
5
|
+
MCP 包内嵌 Runtime 管理组件并直接启动 Runtime Python。要求 Node.js 20 或更高版本;首次相关 Tool 调用时自动安装 Runtime,之后按策略检查更新。Runtime、认证、账套上下文、文档、下载和开票文件统一保存在 `~/.lemonclaw-cli` 目录中。
|
|
6
6
|
|
|
7
7
|
必须在 MCP 服务环境中配置 `LEMONCLAW_API_KEY`,该凭据不会作为 Tool 参数暴露。每次 Tool 执行前,MCP 会先解析或安装 Runtime,再通过 Runtime 认证模块同步发生变化的 API Key,最后调用目标业务操作;API Key 未变化时不会重复写入。
|
|
8
8
|
|
|
9
|
-
##
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
MCP Host 配置示例:
|
|
18
|
-
|
|
19
|
-
```json
|
|
20
|
-
{
|
|
21
|
-
"mcpServers": {
|
|
22
|
-
"lemonclaw": {
|
|
9
|
+
## MCP Host 配置
|
|
10
|
+
|
|
11
|
+
推荐通过已发布的 npm 包启动:
|
|
12
|
+
|
|
13
|
+
```json
|
|
14
|
+
{
|
|
15
|
+
"mcpServers": {
|
|
16
|
+
"lemonclaw": {
|
|
23
17
|
"type": "stdio",
|
|
24
|
-
"command": "
|
|
25
|
-
"args": [
|
|
18
|
+
"command": "npx",
|
|
19
|
+
"args": [
|
|
20
|
+
"--yes",
|
|
21
|
+
"--prefer-online",
|
|
22
|
+
"@lemonbeijing/lemonclaw-mcp-service@latest"
|
|
23
|
+
],
|
|
26
24
|
"env": {
|
|
27
25
|
"LEMONCLAW_API_KEY": "<在 MCP Host 中配置为密钥>"
|
|
28
26
|
}
|
|
29
27
|
}
|
|
30
28
|
}
|
|
31
|
-
}
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
|
|
29
|
+
}
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
MCP Host 重连或重启服务时,`npx` 会刷新 MCP 包;Runtime 更新与 MCP 包更新相互独立。
|
|
33
|
+
|
|
34
|
+
## 从源码运行
|
|
35
|
+
|
|
36
|
+
```text
|
|
37
|
+
npm install
|
|
38
|
+
npm run build
|
|
39
|
+
node dist/lemonclaw-mcp.cjs
|
|
40
|
+
```
|
|
35
41
|
|
|
36
42
|
## Tool 分组
|
|
37
43
|
|
package/dist/lemonclaw-mcp.cjs
CHANGED
|
@@ -3279,7 +3279,7 @@ var require_package = __commonJS({
|
|
|
3279
3279
|
"package.json"(exports2, module2) {
|
|
3280
3280
|
module2.exports = {
|
|
3281
3281
|
name: "@lemonbeijing/lemonclaw-mcp-service",
|
|
3282
|
-
version: "0.1.
|
|
3282
|
+
version: "0.1.4",
|
|
3283
3283
|
description: "\u7528\u4E8E\u67E5\u8BE2\u548C\u64CD\u4F5C\u67E0\u6AAC\u4E91 Lemon Cloud \u4E1A\u52A1\u6570\u636E\u7684 MCP \u670D\u52A1\uFF0C\u8986\u76D6\u8D26\u5957\u3001\u8FDB\u9500\u5B58 SCM\u3001\u4E1A\u8D22 ERP\u3001\u8D22\u52A1 ACC \u548C\u72EC\u7ACB\u5F00\u7968\uFF1B\u652F\u6301\u5BA2\u6237\u3001\u4F9B\u5E94\u5546\u3001\u5546\u54C1\u3001\u4ED3\u5E93\u3001\u91C7\u8D2D\u3001\u9500\u552E\u3001\u5E93\u5B58\u3001\u6536\u4ED8\u6B3E\u3001\u5F80\u6765\u3001\u51ED\u8BC1\u3001\u8D26\u7C3F\u3001\u53D1\u7968\u53CA\u7ECF\u8425\u4E0E\u8D22\u52A1\u62A5\u8868\uFF0C\u5E76\u652F\u6301\u7ACB\u5373\u5F00\u7968\u3001\u6279\u91CF\u5F00\u7968\u548C\u95EE\u9898\u53CD\u9988\u3002",
|
|
3284
3284
|
license: "UNLICENSED",
|
|
3285
3285
|
type: "module",
|
|
@@ -5168,6 +5168,7 @@ var require_runtime_core = __commonJS({
|
|
|
5168
5168
|
});
|
|
5169
5169
|
module2.exports = {
|
|
5170
5170
|
UPDATER_COMPATIBILITY_VERSION,
|
|
5171
|
+
packageVersion: packageJson.version,
|
|
5171
5172
|
errors: require_errors(),
|
|
5172
5173
|
install: require_install(),
|
|
5173
5174
|
runtime: require_runtime()
|
|
@@ -5432,6 +5433,9 @@ async function runInvoiceHelper(runtimeProvider, args) {
|
|
|
5432
5433
|
}
|
|
5433
5434
|
var invoiceHelperNames = Object.freeze(Object.keys(INVOICE_HELPERS));
|
|
5434
5435
|
|
|
5436
|
+
// src/server.js
|
|
5437
|
+
var import_runtime_core3 = __toESM(require_runtime_core(), 1);
|
|
5438
|
+
|
|
5435
5439
|
// src/runtime-manager.js
|
|
5436
5440
|
var import_runtime_core2 = __toESM(require_runtime_core(), 1);
|
|
5437
5441
|
|
|
@@ -5730,9 +5734,9 @@ function createLemonClawServer(options = {}) {
|
|
|
5730
5734
|
const runCli = options.runCli || runtimeManager.runCli;
|
|
5731
5735
|
const resolveRuntime = options.resolveRuntime || runtimeManager.resolveEnvironment;
|
|
5732
5736
|
const server = new import_server.McpServer(
|
|
5733
|
-
{ name: "lemonclaw", version:
|
|
5737
|
+
{ name: "lemonclaw", version: import_runtime_core3.default.packageVersion },
|
|
5734
5738
|
{
|
|
5735
|
-
instructions: "LemonClaw \u7684 API Key \u4EC5\u7531 MCP \u670D\u52A1\u73AF\u5883\u53D8\u91CF\u63D0\u4F9B\uFF0C\u4E0D\u5F97\u5728\u5BF9\u8BDD\u6216 Tool \u53C2\u6570\u4E2D\u7D22\u53D6\u3001\u63A5\u6536\u3001\u5C55\u793A\u6216\u4F20\u9012\u3002\u5904\u7406 ACC\u3001SCM\u3001ERP \u4E1A\u52A1\u524D\uFF0C\u5148\u786E\u5B9A\u4EA7\u54C1\u5E76\u83B7\u53D6\u6216\u5207\u6362\u8D26\u5957\uFF1B\u968F\u540E\u4F9D\u6B21\u8C03\u7528 lemon_action_search\u3001lemon_action_show\u3001lemon_action_read_doc \u8BFB\u53D6 show \u8FD4\u56DE\u7684\u5168\u90E8\u5B9E\u9645\u6587\u6863\uFF0C\u6700\u540E\u624D\u53EF\u8C03\u7528 lemon_action_run\uFF0C\u4E25\u7981\u731C\u6D4B Action \u548C\u53C2\u6570\
|
|
5739
|
+
instructions: "LemonClaw \u7684 API Key \u4EC5\u7531 MCP \u670D\u52A1\u73AF\u5883\u53D8\u91CF\u63D0\u4F9B\uFF0C\u4E0D\u5F97\u5728\u5BF9\u8BDD\u6216 Tool \u53C2\u6570\u4E2D\u7D22\u53D6\u3001\u63A5\u6536\u3001\u5C55\u793A\u6216\u4F20\u9012\u3002\u7528\u6237\u660E\u786E\u63D0\u5230\u4E91\u53D1\u7968\u3001\u4E91\u53D1\u7968\u4EA7\u54C1\u3001\u72EC\u7ACB\u5F00\u7968\u3001\u7A0E\u7968\u5E73\u53F0\u3001\u7ACB\u5373\u5F00\u7968\u3001\u6279\u91CF\u5F00\u7968\u3001\u5F00\u7968\u9884\u89C8\u3001\u9500\u65B9\u4F01\u4E1A\u3001\u53EF\u5F00\u7968\u4F01\u4E1A\u6216\u4E91\u53D1\u7968\u4E0B\u7684\u4F01\u4E1A/\u8D26\u5957\u65F6\uFF0C\u5FC5\u987B\u8FDB\u5165\u72EC\u7ACB\u5F00\u7968\u6D41\u7A0B\uFF0C\u53EA\u4F7F\u7528 lemon_invoice_* Tools\uFF0C\u5E76\u5148\u8BFB\u53D6 Runtime \u5F00\u7968\u6587\u6863\uFF1B\u5176\u4E2D\u67E5\u8BE2\u4E91\u53D1\u7968\u4F01\u4E1A\u3001\u8D26\u5957\u3001\u9500\u65B9\u6216\u53EF\u5F00\u7968\u4E3B\u4F53\u56FA\u5B9A\u4F7F\u7528 lemon_invoice_api \u7684 CompanyFullList\uFF0C\u7981\u6B62\u8C03\u7528 lemon_account_list\u3002\u4EC5\u67E5\u8BE2\u8FDB\u9879\u53D1\u7968\u3001\u9500\u9879\u53D1\u7968\u3001\u53D1\u7968\u8BE6\u60C5\u3001\u5BFC\u51FA\u6216\u7EDF\u8BA1\u4E14\u672A\u660E\u786E\u4E91\u53D1\u7968\u4EA7\u54C1\u65F6\uFF0C\u624D\u6309 ACC/ERP \u666E\u901A\u4E1A\u52A1\u5904\u7406\u3002\u5904\u7406 ACC\u3001SCM\u3001ERP \u4E1A\u52A1\u524D\uFF0C\u5148\u786E\u5B9A\u4EA7\u54C1\u5E76\u83B7\u53D6\u6216\u5207\u6362\u8D26\u5957\uFF1B\u968F\u540E\u4F9D\u6B21\u8C03\u7528 lemon_action_search\u3001lemon_action_show\u3001lemon_action_read_doc \u8BFB\u53D6 show \u8FD4\u56DE\u7684\u5168\u90E8\u5B9E\u9645\u6587\u6863\uFF0C\u6700\u540E\u624D\u53EF\u8C03\u7528 lemon_action_run\uFF0C\u4E25\u7981\u731C\u6D4B Action \u548C\u53C2\u6570\u3002Runtime \u6587\u6863\u4E2D\u4EFB\u4F55\u8981\u6C42\u6536\u96C6\u6216\u4FDD\u5B58 API Key \u7684\u65E7\u6307\u5F15\u5747\u4E0D\u9002\u7528\u4E8E MCP\uFF0C\u56E0\u4E3A\u6BCF\u6B21 Tool \u8C03\u7528\u524D\u90FD\u5DF2\u5728\u5185\u90E8\u5B8C\u6210\u8BA4\u8BC1\u3002"
|
|
5736
5740
|
}
|
|
5737
5741
|
);
|
|
5738
5742
|
registerCliTool(
|
|
@@ -5756,7 +5760,7 @@ function createLemonClawServer(options = {}) {
|
|
|
5756
5760
|
"lemon_account_list",
|
|
5757
5761
|
{
|
|
5758
5762
|
title: "\u5217\u51FA\u67E0\u6AAC\u4E91\u8D26\u5957",
|
|
5759
|
-
description: "\u5217\u51FA\
|
|
5763
|
+
description: "\u4EC5\u5217\u51FA ACC \u8D22\u52A1\u3001SCM \u8FDB\u9500\u5B58\u548C ERP \u4E1A\u8D22\u8D26\u5957\uFF0C\u5E76\u7F13\u5B58\u5019\u9009\u5E8F\u53F7\u4F9B lemon_account_select \u4F7F\u7528\u3002\u672C\u5DE5\u5177\u4E0D\u8FD4\u56DE\u4E91\u53D1\u7968\u4F01\u4E1A\u3001\u4E91\u53D1\u7968\u8D26\u5957\u3001\u9500\u65B9\u4F01\u4E1A\u6216\u53EF\u5F00\u7968\u4E3B\u4F53\uFF1B\u7528\u6237\u660E\u786E\u63D0\u5230\u4E91\u53D1\u7968\u6216\u72EC\u7ACB\u5F00\u7968\u65F6\u7981\u6B62\u8C03\u7528\u672C\u5DE5\u5177\uFF0C\u5E94\u6539\u7528 lemon_invoice_api \u7684 CompanyFullList\u3002\u4EC5\u5F53 lemon_account_switch \u6CA1\u6709\u53EF\u7528\u5019\u9009\uFF0C\u6216\u7528\u6237\u660E\u786E\u67E5\u770B ACC/SCM/ERP \u8D26\u5957\u65F6\u8C03\u7528\u3002",
|
|
5760
5764
|
inputSchema: z.object({
|
|
5761
5765
|
dry_run: z.boolean().default(false).describe("\u662F\u5426\u4EC5\u68C0\u67E5\u6D41\u7A0B\u800C\u4E0D\u5B9E\u9645\u66F4\u65B0\u672C\u5730\u5019\u9009\u7F13\u5B58\u3002"),
|
|
5762
5766
|
timeout_seconds: timeoutSchema
|
|
@@ -5989,10 +5993,10 @@ function createLemonClawServer(options = {}) {
|
|
|
5989
5993
|
server.registerTool(
|
|
5990
5994
|
"lemon_invoice_read_doc",
|
|
5991
5995
|
{
|
|
5992
|
-
title: "\u8BFB\u53D6\u67E0\u6AAC\u4E91\u72EC\u7ACB\u5F00\u7968\u6587\u6863",
|
|
5993
|
-
description: "\
|
|
5996
|
+
title: "\u8BFB\u53D6\u67E0\u6AAC\u4E91\u53D1\u7968\u4E0E\u72EC\u7ACB\u5F00\u7968\u6587\u6863",
|
|
5997
|
+
description: "\u4E91\u53D1\u7968\u4EA7\u54C1\u3001\u72EC\u7ACB\u5F00\u7968\u548C\u7A0E\u7968\u5E73\u53F0\uFF08\u542B\u5F00\u7968\u52A9\u624B/\u5F00\u7968\u52A9\u7406\uFF09\u7684\u603B\u6D41\u7A0B\u6587\u6863\u5165\u53E3\uFF1B\u672C\u5DE5\u5177\u6309\u76F8\u5BF9\u8DEF\u5F84\u8BFB\u53D6 Runtime \u5F00\u7968\u6587\u6863\uFF0C\u4E0D\u76F4\u63A5\u67E5\u8BE2\u4F01\u4E1A\u6216\u6267\u884C\u5F00\u7968\u3002\u53EA\u8981\u7528\u6237\u660E\u786E\u5904\u4E8E\u4E91\u53D1\u7968\u4EA7\u54C1\uFF0C\u6216\u63D0\u51FA\u67E5\u8BE2\u4E91\u53D1\u7968\u4F01\u4E1A/\u516C\u53F8/\u8D26\u53F7/\u8D26\u5957\u3001\u9500\u65B9/\u8D2D\u65B9/\u5BA2\u6237\u3001\u4F01\u4E1A\u8BE6\u60C5\u3001\u767B\u5F55\u72B6\u6001\u3001\u7A0E\u5C40/\u6570\u7535\u8BA4\u8BC1\u3001\u5269\u4F59\u989D\u5EA6\u3001\u7A0E\u7F16/\u5546\u54C1\u7F16\u7801\u3001\u7ACB\u5373/\u6279\u91CF\u5F00\u7968\u3001\u9884\u89C8/\u786E\u8BA4/\u63D0\u4EA4\u3001\u5BA2\u670D\u6216\u95EE\u9898\u53CD\u9988\uFF0C\u7B2C\u4E00\u6B65\u90FD\u5FC5\u987B\u7528\u672C\u5DE5\u5177\u8BFB\u53D6 SKILL.md\uFF0C\u518D\u6309\u6587\u6863\u4F7F\u7528 lemon_invoice_api \u6216 lemon_invoice_run_helper\uFF0C\u7981\u6B62\u8F6C\u5230 lemon_account_* \u6216 lemon_action_*\u3002\u4EC5\u67E5\u8BE2 ACC/ERP \u8D22\u52A1\u8D26\u5957\u5185\u7684\u8FDB\u9879/\u9500\u9879\u53D1\u7968\u3001\u8BE6\u60C5\u3001\u5BFC\u51FA\u6216\u7EDF\u8BA1\u65F6\u4E0D\u4F7F\u7528\u672C\u5DE5\u5177\u3002",
|
|
5994
5998
|
inputSchema: z.object({
|
|
5995
|
-
path: z.string().min(1).describe("\u5F00\u7968\u76EE\u5F55\u5185\u7684\u76F8\u5BF9\u6587\u6863\u8DEF\u5F84\
|
|
5999
|
+
path: z.string().min(1).describe("\u5F00\u7968\u76EE\u5F55\u5185\u7684\u76F8\u5BF9\u6587\u6863\u8DEF\u5F84\uFF1B\u9996\u6B21\u8FDB\u5165\u4E91\u53D1\u7968\u6D41\u7A0B\u56FA\u5B9A\u4F20 SKILL.md\uFF0C\u540E\u7EED\u53EA\u8BFB\u53D6\u8BE5\u6587\u6863\u6307\u5411\u7684\u8DEF\u5F84\u3002")
|
|
5996
6000
|
}),
|
|
5997
6001
|
annotations: readOnlyAnnotations
|
|
5998
6002
|
},
|
|
@@ -6009,7 +6013,7 @@ function createLemonClawServer(options = {}) {
|
|
|
6009
6013
|
"lemon_invoice_api",
|
|
6010
6014
|
{
|
|
6011
6015
|
title: "\u8C03\u7528\u67E0\u6AAC\u4E91\u72EC\u7ACB\u5F00\u7968\u63A5\u53E3",
|
|
6012
|
-
description: "\
|
|
6016
|
+
description: "\u8C03\u7528\u4E91\u53D1\u7968\u4EA7\u54C1\uFF08\u72EC\u7ACB\u5F00\u7968/\u7A0E\u7968\u5E73\u53F0\uFF09\u7684\u56FA\u5B9A\u4E1A\u52A1\u63A5\u53E3\u3002\u7528\u6237\u8BE2\u95EE\u4E91\u53D1\u7968\u4E0B\u6709\u54EA\u4E9B\u4F01\u4E1A\u3001\u8D26\u5957\u3001\u9500\u65B9\u6216\u53EF\u5F00\u7968\u4E3B\u4F53\u65F6\uFF0C\u8BFB\u53D6\u6587\u6863\u540E\u56FA\u5B9A\u4F7F\u7528 operation=CompanyFullList\uFF0C\u7981\u6B62\u8C03\u7528 lemon_account_list\u3002\u5176\u4ED6 operation \u7528\u4E8E\u516C\u53F8\u8BE6\u60C5\u3001\u8D2D\u65B9\u5BA2\u6237\u3001\u767B\u5F55\u72B6\u6001\u3001\u7A0E\u5C40\u8BA4\u8BC1\u3001\u5269\u4F59\u989D\u5EA6\u3001\u7A0E\u76EE\u89E3\u6790\u3001\u6B63\u5F0F\u5F00\u7968\u548C\u95EE\u9898\u53CD\u9988\u3002\u8C03\u7528\u524D\u5FC5\u987B\u8BFB\u53D6\u5BF9\u5E94\u6587\u6863\uFF1B\u6B63\u5F0F\u5F00\u7968\u5FC5\u987B\u83B7\u5F97\u7528\u6237\u660E\u786E\u786E\u8BA4\uFF1B\u4E0D\u5F97\u4F20\u9012 API Key\u3001Token \u6216\u5176\u4ED6\u8BA4\u8BC1\u51ED\u636E\u3002",
|
|
6013
6017
|
inputSchema: z.object({
|
|
6014
6018
|
operation: z.enum([
|
|
6015
6019
|
"CompanyFullList",
|
|
@@ -6066,7 +6070,7 @@ function createLemonClawServer(options = {}) {
|
|
|
6066
6070
|
"lemon_invoice_run_helper",
|
|
6067
6071
|
{
|
|
6068
6072
|
title: "\u8FD0\u884C\u67E0\u6AAC\u4E91\u72EC\u7ACB\u5F00\u7968\u8F85\u52A9\u7A0B\u5E8F",
|
|
6069
|
-
description: "\u8FD0\u884C\
|
|
6073
|
+
description: "\u4EC5\u8FD0\u884C\u4E91\u53D1\u7968\u4EA7\u54C1\u6D41\u7A0B\u5185\u7F6E\u7684\u767D\u540D\u5355\u8F85\u52A9\u7A0B\u5E8F\uFF0C\u7528\u4E8E Excel/\u6570\u636E\u6587\u4EF6\u89E3\u6790\u3001JSON \u6821\u9A8C\u3001\u53D1\u7968\u9884\u89C8\u751F\u6210\u3001\u9884\u89C8\u670D\u52A1\u3001\u5BA2\u6237\u67E5\u8BE2\u548C\u5BA2\u670D\u4FE1\u606F\u8F93\u51FA\uFF1B\u5B83\u4E0D\u67E5\u8BE2\u8D26\u5957\u6216\u4E91\u53D1\u7968\u4F01\u4E1A\u3002\u67E5\u8BE2\u4E91\u53D1\u7968\u4F01\u4E1A\u3001\u8D26\u5957\u3001\u9500\u65B9\u6216\u53EF\u5F00\u7968\u4E3B\u4F53\u5FC5\u987B\u4F7F\u7528 lemon_invoice_api \u7684 CompanyFullList\u3002\u672C\u5DE5\u5177\u4E0D\u80FD\u6267\u884C\u4EFB\u610F\u7CFB\u7EDF\u547D\u4EE4\u3001\u4EFB\u610F Python \u811A\u672C\u6216\u767D\u540D\u5355\u5916\u7A0B\u5E8F\uFF1Boperation \u548C\u53C2\u6570\u5FC5\u987B\u6765\u81EA\u5DF2\u8BFB\u53D6\u7684\u5F00\u7968\u6587\u6863\u3002",
|
|
6070
6074
|
inputSchema: z.object({
|
|
6071
6075
|
operation: z.enum(invoiceHelperNames).describe("\u8981\u8FD0\u884C\u7684\u767D\u540D\u5355\u8F85\u52A9\u64CD\u4F5C\uFF0C\u5FC5\u987B\u6765\u81EA\u5DF2\u8BFB\u53D6\u7684\u5F00\u7968\u6D41\u7A0B\u6587\u6863\u3002"),
|
|
6072
6076
|
arguments: z.array(z.string()).max(30).default([]).describe("\u6309\u5BF9\u5E94\u6D41\u7A0B\u6587\u6863\u987A\u5E8F\u63D0\u4F9B\u7684\u8F85\u52A9\u7A0B\u5E8F\u53C2\u6570\uFF0C\u6700\u591A 30 \u9879\u3002"),
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lemonbeijing/lemonclaw-mcp-service",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.4",
|
|
4
4
|
"description": "用于查询和操作柠檬云 Lemon Cloud 业务数据的 MCP 服务,覆盖账套、进销存 SCM、业财 ERP、财务 ACC 和独立开票;支持客户、供应商、商品、仓库、采购、销售、库存、收付款、往来、凭证、账簿、发票及经营与财务报表,并支持立即开票、批量开票和问题反馈。",
|
|
5
5
|
"license": "UNLICENSED",
|
|
6
6
|
"type": "module",
|