big_value之region选表原则

本文详细介绍了MPEG Layer III音频压缩标准中使用的Huffman编码表,包括针对四元组的A、B两套编码表以及多个特定场景下的Huffman编码规则。这些编码表用于提高数据压缩效率,对于理解MPEG Layer III的工作原理至关重要。

Table 3-B.7. Huffman codes for Layer III

Huffman code table for quadruples (A)

Value hlen hcod

 0000  1   1

 0001  4   0101

 0010  4   0100

 0011  5   00101

 0100  4   0110

 0101  6   000101

 0110  5   00100

 0111  6   000100

 1000  4   0111

 1001  5   00011

 1010  5   00110

 1011  6   000000

 1100  5   00111

 1101  6   000010

 1110  6   000011

 1111  6   000001

 

Huffman code table for quadruples (B)

Value hlen hcod

 0000  4   1111

 0001  4   1110

 0010  4   1101

 0011  4   1100

 0100  4   1011

 0101  4   1010

 0110  4   1001

 0111  4   1000

 1000  4   0111

 1001  4   0110

 1010  4   0101

 1011  4   0100

 1100  4   0011

 1101  4   0010

 1110  4   0001

 1111  4   0000

 

 

Huffman code table 0

 x  y hlen

 0  0  0

 

Huffman code table 1

 x  y hlen hcod

 0  0  1   1

 0  1  3   001

 1  0  2   01

 1  1  3   000

 

Huffman code table 2

 x  y hlen hcod

 0  0  1   1

 0  1  3   010

 0  2  6   000001

 1  0  3   011

 1  1  3   001

 1  2  5   00001

 2  0  5   00011

 2  1  5   00010

 2  2  6   000000

 

Huffman code table 3

 x  y hlen hcod

 0  0  2   11

 0  1  2   10

 0  2  6   000001

 1  0  3   001

 1  1  2   01

 1  2  5   00001

 2  0  5   00011

 2  1  5   00010

 2  2  6   000000

 

Huffman code table 4

not used

 

Huffman code table 5

 x  y hlen hcod

 0  0  1   1

 0  1  3   010

 0  2  6   000110

 0  3  7   0000101

 1  0  3   011

 1  1  3   001

 1  2  6   000100

 1  3  7   0000100

 2  0  6   000111

 2  1  6   000101

 2  2  7   0000111

 2  3  8   00000001

 3  0  7   0000110

 3  1  6   000001

 3  2  7   0000001

 3  3  8   00000000

 

Huffman code table 6

 x  y hlen hcod

 0  0  3   111

 0  1  3   011

 0  2  5   00101

 0  3  7   0000001

 1  0  3   110

 1  1  2   10

 1  2  4   0011

 1  3  5   00010

 2  0  4   0101

 2  1  4   0100

 2  2  5   00100

 2  3  6   000001

 3  0  6   000011

 3  1  5   00011

 3  2  6   000010

 3  3  7   0000000

 

Huffman code table 7

 x  y hlen hcod

 0  0   1   1

 0  1   3   010

 0  2   6   001010

 0  3   8   00010011

 0  4   8   00010000

 0  5   9   000001010

 1  0   3   011

 1  1   4   0011

 1  2   6   000111

 1  3   7   0001010

 1  4   7   0000101

 1  5   8   00000011

 2  0   6   001011

 2  1   5   00100

 2  2   7   0001101

 2  3   8   00010001

 2  4   8   00001000

 2  5   9   000000100

 3  0   7   0001100

 3  1   7   0001011

 3  2   8   00010010

 3  3   9   000001111

 3  4   9   000001011

 3  5   9   000000010

 4  0   7   0000111

 4  1   7   0000110

 4  2   8   00001001

 4  3   9   000001110

 4  4   9   000000011

 4  5  10   0000000001

 5  0   8   00000110

 5  1   8   00000100

 5  2   9   000000101

 5  3  10   0000000011

 5  4  10   0000000010

 5  5  10   0000000000

 

Huffman code table 8

 x  y hlen hcod

 0  0   2   11

 0  1   3   100

 0  2   6   000110

 0  3   8   00010010

 0  4   8   00001100

 0  5   9   000000101

 1  0   3   101

 1  1   2   01

 1  2   4   0010

 1  3   8   00010000

 1  4   8   00001001

 1  5   8   00000011

 2  0   6   000111

 2  1   4   0011

 2  2   6   000101

 2  3   8   00001110

 2  4   8   00000111

 2  5   9   000000011

 3  0   8   00010011

 3  1   8   00010001

 3  2   8   00001111

 3  3   9   000001101

 3  4   9   000001010

 3  5  10   0000000100

 4  0   8   00001101

 4  1   7   0000101

 4  2   8   00001000

 4  3   9   000001011

 4  4  10   0000000101

 4  5  10   0000000001

 5  0   9   000001100

 5  1   8   00000100

 5  2   9   000000100

 5  3   9   000000001

 5  4  11   00000000001

 5  5  11   00000000000

 

Huffman code table 9

 x  y hlen hcod

 0  0   3   111

 0  1   3   101

 0  2   5   01001

 0  3   6   001110

 0  4   8   00001111

 0  5   9   000000111

 1  0   3   110

 1  1   3   100

 1  2   4   0101

 1  3   5   00101

 1  4   6   000110

 1  5   8   00000111

 2  0   4   0111

 2  1   4   0110

 2  2   5   01000

 2  3   6   001000

 2  4   7   0001000

 2  5   8   00000101

 3  0   6   001111

 3  1   5   00110

 3  2   6   001001

 3  3   7   0001010

 3  4   7   0000101

 3  5   8   00000001

 4  0   7   0001011

 4  1   6   000111

 4  2   7   0001001

 4  3   7   0000110

 4  4   8   00000100

 4  5   9   000000001

 5  0   8   00001110

 5  1   7   0000100

 5  2   8   00000110

 5  3   8   00000010

 5  4   9   000000110

 5  5   9   000000000

 

Huffman code table 10

 x  y hlen hcod

 0  0   1   1

 0  1   3   010

 0  2   6   001010

 0  3   8   00010111

 0  4   9   000100011

 0  5   9   000011110

 0  6   9   000001100

 0  7  10   0000010001

 1  0   3   011

 1  1   4   0011

 1  2   6   001000

 1  3   7   0001100

 1  4   8   00010010

 1  5   9   000010101

 1  6   8   00001100

 1  7   8   00000111

 2  0   6   001011

 2  1   6   001001

 2  2   7   0001111

 2  3   8   00010101

 2  4   9   000100000

 2  5  10   0000101000

 2  6   9   000010011

 2  7   9   000000110

 3  0   7   0001110

 3  1   7   0001101

 3  2   8   00010110

 3  3   9   000100010

 3  4  10   0000101110

 3  5  10   0000010111

 3  6   9   000010010

 3  7  10   0000000111

 4  0   8   00010100

 4  1   8   00010011

 4  2   9   000100001

 4  3  10   0000101111

 4  4  10   0000011011

 4  5  10   0000010110

 4  6  10   0000001001

 4  7  10   0000000011

 5  0   9   000011111

 5  1   9   000010110

 5  2  10   0000101001

 5  3  10   0000011010

 5  4  11   00000010101

 5  5  11   00000010100

 5  6  10   0000000101

 5  7  11   00000000011

 6  0   8   00001110

 6  1   8   00001101

 6  2   9   000001010

 6  3  10   0000001011

 6  4  10   0000010000

 6  5  10   0000000110

 6  6  11   00000000101

 6  7  11   00000000001

 7  0   9   000001001

 7  1   8   00001000

 7  2   9   000000111

 7  3  10   0000001000

 7  4  10   0000000100

 7  5  11   00000000100

 7  6  11   00000000010

 7  7  11   00000000000

 

Huffman code table 11

 x  y hlen hcod

 0  0   2   11

 0  1   3   100

 0  2   5   01010

 0  3   7   0011000

 0  4   8   00100010

 0  5   9   000100001

 0  6   8   00010101

 0  7   9   000001111

 1  0   3   101

 1  1   3   011

 1  2   4   0100

 1  3   6   001010

 1  4   8   00100000

 1  5   8   00010001

 1  6   7   0001011

 1  7   8   00001010

 2  0   5   01011

 2  1   5   00111

 2  2   6   001101

 2  3   7   0010010

 2  4   8   00011110

 2  5   9   000011111

 2  6   8   00010100

 2  7   8   00000101

 3  0   7   0011001

 3  1   6   001011

 3  2   7   0010011

 3  3   9   000111011

 3  4   8   00011011

 3  5  10   0000010010

 3  6   8   00001100

 3  7   9   000000101

 4  0   8   00100011

 4  1   8   00100001

 4  2   8   00011111

 4  3   9   000111010

 4  4   9   000011110

 4  5  10   0000010000

 4  6   9   000000111

 4  7  10   0000000101

 5  0   8   00011100

 5  1   8   00011010

 5  2   9   000100000

 5  3  10   0000010011

 5  4  10   0000010001

 5  5  11   00000001111

 5  6  10   0000001000

 5  7  11   00000001110

 6  0   8   00001110

 6  1   7   0001100

 6  2   7   0001001

 6  3   8   00001101

 6  4   9   000001110

 6  5  10   0000001001

 6  6  10   0000000100

 6  7  10   0000000001

 7  0   8   00001011

 7  1   7   0000100

 7  2   8   00000110

 7  3   9   000000110

 7  4  10   0000000110

 7  5  10   0000000011

 7  6  10   0000000010

 7  7  10   0000000000

 

Huffman code table 12

 x  y hlen hcod

 0  0   4   1001

 0  1   3   110

 0  2   5   10000

 0  3   7   0100001

 0  4   8   00101001

 0  5   9   000100111

 0  6   9   000100110

 0  7   9   000011010

 1  0   3   111

 1  1   3   101

 1  2   4   0110

 1  3   5   01001

 1  4   7   0010111

 1  5   7   0010000

 1  6   8   00011010

 1  7   8   00001011

 2  0   5   10001

 2  1   4   0111

 2  2   5   01011

 2  3   6   001110

 2  4   7   0010101

 2  5   8   00011110

 2  6   7   0001010

 2  7   8   00000111

 3  0   6   010001

 3  1   5   01010

 3  2   6   001111

 3  3   6   001100

 3  4   7   0010010

 3  5   8   00011100

 3  6   8   00001110

 3  7   8   00000101

 4  0   7   0100000

 4  1   6   001101

 4  2   7   0010110

 4  3   7   0010011

 4  4   8   00010010

 4  5   8   00010000

 4  6   8   00001001

 4  7   9   000000101

 5  0   8   00101000

 5  1   7   0010001

 5  2   8   00011111

 5  3   8   00011101

 5  4   8   00010001

 5  5   9   000001101

 5  6   8   00000100

 5  7   9   000000010

 6  0   8   00011011

 6  1   7   0001100

 6  2   7   0001011

 6  3   8   00001111

 6  4   8   00001010

 6  5   9   000000111

 6  6   9   000000100

 6  7  10   0000000001

 7  0   9   000011011

 7  1   8   00001100

 7  2   8   00001000

 7  3   9   000001100

 7  4   9   000000110

 7  5   9   000000011

 7  6   9   000000001

 7  7  10   0000000000

 

Huffman code table 13

 x  y hlen hcod

 0  0   1   1

 0  1   4   0101

 0  2   6   001110

 0  3   7   0010101

 0  4   8   00100010

 0  5   9   000110011

 0  6   9   000101110

 0  7  10   0001000111

 0  8   9   000101010

 0  9  10   0000110100

 0 10  11   00001000100

 0 11  11   00000110100

 0 12  12   000001000011

 0 13  12   000000101100

 0 14  13   0000000101011

 0 15  13   0000000010011

 1  0   3   011

 1  1   4   0100

 1  2   6   001100

 1  3   7   0010011

 1  4   8   00011111

 1  5   8   00011010

 1  6   9   000101100

 1  7   9   000100001

 1  8   9   000011111

 1  9   9   000011000

 1 10  10   0000100000

 1 11  10   0000011000

 1 12  11   00000011111

 1 13  12   000000100011

 1 14  12   000000010110

 1 15  12   000000001110

 2  0   6   001111

 2  1   6   001101

 2  2   7   0010111

 2  3   8   00100100

 2  4   9   000111011

 2  5   9   000110001

 2  6  10   0001001101

 2  7  10   0001000001

 2  8   9   000011101

 2  9  10   0000101000

 2 10  10   0000011110

 2 11  11   00000101000

 2 12  11   00000011011

 2 13  12   000000100001

 2 14  13   0000000101010

 2 15  13   0000000010000

 3  0   7   0010110

 3  1   7   0010100

 3  2   8   00100101

 3  3   9   000111101

 3  4   9   000111000

 3  5  10   0001001111

 3  6  10   0001001001

 3  7  10   0001000000

 3  8  10   0000101011

 3  9  11   00001001100

 3 10  11   00000111000

 3 11  11   00000100101

 3 12  11   00000011010

 3 13  12   000000011111

 3 14  13   0000000011001

 3 15  13   0000000001110

 4  0   8   00100011

 4  1   7   0010000

 4  2   9   000111100

 4  3   9   000111001

 4  4  10   0001100001

 4  5  10   0001001011

 4  6  11   00001110010

 4  7  11   00001011011

 4  8  10   0000110110

 4  9  11   00001001001

 4 10  11   00000110111

 4 11  12   000000101001

 4 12  12   000000110000

 4 13  13   0000000110101

 4 14  13   0000000010111

 4 15  14   00000000011000

 5  0   9   000111010

 5  1   8   00011011

 5  2   9   000110010

 5  3  10   0001100000

 5  4  10   0001001100

 5  5  10   0001000110

 5  6  11   00001011101

 5  7  11   00001010100

 5  8  11   00001001101

 5  9  11   00000111010

 5 10  12   000001001111

 5 11  11   00000011101

 5 12  13   0000001001010

 5 13  13   0000000110001

 5 14  14   00000000101001

 5 15  14   00000000010001

 6  0   9   000101111

 6  1   9   000101101

 6  2  10   0001001110

 6  3  10   0001001010

 6  4  11   00001110011

 6  5  11   00001011110

 6  6  11   00001011010

 6  7  11   00001001111

 6  8  11   00001000101

 6  9  12   000001010011

 6 10  12   000001000111

 6 11  12   000000110010

 6 12  13   0000000111011

 6 13  13   0000000100110

 6 14  14   00000000100100

 6 15  14   00000000001111

 7  0  10   0001001000

 7  1   9   000100010

 7  2  10   0000111000

 7  3  11   00001011111

 7  4  11   00001011100

 7  5  11   00001010101

 7  6  12   000001011011

 7  7  12   000001011010

 7  8  12   000001010110

 7  9  12   000001001001

 7 10  13   0000001001101

 7 11  13   0000001000001

 7 12  13   0000000110011

 7 13  14   00000000101100

 7 14  16   0000000000101011

 7 15  16   0000000000101010

 8  0   9   000101011

 8  1   8   00010100

 8  2   9   000011110

 8  3  10   0000101100

 8  4  10   0000110111

 8  5  11   00001001110

 8  6  11   00001001000

 8  7  12   000001010111

 8  8  12   000001001110

 8  9  12   000000111101

 8 10  12   000000101110

 8 11  13   0000000110110

 8 12  13   0000000100101

 8 13  14   00000000011110

 8 14  15   000000000010100

 8 15  15   000000000010000

 9  0  10   0000110101

 9  1   9   000011001

 9  2  10   0000101001

 9  3  10   0000100101

 9  4  11   00000101100

 9  5  11   00000111011

 9  6  11   00000110110

 9  7  13   0000001010001

 9  8  12   000001000010

 9  9  13   0000001001100

 9 10  13   0000000111001

 9 11  14   00000000110110

 9 12  14   00000000100101

 9 13  14   00000000010010

 9 14  16   0000000000100111

 9 15  15   000000000001011

10  0  10   0000100011

10  1  10   0000100001

10  2  10   0000011111

10  3  11   00000111001

10  4  11   00000101010

10  5  12   000001010010

10  6  12   000001001000

10  7  13   0000001010000

10  8  12   000000101111

10  9  13   0000000111010

10 10  14   00000000110111

10 11  13   0000000010101

10 12  14   00000000010110

10 13  15   000000000011010

10 14  16   0000000000100110

10 15  17   00000000000010110

11  0  11   00000110101

11  1  10   0000011001

11  2  10   0000010111

11  3  11   00000100110

11  4  12   000001000110

11  5  12   000000111100

11  6  12   000000110011

11  7  12   000000100100

11  8  13   0000000110111

11  9  13   0000000011010

11 10  13   0000000100010

11 11  14   00000000010111

11 12  15   000000000011011

11 13  15   000000000001110

11 14  15   000000000001001

11 15  16   0000000000000111

12  0  11   00000100010

12  1  11   00000100000

12  2  11   00000011100

12  3  12   000000100111

12  4  12   000000110001

12  5  13   0000001001011

12  6  12   000000011110

12  7  13   0000000110100

12  8  14   00000000110000

12  9  14   00000000101000

12 10  15   000000000110100

12 11  15   000000000011100

12 12  15   000000000010010

12 13  16   0000000000010001

12 14  16   0000000000001001

12 15  16   0000000000000101

13  0  12   000000101101

13  1  11   00000010101

13  2  12   000000100010

13  3  13   0000001000000

13  4  13   0000000111000

13  5  13   0000000110010

13  6  14   00000000110001

13  7  14   00000000101101

13  8  14   00000000011111

13  9  14   00000000010011

13 10  14   00000000001100

13 11  15   000000000001111

13 12  16   0000000000001010

13 13  15   000000000000111

13 14  16   0000000000000110

13 15  16   0000000000000011

14  0  13   0000000110000

14  1  12   000000010111

14  2  12   000000010100

14  3  13   0000000100111

14  4  13   0000000100100

14  5  13   0000000100011

14  6  15   000000000110101

14  7  14   00000000010101

14  8  14   00000000010000

14  9  17   00000000000010111

14 10  15   000000000001101

14 11  15   000000000001010

14 12  15   000000000000110

14 13  17   00000000000000001

14 14  16   0000000000000100

14 15  16   0000000000000010

15  0  12   000000010000

15  1  12   000000001111

15  2  13   0000000010001

15  3  14   00000000011011

15  4  14   00000000011001

15  5  14   00000000010100

15  6  15   000000000011101

15  7  14   00000000001011

15  8  15   000000000010001

15  9  15   000000000001100

15 10  16   0000000000010000

15 11  16   0000000000001000

15 12  19   0000000000000000001

15 13  18   000000000000000001

15 14  19   0000000000000000000

15 15  16   0000000000000001

 

Huffman code table 14

not used

 

Huffman code table 15

 x  y hlen hcod

 0  0   3   111

 0  1   4   1100

 0  2   5   10010

 0  3   7   0110101

 0  4   7   0101111

 0  5   8   01001100

 0  6   9   001111100

 0  7   9   001101100

 0  8   9   001011001

 0  9  10   0001111011

 0 10  10   0001101100

 0 11  11   00001110111

 0 12  11   00001101011

 0 13  11   00001010001

 0 14  12   000001111010

 0 15  13   0000000111111

 1  0   4   1101

 1  1   3   101

 1  2   5   10000

 1  3   6   011011

 1  4   7   0101110

 1  5   7   0100100

 1  6   8   00111101

 1  7   8   00110011

 1  8   8   00101010

 1  9   9   001000110

 1 10   9   000110100

 1 11  10   0001010011

 1 12  10   0001000001

 1 13  10   0000101001

 1 14  11   00000111011

 1 15  11   00000100100

 2  0   5   10011

 2  1   5   10001

 2  2   5   01111

 2  3   6   011000

 2  4   7   0101001

 2  5   7   0100010

 2  6   8   00111011

 2  7   8   00110000

 2  8   8   00101000

 2  9   9   001000000

 2 10   9   000110010

 2 11  10   0001001110

 2 12  10   0000111110

 2 13  11   00001010000

 2 14  11   00000111000

 2 15  11   00000100001

 3  0   6   011101

 3  1   6   011100

 3  2   6   011001

 3  3   7   0101011

 3  4   7   0100111

 3  5   8   00111111

 3  6   8   00110111

 3  7   9   001011101

 3  8   9   001001100

 3  9   9   000111011

 3 10  10   0001011101

 3 11  10   0001001000

 3 12  10   0000110110

 3 13  11   00001001011

 3 14  11   00000110010

 3 15  11   00000011101

 4  0   7   0110100

 4  1   6   010110

 4  2   7   0101010

 4  3   7   0101000

 4  4   8   01000011

 4  5   8   00111001

 4  6   9   001011111

 4  7   9   001001111

 4  8   9   001001000

 4  9   9   000111001

 4 10  10   0001011001

 4 11  10   0001000101

 4 12  10   0000110001

 4 13  11   00001000010

 4 14  11   00000101110

 4 15  11   00000011011

 5  0   8   01001101

 5  1   7   0100101

 5  2   7   0100011

 5  3   8   01000010

 5  4   8   00111010

 5  5   8   00110100

 5  6   9   001011011

 5  7   9   001001010

 5  8   9   000111110

 5  9   9   000110000

 5 10  10   0001001111

 5 11  10   0000111111

 5 12  11   00001011010

 5 13  11   00000111110

 5 14  11   00000101000

 5 15  12   000000100110

 6  0   9   001111101

 6  1   7   0100000

 6  2   8   00111100

 6  3   8   00111000

 6  4   8   00110010

 6  5   9   001011100

 6  6   9   001001110

 6  7   9   001000001

 6  8   9   000110111

 6  9  10   0001010111

 6 10  10   0001000111

 6 11  10   0000110011

 6 12  11   00001001001

 6 13  11   00000110011

 6 14  12   000001000110

 6 15  12   000000011110

 7  0   9   001101101

 7  1   8   00110101

 7  2   8   00110001

 7  3   9   001011110

 7  4   9   001011000

 7  5   9   001001011

 7  6   9   001000010

 7  7  10   0001111010

 7  8  10   0001011011

 7  9  10   0001001001

 7 10  10   0000111000

 7 11  10   0000101010

 7 12  11   00001000000

 7 13  11   00000101100

 7 14  11   00000010101

 7 15  12   000000011001

 8  0   9   001011010

 8  1   8   00101011

 8  2   8   00101001

 8  3   9   001001101

 8  4   9   001001001

 8  5   9   000111111

 8  6   9   000111000

 8  7  10   0001011100

 8  8  10   0001001101

 8  9  10   0001000010

 8 10  10   0000101111

 8 11  11   00001000011

 8 12  11   00000110000

 8 13  12   000000110101

 8 14  12   000000100100

 8 15  12   000000010100

 9  0   9   001000111

 9  1   8   00100010

 9  2   9   001000011

 9  3   9   000111100

 9  4   9   000111010

 9  5   9   000110001

 9  6  10   0001011000

 9  7  10   0001001100

 9  8  10   0001000011

 9  9  11   00001101010

 9 10  11   00001000111

 9 11  11   00000110110

 9 12  11   00000100110

 9 13  12   000000100111

 9 14  12   000000010111

 9 15  12   000000001111

10  0  10   0001101101

10  1   9   000110101

10  2   9   000110011

10  3   9   000101111

10  4  10   0001011010

10  5  10   0001010010

10  6  10   0000111010

10  7  10   0000111001

10  8  10   0000110000

10  9  11   00001001000

10 10  11   00000111001

10 11  11   00000101001

10 12  11   00000010111

10 13  12   000000011011

10 14  13   0000000111110

10 15  12   000000001001

11  0  10   0001010110

11  1   9   000101010

11  2   9   000101000

11  3   9   000100101

11  4  10   0001000110

11  5  10   0001000000

11  6  10   0000110100

11  7  10   0000101011

11  8  11   00001000110

11  9  11   00000110111

11 10  11   00000101010

11 11  11   00000011001

11 12  12   000000011101

11 13  12   000000010010

11 14  12   000000001011

11 15  13   0000000001011

12  0  11   00001110110

12  1  10   0001000100

12  2   9   000011110

12  3  10   0000110111

12  4  10   0000110010

12  5  10   0000101110

12  6  11   00001001010

12  7  11   00001000001

12  8  11   00000110001

12  9  11   00000100111

12 10  11   00000011000

12 11  11   00000010000

12 12  12   000000010110

12 13  12   000000001101

12 14  13   0000000001110

12 15  13   0000000000111

13  0  11   00001011011

13  1  10   0000101100

13  2  10   0000100111

13  3  10   0000100110

13  4  10   0000100010

13  5  11   00000111111

13  6  11   00000110100

13  7  11   00000101101

13  8  11   00000011111

13  9  12   000000110100

13 10  12   000000011100

13 11  12   000000010011

13 12  12   000000001110

13 13  12   000000001000

13 14  13   0000000001001

13 15  13   0000000000011

14  0  12   000001111011

14  1  11   00000111100

14  2  11   00000111010

14  3  11   00000110101

14  4  11   00000101111

14  5  11   00000101011

14  6  11   00000100000

14  7  11   00000010110

14  8  12   000000100101

14  9  12   000000011000

14 10  12   000000010001

14 11  12   000000001100

14 12  13   0000000001111

14 13  13   0000000001010

14 14  12   000000000010

14 15  13   0000000000001

15  0  12   000001000111

15  1  11   00000100101

15  2  11   00000100010

15  3  11   00000011110

15  4  11   00000011100

15  5  11   00000010100

15  6  11   00000010001

15  7  12   000000011010

15  8  12   000000010101

15  9  12   000000010000

15 10  12   000000001010

15 11  12   000000000110

15 12  13   0000000001000

15 13  13   0000000000110

15 14  13   0000000000010

15 15  13   0000000000000

 

Huffman code table 16

ESC table, linbits=1

 x  y hlen hcod

 0  0   1   1

 0  1   4   0101

 0  2   6   001110

 0  3   8   00101100

 0  4   9   001001010

 0  5   9   000111111

 0  6  10   0001101110

 0  7  10   0001011101

 0  8  11   00010101100

 0  9  11   00010010101

 0 10  11   00010001010

 0 11  12   000011110010

 0 12  12   000011100001

 0 13  12   000011000011

 0 14  13   0000101111000

 0 15   9   000010001

 1  0   3   011

 1  1   4   0100

 1  2   6   001100

 1  3   7   0010100

 1  4   8   00100011

 1  5   9   000111110

 1  6   9   000110101

 1  7   9   000101111

 1  8  10   0001010011

 1  9  10   0001001011

 1 10  10   0001000100

 1 11  11   00001110111

 1 12  12   000011001001

 1 13  11   00001101011

 1 14  12   000011001111

 1 15   8   00001001

 2  0   6   001111

 2  1   6   001101

 2  2   7   0010111

 2  3   8   00100110

 2  4   9   001000011

 2  5   9   000111010

 2  6  10   0001100111

 2  7  10   0001011010

 2  8  11   00010100001

 2  9  10   0001001000

 2 10  11   00001111111

 2 11  11   00001110101

 2 12  11   00001101110

 2 13  12   000011010001

 2 14  12   000011001110

 2 15   9   000010000

 3  0   8   00101101

 3  1   7   0010101

 3  2   8   00100111

 3  3   9   001000101

 3  4   9   001000000

 3  5  10   0001110010

 3  6  10   0001100011

 3  7  10   0001010111

 3  8  11   00010011110

 3  9  11   00010001100

 3 10  12   000011111100

 3 11  12   000011010100

 3 12  12   000011000111

 3 13  13   0000110000011

 3 14  13   0000101101101

 3 15  10   0000011010

 4  0   9   001001011

 4  1   8   00100100

 4  2   9   001000100

 4  3   9   001000001

 4  4  10   0001110011

 4  5  10   0001100101

 4  6  11   00010110011

 4  7  11   00010100100

 4  8  11   00010011011

 4  9  12   000100001000

 4 10  12   000011110110

 4 11  12   000011100010

 4 12  13   0000110001011

 4 13  13   0000101111110

 4 14  13   0000101101010

 4 15   9   000001001

 5  0   9   001000010

 5  1   8   00011110

 5  2   9   000111011

 5  3   9   000111000

 5  4  10   0001100110

 5  5  11   00010111001

 5  6  11   00010101101

 5  7  12   000100001001

 5  8  11   00010001110

 5  9  12   000011111101

 5 10  12   000011101000

 5 11  13   0000110010000

 5 12  13   0000110000100

 5 13  13   0000101111010

 5 14  14   00000110111101

 5 15  10   0000010000

 6  0  10   0001101111

 6  1   9   000110110

 6  2   9   000110100

 6  3  10   0001100100

 6  4  11   00010111000

 6  5  11   00010110010

 6  6  11   00010100000

 6  7  11   00010000101

 6  8  12   000100000001

 6  9  12   000011110100

 6 10  12   000011100100

 6 11  12   000011011001

 6 12  13   0000110000001

 6 13  13   0000101101110

 6 14  14   00001011001011

 6 15  10   0000001010

 7  0  10   0001100010

 7  1   9   000110000

 7  2  10   0001011011

 7  3  10   0001011000

 7  4  11   00010100101

 7  5  11   00010011101

 7  6  11   00010010100

 7  7  12   000100000101

 7  8  12   000011111000

 7  9  13   0000110010111

 7 10  13   0000110001101

 7 11  13   0000101110100

 7 12  13   0000101111100

 7 13  15   000001101111001

 7 14  15   000001101110100

 7 15  10   0000001000

 8  0  10   0001010101

 8  1  10   0001010100

 8  2  10   0001010001

 8  3  11   00010011111

 8  4  11   00010011100

 8  5  11   00010001111

 8  6  12   000100000100

 8  7  12   000011111001

 8  8  13   0000110101011

 8  9  13   0000110010001

 8 10  13   0000110001000

 8 11  13   0000101111111

 8 12  14   00001011010111

 8 13  14   00001011001001

 8 14  14   00001011000100

 8 15  10   0000000111

 9  0  11   00010011010

 9  1  10   0001001100

 9  2  10   0001001001

 9  3  11   00010001101

 9  4  11   00010000011

 9  5  12   000100000000

 9  6  12   000011110101

 9  7  13   0000110101010

 9  8  13   0000110010110

 9  9  13   0000110001010

 9 10  13   0000110000000

 9 11  14   00001011011111

 9 12  13   0000101100111

 9 13  14   00001011000110

 9 14  13   0000101100000

 9 15  11   00000001011

10  0  11   00010001011

10  1  11   00010000001

10  2  10   0001000011

10  3  11   00001111101

10  4  12   000011110111

10  5  12   000011101001

10  6  12   000011100101

10  7  12   000011011011

10  8  13   0000110001001

10  9  14   00001011100111

10 10  14   00001011100001

10 11  14   00001011010000

10 12  15   000001101110101

10 13  15   000001101110010

10 14  14   00000110110111

10 15  10   0000000100

11  0  12   000011110011

11  1  11   00001111000

11  2  11   00001110110

11  3  11   00001110011

11  4  12   000011100011

11  5  12   000011011111

11  6  13   0000110001100

11  7  14   00001011101010

11  8  14   00001011100110

11  9  14   00001011100000

11 10  14   00001011010001

11 11  14   00001011001000

11 12  14   00001011000010

11 13  13   0000011011111

11 14  14   00000110110100

11 15  11   00000000110

12  0  12   000011001010

12  1  12   000011100000

12  2  12   000011011110

12  3  12   000011011010

12  4  12   000011011000

12  5  13   0000110000101

12  6  13   0000110000010

12  7  13   0000101111101

12  8  13   0000101101100

12  9  15   000001101111000

12 10  14   00000110111011

12 11  14   00001011000011

12 12  14   00000110111000

12 13  14   00000110110101

12 14  16   0000011011000000

12 15  11   00000000100

13  0  14   00001011101011

13  1  12   000011010011

13  2  12   000011010010

13  3  12   000011010000

13  4  13   0000101110010

13  5  13   0000101111011

13  6  14   00001011011110

13  7  14   00001011010011

13  8  14   00001011001010

13  9  16   0000011011000111

13 10  15   000001101110011

13 11  15   000001101101101

13 12  15   000001101101100

13 13  17   00000110110000011

13 14  15   000001101100001

13 15  11   00000000010

14  0  13   0000101111001

14  1  13   0000101110001

14  2  11   00001100110

14  3  12   000010111011

14  4  14   00001011010110

14  5  14   00001011010010

14  6  13   0000101100110

14  7  14   00001011000111

14  8  14   00001011000101

14  9  15   000001101100010

14 10  16   0000011011000110

14 11  15   000001101100111

14 12  17   00000110110000010

14 13  15   000001101100110

14 14  14   00000110110010

14 15  11   00000000000

15  0   9   000001100

15  1   8   00001010

15  2   8   00000111

15  3   9   000001011

15  4   9   000001010

15  5  10   0000010001

15  6  10   0000001011

15  7  10   0000001001

15  8  11   00000001101

15  9  11   00000001100

15 10  11   00000001010

15 11  11   00000000111

15 12  11   00000000101

15 13  11   00000000011

15 14  11   00000000001

15 15   8   00000011

 

Huffman code table 17

same as table 16, but linbits=2

 

Huffman code table 18

same as table 16, but linbits=3

 

Huffman code table 19

same as table 16, but linbits=4

 

Huffman code table 20

same as table 16, but linbits=6

 

Huffman code table 21

same as table 16, but linbits=8

 

Huffman code table 22

same as table 16, but linbits=10

 

Huffman code table 23

same as table 16, but linbits=13

Huffman code table 24

ESC table, linbits=4

 x  y hlen hcod

 0  0   4   1111

 0  1   4   1101

 0  2   6   101110

 0  3   7   1010000

 0  4   8   10010010

 0  5   9   100000110

 0  6   9   011111000

 0  7  10   0110110010

 0  8  10   0110101010

 0  9  11   01010011101

 0 10  11   01010001101

 0 11  11   01010001001

 0 12  11   01001101101

 0 13  11   01000000101

 0 14  12   010000001000

 0 15   9   001011000

 1  0   4   1110

 1  1   4   1100

 1  2   5   10101

 1  3   6   100110

 1  4   7   1000111

 1  5   8   10000010

 1  6   8   01111010

 1  7   9   011011000

 1  8   9   011010001

 1  9   9   011000110

 1 10  10   0101000111

 1 11  10   0101011001

 1 12  10   0100111111

 1 13  10   0100101001

 1 14  10   0100010111

 1 15   8   00101010

 2  0   6   101111

 2  1   5   10110

 2  2   6   101001

 2  3   7   1001010

 2  4   7   1000100

 2  5   8   10000000

 2  6   8   01111000

 2  7   9   011011101

 2  8   9   011001111

 2  9   9   011000010

 2 10   9   010110110

 2 11  10   0101010100

 2 12  10   0100111011

 2 13  10   0100100111

 2 14  11   01000011101

 2 15   7   0010010

 3  0   7   1010001

 3  1   6   100111

 3  2   7   1001011

 3  3   7   1000110

 3  4   8   10000110

 3  5   8   01111101

 3  6   8   01110100

 3  7   9   011011100

 3  8   9   011001100

 3  9   9   010111110

 3 10   9   010110010

 3 11  10   0101000101

 3 12  10   0100110111

 3 13  10   0100100101

 3 14  10   0100001111

 3 15   7   0010000

 4  0   8   10010011

 4  1   7   1001000

 4  2   7   1000101

 4  3   8   10000111

 4  4   8   01111111

 4  5   8   01110110

 4  6   8   01110000

 4  7   9   011010010

 4  8   9   011001000

 4  9   9   010111100

 4 10  10   0101100000

 4 11  10   0101000011

 4 12  10   0100110010

 4 13  10   0100011101

 4 14  11   01000011100

 4 15   7   0001110

 5  0   9   100000111

 5  1   7   1000010

 5  2   8   10000001

 5  3   8   01111110

 5  4   8   01110111

 5  5   8   01110010

 5  6   9   011010110

 5  7   9   011001010

 5  8   9   011000000

 5  9   9   010110100

 5 10  10   0101010101

 5 11  10   0100111101

 5 12  10   0100101101

 5 13  10   0100011001

 5 14  10   0100000110

 5 15   7   0001100

 6  0   9   011111001

 6  1   8   01111011

 6  2   8   01111001

 6  3   8   01110101

 6  4   8   01110001

 6  5   9   011010111

 6  6   9   011001110

 6  7   9   011000011

 6  8   9   010111001

 6  9  10   0101011011

 6 10  10   0101001010

 6 11  10   0100110100

 6 12  10   0100100011

 6 13  10   0100010000

 6 14  11   01000001000

 6 15   7   0001010

 7  0  10   0110110011

 7  1   8   01110011

 7  2   8   01101111

 7  3   8   01101101

 7  4   9   011010011

 7  5   9   011001011

 7  6   9   011000100

 7  7   9   010111011

 7  8  10   0101100001

 7  9  10   0101001100

 7 10  10   0100111001

 7 11  10   0100101010

 7 12  10   0100011011

 7 13  11   01000010011

 7 14  11   00101111101

 7 15   8   00010001

 8  0  10   0110101011

 8  1   9   011010100

 8  2   9   011010000

 8  3   9   011001101

 8  4   9   011001001

 8  5   9   011000001

 8  6   9   010111010

 8  7   9   010110001

 8  8   9   010101001

 8  9  10   0101000000

 8 10  10   0100101111

 8 11  10   0100011110

 8 12  10   0100001100

 8 13  11   01000000010

 8 14  11   00101111001

 8 15   8   00010000

 9  0  10   0101001111

 9  1   9   011000111

 9  2   9   011000101

 9  3   9   010111111

 9  4   9   010111101

 9  5   9   010110101

 9  6   9   010101110

 9  7  10   0101001101

 9  8  10   0101000001

 9  9  10   0100110001

 9 10  10   0100100001

 9 11  10   0100010011

 9 12  11   01000001001

 9 13  11   00101111011

 9 14  11   00101110011

 9 15   8   00001011

10  0  11   01010011100

10  1   9   010111000

10  2   9   010110111

10  3   9   010110011

10  4   9   010101111

10  5  10   0101011000

10  6  10   0101001011

10  7  10   0100111010

10  8  10   0100110000

10  9  10   0100100010

10 10  10   0100010101

10 11  11   01000010010

10 12  11   00101111111

10 13  11   00101110101

10 14  11   00101101110

10 15   8   00001010

11  0  11   01010001100

11  1  10   0101011010

11  2   9   010101011

11  3   9   010101000

11  4   9   010100100

11  5  10   0100111110

11  6  10   0100110101

11  7  10   0100101011

11  8  10   0100011111

11  9  10   0100010100

11 10  10   0100000111

11 11  11   01000000001

11 12  11   00101110111

11 13  11   00101110000

11 14  11   00101101010

11 15   8   00000110

12  0  11   01010001000

12  1  10   0101000010

12  2  10   0100111100

12  3  10   0100111000

12  4  10   0100110011

12  5  10   0100101110

12  6  10   0100100100

12  7  10   0100011100

12  8  10   0100001101

12  9  10   0100000101

12 10  11   01000000000

12 11  11   00101111000

12 12  11   00101110010

12 13  11   00101101100

12 14  11   00101100111

12 15   8   00000100

13  0  11   01001101100

13  1  10   0100101100

13  2  10   0100101000

13  3  10   0100100110

13  4  10   0100100000

13  5  10   0100011010

13  6  10   0100010001

13  7  10   0100001010

13  8  11   01000000011

13  9  11   00101111100

13 10  11   00101110110

13 11  11   00101110001

13 12  11   00101101101

13 13  11   00101101001

13 14  11   00101100101

13 15   8   00000010

14  0  12   010000001001

14  1  10   0100011000

14  2  10   0100010110

14  3  10   0100010010

14  4  10   0100001011

14  5  10   0100001000

14  6  10   0100000011

14  7  11   00101111110

14  8  11   00101111010

14  9  11   00101110100

14 10  11   00101101111

14 11  11   00101101011

14 12  11   00101101000

14 13  11   00101100110

14 14  11   00101100100

14 15   8   00000000

15  0   8   00101011

15  1   7   0010100

15  2   7   0010011

15  3   7   0010001

15  4   7   0001111

15  5   7   0001101

15  6   7   0001011

15  7   7   0001001

15  8   7   0000111

15  9   7   0000110

15 10   7   0000100

15 11   8   00000111

15 12   8   00000101

15 13   8   00000011

15 14   8   00000001

15 15   4   0011

 

Huffman code table 25

same as table 24, but linbits=5

 

Huffman code table 26

same as table 24, but linbits=6

 

Huffman code table 27

same as table 24, but linbits=7

 

Huffman code table 28

same as table 24, but linbits=8

 

Huffman code table 29

same as table 24, but linbits=9

 

Huffman code table 30

same as table 24, but linbits=11

 

Huffman code table 31

same as table 24, but linbits=13

3233huffmantable是提供给count1区段使用的,  0~31huffmantable是提供给big_value区段使用.

如何划分region暂不讨论, 假设已经得到了一个region, 给它命名为regionx! x可能是0/1/2. 再假设这个regionx具有100个频谱系数!

伪代码 :

假设现在已经切割开了 big_value 区段, 分出三个 region. 现在取出 regionx  (x=0,1,2)来. 并且假设 regionx 100个频谱系数.

至于big_value如何分割, 且先不论!

 

#define       NUM    100

 

int    regionx[ NUM ];   // 假设有100个频谱系数吧!

int    i;

/* big_value部分是两个频谱系数为一组进行编码的, 也就是说进行huffman编码的时

* 候并不是对regionx[i]进行编码, 而已对regionx[i]regionx[i+1]进行编码.*/

int    x, y;

 

for(i=0; i<NUM; i+=2)    // 遍历这个region. 可以分出 NUM/2==50 组来!

{

// [x, y]成一组.

    x = regionx[ i ];        // 0 2 4 6 8 ..

    y = regionx[ i + 1 ];    // 1 3 5 7 9 ..

 

/* 判断xlen, ylen是否>=15, 如果是则需要使用ESC-table. */

if( x > 14 )

{

x = 15;

                sum += linbits;

            }

            if( y > 14 )

            {

                y = 15;

                sum += linbits;

            }

           

            /*  */

            sum += h->hlen[ (x*ylen) + y ];

          

            if( x )  sum++;

            if( y )  sum++;

   

}

 

 

 

 

 
V27960021@dg03podv27960021kj4p:~/android/moscow$ python storage.py 处理目录: ./moscow 解析文件: ./moscow/03_vendor_bin.txt 解析文件: ./moscow/05_odm.txt 解析文件: ./moscow/13_my_preload_del_app_oat.txt 解析文件: ./moscow/13_my_preload_etc.txt 解析文件: ./moscow/14_data.txt 解析文件: ./moscow/13_my_preload_priv_app.txt 解析文件: ./moscow/04_product_lib.txt 解析文件: ./moscow/11_my_carrier_del_app.txt 解析文件: ./moscow/02_system_ext_media.txt 解析文件: ./moscow/02_system_priv_app_oat.txt 解析文件: ./moscow/14_data_app_oat.txt 解析文件: ./moscow/13_my_manifest_xiangxi.txt 解析文件: ./moscow/16_my_manifest_etc.txt 解析文件: ./moscow/03_vendor_firmware_mnt.txt 解析文件: ./moscow/13_my_manifest.txt 解析文件: ./moscow/02_system_app.txt 解析文件: ./moscow/07_my_engineering_media.txt 解析文件: ./moscow/02_system_etc.txt 解析文件: ./moscow/08_my_stock_priv_app_oat.txt 解析文件: ./moscow/05_odm_vendor_firmware.txt 解析文件: ./moscow/15_my_bigball_priv-app.txt 解析文件: ./moscow/03_vendor_xiangxi.txt 解析文件: ./moscow/04_product_priv_app_oat.txt 解析文件: ./moscow/03_vendor_lib.txt 解析文件: ./moscow/02_system_ext_lib.txt 解析文件: ./moscow/05_odm_lib64.txt 解析文件: ./moscow/14_data_app.txt 解析文件: ./moscow/12_my_region_app.txt 解析文件: ./moscow/02_system_lib64.txt 解析文件: ./moscow/12_my_region_priv_app.txt 解析文件: ./moscow/15_my_bigball_decouping_wallpaper.txt 解析文件: ./moscow/14_data_aee_exp.txt 解析文件: ./moscow/11_my_carrier_app_oat.txt 解析文件: ./moscow/13_my_manifest_app.txt 解析文件: ./moscow/15_my_bigball_framework.txt 解析文件: ./moscow/15_my_bigball_app.txt 解析文件: ./moscow/10_my_company_xiangxi.txt 解析文件: ./moscow/03_vendor_lib64.txt 解析文件: ./moscow/09_my_heytap_app_oat.txt 解析文件: ./moscow/07_my_engineering_app.txt 解析文件: ./moscow/03_vendor_lib_camera.txt 解析文件: ./moscow/13_my_preload_xiangxi.txt 解析文件: ./moscow/06_my_product_res.txt 解析文件: ./moscow/02_system_framework.txt 解析文件: ./moscow/04_product_priv_app.txt 解析文件: ./moscow/12_my_region_priv_app_oat.txt 解析文件: ./moscow/07_my_engineering_etc.txt 解析文件: ./moscow/06_my_product_priv_app.txt 解析文件: ./moscow/02_system_lib.txt 解析文件: ./moscow/03_vendor_lib64_camera.txt 解析文件: ./moscow/08_my_stock_del_app_oat.txt 解析文件: ./moscow/05_odm_vendor.txt 解析文件: ./moscow/06_my_product_overlay.txt 解析文件: ./moscow/07_my_engineering_decouping_wallpaper.txt 解析文件: ./moscow/12_my_region_del_app.txt 解析文件: ./moscow/06_my_product_decouping_wallpaper.txt 解析文件: ./moscow/09_my_heytap_del_app.txt 解析文件: ./moscow/10_my_company_app.txt 解析文件: ./moscow/03_vendor_euclid.txt 解析文件: ./moscow/02_system_product.txt 解析文件: ./moscow/12_my_region_del_app_oat.txt 解析文件: ./moscow/05_odm_etc.txt 解析文件: ./moscow/12_my_region_etc.txt 解析文件: ./moscow/05_odm_product_lib64.txt 解析文件: ./moscow/10_my_company.txt 解析文件: ./moscow/02_system_ext_app.txt 解析文件: ./moscow/11_my_carrier.txt 解析文件: ./moscow/02_system_fonts.txt 解析文件: ./moscow/02_system_priv-app.txt 解析文件: ./moscow/13_my_manifest_etc_camera.txt 解析文件: ./moscow/15_my_bigball.txt 解析文件: ./moscow/14_data_media_0.txt 解析文件: ./moscow/11_my_carrier_priv_app_oat.txt 解析文件: ./moscow/09_my_heytap.txt 解析文件: ./moscow/04_product_xiangxi.txt 解析文件: ./moscow/12_my_region_plugin.txt 解析文件: ./moscow/14_data_dalvik-cache_arm64.txt 解析文件: ./moscow/02_system_app_oat.txt 解析文件: ./moscow/04_product.txt 解析文件: ./moscow/13_my_preload_app.txt 解析文件: ./moscow/02_system.txt 解析文件: ./moscow/05_odm_product.txt 解析文件: ./moscow/05_odm_product_lib.txt 解析文件: ./moscow/17_cache.txt 解析文件: ./moscow/09_my_heytap_priv_app.txt 解析文件: ./moscow/15_my_bigball_del-app.txt 解析文件: ./moscow/02_system_ext_etc.txt 解析文件: ./moscow/14_data_data.txt 解析文件: ./moscow/13_my_preload_app_oat.txt 解析文件: ./moscow/07_my_engineering_overlay.txt 解析文件: ./moscow/09_my_heytap_xiangxi.txt 解析文件: ./moscow/18_lpdump.txt 解析文件: ./moscow/12_my_region_etc_camera.txt 解析文件: ./moscow/11_my_carrier_priv_app.txt 解析文件: ./moscow/15_my_bigball_del-app-pre.txt 解析文件: ./moscow/06_my_product_vendor.txt 解析文件: ./moscow/02_system_ext.txt 解析文件: ./moscow/08_my_stock_app.txt 解析文件: ./moscow/16_my_manifest.txt 解析文件: ./moscow/03_vendor_etc_camera.txt 解析文件: ./moscow/data_app.txt 解析文件: ./moscow/partitions.txt 解析文件: ./moscow/15_my_bigball_lib.txt 解析文件: ./moscow/12_my_region_media.txt 解析文件: ./moscow/02_system_ext_xiangxi.txt 解析文件: ./moscow/02_system_ext_lib64.txt 解析文件: ./moscow/06_my_product_media.txt 解析文件: ./moscow/12_my_region_app_oat.txt 解析文件: ./moscow/10_my_company_etc.txt 解析文件: ./moscow/06_my_product_etc.txt 解析文件: ./moscow/04_product_app.txt 解析文件: ./moscow/05_odm_lib.txt 解析文件: ./moscow/02_system_ext_priv_app.txt 解析文件: ./moscow/11_my_carrier_app.txt 解析文件: ./moscow/12_my_region_xiangxi.txt 解析文件: ./moscow/11_my_carrier_del_app_oat.txt 解析文件: ./moscow/13_my_preload_priv_app_oat.txt 解析文件: ./moscow/14_data_apex.txt 解析文件: ./moscow/19_uname_data.txt 解析文件: ./moscow/03_vendor_firmware_mnt_image.txt 解析文件: ./moscow/09_my_heytap_del_app_oat.txt 解析文件: ./moscow/01_mount.txt 解析文件: ./moscow/03_vendor.txt 解析文件: ./moscow/06_my_product.txt 解析文件: ./moscow/03_vendor_etc.txt 解析文件: ./moscow/08_my_stock_xiangxi.txt 解析文件: ./moscow/09_my_heytap_priv_app_oat.txt 解析文件: ./moscow/06_my_product_xiangxi.txt 解析文件: ./moscow/15_my_bigball_applist.txt 解析文件: ./moscow/14_data_del_app.txt 解析文件: ./moscow/09_my_heytap_app.txt 解析文件: ./moscow/15_my_bigball_etc.txt 解析文件: ./moscow/07_my_engineering_res.txt 解析文件: ./moscow/08_my_stock_priv_app.txt 解析文件: ./moscow/04_product_lib64.txt 解析文件: ./moscow/11_my_carrier_xiangxi.txt 解析文件: ./moscow/07_my_engineering_vendor.txt 解析文件: ./moscow/12_my_region.txt 解析文件: ./moscow/05_odm_bin.txt 解析文件: ./moscow/08_my_stock_del_app.txt 解析文件: ./moscow/04_product_app_oat.txt 解析文件: ./moscow/02_system_apex.txt 解析文件: ./moscow/02_system_xiangxi.txt 解析文件: ./moscow/05_odm_xiangxi.txt 解析文件: ./moscow/08_my_stock.txt 解析文件: ./moscow/14_data_reserve.txt 解析文件: ./moscow/03_vendor_app.txt 解析文件: ./moscow/07_my_engineering.txt 解析文件: ./moscow/13_my_preload_del_app.txt 解析文件: ./moscow/13_my_manifest_etc.txt 解析文件: ./moscow/08_my_stock_app_oat.txt 解析文件: ./moscow/06_my_product_app.txt 解析文件: ./moscow/13_my_preload.txt 解析文件: ./moscow/07_my_engineering_xiangxi.txt 解析文件: ./moscow/15_my_bigball_lib64.txt 解析文件: ./moscow/14_data_dalvik-cache.txt 处理目录: ./tacoof 解析文件: ./tacoof/03_vendor_bin.txt 解析文件: ./tacoof/05_odm.txt 解析文件: ./tacoof/13_my_preload_del_app_oat.txt 解析文件: ./tacoof/13_my_preload_etc.txt 解析文件: ./tacoof/14_data.txt 解析文件: ./tacoof/13_my_preload_priv_app.txt 解析文件: ./tacoof/04_product_lib.txt 解析文件: ./tacoof/11_my_carrier_del_app.txt 解析文件: ./tacoof/02_system_ext_media.txt 解析文件: ./tacoof/02_system_priv_app_oat.txt 解析文件: ./tacoof/14_data_app_oat.txt 解析文件: ./tacoof/13_my_manifest_xiangxi.txt 解析文件: ./tacoof/16_my_manifest_etc.txt 解析文件: ./tacoof/03_vendor_firmware_mnt.txt 解析文件: ./tacoof/13_my_manifest.txt 解析文件: ./tacoof/02_system_app.txt 解析文件: ./tacoof/07_my_engineering_media.txt 解析文件: ./tacoof/02_system_etc.txt 解析文件: ./tacoof/08_my_stock_priv_app_oat.txt 解析文件: ./tacoof/05_odm_vendor_firmware.txt 解析文件: ./tacoof/15_my_bigball_priv-app.txt 解析文件: ./tacoof/03_vendor_xiangxi.txt 解析文件: ./tacoof/04_product_priv_app_oat.txt 解析文件: ./tacoof/03_vendor_lib.txt 解析文件: ./tacoof/02_system_ext_lib.txt 解析文件: ./tacoof/05_odm_lib64.txt 解析文件: ./tacoof/14_data_app.txt 解析文件: ./tacoof/12_my_region_app.txt 解析文件: ./tacoof/02_system_lib64.txt 解析文件: ./tacoof/12_my_region_priv_app.txt 解析文件: ./tacoof/15_my_bigball_decouping_wallpaper.txt 解析文件: ./tacoof/14_data_aee_exp.txt 解析文件: ./tacoof/11_my_carrier_app_oat.txt 解析文件: ./tacoof/13_my_manifest_app.txt 解析文件: ./tacoof/15_my_bigball_framework.txt 解析文件: ./tacoof/15_my_bigball_app.txt 解析文件: ./tacoof/10_my_company_xiangxi.txt 解析文件: ./tacoof/03_vendor_lib64.txt 解析文件: ./tacoof/09_my_heytap_app_oat.txt 解析文件: ./tacoof/07_my_engineering_app.txt 解析文件: ./tacoof/03_vendor_lib_camera.txt 解析文件: ./tacoof/13_my_preload_xiangxi.txt 解析文件: ./tacoof/06_my_product_res.txt 解析文件: ./tacoof/02_system_framework.txt 解析文件: ./tacoof/04_product_priv_app.txt 解析文件: ./tacoof/12_my_region_priv_app_oat.txt 解析文件: ./tacoof/07_my_engineering_etc.txt 解析文件: ./tacoof/06_my_product_priv_app.txt 解析文件: ./tacoof/02_system_lib.txt 解析文件: ./tacoof/03_vendor_lib64_camera.txt 解析文件: ./tacoof/08_my_stock_del_app_oat.txt 解析文件: ./tacoof/05_odm_vendor.txt 解析文件: ./tacoof/06_my_product_overlay.txt 解析文件: ./tacoof/07_my_engineering_decouping_wallpaper.txt 解析文件: ./tacoof/12_my_region_del_app.txt 解析文件: ./tacoof/06_my_product_decouping_wallpaper.txt 解析文件: ./tacoof/09_my_heytap_del_app.txt 解析文件: ./tacoof/10_my_company_app.txt 解析文件: ./tacoof/03_vendor_euclid.txt 解析文件: ./tacoof/02_system_product.txt 解析文件: ./tacoof/12_my_region_del_app_oat.txt 解析文件: ./tacoof/05_odm_etc.txt 解析文件: ./tacoof/12_my_region_etc.txt 解析文件: ./tacoof/05_odm_product_lib64.txt 解析文件: ./tacoof/10_my_company.txt 解析文件: ./tacoof/02_system_ext_app.txt 解析文件: ./tacoof/11_my_carrier.txt 解析文件: ./tacoof/02_system_fonts.txt 解析文件: ./tacoof/02_system_priv-app.txt 解析文件: ./tacoof/13_my_manifest_etc_camera.txt 解析文件: ./tacoof/15_my_bigball.txt 解析文件: ./tacoof/14_data_media_0.txt 解析文件: ./tacoof/11_my_carrier_priv_app_oat.txt 解析文件: ./tacoof/09_my_heytap.txt 解析文件: ./tacoof/04_product_xiangxi.txt 解析文件: ./tacoof/12_my_region_plugin.txt 解析文件: ./tacoof/02_system_app_oat.txt 解析文件: ./tacoof/04_product.txt 解析文件: ./tacoof/13_my_preload_app.txt 解析文件: ./tacoof/02_system.txt 解析文件: ./tacoof/05_odm_product.txt 解析文件: ./tacoof/05_odm_product_lib.txt 解析文件: ./tacoof/17_cache.txt 解析文件: ./tacoof/09_my_heytap_priv_app.txt 解析文件: ./tacoof/15_my_bigball_del-app.txt 解析文件: ./tacoof/02_system_ext_etc.txt 解析文件: ./tacoof/14_data_data.txt 解析文件: ./tacoof/13_my_preload_app_oat.txt 解析文件: ./tacoof/07_my_engineering_overlay.txt 解析文件: ./tacoof/09_my_heytap_xiangxi.txt 解析文件: ./tacoof/18_lpdump.txt 解析文件: ./tacoof/12_my_region_etc_camera.txt 解析文件: ./tacoof/11_my_carrier_priv_app.txt 解析文件: ./tacoof/15_my_bigball_del-app-pre.txt 解析文件: ./tacoof/06_my_product_vendor.txt 解析文件: ./tacoof/02_system_ext.txt 解析文件: ./tacoof/08_my_stock_app.txt 解析文件: ./tacoof/16_my_manifest.txt 解析文件: ./tacoof/03_vendor_etc_camera.txt 解析文件: ./tacoof/data_app.txt 解析文件: ./tacoof/15_my_bigball_lib.txt 解析文件: ./tacoof/12_my_region_media.txt 解析文件: ./tacoof/02_system_ext_xiangxi.txt 解析文件: ./tacoof/02_system_ext_lib64.txt 解析文件: ./tacoof/06_my_product_media.txt 解析文件: ./tacoof/12_my_region_app_oat.txt 解析文件: ./tacoof/10_my_company_etc.txt 解析文件: ./tacoof/06_my_product_etc.txt 解析文件: ./tacoof/04_product_app.txt 解析文件: ./tacoof/05_odm_lib.txt 解析文件: ./tacoof/02_system_ext_priv_app.txt 解析文件: ./tacoof/11_my_carrier_app.txt 解析文件: ./tacoof/12_my_region_xiangxi.txt 解析文件: ./tacoof/11_my_carrier_del_app_oat.txt 解析文件: ./tacoof/13_my_preload_priv_app_oat.txt 解析文件: ./tacoof/14_data_apex.txt 解析文件: ./tacoof/19_uname_data.txt 解析文件: ./tacoof/03_vendor_firmware_mnt_image.txt 解析文件: ./tacoof/09_my_heytap_del_app_oat.txt 解析文件: ./tacoof/01_mount.txt 解析文件: ./tacoof/03_vendor.txt 解析文件: ./tacoof/06_my_product.txt 解析文件: ./tacoof/03_vendor_etc.txt 解析文件: ./tacoof/08_my_stock_xiangxi.txt 解析文件: ./tacoof/09_my_heytap_priv_app_oat.txt 解析文件: ./tacoof/06_my_product_xiangxi.txt 解析文件: ./tacoof/15_my_bigball_applist.txt 解析文件: ./tacoof/14_data_del_app.txt 解析文件: ./tacoof/09_my_heytap_app.txt 解析文件: ./tacoof/15_my_bigball_etc.txt 解析文件: ./tacoof/07_my_engineering_res.txt 解析文件: ./tacoof/08_my_stock_priv_app.txt 解析文件: ./tacoof/04_product_lib64.txt 解析文件: ./tacoof/11_my_carrier_xiangxi.txt 解析文件: ./tacoof/07_my_engineering_vendor.txt 解析文件: ./tacoof/12_my_region.txt 解析文件: ./tacoof/05_odm_bin.txt 解析文件: ./tacoof/08_my_stock_del_app.txt 解析文件: ./tacoof/04_product_app_oat.txt 解析文件: ./tacoof/02_system_apex.txt 解析文件: ./tacoof/02_system_xiangxi.txt 解析文件: ./tacoof/05_odm_xiangxi.txt 解析文件: ./tacoof/08_my_stock.txt 解析文件: ./tacoof/14_data_reserve.txt 解析文件: ./tacoof/03_vendor_app.txt 解析文件: ./tacoof/07_my_engineering.txt 解析文件: ./tacoof/13_my_preload_del_app.txt 解析文件: ./tacoof/13_my_manifest_etc.txt 解析文件: ./tacoof/08_my_stock_app_oat.txt 解析文件: ./tacoof/06_my_product_app.txt 解析文件: ./tacoof/15_my_bigball_plugin.txt 解析文件: ./tacoof/13_my_preload.txt 解析文件: ./tacoof/07_my_engineering_xiangxi.txt 解析文件: ./tacoof/15_my_bigball_lib64.txt 解析文件: ./tacoof/14_data_dalvik-cache.txt 生成Excel文件时出错: Attempt to overwrite cell: sheetname=u'\u5b58\u50a8\u5bf9\u6bd4' rowx=2 colx=0
07-12
# ================================================================== # WARNING: This file is auto-generated by generate_docker_compose # Do not modify this file directly. Instead, update the .env.example # or docker-compose-template.yaml and regenerate this file. # ================================================================== x-shared-env: &shared-api-worker-env CONSOLE_API_URL: ${CONSOLE_API_URL:-} CONSOLE_WEB_URL: ${CONSOLE_WEB_URL:-} SERVICE_API_URL: ${SERVICE_API_URL:-} APP_API_URL: ${APP_API_URL:-} APP_WEB_URL: ${APP_WEB_URL:-} FILES_URL: ${FILES_URL:-} LOG_LEVEL: ${LOG_LEVEL:-INFO} LOG_FILE: ${LOG_FILE:-/app/logs/server.log} LOG_FILE_MAX_SIZE: ${LOG_FILE_MAX_SIZE:-20} LOG_FILE_BACKUP_COUNT: ${LOG_FILE_BACKUP_COUNT:-5} LOG_DATEFORMAT: ${LOG_DATEFORMAT:-%Y-%m-%d %H:%M:%S} LOG_TZ: ${LOG_TZ:-UTC} DEBUG: ${DEBUG:-false} FLASK_DEBUG: ${FLASK_DEBUG:-false} ENABLE_REQUEST_LOGGING: ${ENABLE_REQUEST_LOGGING:-False} SECRET_KEY: ${SECRET_KEY:-sk-9f73s3ljTXVcMT3Blb3ljTqtsKiGHXVcMT3BlbkFJLK7U} INIT_PASSWORD: ${INIT_PASSWORD:-} DEPLOY_ENV: ${DEPLOY_ENV:-PRODUCTION} CHECK_UPDATE_URL: ${CHECK_UPDATE_URL:-https://updates.dify.ai} OPENAI_API_BASE: ${OPENAI_API_BASE:-https://api.openai.com/v1} MIGRATION_ENABLED: ${MIGRATION_ENABLED:-true} FILES_ACCESS_TIMEOUT: ${FILES_ACCESS_TIMEOUT:-300} ACCESS_TOKEN_EXPIRE_MINUTES: ${ACCESS_TOKEN_EXPIRE_MINUTES:-60} REFRESH_TOKEN_EXPIRE_DAYS: ${REFRESH_TOKEN_EXPIRE_DAYS:-30} APP_MAX_ACTIVE_REQUESTS: ${APP_MAX_ACTIVE_REQUESTS:-0} APP_MAX_EXECUTION_TIME: ${APP_MAX_EXECUTION_TIME:-1200} DIFY_BIND_ADDRESS: ${DIFY_BIND_ADDRESS:-0.0.0.0} DIFY_PORT: ${DIFY_PORT:-5001} SERVER_WORKER_AMOUNT: ${SERVER_WORKER_AMOUNT:-1} SERVER_WORKER_CLASS: ${SERVER_WORKER_CLASS:-gevent} SERVER_WORKER_CONNECTIONS: ${SERVER_WORKER_CONNECTIONS:-10} CELERY_WORKER_CLASS: ${CELERY_WORKER_CLASS:-} GUNICORN_TIMEOUT: ${GUNICORN_TIMEOUT:-360} CELERY_WORKER_AMOUNT: ${CELERY_WORKER_AMOUNT:-} CELERY_AUTO_SCALE: ${CELERY_AUTO_SCALE:-false} CELERY_MAX_WORKERS: ${CELERY_MAX_WORKERS:-} CELERY_MIN_WORKERS: ${CELERY_MIN_WORKERS:-} API_TOOL_DEFAULT_CONNECT_TIMEOUT: ${API_TOOL_DEFAULT_CONNECT_TIMEOUT:-10} API_TOOL_DEFAULT_READ_TIMEOUT: ${API_TOOL_DEFAULT_READ_TIMEOUT:-60} ENABLE_WEBSITE_JINAREADER: ${ENABLE_WEBSITE_JINAREADER:-true} ENABLE_WEBSITE_FIRECRAWL: ${ENABLE_WEBSITE_FIRECRAWL:-true} ENABLE_WEBSITE_WATERCRAWL: ${ENABLE_WEBSITE_WATERCRAWL:-true} DB_USERNAME: ${DB_USERNAME:-postgres} DB_PASSWORD: ${DB_PASSWORD:-difyai123456} DB_HOST: ${DB_HOST:-db} DB_PORT: ${DB_PORT:-5432} DB_DATABASE: ${DB_DATABASE:-dify} SQLALCHEMY_POOL_SIZE: ${SQLALCHEMY_POOL_SIZE:-30} SQLALCHEMY_POOL_RECYCLE: ${SQLALCHEMY_POOL_RECYCLE:-3600} SQLALCHEMY_ECHO: ${SQLALCHEMY_ECHO:-false} POSTGRES_MAX_CONNECTIONS: ${POSTGRES_MAX_CONNECTIONS:-100} POSTGRES_SHARED_BUFFERS: ${POSTGRES_SHARED_BUFFERS:-128MB} POSTGRES_WORK_MEM: ${POSTGRES_WORK_MEM:-4MB} POSTGRES_MAINTENANCE_WORK_MEM: ${POSTGRES_MAINTENANCE_WORK_MEM:-64MB} POSTGRES_EFFECTIVE_CACHE_SIZE: ${POSTGRES_EFFECTIVE_CACHE_SIZE:-4096MB} REDIS_HOST: ${REDIS_HOST:-redis} REDIS_PORT: ${REDIS_PORT:-6379} REDIS_USERNAME: ${REDIS_USERNAME:-} REDIS_PASSWORD: ${REDIS_PASSWORD:-difyai123456} REDIS_USE_SSL: ${REDIS_USE_SSL:-false} REDIS_DB: ${REDIS_DB:-0} REDIS_USE_SENTINEL: ${REDIS_USE_SENTINEL:-false} REDIS_SENTINELS: ${REDIS_SENTINELS:-} REDIS_SENTINEL_SERVICE_NAME: ${REDIS_SENTINEL_SERVICE_NAME:-} REDIS_SENTINEL_USERNAME: ${REDIS_SENTINEL_USERNAME:-} REDIS_SENTINEL_PASSWORD: ${REDIS_SENTINEL_PASSWORD:-} REDIS_SENTINEL_SOCKET_TIMEOUT: ${REDIS_SENTINEL_SOCKET_TIMEOUT:-0.1} REDIS_USE_CLUSTERS: ${REDIS_USE_CLUSTERS:-false} REDIS_CLUSTERS: ${REDIS_CLUSTERS:-} REDIS_CLUSTERS_PASSWORD: ${REDIS_CLUSTERS_PASSWORD:-} CELERY_BROKER_URL: ${CELERY_BROKER_URL:-redis://:difyai123456@redis:6379/1} BROKER_USE_SSL: ${BROKER_USE_SSL:-false} CELERY_USE_SENTINEL: ${CELERY_USE_SENTINEL:-false} CELERY_SENTINEL_MASTER_NAME: ${CELERY_SENTINEL_MASTER_NAME:-} CELERY_SENTINEL_PASSWORD: ${CELERY_SENTINEL_PASSWORD:-} CELERY_SENTINEL_SOCKET_TIMEOUT: ${CELERY_SENTINEL_SOCKET_TIMEOUT:-0.1} WEB_API_CORS_ALLOW_ORIGINS: ${WEB_API_CORS_ALLOW_ORIGINS:-*} CONSOLE_CORS_ALLOW_ORIGINS: ${CONSOLE_CORS_ALLOW_ORIGINS:-*} STORAGE_TYPE: ${STORAGE_TYPE:-opendal} OPENDAL_SCHEME: ${OPENDAL_SCHEME:-fs} OPENDAL_FS_ROOT: ${OPENDAL_FS_ROOT:-storage} S3_ENDPOINT: ${S3_ENDPOINT:-} S3_REGION: ${S3_REGION:-us-east-1} S3_BUCKET_NAME: ${S3_BUCKET_NAME:-difyai} S3_ACCESS_KEY: ${S3_ACCESS_KEY:-} S3_SECRET_KEY: ${S3_SECRET_KEY:-} S3_USE_AWS_MANAGED_IAM: ${S3_USE_AWS_MANAGED_IAM:-false} AZURE_BLOB_ACCOUNT_NAME: ${AZURE_BLOB_ACCOUNT_NAME:-difyai} AZURE_BLOB_ACCOUNT_KEY: ${AZURE_BLOB_ACCOUNT_KEY:-difyai} AZURE_BLOB_CONTAINER_NAME: ${AZURE_BLOB_CONTAINER_NAME:-difyai-container} AZURE_BLOB_ACCOUNT_URL: ${AZURE_BLOB_ACCOUNT_URL:-https://<your_account_name>.blob.core.windows.net} GOOGLE_STORAGE_BUCKET_NAME: ${GOOGLE_STORAGE_BUCKET_NAME:-your-bucket-name} GOOGLE_STORAGE_SERVICE_ACCOUNT_JSON_BASE64: ${GOOGLE_STORAGE_SERVICE_ACCOUNT_JSON_BASE64:-} ALIYUN_OSS_BUCKET_NAME: ${ALIYUN_OSS_BUCKET_NAME:-your-bucket-name} ALIYUN_OSS_ACCESS_KEY: ${ALIYUN_OSS_ACCESS_KEY:-your-access-key} ALIYUN_OSS_SECRET_KEY: ${ALIYUN_OSS_SECRET_KEY:-your-secret-key} ALIYUN_OSS_ENDPOINT: ${ALIYUN_OSS_ENDPOINT:-https://oss-ap-southeast-1-internal.aliyuncs.com} ALIYUN_OSS_REGION: ${ALIYUN_OSS_REGION:-ap-southeast-1} ALIYUN_OSS_AUTH_VERSION: ${ALIYUN_OSS_AUTH_VERSION:-v4} ALIYUN_OSS_PATH: ${ALIYUN_OSS_PATH:-your-path} TENCENT_COS_BUCKET_NAME: ${TENCENT_COS_BUCKET_NAME:-your-bucket-name} TENCENT_COS_SECRET_KEY: ${TENCENT_COS_SECRET_KEY:-your-secret-key} TENCENT_COS_SECRET_ID: ${TENCENT_COS_SECRET_ID:-your-secret-id} TENCENT_COS_REGION: ${TENCENT_COS_REGION:-your-region} TENCENT_COS_SCHEME: ${TENCENT_COS_SCHEME:-your-scheme} OCI_ENDPOINT: ${OCI_ENDPOINT:-https://your-object-storage-namespace.compat.objectstorage.us-ashburn-1.oraclecloud.com} OCI_BUCKET_NAME: ${OCI_BUCKET_NAME:-your-bucket-name} OCI_ACCESS_KEY: ${OCI_ACCESS_KEY:-your-access-key} OCI_SECRET_KEY: ${OCI_SECRET_KEY:-your-secret-key} OCI_REGION: ${OCI_REGION:-us-ashburn-1} HUAWEI_OBS_BUCKET_NAME: ${HUAWEI_OBS_BUCKET_NAME:-your-bucket-name} HUAWEI_OBS_SECRET_KEY: ${HUAWEI_OBS_SECRET_KEY:-your-secret-key} HUAWEI_OBS_ACCESS_KEY: ${HUAWEI_OBS_ACCESS_KEY:-your-access-key} HUAWEI_OBS_SERVER: ${HUAWEI_OBS_SERVER:-your-server-url} VOLCENGINE_TOS_BUCKET_NAME: ${VOLCENGINE_TOS_BUCKET_NAME:-your-bucket-name} VOLCENGINE_TOS_SECRET_KEY: ${VOLCENGINE_TOS_SECRET_KEY:-your-secret-key} VOLCENGINE_TOS_ACCESS_KEY: ${VOLCENGINE_TOS_ACCESS_KEY:-your-access-key} VOLCENGINE_TOS_ENDPOINT: ${VOLCENGINE_TOS_ENDPOINT:-your-server-url} VOLCENGINE_TOS_REGION: ${VOLCENGINE_TOS_REGION:-your-region} BAIDU_OBS_BUCKET_NAME: ${BAIDU_OBS_BUCKET_NAME:-your-bucket-name} BAIDU_OBS_SECRET_KEY: ${BAIDU_OBS_SECRET_KEY:-your-secret-key} BAIDU_OBS_ACCESS_KEY: ${BAIDU_OBS_ACCESS_KEY:-your-access-key} BAIDU_OBS_ENDPOINT: ${BAIDU_OBS_ENDPOINT:-your-server-url} SUPABASE_BUCKET_NAME: ${SUPABASE_BUCKET_NAME:-your-bucket-name} SUPABASE_API_KEY: ${SUPABASE_API_KEY:-your-access-key} SUPABASE_URL: ${SUPABASE_URL:-your-server-url} VECTOR_STORE: ${VECTOR_STORE:-weaviate} WEAVIATE_ENDPOINT: ${WEAVIATE_ENDPOINT:-http://weaviate:8080} WEAVIATE_API_KEY: ${WEAVIATE_API_KEY:-WVF5YThaHlkYwhGUSmCRgsX3tD5ngdN8pkih} QDRANT_URL: ${QDRANT_URL:-http://qdrant:6333} QDRANT_API_KEY: ${QDRANT_API_KEY:-difyai123456} QDRANT_CLIENT_TIMEOUT: ${QDRANT_CLIENT_TIMEOUT:-20} QDRANT_GRPC_ENABLED: ${QDRANT_GRPC_ENABLED:-false} QDRANT_GRPC_PORT: ${QDRANT_GRPC_PORT:-6334} QDRANT_REPLICATION_FACTOR: ${QDRANT_REPLICATION_FACTOR:-1} MILVUS_URI: ${MILVUS_URI:-http://host.docker.internal:19530} MILVUS_DATABASE: ${MILVUS_DATABASE:-} MILVUS_TOKEN: ${MILVUS_TOKEN:-} MILVUS_USER: ${MILVUS_USER:-} MILVUS_PASSWORD: ${MILVUS_PASSWORD:-} MILVUS_ENABLE_HYBRID_SEARCH: ${MILVUS_ENABLE_HYBRID_SEARCH:-False} MILVUS_ANALYZER_PARAMS: ${MILVUS_ANALYZER_PARAMS:-} MYSCALE_HOST: ${MYSCALE_HOST:-myscale} MYSCALE_PORT: ${MYSCALE_PORT:-8123} MYSCALE_USER: ${MYSCALE_USER:-default} MYSCALE_PASSWORD: ${MYSCALE_PASSWORD:-} MYSCALE_DATABASE: ${MYSCALE_DATABASE:-dify} MYSCALE_FTS_PARAMS: ${MYSCALE_FTS_PARAMS:-} COUCHBASE_CONNECTION_STRING: ${COUCHBASE_CONNECTION_STRING:-couchbase://couchbase-server} COUCHBASE_USER: ${COUCHBASE_USER:-Administrator} COUCHBASE_PASSWORD: ${COUCHBASE_PASSWORD:-password} COUCHBASE_BUCKET_NAME: ${COUCHBASE_BUCKET_NAME:-Embeddings} COUCHBASE_SCOPE_NAME: ${COUCHBASE_SCOPE_NAME:-_default} PGVECTOR_HOST: ${PGVECTOR_HOST:-pgvector} PGVECTOR_PORT: ${PGVECTOR_PORT:-5432} PGVECTOR_USER: ${PGVECTOR_USER:-postgres} PGVECTOR_PASSWORD: ${PGVECTOR_PASSWORD:-difyai123456} PGVECTOR_DATABASE: ${PGVECTOR_DATABASE:-dify} PGVECTOR_MIN_CONNECTION: ${PGVECTOR_MIN_CONNECTION:-1} PGVECTOR_MAX_CONNECTION: ${PGVECTOR_MAX_CONNECTION:-5} PGVECTOR_PG_BIGM: ${PGVECTOR_PG_BIGM:-false} PGVECTOR_PG_BIGM_VERSION: ${PGVECTOR_PG_BIGM_VERSION:-1.2-20240606} VASTBASE_HOST: ${VASTBASE_HOST:-vastbase} VASTBASE_PORT: ${VASTBASE_PORT:-5432} VASTBASE_USER: ${VASTBASE_USER:-dify} VASTBASE_PASSWORD: ${VASTBASE_PASSWORD:-Difyai123456} VASTBASE_DATABASE: ${VASTBASE_DATABASE:-dify} VASTBASE_MIN_CONNECTION: ${VASTBASE_MIN_CONNECTION:-1} VASTBASE_MAX_CONNECTION: ${VASTBASE_MAX_CONNECTION:-5} PGVECTO_RS_HOST: ${PGVECTO_RS_HOST:-pgvecto-rs} PGVECTO_RS_PORT: ${PGVECTO_RS_PORT:-5432} PGVECTO_RS_USER: ${PGVECTO_RS_USER:-postgres} PGVECTO_RS_PASSWORD: ${PGVECTO_RS_PASSWORD:-difyai123456} PGVECTO_RS_DATABASE: ${PGVECTO_RS_DATABASE:-dify} ANALYTICDB_KEY_ID: ${ANALYTICDB_KEY_ID:-your-ak} ANALYTICDB_KEY_SECRET: ${ANALYTICDB_KEY_SECRET:-your-sk} ANALYTICDB_REGION_ID: ${ANALYTICDB_REGION_ID:-cn-hangzhou} ANALYTICDB_INSTANCE_ID: ${ANALYTICDB_INSTANCE_ID:-gp-ab123456} ANALYTICDB_ACCOUNT: ${ANALYTICDB_ACCOUNT:-testaccount} ANALYTICDB_PASSWORD: ${ANALYTICDB_PASSWORD:-testpassword} ANALYTICDB_NAMESPACE: ${ANALYTICDB_NAMESPACE:-dify} ANALYTICDB_NAMESPACE_PASSWORD: ${ANALYTICDB_NAMESPACE_PASSWORD:-difypassword} ANALYTICDB_HOST: ${ANALYTICDB_HOST:-gp-test.aliyuncs.com} ANALYTICDB_PORT: ${ANALYTICDB_PORT:-5432} ANALYTICDB_MIN_CONNECTION: ${ANALYTICDB_MIN_CONNECTION:-1} ANALYTICDB_MAX_CONNECTION: ${ANALYTICDB_MAX_CONNECTION:-5} TIDB_VECTOR_HOST: ${TIDB_VECTOR_HOST:-tidb} TIDB_VECTOR_PORT: ${TIDB_VECTOR_PORT:-4000} TIDB_VECTOR_USER: ${TIDB_VECTOR_USER:-} TIDB_VECTOR_PASSWORD: ${TIDB_VECTOR_PASSWORD:-} TIDB_VECTOR_DATABASE: ${TIDB_VECTOR_DATABASE:-dify} MATRIXONE_HOST: ${MATRIXONE_HOST:-matrixone} MATRIXONE_PORT: ${MATRIXONE_PORT:-6001} MATRIXONE_USER: ${MATRIXONE_USER:-dump} MATRIXONE_PASSWORD: ${MATRIXONE_PASSWORD:-111} MATRIXONE_DATABASE: ${MATRIXONE_DATABASE:-dify} TIDB_ON_QDRANT_URL: ${TIDB_ON_QDRANT_URL:-http://127.0.0.1} TIDB_ON_QDRANT_API_KEY: ${TIDB_ON_QDRANT_API_KEY:-dify} TIDB_ON_QDRANT_CLIENT_TIMEOUT: ${TIDB_ON_QDRANT_CLIENT_TIMEOUT:-20} TIDB_ON_QDRANT_GRPC_ENABLED: ${TIDB_ON_QDRANT_GRPC_ENABLED:-false} TIDB_ON_QDRANT_GRPC_PORT: ${TIDB_ON_QDRANT_GRPC_PORT:-6334} TIDB_PUBLIC_KEY: ${TIDB_PUBLIC_KEY:-dify} TIDB_PRIVATE_KEY: ${TIDB_PRIVATE_KEY:-dify} TIDB_API_URL: ${TIDB_API_URL:-http://127.0.0.1} TIDB_IAM_API_URL: ${TIDB_IAM_API_URL:-http://127.0.0.1} TIDB_REGION: ${TIDB_REGION:-regions/aws-us-east-1} TIDB_PROJECT_ID: ${TIDB_PROJECT_ID:-dify} TIDB_SPEND_LIMIT: ${TIDB_SPEND_LIMIT:-100} CHROMA_HOST: ${CHROMA_HOST:-127.0.0.1} CHROMA_PORT: ${CHROMA_PORT:-8000} CHROMA_TENANT: ${CHROMA_TENANT:-default_tenant} CHROMA_DATABASE: ${CHROMA_DATABASE:-default_database} CHROMA_AUTH_PROVIDER: ${CHROMA_AUTH_PROVIDER:-chromadb.auth.token_authn.TokenAuthClientProvider} CHROMA_AUTH_CREDENTIALS: ${CHROMA_AUTH_CREDENTIALS:-} ORACLE_USER: ${ORACLE_USER:-dify} ORACLE_PASSWORD: ${ORACLE_PASSWORD:-dify} ORACLE_DSN: ${ORACLE_DSN:-oracle:1521/FREEPDB1} ORACLE_CONFIG_DIR: ${ORACLE_CONFIG_DIR:-/app/api/storage/wallet} ORACLE_WALLET_LOCATION: ${ORACLE_WALLET_LOCATION:-/app/api/storage/wallet} ORACLE_WALLET_PASSWORD: ${ORACLE_WALLET_PASSWORD:-dify} ORACLE_IS_AUTONOMOUS: ${ORACLE_IS_AUTONOMOUS:-false} RELYT_HOST: ${RELYT_HOST:-db} RELYT_PORT: ${RELYT_PORT:-5432} RELYT_USER: ${RELYT_USER:-postgres} RELYT_PASSWORD: ${RELYT_PASSWORD:-difyai123456} RELYT_DATABASE: ${RELYT_DATABASE:-postgres} OPENSEARCH_HOST: ${OPENSEARCH_HOST:-opensearch} OPENSEARCH_PORT: ${OPENSEARCH_PORT:-9200} OPENSEARCH_SECURE: ${OPENSEARCH_SECURE:-true} OPENSEARCH_VERIFY_CERTS: ${OPENSEARCH_VERIFY_CERTS:-true} OPENSEARCH_AUTH_METHOD: ${OPENSEARCH_AUTH_METHOD:-basic} OPENSEARCH_USER: ${OPENSEARCH_USER:-admin} OPENSEARCH_PASSWORD: ${OPENSEARCH_PASSWORD:-admin} OPENSEARCH_AWS_REGION: ${OPENSEARCH_AWS_REGION:-ap-southeast-1} OPENSEARCH_AWS_SERVICE: ${OPENSEARCH_AWS_SERVICE:-aoss} TENCENT_VECTOR_DB_URL: ${TENCENT_VECTOR_DB_URL:-http://127.0.0.1} TENCENT_VECTOR_DB_API_KEY: ${TENCENT_VECTOR_DB_API_KEY:-dify} TENCENT_VECTOR_DB_TIMEOUT: ${TENCENT_VECTOR_DB_TIMEOUT:-30} TENCENT_VECTOR_DB_USERNAME: ${TENCENT_VECTOR_DB_USERNAME:-dify} TENCENT_VECTOR_DB_DATABASE: ${TENCENT_VECTOR_DB_DATABASE:-dify} TENCENT_VECTOR_DB_SHARD: ${TENCENT_VECTOR_DB_SHARD:-1} TENCENT_VECTOR_DB_REPLICAS: ${TENCENT_VECTOR_DB_REPLICAS:-2} TENCENT_VECTOR_DB_ENABLE_HYBRID_SEARCH: ${TENCENT_VECTOR_DB_ENABLE_HYBRID_SEARCH:-false} ELASTICSEARCH_HOST: ${ELASTICSEARCH_HOST:-0.0.0.0} ELASTICSEARCH_PORT: ${ELASTICSEARCH_PORT:-9200} ELASTICSEARCH_USERNAME: ${ELASTICSEARCH_USERNAME:-elastic} ELASTICSEARCH_PASSWORD: ${ELASTICSEARCH_PASSWORD:-elastic} KIBANA_PORT: ${KIBANA_PORT:-5601} BAIDU_VECTOR_DB_ENDPOINT: ${BAIDU_VECTOR_DB_ENDPOINT:-http://127.0.0.1:5287} BAIDU_VECTOR_DB_CONNECTION_TIMEOUT_MS: ${BAIDU_VECTOR_DB_CONNECTION_TIMEOUT_MS:-30000} BAIDU_VECTOR_DB_ACCOUNT: ${BAIDU_VECTOR_DB_ACCOUNT:-root} BAIDU_VECTOR_DB_API_KEY: ${BAIDU_VECTOR_DB_API_KEY:-dify} BAIDU_VECTOR_DB_DATABASE: ${BAIDU_VECTOR_DB_DATABASE:-dify} BAIDU_VECTOR_DB_SHARD: ${BAIDU_VECTOR_DB_SHARD:-1} BAIDU_VECTOR_DB_REPLICAS: ${BAIDU_VECTOR_DB_REPLICAS:-3} VIKINGDB_ACCESS_KEY: ${VIKINGDB_ACCESS_KEY:-your-ak} VIKINGDB_SECRET_KEY: ${VIKINGDB_SECRET_KEY:-your-sk} VIKINGDB_REGION: ${VIKINGDB_REGION:-cn-shanghai} VIKINGDB_HOST: ${VIKINGDB_HOST:-api-vikingdb.xxx.volces.com} VIKINGDB_SCHEMA: ${VIKINGDB_SCHEMA:-http} VIKINGDB_CONNECTION_TIMEOUT: ${VIKINGDB_CONNECTION_TIMEOUT:-30} VIKINGDB_SOCKET_TIMEOUT: ${VIKINGDB_SOCKET_TIMEOUT:-30} LINDORM_URL: ${LINDORM_URL:-http://lindorm:30070} LINDORM_USERNAME: ${LINDORM_USERNAME:-lindorm} LINDORM_PASSWORD: ${LINDORM_PASSWORD:-lindorm} LINDORM_QUERY_TIMEOUT: ${LINDORM_QUERY_TIMEOUT:-1} OCEANBASE_VECTOR_HOST: ${OCEANBASE_VECTOR_HOST:-oceanbase} OCEANBASE_VECTOR_PORT: ${OCEANBASE_VECTOR_PORT:-2881} OCEANBASE_VECTOR_USER: ${OCEANBASE_VECTOR_USER:-root@test} OCEANBASE_VECTOR_PASSWORD: ${OCEANBASE_VECTOR_PASSWORD:-difyai123456} OCEANBASE_VECTOR_DATABASE: ${OCEANBASE_VECTOR_DATABASE:-test} OCEANBASE_CLUSTER_NAME: ${OCEANBASE_CLUSTER_NAME:-difyai} OCEANBASE_MEMORY_LIMIT: ${OCEANBASE_MEMORY_LIMIT:-6G} OCEANBASE_ENABLE_HYBRID_SEARCH: ${OCEANBASE_ENABLE_HYBRID_SEARCH:-false} OPENGAUSS_HOST: ${OPENGAUSS_HOST:-opengauss} OPENGAUSS_PORT: ${OPENGAUSS_PORT:-6600} OPENGAUSS_USER: ${OPENGAUSS_USER:-postgres} OPENGAUSS_PASSWORD: ${OPENGAUSS_PASSWORD:-Dify@123} OPENGAUSS_DATABASE: ${OPENGAUSS_DATABASE:-dify} OPENGAUSS_MIN_CONNECTION: ${OPENGAUSS_MIN_CONNECTION:-1} OPENGAUSS_MAX_CONNECTION: ${OPENGAUSS_MAX_CONNECTION:-5} OPENGAUSS_ENABLE_PQ: ${OPENGAUSS_ENABLE_PQ:-false} HUAWEI_CLOUD_HOSTS: ${HUAWEI_CLOUD_HOSTS:-https://127.0.0.1:9200} HUAWEI_CLOUD_USER: ${HUAWEI_CLOUD_USER:-admin} HUAWEI_CLOUD_PASSWORD: ${HUAWEI_CLOUD_PASSWORD:-admin} UPSTASH_VECTOR_URL: ${UPSTASH_VECTOR_URL:-https://xxx-vector.upstash.io} UPSTASH_VECTOR_TOKEN: ${UPSTASH_VECTOR_TOKEN:-dify} TABLESTORE_ENDPOINT: ${TABLESTORE_ENDPOINT:-https://instance-name.cn-hangzhou.ots.aliyuncs.com} TABLESTORE_INSTANCE_NAME: ${TABLESTORE_INSTANCE_NAME:-instance-name} TABLESTORE_ACCESS_KEY_ID: ${TABLESTORE_ACCESS_KEY_ID:-xxx} TABLESTORE_ACCESS_KEY_SECRET: ${TABLESTORE_ACCESS_KEY_SECRET:-xxx} UPLOAD_FILE_SIZE_LIMIT: ${UPLOAD_FILE_SIZE_LIMIT:-15} UPLOAD_FILE_BATCH_LIMIT: ${UPLOAD_FILE_BATCH_LIMIT:-5} ETL_TYPE: ${ETL_TYPE:-dify} UNSTRUCTURED_API_URL: ${UNSTRUCTURED_API_URL:-} UNSTRUCTURED_API_KEY: ${UNSTRUCTURED_API_KEY:-} SCARF_NO_ANALYTICS: ${SCARF_NO_ANALYTICS:-true} PROMPT_GENERATION_MAX_TOKENS: ${PROMPT_GENERATION_MAX_TOKENS:-512} CODE_GENERATION_MAX_TOKENS: ${CODE_GENERATION_MAX_TOKENS:-1024} PLUGIN_BASED_TOKEN_COUNTING_ENABLED: ${PLUGIN_BASED_TOKEN_COUNTING_ENABLED:-false} MULTIMODAL_SEND_FORMAT: ${MULTIMODAL_SEND_FORMAT:-base64} UPLOAD_IMAGE_FILE_SIZE_LIMIT: ${UPLOAD_IMAGE_FILE_SIZE_LIMIT:-10} UPLOAD_VIDEO_FILE_SIZE_LIMIT: ${UPLOAD_VIDEO_FILE_SIZE_LIMIT:-100} UPLOAD_AUDIO_FILE_SIZE_LIMIT: ${UPLOAD_AUDIO_FILE_SIZE_LIMIT:-50} SENTRY_DSN: ${SENTRY_DSN:-} API_SENTRY_DSN: ${API_SENTRY_DSN:-} API_SENTRY_TRACES_SAMPLE_RATE: ${API_SENTRY_TRACES_SAMPLE_RATE:-1.0} API_SENTRY_PROFILES_SAMPLE_RATE: ${API_SENTRY_PROFILES_SAMPLE_RATE:-1.0} WEB_SENTRY_DSN: ${WEB_SENTRY_DSN:-} NOTION_INTEGRATION_TYPE: ${NOTION_INTEGRATION_TYPE:-public} NOTION_CLIENT_SECRET: ${NOTION_CLIENT_SECRET:-} NOTION_CLIENT_ID: ${NOTION_CLIENT_ID:-} NOTION_INTERNAL_SECRET: ${NOTION_INTERNAL_SECRET:-} MAIL_TYPE: ${MAIL_TYPE:-resend} MAIL_DEFAULT_SEND_FROM: ${MAIL_DEFAULT_SEND_FROM:-} RESEND_API_URL: ${RESEND_API_URL:-https://api.resend.com} RESEND_API_KEY: ${RESEND_API_KEY:-your-resend-api-key} SMTP_SERVER: ${SMTP_SERVER:-} SMTP_PORT: ${SMTP_PORT:-465} SMTP_USERNAME: ${SMTP_USERNAME:-} SMTP_PASSWORD: ${SMTP_PASSWORD:-} SMTP_USE_TLS: ${SMTP_USE_TLS:-true} SMTP_OPPORTUNISTIC_TLS: ${SMTP_OPPORTUNISTIC_TLS:-false} SENDGRID_API_KEY: ${SENDGRID_API_KEY:-} INDEXING_MAX_SEGMENTATION_TOKENS_LENGTH: ${INDEXING_MAX_SEGMENTATION_TOKENS_LENGTH:-4000} INVITE_EXPIRY_HOURS: ${INVITE_EXPIRY_HOURS:-72} RESET_PASSWORD_TOKEN_EXPIRY_MINUTES: ${RESET_PASSWORD_TOKEN_EXPIRY_MINUTES:-5} CODE_EXECUTION_ENDPOINT: ${CODE_EXECUTION_ENDPOINT:-http://sandbox:8194} CODE_EXECUTION_API_KEY: ${CODE_EXECUTION_API_KEY:-dify-sandbox} CODE_MAX_NUMBER: ${CODE_MAX_NUMBER:-9223372036854775807} CODE_MIN_NUMBER: ${CODE_MIN_NUMBER:--9223372036854775808} CODE_MAX_DEPTH: ${CODE_MAX_DEPTH:-5} CODE_MAX_PRECISION: ${CODE_MAX_PRECISION:-20} CODE_MAX_STRING_LENGTH: ${CODE_MAX_STRING_LENGTH:-80000} CODE_MAX_STRING_ARRAY_LENGTH: ${CODE_MAX_STRING_ARRAY_LENGTH:-30} CODE_MAX_OBJECT_ARRAY_LENGTH: ${CODE_MAX_OBJECT_ARRAY_LENGTH:-30} CODE_MAX_NUMBER_ARRAY_LENGTH: ${CODE_MAX_NUMBER_ARRAY_LENGTH:-1000} CODE_EXECUTION_CONNECT_TIMEOUT: ${CODE_EXECUTION_CONNECT_TIMEOUT:-10} CODE_EXECUTION_READ_TIMEOUT: ${CODE_EXECUTION_READ_TIMEOUT:-60} CODE_EXECUTION_WRITE_TIMEOUT: ${CODE_EXECUTION_WRITE_TIMEOUT:-10} TEMPLATE_TRANSFORM_MAX_LENGTH: ${TEMPLATE_TRANSFORM_MAX_LENGTH:-80000} WORKFLOW_MAX_EXECUTION_STEPS: ${WORKFLOW_MAX_EXECUTION_STEPS:-500} WORKFLOW_MAX_EXECUTION_TIME: ${WORKFLOW_MAX_EXECUTION_TIME:-1200} WORKFLOW_CALL_MAX_DEPTH: ${WORKFLOW_CALL_MAX_DEPTH:-5} MAX_VARIABLE_SIZE: ${MAX_VARIABLE_SIZE:-204800} WORKFLOW_PARALLEL_DEPTH_LIMIT: ${WORKFLOW_PARALLEL_DEPTH_LIMIT:-3} WORKFLOW_FILE_UPLOAD_LIMIT: ${WORKFLOW_FILE_UPLOAD_LIMIT:-10} WORKFLOW_NODE_EXECUTION_STORAGE: ${WORKFLOW_NODE_EXECUTION_STORAGE:-rdbms} HTTP_REQUEST_NODE_MAX_BINARY_SIZE: ${HTTP_REQUEST_NODE_MAX_BINARY_SIZE:-10485760} HTTP_REQUEST_NODE_MAX_TEXT_SIZE: ${HTTP_REQUEST_NODE_MAX_TEXT_SIZE:-1048576} HTTP_REQUEST_NODE_SSL_VERIFY: ${HTTP_REQUEST_NODE_SSL_VERIFY:-True} RESPECT_XFORWARD_HEADERS_ENABLED: ${RESPECT_XFORWARD_HEADERS_ENABLED:-false} SSRF_PROXY_HTTP_URL: ${SSRF_PROXY_HTTP_URL:-http://ssrf_proxy:3128} SSRF_PROXY_HTTPS_URL: ${SSRF_PROXY_HTTPS_URL:-http://ssrf_proxy:3128} LOOP_NODE_MAX_COUNT: ${LOOP_NODE_MAX_COUNT:-100} MAX_TOOLS_NUM: ${MAX_TOOLS_NUM:-10} MAX_PARALLEL_LIMIT: ${MAX_PARALLEL_LIMIT:-10} MAX_ITERATIONS_NUM: ${MAX_ITERATIONS_NUM:-99} TEXT_GENERATION_TIMEOUT_MS: ${TEXT_GENERATION_TIMEOUT_MS:-60000} POSTGRES_USER: ${POSTGRES_USER:-${DB_USERNAME}} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-${DB_PASSWORD}} POSTGRES_DB: ${POSTGRES_DB:-${DB_DATABASE}} PGDATA: ${PGDATA:-/var/lib/postgresql/data/pgdata} SANDBOX_API_KEY: ${SANDBOX_API_KEY:-dify-sandbox} SANDBOX_GIN_MODE: ${SANDBOX_GIN_MODE:-release} SANDBOX_WORKER_TIMEOUT: ${SANDBOX_WORKER_TIMEOUT:-15} SANDBOX_ENABLE_NETWORK: ${SANDBOX_ENABLE_NETWORK:-true} SANDBOX_HTTP_PROXY: ${SANDBOX_HTTP_PROXY:-http://ssrf_proxy:3128} SANDBOX_HTTPS_PROXY: ${SANDBOX_HTTPS_PROXY:-http://ssrf_proxy:3128} SANDBOX_PORT: ${SANDBOX_PORT:-8194} WEAVIATE_PERSISTENCE_DATA_PATH: ${WEAVIATE_PERSISTENCE_DATA_PATH:-/var/lib/weaviate} WEAVIATE_QUERY_DEFAULTS_LIMIT: ${WEAVIATE_QUERY_DEFAULTS_LIMIT:-25} WEAVIATE_AUTHENTICATION_ANONYMOUS_ACCESS_ENABLED: ${WEAVIATE_AUTHENTICATION_ANONYMOUS_ACCESS_ENABLED:-true} WEAVIATE_DEFAULT_VECTORIZER_MODULE: ${WEAVIATE_DEFAULT_VECTORIZER_MODULE:-none} WEAVIATE_CLUSTER_HOSTNAME: ${WEAVIATE_CLUSTER_HOSTNAME:-node1} WEAVIATE_AUTHENTICATION_APIKEY_ENABLED: ${WEAVIATE_AUTHENTICATION_APIKEY_ENABLED:-true} WEAVIATE_AUTHENTICATION_APIKEY_ALLOWED_KEYS: ${WEAVIATE_AUTHENTICATION_APIKEY_ALLOWED_KEYS:-WVF5YThaHlkYwhGUSmCRgsX3tD5ngdN8pkih} WEAVIATE_AUTHENTICATION_APIKEY_USERS: ${WEAVIATE_AUTHENTICATION_APIKEY_USERS:-hello@dify.ai} WEAVIATE_AUTHORIZATION_ADMINLIST_ENABLED: ${WEAVIATE_AUTHORIZATION_ADMINLIST_ENABLED:-true} WEAVIATE_AUTHORIZATION_ADMINLIST_USERS: ${WEAVIATE_AUTHORIZATION_ADMINLIST_USERS:-hello@dify.ai} CHROMA_SERVER_AUTHN_CREDENTIALS: ${CHROMA_SERVER_AUTHN_CREDENTIALS:-difyai123456} CHROMA_SERVER_AUTHN_PROVIDER: ${CHROMA_SERVER_AUTHN_PROVIDER:-chromadb.auth.token_authn.TokenAuthenticationServerProvider} CHROMA_IS_PERSISTENT: ${CHROMA_IS_PERSISTENT:-TRUE} ORACLE_PWD: ${ORACLE_PWD:-Dify123456} ORACLE_CHARACTERSET: ${ORACLE_CHARACTERSET:-AL32UTF8} ETCD_AUTO_COMPACTION_MODE: ${ETCD_AUTO_COMPACTION_MODE:-revision} ETCD_AUTO_COMPACTION_RETENTION: ${ETCD_AUTO_COMPACTION_RETENTION:-1000} ETCD_QUOTA_BACKEND_BYTES: ${ETCD_QUOTA_BACKEND_BYTES:-4294967296} ETCD_SNAPSHOT_COUNT: ${ETCD_SNAPSHOT_COUNT:-50000} MINIO_ACCESS_KEY: ${MINIO_ACCESS_KEY:-minioadmin} MINIO_SECRET_KEY: ${MINIO_SECRET_KEY:-minioadmin} ETCD_ENDPOINTS: ${ETCD_ENDPOINTS:-etcd:2379} MINIO_ADDRESS: ${MINIO_ADDRESS:-minio:9000} MILVUS_AUTHORIZATION_ENABLED: ${MILVUS_AUTHORIZATION_ENABLED:-true} PGVECTOR_PGUSER: ${PGVECTOR_PGUSER:-postgres} PGVECTOR_POSTGRES_PASSWORD: ${PGVECTOR_POSTGRES_PASSWORD:-difyai123456} PGVECTOR_POSTGRES_DB: ${PGVECTOR_POSTGRES_DB:-dify} PGVECTOR_PGDATA: ${PGVECTOR_PGDATA:-/var/lib/postgresql/data/pgdata} OPENSEARCH_DISCOVERY_TYPE: ${OPENSEARCH_DISCOVERY_TYPE:-single-node} OPENSEARCH_BOOTSTRAP_MEMORY_LOCK: ${OPENSEARCH_BOOTSTRAP_MEMORY_LOCK:-true} OPENSEARCH_JAVA_OPTS_MIN: ${OPENSEARCH_JAVA_OPTS_MIN:-512m} OPENSEARCH_JAVA_OPTS_MAX: ${OPENSEARCH_JAVA_OPTS_MAX:-1024m} OPENSEARCH_INITIAL_ADMIN_PASSWORD: ${OPENSEARCH_INITIAL_ADMIN_PASSWORD:-Qazwsxedc!@#123} OPENSEARCH_MEMLOCK_SOFT: ${OPENSEARCH_MEMLOCK_SOFT:--1} OPENSEARCH_MEMLOCK_HARD: ${OPENSEARCH_MEMLOCK_HARD:--1} OPENSEARCH_NOFILE_SOFT: ${OPENSEARCH_NOFILE_SOFT:-65536} OPENSEARCH_NOFILE_HARD: ${OPENSEARCH_NOFILE_HARD:-65536} NGINX_SERVER_NAME: ${NGINX_SERVER_NAME:-_} NGINX_HTTPS_ENABLED: ${NGINX_HTTPS_ENABLED:-false} NGINX_PORT: ${NGINX_PORT:-80} NGINX_SSL_PORT: ${NGINX_SSL_PORT:-443} NGINX_SSL_CERT_FILENAME: ${NGINX_SSL_CERT_FILENAME:-dify.crt} NGINX_SSL_CERT_KEY_FILENAME: ${NGINX_SSL_CERT_KEY_FILENAME:-dify.key} NGINX_SSL_PROTOCOLS: ${NGINX_SSL_PROTOCOLS:-TLSv1.1 TLSv1.2 TLSv1.3} NGINX_WORKER_PROCESSES: ${NGINX_WORKER_PROCESSES:-auto} NGINX_CLIENT_MAX_BODY_SIZE: ${NGINX_CLIENT_MAX_BODY_SIZE:-15M} NGINX_KEEPALIVE_TIMEOUT: ${NGINX_KEEPALIVE_TIMEOUT:-65} NGINX_PROXY_READ_TIMEOUT: ${NGINX_PROXY_READ_TIMEOUT:-3600s} NGINX_PROXY_SEND_TIMEOUT: ${NGINX_PROXY_SEND_TIMEOUT:-3600s} NGINX_ENABLE_CERTBOT_CHALLENGE: ${NGINX_ENABLE_CERTBOT_CHALLENGE:-false} CERTBOT_EMAIL: ${CERTBOT_EMAIL:-your_email@example.com} CERTBOT_DOMAIN: ${CERTBOT_DOMAIN:-your_domain.com} CERTBOT_OPTIONS: ${CERTBOT_OPTIONS:-} SSRF_HTTP_PORT: ${SSRF_HTTP_PORT:-3128} SSRF_COREDUMP_DIR: ${SSRF_COREDUMP_DIR:-/var/spool/squid} SSRF_REVERSE_PROXY_PORT: ${SSRF_REVERSE_PROXY_PORT:-8194} SSRF_SANDBOX_HOST: ${SSRF_SANDBOX_HOST:-sandbox} SSRF_DEFAULT_TIME_OUT: ${SSRF_DEFAULT_TIME_OUT:-5} SSRF_DEFAULT_CONNECT_TIME_OUT: ${SSRF_DEFAULT_CONNECT_TIME_OUT:-5} SSRF_DEFAULT_READ_TIME_OUT: ${SSRF_DEFAULT_READ_TIME_OUT:-5} SSRF_DEFAULT_WRITE_TIME_OUT: ${SSRF_DEFAULT_WRITE_TIME_OUT:-5} EXPOSE_NGINX_PORT: ${EXPOSE_NGINX_PORT:-80} EXPOSE_NGINX_SSL_PORT: ${EXPOSE_NGINX_SSL_PORT:-443} POSITION_TOOL_PINS: ${POSITION_TOOL_PINS:-} POSITION_TOOL_INCLUDES: ${POSITION_TOOL_INCLUDES:-} POSITION_TOOL_EXCLUDES: ${POSITION_TOOL_EXCLUDES:-} POSITION_PROVIDER_PINS: ${POSITION_PROVIDER_PINS:-} POSITION_PROVIDER_INCLUDES: ${POSITION_PROVIDER_INCLUDES:-} POSITION_PROVIDER_EXCLUDES: ${POSITION_PROVIDER_EXCLUDES:-} CSP_WHITELIST: ${CSP_WHITELIST:-} CREATE_TIDB_SERVICE_JOB_ENABLED: ${CREATE_TIDB_SERVICE_JOB_ENABLED:-false} MAX_SUBMIT_COUNT: ${MAX_SUBMIT_COUNT:-100} TOP_K_MAX_VALUE: ${TOP_K_MAX_VALUE:-10} DB_PLUGIN_DATABASE: ${DB_PLUGIN_DATABASE:-dify_plugin} EXPOSE_PLUGIN_DAEMON_PORT: ${EXPOSE_PLUGIN_DAEMON_PORT:-5002} PLUGIN_DAEMON_PORT: ${PLUGIN_DAEMON_PORT:-5002} PLUGIN_DAEMON_KEY: ${PLUGIN_DAEMON_KEY:-lYkiYYT6owG+71oLerGzA7GXCgOT++6ovaezWAjpCjf+Sjc3ZtU+qUEi} PLUGIN_DAEMON_URL: ${PLUGIN_DAEMON_URL:-http://plugin_daemon:5002} PLUGIN_MAX_PACKAGE_SIZE: ${PLUGIN_MAX_PACKAGE_SIZE:-52428800} PLUGIN_PPROF_ENABLED: ${PLUGIN_PPROF_ENABLED:-false} PLUGIN_DEBUGGING_HOST: ${PLUGIN_DEBUGGING_HOST:-0.0.0.0} PLUGIN_DEBUGGING_PORT: ${PLUGIN_DEBUGGING_PORT:-5003} EXPOSE_PLUGIN_DEBUGGING_HOST: ${EXPOSE_PLUGIN_DEBUGGING_HOST:-localhost} EXPOSE_PLUGIN_DEBUGGING_PORT: ${EXPOSE_PLUGIN_DEBUGGING_PORT:-5003} PLUGIN_DIFY_INNER_API_KEY: ${PLUGIN_DIFY_INNER_API_KEY:-QaHbTe77CtuXmsfyhR7+vRjI/+XbV1AaFy691iy+kGDv2Jvy0/eAh8Y1} PLUGIN_DIFY_INNER_API_URL: ${PLUGIN_DIFY_INNER_API_URL:-http://api:5001} ENDPOINT_URL_TEMPLATE: ${ENDPOINT_URL_TEMPLATE:-http://localhost/e/{hook_id}} MARKETPLACE_ENABLED: ${MARKETPLACE_ENABLED:-true} MARKETPLACE_API_URL: ${MARKETPLACE_API_URL:-https://marketplace.dify.ai} FORCE_VERIFYING_SIGNATURE: ${FORCE_VERIFYING_SIGNATURE:-true} PLUGIN_PYTHON_ENV_INIT_TIMEOUT: ${PLUGIN_PYTHON_ENV_INIT_TIMEOUT:-120} PLUGIN_MAX_EXECUTION_TIMEOUT: ${PLUGIN_MAX_EXECUTION_TIMEOUT:-600} PIP_MIRROR_URL: ${PIP_MIRROR_URL:-} PLUGIN_STORAGE_TYPE: ${PLUGIN_STORAGE_TYPE:-local} PLUGIN_STORAGE_LOCAL_ROOT: ${PLUGIN_STORAGE_LOCAL_ROOT:-/app/storage} PLUGIN_WORKING_PATH: ${PLUGIN_WORKING_PATH:-/app/storage/cwd} PLUGIN_INSTALLED_PATH: ${PLUGIN_INSTALLED_PATH:-plugin} PLUGIN_PACKAGE_CACHE_PATH: ${PLUGIN_PACKAGE_CACHE_PATH:-plugin_packages} PLUGIN_MEDIA_CACHE_PATH: ${PLUGIN_MEDIA_CACHE_PATH:-assets} PLUGIN_STORAGE_OSS_BUCKET: ${PLUGIN_STORAGE_OSS_BUCKET:-} PLUGIN_S3_USE_AWS: ${PLUGIN_S3_USE_AWS:-false} PLUGIN_S3_USE_AWS_MANAGED_IAM: ${PLUGIN_S3_USE_AWS_MANAGED_IAM:-false} PLUGIN_S3_ENDPOINT: ${PLUGIN_S3_ENDPOINT:-} PLUGIN_S3_USE_PATH_STYLE: ${PLUGIN_S3_USE_PATH_STYLE:-false} PLUGIN_AWS_ACCESS_KEY: ${PLUGIN_AWS_ACCESS_KEY:-} PLUGIN_AWS_SECRET_KEY: ${PLUGIN_AWS_SECRET_KEY:-} PLUGIN_AWS_REGION: ${PLUGIN_AWS_REGION:-} PLUGIN_AZURE_BLOB_STORAGE_CONTAINER_NAME: ${PLUGIN_AZURE_BLOB_STORAGE_CONTAINER_NAME:-} PLUGIN_AZURE_BLOB_STORAGE_CONNECTION_STRING: ${PLUGIN_AZURE_BLOB_STORAGE_CONNECTION_STRING:-} PLUGIN_TENCENT_COS_SECRET_KEY: ${PLUGIN_TENCENT_COS_SECRET_KEY:-} PLUGIN_TENCENT_COS_SECRET_ID: ${PLUGIN_TENCENT_COS_SECRET_ID:-} PLUGIN_TENCENT_COS_REGION: ${PLUGIN_TENCENT_COS_REGION:-} PLUGIN_ALIYUN_OSS_REGION: ${PLUGIN_ALIYUN_OSS_REGION:-} PLUGIN_ALIYUN_OSS_ENDPOINT: ${PLUGIN_ALIYUN_OSS_ENDPOINT:-} PLUGIN_ALIYUN_OSS_ACCESS_KEY_ID: ${PLUGIN_ALIYUN_OSS_ACCESS_KEY_ID:-} PLUGIN_ALIYUN_OSS_ACCESS_KEY_SECRET: ${PLUGIN_ALIYUN_OSS_ACCESS_KEY_SECRET:-} PLUGIN_ALIYUN_OSS_AUTH_VERSION: ${PLUGIN_ALIYUN_OSS_AUTH_VERSION:-v4} PLUGIN_ALIYUN_OSS_PATH: ${PLUGIN_ALIYUN_OSS_PATH:-} PLUGIN_VOLCENGINE_TOS_ENDPOINT: ${PLUGIN_VOLCENGINE_TOS_ENDPOINT:-} PLUGIN_VOLCENGINE_TOS_ACCESS_KEY: ${PLUGIN_VOLCENGINE_TOS_ACCESS_KEY:-} PLUGIN_VOLCENGINE_TOS_SECRET_KEY: ${PLUGIN_VOLCENGINE_TOS_SECRET_KEY:-} PLUGIN_VOLCENGINE_TOS_REGION: ${PLUGIN_VOLCENGINE_TOS_REGION:-} ENABLE_OTEL: ${ENABLE_OTEL:-false} OTLP_BASE_ENDPOINT: ${OTLP_BASE_ENDPOINT:-http://localhost:4318} OTLP_API_KEY: ${OTLP_API_KEY:-} OTEL_EXPORTER_OTLP_PROTOCOL: ${OTEL_EXPORTER_OTLP_PROTOCOL:-} OTEL_EXPORTER_TYPE: ${OTEL_EXPORTER_TYPE:-otlp} OTEL_SAMPLING_RATE: ${OTEL_SAMPLING_RATE:-0.1} OTEL_BATCH_EXPORT_SCHEDULE_DELAY: ${OTEL_BATCH_EXPORT_SCHEDULE_DELAY:-5000} OTEL_MAX_QUEUE_SIZE: ${OTEL_MAX_QUEUE_SIZE:-2048} OTEL_MAX_EXPORT_BATCH_SIZE: ${OTEL_MAX_EXPORT_BATCH_SIZE:-512} OTEL_METRIC_EXPORT_INTERVAL: ${OTEL_METRIC_EXPORT_INTERVAL:-60000} OTEL_BATCH_EXPORT_TIMEOUT: ${OTEL_BATCH_EXPORT_TIMEOUT:-10000} OTEL_METRIC_EXPORT_TIMEOUT: ${OTEL_METRIC_EXPORT_TIMEOUT:-30000} ALLOW_EMBED: ${ALLOW_EMBED:-false} QUEUE_MONITOR_THRESHOLD: ${QUEUE_MONITOR_THRESHOLD:-200} QUEUE_MONITOR_ALERT_EMAILS: ${QUEUE_MONITOR_ALERT_EMAILS:-} QUEUE_MONITOR_INTERVAL: ${QUEUE_MONITOR_INTERVAL:-30} services: # API service api: image: langgenius/dify-api:1.5.0 restart: always environment: # Use the shared environment variables. <<: *shared-api-worker-env # Startup mode, 'api' starts the API server. MODE: api SENTRY_DSN: ${API_SENTRY_DSN:-} SENTRY_TRACES_SAMPLE_RATE: ${API_SENTRY_TRACES_SAMPLE_RATE:-1.0} SENTRY_PROFILES_SAMPLE_RATE: ${API_SENTRY_PROFILES_SAMPLE_RATE:-1.0} PLUGIN_REMOTE_INSTALL_HOST: ${EXPOSE_PLUGIN_DEBUGGING_HOST:-localhost} PLUGIN_REMOTE_INSTALL_PORT: ${EXPOSE_PLUGIN_DEBUGGING_PORT:-5003} PLUGIN_MAX_PACKAGE_SIZE: ${PLUGIN_MAX_PACKAGE_SIZE:-52428800} INNER_API_KEY_FOR_PLUGIN: ${PLUGIN_DIFY_INNER_API_KEY:-QaHbTe77CtuXmsfyhR7+vRjI/+XbV1AaFy691iy+kGDv2Jvy0/eAh8Y1} depends_on: db: condition: service_healthy redis: condition: service_started volumes: # Mount the storage directory to the container, for storing user files. - ./volumes/app/storage:/app/api/storage networks: - ssrf_proxy_network - default # worker service # The Celery worker for processing the queue. worker: image: langgenius/dify-api:1.5.0 restart: always environment: # Use the shared environment variables. <<: *shared-api-worker-env # Startup mode, 'worker' starts the Celery worker for processing the queue. MODE: worker SENTRY_DSN: ${API_SENTRY_DSN:-} SENTRY_TRACES_SAMPLE_RATE: ${API_SENTRY_TRACES_SAMPLE_RATE:-1.0} SENTRY_PROFILES_SAMPLE_RATE: ${API_SENTRY_PROFILES_SAMPLE_RATE:-1.0} PLUGIN_MAX_PACKAGE_SIZE: ${PLUGIN_MAX_PACKAGE_SIZE:-52428800} INNER_API_KEY_FOR_PLUGIN: ${PLUGIN_DIFY_INNER_API_KEY:-QaHbTe77CtuXmsfyhR7+vRjI/+XbV1AaFy691iy+kGDv2Jvy0/eAh8Y1} depends_on: db: condition: service_healthy redis: condition: service_started volumes: # Mount the storage directory to the container, for storing user files. - ./volumes/app/storage:/app/api/storage networks: - ssrf_proxy_network - default # Frontend web application. web: image: langgenius/dify-web:1.5.0 restart: always environment: CONSOLE_API_URL: ${CONSOLE_API_URL:-} APP_API_URL: ${APP_API_URL:-} SENTRY_DSN: ${WEB_SENTRY_DSN:-} NEXT_TELEMETRY_DISABLED: ${NEXT_TELEMETRY_DISABLED:-0} TEXT_GENERATION_TIMEOUT_MS: ${TEXT_GENERATION_TIMEOUT_MS:-60000} CSP_WHITELIST: ${CSP_WHITELIST:-} ALLOW_EMBED: ${ALLOW_EMBED:-false} MARKETPLACE_API_URL: ${MARKETPLACE_API_URL:-https://marketplace.dify.ai} MARKETPLACE_URL: ${MARKETPLACE_URL:-https://marketplace.dify.ai} TOP_K_MAX_VALUE: ${TOP_K_MAX_VALUE:-} INDEXING_MAX_SEGMENTATION_TOKENS_LENGTH: ${INDEXING_MAX_SEGMENTATION_TOKENS_LENGTH:-} PM2_INSTANCES: ${PM2_INSTANCES:-2} LOOP_NODE_MAX_COUNT: ${LOOP_NODE_MAX_COUNT:-100} MAX_TOOLS_NUM: ${MAX_TOOLS_NUM:-10} MAX_PARALLEL_LIMIT: ${MAX_PARALLEL_LIMIT:-10} MAX_ITERATIONS_NUM: ${MAX_ITERATIONS_NUM:-99} ENABLE_WEBSITE_JINAREADER: ${ENABLE_WEBSITE_JINAREADER:-true} ENABLE_WEBSITE_FIRECRAWL: ${ENABLE_WEBSITE_FIRECRAWL:-true} ENABLE_WEBSITE_WATERCRAWL: ${ENABLE_WEBSITE_WATERCRAWL:-true} # The postgres database. db: image: postgres:15-alpine restart: always environment: POSTGRES_USER: ${POSTGRES_USER:-postgres} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-difyai123456} POSTGRES_DB: ${POSTGRES_DB:-dify} PGDATA: ${PGDATA:-/var/lib/postgresql/data/pgdata} command: > postgres -c 'max_connections=${POSTGRES_MAX_CONNECTIONS:-100}' -c 'shared_buffers=${POSTGRES_SHARED_BUFFERS:-128MB}' -c 'work_mem=${POSTGRES_WORK_MEM:-4MB}' -c 'maintenance_work_mem=${POSTGRES_MAINTENANCE_WORK_MEM:-64MB}' -c 'effective_cache_size=${POSTGRES_EFFECTIVE_CACHE_SIZE:-4096MB}' volumes: - ./volumes/db/data:/var/lib/postgresql/data healthcheck: test: [ 'CMD', 'pg_isready', '-h', 'db', '-U', '${PGUSER:-postgres}', '-d', '${POSTGRES_DB:-dify}' ] interval: 1s timeout: 3s retries: 60 # The redis cache. redis: image: redis:6-alpine restart: always environment: REDISCLI_AUTH: ${REDIS_PASSWORD:-difyai123456} volumes: # Mount the redis data directory to the container. - ./volumes/redis/data:/data # Set the redis password when startup redis server. command: redis-server --requirepass ${REDIS_PASSWORD:-difyai123456} healthcheck: test: [ 'CMD', 'redis-cli', 'ping' ] # The DifySandbox sandbox: image: langgenius/dify-sandbox:0.2.12 restart: always environment: # The DifySandbox configurations # Make sure you are changing this key for your deployment with a strong key. # You can generate a strong key using `openssl rand -base64 42`. API_KEY: ${SANDBOX_API_KEY:-dify-sandbox} GIN_MODE: ${SANDBOX_GIN_MODE:-release} WORKER_TIMEOUT: ${SANDBOX_WORKER_TIMEOUT:-15} ENABLE_NETWORK: ${SANDBOX_ENABLE_NETWORK:-true} HTTP_PROXY: ${SANDBOX_HTTP_PROXY:-http://ssrf_proxy:3128} HTTPS_PROXY: ${SANDBOX_HTTPS_PROXY:-http://ssrf_proxy:3128} SANDBOX_PORT: ${SANDBOX_PORT:-8194} PIP_MIRROR_URL: ${PIP_MIRROR_URL:-} volumes: - ./volumes/sandbox/dependencies:/dependencies - ./volumes/sandbox/conf:/conf healthcheck: test: [ 'CMD', 'curl', '-f', 'http://localhost:8194/health' ] networks: - ssrf_proxy_network # plugin daemon plugin_daemon: image: langgenius/dify-plugin-daemon:0.1.2-local restart: always environment: # Use the shared environment variables. <<: *shared-api-worker-env DB_DATABASE: ${DB_PLUGIN_DATABASE:-dify_plugin} SERVER_PORT: ${PLUGIN_DAEMON_PORT:-5002} SERVER_KEY: ${PLUGIN_DAEMON_KEY:-lYkiYYT6owG+71oLerGzA7GXCgOT++6ovaezWAjpCjf+Sjc3ZtU+qUEi} MAX_PLUGIN_PACKAGE_SIZE: ${PLUGIN_MAX_PACKAGE_SIZE:-52428800} PPROF_ENABLED: ${PLUGIN_PPROF_ENABLED:-false} DIFY_INNER_API_URL: ${PLUGIN_DIFY_INNER_API_URL:-http://api:5001} DIFY_INNER_API_KEY: ${PLUGIN_DIFY_INNER_API_KEY:-QaHbTe77CtuXmsfyhR7+vRjI/+XbV1AaFy691iy+kGDv2Jvy0/eAh8Y1} PLUGIN_REMOTE_INSTALLING_HOST: ${PLUGIN_DEBUGGING_HOST:-0.0.0.0} PLUGIN_REMOTE_INSTALLING_PORT: ${PLUGIN_DEBUGGING_PORT:-5003} PLUGIN_WORKING_PATH: ${PLUGIN_WORKING_PATH:-/app/storage/cwd} FORCE_VERIFYING_SIGNATURE: ${FORCE_VERIFYING_SIGNATURE:-true} PYTHON_ENV_INIT_TIMEOUT: ${PLUGIN_PYTHON_ENV_INIT_TIMEOUT:-120} PLUGIN_MAX_EXECUTION_TIMEOUT: ${PLUGIN_MAX_EXECUTION_TIMEOUT:-600} PIP_MIRROR_URL: ${PIP_MIRROR_URL:-} PLUGIN_STORAGE_TYPE: ${PLUGIN_STORAGE_TYPE:-local} PLUGIN_STORAGE_LOCAL_ROOT: ${PLUGIN_STORAGE_LOCAL_ROOT:-/app/storage} PLUGIN_INSTALLED_PATH: ${PLUGIN_INSTALLED_PATH:-plugin} PLUGIN_PACKAGE_CACHE_PATH: ${PLUGIN_PACKAGE_CACHE_PATH:-plugin_packages} PLUGIN_MEDIA_CACHE_PATH: ${PLUGIN_MEDIA_CACHE_PATH:-assets} PLUGIN_STORAGE_OSS_BUCKET: ${PLUGIN_STORAGE_OSS_BUCKET:-} S3_USE_AWS_MANAGED_IAM: ${PLUGIN_S3_USE_AWS_MANAGED_IAM:-false} S3_USE_AWS: ${PLUGIN_S3_USE_AWS:-} S3_ENDPOINT: ${PLUGIN_S3_ENDPOINT:-} S3_USE_PATH_STYLE: ${PLUGIN_S3_USE_PATH_STYLE:-false} AWS_ACCESS_KEY: ${PLUGIN_AWS_ACCESS_KEY:-} AWS_SECRET_KEY: ${PLUGIN_AWS_SECRET_KEY:-} AWS_REGION: ${PLUGIN_AWS_REGION:-} AZURE_BLOB_STORAGE_CONNECTION_STRING: ${PLUGIN_AZURE_BLOB_STORAGE_CONNECTION_STRING:-} AZURE_BLOB_STORAGE_CONTAINER_NAME: ${PLUGIN_AZURE_BLOB_STORAGE_CONTAINER_NAME:-} TENCENT_COS_SECRET_KEY: ${PLUGIN_TENCENT_COS_SECRET_KEY:-} TENCENT_COS_SECRET_ID: ${PLUGIN_TENCENT_COS_SECRET_ID:-} TENCENT_COS_REGION: ${PLUGIN_TENCENT_COS_REGION:-} ALIYUN_OSS_REGION: ${PLUGIN_ALIYUN_OSS_REGION:-} ALIYUN_OSS_ENDPOINT: ${PLUGIN_ALIYUN_OSS_ENDPOINT:-} ALIYUN_OSS_ACCESS_KEY_ID: ${PLUGIN_ALIYUN_OSS_ACCESS_KEY_ID:-} ALIYUN_OSS_ACCESS_KEY_SECRET: ${PLUGIN_ALIYUN_OSS_ACCESS_KEY_SECRET:-} ALIYUN_OSS_AUTH_VERSION: ${PLUGIN_ALIYUN_OSS_AUTH_VERSION:-v4} ALIYUN_OSS_PATH: ${PLUGIN_ALIYUN_OSS_PATH:-} VOLCENGINE_TOS_ENDPOINT: ${PLUGIN_VOLCENGINE_TOS_ENDPOINT:-} VOLCENGINE_TOS_ACCESS_KEY: ${PLUGIN_VOLCENGINE_TOS_ACCESS_KEY:-} VOLCENGINE_TOS_SECRET_KEY: ${PLUGIN_VOLCENGINE_TOS_SECRET_KEY:-} VOLCENGINE_TOS_REGION: ${PLUGIN_VOLCENGINE_TOS_REGION:-} ports: - "${EXPOSE_PLUGIN_DEBUGGING_PORT:-5003}:${PLUGIN_DEBUGGING_PORT:-5003}" volumes: - ./volumes/plugin_daemon:/app/storage depends_on: db: condition: service_healthy # ssrf_proxy server # for more information, please refer to # https://docs.dify.ai/learn-more/faq/install-faq#18-why-is-ssrf-proxy-needed%3F ssrf_proxy: image: ubuntu/squid:latest restart: always volumes: - ./ssrf_proxy/squid.conf.template:/etc/squid/squid.conf.template - ./ssrf_proxy/docker-entrypoint.sh:/docker-entrypoint-mount.sh entrypoint: [ 'sh', '-c', "cp /docker-entrypoint-mount.sh /docker-entrypoint.sh && sed -i 's/\r$$//' /docker-entrypoint.sh && chmod +x /docker-entrypoint.sh && /docker-entrypoint.sh" ] environment: # pls clearly modify the squid env vars to fit your network environment. HTTP_PORT: ${SSRF_HTTP_PORT:-3128} COREDUMP_DIR: ${SSRF_COREDUMP_DIR:-/var/spool/squid} REVERSE_PROXY_PORT: ${SSRF_REVERSE_PROXY_PORT:-8194} SANDBOX_HOST: ${SSRF_SANDBOX_HOST:-sandbox} SANDBOX_PORT: ${SANDBOX_PORT:-8194} networks: - ssrf_proxy_network - default # Certbot service # use `docker-compose --profile certbot up` to start the certbot service. certbot: image: certbot/certbot profiles: - certbot volumes: - ./volumes/certbot/conf:/etc/letsencrypt - ./volumes/certbot/www:/var/www/html - ./volumes/certbot/logs:/var/log/letsencrypt - ./volumes/certbot/conf/live:/etc/letsencrypt/live - ./certbot/update-cert.template.txt:/update-cert.template.txt - ./certbot/docker-entrypoint.sh:/docker-entrypoint.sh environment: - CERTBOT_EMAIL=${CERTBOT_EMAIL} - CERTBOT_DOMAIN=${CERTBOT_DOMAIN} - CERTBOT_OPTIONS=${CERTBOT_OPTIONS:-} entrypoint: [ '/docker-entrypoint.sh' ] command: [ 'tail', '-f', '/dev/null' ] # The nginx reverse proxy. # used for reverse proxying the API service and Web service. nginx: image: nginx:latest restart: always volumes: - ./nginx/nginx.conf.template:/etc/nginx/nginx.conf.template - ./nginx/proxy.conf.template:/etc/nginx/proxy.conf.template - ./nginx/https.conf.template:/etc/nginx/https.conf.template - ./nginx/conf.d:/etc/nginx/conf.d - ./nginx/docker-entrypoint.sh:/docker-entrypoint-mount.sh - ./nginx/ssl:/etc/ssl # cert dir (legacy) - ./volumes/certbot/conf/live:/etc/letsencrypt/live # cert dir (with certbot container) - ./volumes/certbot/conf:/etc/letsencrypt - ./volumes/certbot/www:/var/www/html entrypoint: [ 'sh', '-c', "cp /docker-entrypoint-mount.sh /docker-entrypoint.sh && sed -i 's/\r$$//' /docker-entrypoint.sh && chmod +x /docker-entrypoint.sh && /docker-entrypoint.sh" ] environment: NGINX_SERVER_NAME: ${NGINX_SERVER_NAME:-_} NGINX_HTTPS_ENABLED: ${NGINX_HTTPS_ENABLED:-false} NGINX_SSL_PORT: ${NGINX_SSL_PORT:-443} NGINX_PORT: ${NGINX_PORT:-80} # You're required to add your own SSL certificates/keys to the `./nginx/ssl` directory # and modify the env vars below in .env if HTTPS_ENABLED is true. NGINX_SSL_CERT_FILENAME: ${NGINX_SSL_CERT_FILENAME:-dify.crt} NGINX_SSL_CERT_KEY_FILENAME: ${NGINX_SSL_CERT_KEY_FILENAME:-dify.key} NGINX_SSL_PROTOCOLS: ${NGINX_SSL_PROTOCOLS:-TLSv1.1 TLSv1.2 TLSv1.3} NGINX_WORKER_PROCESSES: ${NGINX_WORKER_PROCESSES:-auto} NGINX_CLIENT_MAX_BODY_SIZE: ${NGINX_CLIENT_MAX_BODY_SIZE:-15M} NGINX_KEEPALIVE_TIMEOUT: ${NGINX_KEEPALIVE_TIMEOUT:-65} NGINX_PROXY_READ_TIMEOUT: ${NGINX_PROXY_READ_TIMEOUT:-3600s} NGINX_PROXY_SEND_TIMEOUT: ${NGINX_PROXY_SEND_TIMEOUT:-3600s} NGINX_ENABLE_CERTBOT_CHALLENGE: ${NGINX_ENABLE_CERTBOT_CHALLENGE:-false} CERTBOT_DOMAIN: ${CERTBOT_DOMAIN:-} depends_on: - api - web ports: - '${EXPOSE_NGINX_PORT:-80}:${NGINX_PORT:-80}' - '${EXPOSE_NGINX_SSL_PORT:-443}:${NGINX_SSL_PORT:-443}' # The Weaviate vector store. weaviate: image: semitechnologies/weaviate:1.19.0 profiles: - '' - weaviate restart: always volumes: # Mount the Weaviate data directory to the con tainer. - ./volumes/weaviate:/var/lib/weaviate environment: # The Weaviate configurations # You can refer to the [Weaviate](https://weaviate.io/developers/weaviate/config-refs/env-vars) documentation for more information. PERSISTENCE_DATA_PATH: ${WEAVIATE_PERSISTENCE_DATA_PATH:-/var/lib/weaviate} QUERY_DEFAULTS_LIMIT: ${WEAVIATE_QUERY_DEFAULTS_LIMIT:-25} AUTHENTICATION_ANONYMOUS_ACCESS_ENABLED: ${WEAVIATE_AUTHENTICATION_ANONYMOUS_ACCESS_ENABLED:-false} DEFAULT_VECTORIZER_MODULE: ${WEAVIATE_DEFAULT_VECTORIZER_MODULE:-none} CLUSTER_HOSTNAME: ${WEAVIATE_CLUSTER_HOSTNAME:-node1} AUTHENTICATION_APIKEY_ENABLED: ${WEAVIATE_AUTHENTICATION_APIKEY_ENABLED:-true} AUTHENTICATION_APIKEY_ALLOWED_KEYS: ${WEAVIATE_AUTHENTICATION_APIKEY_ALLOWED_KEYS:-WVF5YThaHlkYwhGUSmCRgsX3tD5ngdN8pkih} AUTHENTICATION_APIKEY_USERS: ${WEAVIATE_AUTHENTICATION_APIKEY_USERS:-hello@dify.ai} AUTHORIZATION_ADMINLIST_ENABLED: ${WEAVIATE_AUTHORIZATION_ADMINLIST_ENABLED:-true} AUTHORIZATION_ADMINLIST_USERS: ${WEAVIATE_AUTHORIZATION_ADMINLIST_USERS:-hello@dify.ai} # Qdrant vector store. # (if used, you need to set VECTOR_STORE to qdrant in the api & worker service.) qdrant: image: langgenius/qdrant:v1.7.3 profiles: - qdrant restart: always volumes: - ./volumes/qdrant:/qdrant/storage environment: QDRANT_API_KEY: ${QDRANT_API_KEY:-difyai123456} # The Couchbase vector store. couchbase-server: build: ./couchbase-server profiles: - couchbase restart: always environment: - CLUSTER_NAME=dify_search - COUCHBASE_ADMINISTRATOR_USERNAME=${COUCHBASE_USER:-Administrator} - COUCHBASE_ADMINISTRATOR_PASSWORD=${COUCHBASE_PASSWORD:-password} - COUCHBASE_BUCKET=${COUCHBASE_BUCKET_NAME:-Embeddings} - COUCHBASE_BUCKET_RAMSIZE=512 - COUCHBASE_RAM_SIZE=2048 - COUCHBASE_EVENTING_RAM_SIZE=512 - COUCHBASE_INDEX_RAM_SIZE=512 - COUCHBASE_FTS_RAM_SIZE=1024 hostname: couchbase-server container_name: couchbase-server working_dir: /opt/couchbase stdin_open: true tty: true entrypoint: [ "" ] command: sh -c "/opt/couchbase/init/init-cbserver.sh" volumes: - ./volumes/couchbase/data:/opt/couchbase/var/lib/couchbase/data healthcheck: # ensure bucket was created before proceeding test: [ "CMD-SHELL", "curl -s -f -u Administrator:password http://localhost:8091/pools/default/buckets | grep -q '\\[{' || exit 1" ] interval: 10s retries: 10 start_period: 30s timeout: 10s # The pgvector vector database. pgvector: image: pgvector/pgvector:pg16 profiles: - pgvector restart: always environment: PGUSER: ${PGVECTOR_PGUSER:-postgres} # The password for the default postgres user. POSTGRES_PASSWORD: ${PGVECTOR_POSTGRES_PASSWORD:-difyai123456} # The name of the default postgres database. POSTGRES_DB: ${PGVECTOR_POSTGRES_DB:-dify} # postgres data directory PGDATA: ${PGVECTOR_PGDATA:-/var/lib/postgresql/data/pgdata} # pg_bigm module for full text search PG_BIGM: ${PGVECTOR_PG_BIGM:-false} PG_BIGM_VERSION: ${PGVECTOR_PG_BIGM_VERSION:-1.2-20240606} volumes: - ./volumes/pgvector/data:/var/lib/postgresql/data - ./pgvector/docker-entrypoint.sh:/docker-entrypoint.sh entrypoint: [ '/docker-entrypoint.sh' ] healthcheck: test: [ 'CMD', 'pg_isready' ] interval: 1s timeout: 3s retries: 30 # get image from https://www.vastdata.com.cn/ vastbase: image: vastdata/vastbase-vector profiles: - vastbase restart: always environment: - VB_DBCOMPATIBILITY=PG - VB_DB=dify - VB_USERNAME=dify - VB_PASSWORD=Difyai123456 ports: - '5434:5432' volumes: - ./vastbase/lic:/home/vastbase/vastbase/lic - ./vastbase/data:/home/vastbase/data - ./vastbase/backup:/home/vastbase/backup - ./vastbase/backup_log:/home/vastbase/backup_log healthcheck: test: [ 'CMD', 'pg_isready' ] interval: 1s timeout: 3s retries: 30 # pgvecto-rs vector store pgvecto-rs: image: tensorchord/pgvecto-rs:pg16-v0.3.0 profiles: - pgvecto-rs restart: always environment: PGUSER: ${PGVECTOR_PGUSER:-postgres} # The password for the default postgres user. POSTGRES_PASSWORD: ${PGVECTOR_POSTGRES_PASSWORD:-difyai123456} # The name of the default postgres database. POSTGRES_DB: ${PGVECTOR_POSTGRES_DB:-dify} # postgres data directory PGDATA: ${PGVECTOR_PGDATA:-/var/lib/postgresql/data/pgdata} volumes: - ./volumes/pgvecto_rs/data:/var/lib/postgresql/data healthcheck: test: [ 'CMD', 'pg_isready' ] interval: 1s timeout: 3s retries: 30 # Chroma vector database chroma: image: ghcr.io/chroma-core/chroma:0.5.20 profiles: - chroma restart: always volumes: - ./volumes/chroma:/chroma/chroma environment: CHROMA_SERVER_AUTHN_CREDENTIALS: ${CHROMA_SERVER_AUTHN_CREDENTIALS:-difyai123456} CHROMA_SERVER_AUTHN_PROVIDER: ${CHROMA_SERVER_AUTHN_PROVIDER:-chromadb.auth.token_authn.TokenAuthenticationServerProvider} IS_PERSISTENT: ${CHROMA_IS_PERSISTENT:-TRUE} # OceanBase vector database oceanbase: image: oceanbase/oceanbase-ce:4.3.5-lts container_name: oceanbase profiles: - oceanbase restart: always volumes: - ./volumes/oceanbase/data:/root/ob - ./volumes/oceanbase/conf:/root/.obd/cluster - ./volumes/oceanbase/init.d:/root/boot/init.d environment: OB_MEMORY_LIMIT: ${OCEANBASE_MEMORY_LIMIT:-6G} OB_SYS_PASSWORD: ${OCEANBASE_VECTOR_PASSWORD:-difyai123456} OB_TENANT_PASSWORD: ${OCEANBASE_VECTOR_PASSWORD:-difyai123456} OB_CLUSTER_NAME: ${OCEANBASE_CLUSTER_NAME:-difyai} OB_SERVER_IP: 127.0.0.1 MODE: mini ports: - "${OCEANBASE_VECTOR_PORT:-2881}:2881" healthcheck: test: [ 'CMD-SHELL', 'obclient -h127.0.0.1 -P2881 -uroot@test -p$${OB_TENANT_PASSWORD} -e "SELECT 1;"' ] interval: 10s retries: 30 start_period: 30s timeout: 10s # Oracle vector database oracle: image: container-registry.oracle.com/database/free:latest profiles: - oracle restart: always volumes: - source: oradata type: volume target: /opt/oracle/oradata - ./startupscripts:/opt/oracle/scripts/startup environment: ORACLE_PWD: ${ORACLE_PWD:-Dify123456} ORACLE_CHARACTERSET: ${ORACLE_CHARACTERSET:-AL32UTF8} # Milvus vector database services etcd: container_name: milvus-etcd image: quay.io/coreos/etcd:v3.5.5 profiles: - milvus environment: ETCD_AUTO_COMPACTION_MODE: ${ETCD_AUTO_COMPACTION_MODE:-revision} ETCD_AUTO_COMPACTION_RETENTION: ${ETCD_AUTO_COMPACTION_RETENTION:-1000} ETCD_QUOTA_BACKEND_BYTES: ${ETCD_QUOTA_BACKEND_BYTES:-4294967296} ETCD_SNAPSHOT_COUNT: ${ETCD_SNAPSHOT_COUNT:-50000} volumes: - ./volumes/milvus/etcd:/etcd command: etcd -advertise-client-urls=http://127.0.0.1:2379 -listen-client-urls http://0.0.0.0:2379 --data-dir /etcd healthcheck: test: [ 'CMD', 'etcdctl', 'endpoint', 'health' ] interval: 30s timeout: 20s retries: 3 networks: - milvus minio: container_name: milvus-minio image: minio/minio:RELEASE.2023-03-20T20-16-18Z profiles: - milvus environment: MINIO_ACCESS_KEY: ${MINIO_ACCESS_KEY:-minioadmin} MINIO_SECRET_KEY: ${MINIO_SECRET_KEY:-minioadmin} volumes: - ./volumes/milvus/minio:/minio_data command: minio server /minio_data --console-address ":9001" healthcheck: test: [ 'CMD', 'curl', '-f', 'http://localhost:9000/minio/health/live' ] interval: 30s timeout: 20s retries: 3 networks: - milvus milvus-standalone: container_name: milvus-standalone image: milvusdb/milvus:v2.5.0-beta profiles: - milvus command: [ 'milvus', 'run', 'standalone' ] environment: ETCD_ENDPOINTS: ${ETCD_ENDPOINTS:-etcd:2379} MINIO_ADDRESS: ${MINIO_ADDRESS:-minio:9000} common.security.authorizationEnabled: ${MILVUS_AUTHORIZATION_ENABLED:-true} volumes: - ./volumes/milvus/milvus:/var/lib/milvus healthcheck: test: [ 'CMD', 'curl', '-f', 'http://localhost:9091/healthz' ] interval: 30s start_period: 90s timeout: 20s retries: 3 depends_on: - etcd - minio ports: - 19530:19530 - 9091:9091 networks: - milvus # Opensearch vector database opensearch: container_name: opensearch image: opensearchproject/opensearch:latest profiles: - opensearch environment: discovery.type: ${OPENSEARCH_DISCOVERY_TYPE:-single-node} bootstrap.memory_lock: ${OPENSEARCH_BOOTSTRAP_MEMORY_LOCK:-true} OPENSEARCH_JAVA_OPTS: -Xms${OPENSEARCH_JAVA_OPTS_MIN:-512m} -Xmx${OPENSEARCH_JAVA_OPTS_MAX:-1024m} OPENSEARCH_INITIAL_ADMIN_PASSWORD: ${OPENSEARCH_INITIAL_ADMIN_PASSWORD:-Qazwsxedc!@#123} ulimits: memlock: soft: ${OPENSEARCH_MEMLOCK_SOFT:--1} hard: ${OPENSEARCH_MEMLOCK_HARD:--1} nofile: soft: ${OPENSEARCH_NOFILE_SOFT:-65536} hard: ${OPENSEARCH_NOFILE_HARD:-65536} volumes: - ./volumes/opensearch/data:/usr/share/opensearch/data networks: - opensearch-net opensearch-dashboards: container_name: opensearch-dashboards image: opensearchproject/opensearch-dashboards:latest profiles: - opensearch environment: OPENSEARCH_HOSTS: '["https://opensearch:9200"]' volumes: - ./volumes/opensearch/opensearch_dashboards.yml:/usr/share/opensearch-dashboards/config/opensearch_dashboards.yml networks: - opensearch-net depends_on: - opensearch # opengauss vector database. opengauss: image: opengauss/opengauss:7.0.0-RC1 profiles: - opengauss privileged: true restart: always environment: GS_USERNAME: ${OPENGAUSS_USER:-postgres} GS_PASSWORD: ${OPENGAUSS_PASSWORD:-Dify@123} GS_PORT: ${OPENGAUSS_PORT:-6600} GS_DB: ${OPENGAUSS_DATABASE:-dify} volumes: - ./volumes/opengauss/data:/var/lib/opengauss/data healthcheck: test: [ "CMD-SHELL", "netstat -lntp | grep tcp6 > /dev/null 2>&1" ] interval: 10s timeout: 10s retries: 10 ports: - ${OPENGAUSS_PORT:-6600}:${OPENGAUSS_PORT:-6600} # MyScale vector database myscale: container_name: myscale image: myscale/myscaledb:1.6.4 profiles: - myscale restart: always tty: true volumes: - ./volumes/myscale/data:/var/lib/clickhouse - ./volumes/myscale/log:/var/log/clickhouse-server - ./volumes/myscale/config/users.d/custom_users_config.xml:/etc/clickhouse-server/users.d/custom_users_config.xml ports: - ${MYSCALE_PORT:-8123}:${MYSCALE_PORT:-8123} # Matrixone vector store. matrixone: hostname: matrixone image: matrixorigin/matrixone:2.1.1 profiles: - matrixone restart: always volumes: - ./volumes/matrixone/data:/mo-data ports: - ${MATRIXONE_PORT:-6001}:${MATRIXONE_PORT:-6001} # https://www.elastic.co/guide/en/elasticsearch/reference/current/settings.html # https://www.elastic.co/guide/en/elasticsearch/reference/current/docker.html#docker-prod-prerequisites elasticsearch: image: docker.elastic.co/elasticsearch/elasticsearch:8.14.3 container_name: elasticsearch profiles: - elasticsearch - elasticsearch-ja restart: always volumes: - ./elasticsearch/docker-entrypoint.sh:/docker-entrypoint-mount.sh - dify_es01_data:/usr/share/elasticsearch/data environment: ELASTIC_PASSWORD: ${ELASTICSEARCH_PASSWORD:-elastic} VECTOR_STORE: ${VECTOR_STORE:-} cluster.name: dify-es-cluster node.name: dify-es0 discovery.type: single-node xpack.license.self_generated.type: basic xpack.security.enabled: 'true' xpack.security.enrollment.enabled: 'false' xpack.security.http.ssl.enabled: 'false' ports: - ${ELASTICSEARCH_PORT:-9200}:9200 deploy: resources: limits: memory: 2g entrypoint: [ 'sh', '-c', "sh /docker-entrypoint-mount.sh" ] healthcheck: test: [ 'CMD', 'curl', '-s', 'http://localhost:9200/_cluster/health?pretty' ] interval: 30s timeout: 10s retries: 50 # https://www.elastic.co/guide/en/kibana/current/docker.html # https://www.elastic.co/guide/en/kibana/current/settings.html kibana: image: docker.elastic.co/kibana/kibana:8.14.3 container_name: kibana profiles: - elasticsearch depends_on: - elasticsearch restart: always environment: XPACK_ENCRYPTEDSAVEDOBJECTS_ENCRYPTIONKEY: d1a66dfd-c4d3-4a0a-8290-2abcb83ab3aa NO_PROXY: localhost,127.0.0.1,elasticsearch,kibana XPACK_SECURITY_ENABLED: 'true' XPACK_SECURITY_ENROLLMENT_ENABLED: 'false' XPACK_SECURITY_HTTP_SSL_ENABLED: 'false' XPACK_FLEET_ISAIRGAPPED: 'true' I18N_LOCALE: zh-CN SERVER_PORT: '5601' ELASTICSEARCH_HOSTS: http://elasticsearch:9200 ports: - ${KIBANA_PORT:-5601}:5601 healthcheck: test: [ 'CMD-SHELL', 'curl -s http://localhost:5601 >/dev/null || exit 1' ] interval: 30s timeout: 10s retries: 3 # unstructured . # (if used, you need to set ETL_TYPE to Unstructured in the api & worker service.) unstructured: image: downloads.unstructured.io/unstructured-io/unstructured-api:latest profiles: - unstructured restart: always volumes: - ./volumes/unstructured:/app/data networks: # create a network between sandbox, api and ssrf_proxy, and can not access outside. ssrf_proxy_network: driver: bridge internal: true milvus: driver: bridge opensearch-net: driver: bridge internal: true volumes: oradata: dify_es01_data:
07-02
【四轴飞行器】非线性三自由度四轴飞行器模拟器研究(Matlab代码实现)内容概要:本文围绕非线性三自由度四轴飞行器模拟器的研究展开,重点介绍基于Matlab代码实现的四轴飞行器动力学建模与仿真方法。研究构建了考虑非线性特性的飞行器数学模型,涵盖姿态动力学与运动学方程,实现了三自由度(滚转、俯仰、偏航)的精确模拟。文中详细阐述了系统建模过程、控制算法设计思路及仿真结果分析,帮助读者深入理解四轴飞行器的飞行动力学特性与控制机制;同时,该模拟器可用于算法验证、控制器设计与教学实验。; 适合人群:具备一定自动控制理论基础和Matlab编程能力的高校学生、科研人员及无人机相关领域的工程技术人员,尤其适合从事飞行器建模、控制算法开发的研究生和初级研究人员。; 使用场景及目标:①用于四轴飞行器非线性动力学特性的学习与仿真验证;②作为控制器(如PID、LQR、MPC等)设计与测试的仿真平台;③支持无人机控制系统教学与科研项目开发,提升对姿态控制与系统仿真的理解。; 阅读建议:建议读者结合Matlab代码逐模块分析,重点关注动力学方程的推导与实现方式,动手运行并调试仿真程序,以加深对飞行器姿态控制过程的理解。同时可扩展为六自由度模型或加入外部干扰以增强仿真真实性。
基于分布式模型预测控制DMPC的多智能体点对点过渡轨迹生成研究(Matlab代码实现)内容概要:本文围绕“基于分布式模型预测控制(DMPC)的多智能体点对点过渡轨迹生成研究”展开,重点介绍如何利用DMPC方法实现多智能体系统在复杂环境下的协同轨迹规划与控制。文中结合Matlab代码实现,详细阐述了DMPC的基本原理、数学建模过程以及在多智能体系统中的具体应用,涵盖点对点转移、避障处理、状态约束与通信拓扑等关键技术环节。研究强调算法的分布式特性,提升系统的可扩展性与鲁棒性,适用于多无人机、无人车编队等场景。同时,文档列举了大量相关科研方向与代码资源,展示了DMPC在路径规划、协同控制、电力系统、信号处理等多领域的广泛应用。; 适合人群:具备一定自动化、控制理论或机器人学基础的研究生、科研人员及从事智能系统开发的工程技术人员;熟悉Matlab/Simulink仿真环境,对多智能体协同控制、优化算法有一定兴趣或研究需求的人员。; 使用场景及目标:①用于多智能体系统的轨迹生成与协同控制研究,如无人机集群、无人驾驶车队等;②作为DMPC算法学习与仿真实践的参考资料,帮助理解分布式优化与模型预测控制的结合机制;③支撑科研论文复现、毕业设计或项目开发中的算法验证与性能对比。; 阅读建议:建议读者结合提供的Matlab代码进行实践操作,重点关注DMPC的优化建模、约束处理与信息交互机制;按文档结构逐步学习,同时参考文中提及的路径规划、协同控制等相关案例,加深对分布式控制系统的整体理解。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值