@lmliheng/agent 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md ADDED
@@ -0,0 +1 @@
1
+ 26-8-27: 做了prompts里的JSON,表格,拒绝回答等格式的prompt函数
@@ -0,0 +1,12 @@
1
+ {
2
+ "folders": [
3
+ {
4
+ "path": "."
5
+ }
6
+ ],
7
+ "settings": {},
8
+ "launch": {
9
+ "version": "0.2.0",
10
+ "configurations": []
11
+ }
12
+ }
package/dist/index.mjs ADDED
@@ -0,0 +1,126 @@
1
+ /**
2
+ * @消息对象
3
+ * 创建:
4
+ * let message=new Message('说说KV cache')
5
+ * let message=new Message('说说KV cache','${prompt.JSON}')
6
+ *
7
+ */
8
+ class Message {
9
+
10
+ /**
11
+ *
12
+ * @初始化一段对话
13
+ * SystemMessage默认为空
14
+ */
15
+ constructor(text, SystemMessage = '') {
16
+ this.message = [
17
+ { "role": "system", "content": `${SystemMessage}` },
18
+ { "role": "user", "content": `${text}` }
19
+ ];
20
+ }
21
+ /**
22
+ * @多轮对话
23
+ * role可以选择system,assistant,tool,user
24
+ */
25
+ MessageAdd(message, role) {
26
+ this.message.push({ "role": role, "content": message });
27
+ }
28
+ }
29
+
30
+ class Prompts {
31
+
32
+ constructor(text) {
33
+ this.text = text;
34
+ }
35
+
36
+ /**
37
+ * 输出json格式的回答,这里只是在提示词这块进行响应约束
38
+ */
39
+ json() {
40
+ return `请将以下关于${this.text}的信息整理成严格的JSON格式输出。输出必须是一个有效的JSON对象,不要包含任何markdown代码块标记(如\`\`\`json)或其他解释性文字。
41
+
42
+ 字段定义:
43
+ - "name": [字符串,代表名称]
44
+ - "features": [字符串数组,列出主要特点,至少3个]
45
+ - "rating": [数字,1到10之间的整数,代表综合评分]
46
+
47
+ 主题:${this.text}
48
+
49
+ 请确保JSON格式正确,键名使用双引号。`
50
+ }
51
+
52
+ /**
53
+ * @响应格式是markdown的表格
54
+ */
55
+ table() {
56
+ return `请将以下关于${this.text}的信息整理成Markdown表格格式输出。
57
+
58
+ 要求:
59
+ - 使用Markdown表格语法(| 列1 | 列2 | ...)
60
+ - 表格应包含合适的列名(如:名称、特点、评分等)
61
+ - 内容应围绕主题"${this.text}"展开
62
+ - 特点列可以用换行(<br>)或列表形式展示多个特点
63
+ - 不要包含多余的说明文字,直接输出表格
64
+
65
+ 示例格式:
66
+ | 名称 | 主要特点 | 综合评分 |
67
+ |------|----------|----------|
68
+ | ... | ... | ... |`
69
+ }
70
+
71
+ /**
72
+ * @评分
73
+ */
74
+ rate() {
75
+ return `请对"${this.text}"进行综合评价并给出评分。
76
+
77
+ 要求:
78
+ - 评分范围为1到10分(整数)
79
+ - 请给出评分理由,从多个维度进行分析(如:实用性、创新性、性价比、易用性等)
80
+ - 输出格式:
81
+ - 总分:[数字]/10
82
+ - 各维度评分及简要说明
83
+ - 总结性评价(2-3句话)
84
+
85
+ 请客观、公正地进行评价。`
86
+ }
87
+
88
+ /**
89
+ * @拒绝回答
90
+ * 用在系统提示词里
91
+ */
92
+ refuse(refuse_text) {
93
+ return `当用户提问涉及${refuse_text}相关的内容时,请礼貌地拒绝回答。
94
+
95
+ 拒绝话术要求:
96
+ - 语气友好、礼貌,不要生硬
97
+ - 简要说明无法回答的原因(如:涉及敏感信息、超出知识范围、违反安全策略等)
98
+ - 可以提供替代建议(如:建议用户咨询相关专业人士、查阅官方资料等)
99
+ - 不要透露任何关于${refuse_text}的具体信息
100
+
101
+ 示例回复风格:
102
+ "抱歉,关于这个话题我暂时无法为您提供详细信息。建议您[替代建议]。如有其他问题,欢迎继续提问。"`
103
+ }
104
+
105
+ /**
106
+ * @给回答加上引用
107
+ */
108
+ quote() {
109
+ return `请围绕"${this.text}"提供详细的信息,并在回答中附上引用来源。
110
+
111
+ 引用要求:
112
+ - 每个关键论点或数据都必须标注引用来源
113
+ - 引用格式:[来源名称](URL) 或 [来源名称](如果无URL)
114
+ - 在回答末尾统一列出"参考资料"列表
115
+ - 确保引用来源可靠、可查证
116
+ - 如果信息不确定,请明确标注"待验证"
117
+
118
+ 回答结构:
119
+ 1. 正文内容(含内联引用)
120
+ 2. 参考资料列表(编号对应正文中的引用)
121
+
122
+ 请确保信息准确,引用规范。`
123
+ }
124
+ }
125
+
126
+ export { Message, Prompts };
package/index.js ADDED
@@ -0,0 +1,2 @@
1
+ export { default as Message } from './message/index.js'
2
+ export { default as Prompts } from './prompts/index.js'
@@ -0,0 +1,33 @@
1
+
2
+
3
+ /**
4
+ * @消息对象
5
+ * 创建:
6
+ * let message=new Message('说说KV cache')
7
+ * let message=new Message('说说KV cache','${prompt.JSON}')
8
+ *
9
+ */
10
+ export default class Message {
11
+
12
+ /**
13
+ *
14
+ * @初始化一段对话
15
+ * SystemMessage默认为空
16
+ */
17
+ constructor(text, SystemMessage = '') {
18
+ this.message = [
19
+ { "role": "system", "content": `${SystemMessage}` },
20
+ { "role": "user", "content": `${text}` }
21
+ ]
22
+ }
23
+ /**
24
+ * @多轮对话
25
+ * role可以选择system,assistant,tool,user
26
+ */
27
+ MessageAdd(message, role) {
28
+ this.message.push({ "role": role, "content": message })
29
+ }
30
+ }
31
+
32
+
33
+
package/package.json ADDED
@@ -0,0 +1,30 @@
1
+ {
2
+ "publishConfig": {
3
+ "registry": "https://registry.npmjs.org/",
4
+ "access": "public"
5
+ },
6
+ "name": "@lmliheng/agent",
7
+ "version": "1.0.0",
8
+ "description": "agent包,目前有message,prompts模块,最近一次更新是26-8-27",
9
+ "keywords": [
10
+ "prompt",
11
+ "agent"
12
+ ],
13
+ "author": "lmliheng",
14
+ "license": "MIT",
15
+ "main": "index.js",
16
+ "scripts": {
17
+ "test": "node --test",
18
+ "mcp": "node index.mjs --server",
19
+ "disk": "node src/Disk/disk.js",
20
+ "build": "rollup -c",
21
+ "p": "npm version patch && npm publish --registry=https://registry.npmjs.org/"
22
+ },
23
+ "type": "module",
24
+ "dependencies": {
25
+ "zod": "^4.4.3"
26
+ },
27
+ "devDependencies": {
28
+ "rollup": "^4.62.4"
29
+ }
30
+ }
@@ -0,0 +1,95 @@
1
+ export default class Prompts {
2
+
3
+ constructor(text) {
4
+ this.text = text
5
+ }
6
+
7
+ /**
8
+ * 输出json格式的回答,这里只是在提示词这块进行响应约束
9
+ */
10
+ json() {
11
+ return `请将以下关于${this.text}的信息整理成严格的JSON格式输出。输出必须是一个有效的JSON对象,不要包含任何markdown代码块标记(如\`\`\`json)或其他解释性文字。
12
+
13
+ 字段定义:
14
+ - "name": [字符串,代表名称]
15
+ - "features": [字符串数组,列出主要特点,至少3个]
16
+ - "rating": [数字,1到10之间的整数,代表综合评分]
17
+
18
+ 主题:${this.text}
19
+
20
+ 请确保JSON格式正确,键名使用双引号。`
21
+ }
22
+
23
+ /**
24
+ * @响应格式是markdown的表格
25
+ */
26
+ table() {
27
+ return `请将以下关于${this.text}的信息整理成Markdown表格格式输出。
28
+
29
+ 要求:
30
+ - 使用Markdown表格语法(| 列1 | 列2 | ...)
31
+ - 表格应包含合适的列名(如:名称、特点、评分等)
32
+ - 内容应围绕主题"${this.text}"展开
33
+ - 特点列可以用换行(<br>)或列表形式展示多个特点
34
+ - 不要包含多余的说明文字,直接输出表格
35
+
36
+ 示例格式:
37
+ | 名称 | 主要特点 | 综合评分 |
38
+ |------|----------|----------|
39
+ | ... | ... | ... |`
40
+ }
41
+
42
+ /**
43
+ * @评分
44
+ */
45
+ rate() {
46
+ return `请对"${this.text}"进行综合评价并给出评分。
47
+
48
+ 要求:
49
+ - 评分范围为1到10分(整数)
50
+ - 请给出评分理由,从多个维度进行分析(如:实用性、创新性、性价比、易用性等)
51
+ - 输出格式:
52
+ - 总分:[数字]/10
53
+ - 各维度评分及简要说明
54
+ - 总结性评价(2-3句话)
55
+
56
+ 请客观、公正地进行评价。`
57
+ }
58
+
59
+ /**
60
+ * @拒绝回答
61
+ * 用在系统提示词里
62
+ */
63
+ refuse(refuse_text) {
64
+ return `当用户提问涉及${refuse_text}相关的内容时,请礼貌地拒绝回答。
65
+
66
+ 拒绝话术要求:
67
+ - 语气友好、礼貌,不要生硬
68
+ - 简要说明无法回答的原因(如:涉及敏感信息、超出知识范围、违反安全策略等)
69
+ - 可以提供替代建议(如:建议用户咨询相关专业人士、查阅官方资料等)
70
+ - 不要透露任何关于${refuse_text}的具体信息
71
+
72
+ 示例回复风格:
73
+ "抱歉,关于这个话题我暂时无法为您提供详细信息。建议您[替代建议]。如有其他问题,欢迎继续提问。"`
74
+ }
75
+
76
+ /**
77
+ * @给回答加上引用
78
+ */
79
+ quote() {
80
+ return `请围绕"${this.text}"提供详细的信息,并在回答中附上引用来源。
81
+
82
+ 引用要求:
83
+ - 每个关键论点或数据都必须标注引用来源
84
+ - 引用格式:[来源名称](URL) 或 [来源名称](如果无URL)
85
+ - 在回答末尾统一列出"参考资料"列表
86
+ - 确保引用来源可靠、可查证
87
+ - 如果信息不确定,请明确标注"待验证"
88
+
89
+ 回答结构:
90
+ 1. 正文内容(含内联引用)
91
+ 2. 参考资料列表(编号对应正文中的引用)
92
+
93
+ 请确保信息准确,引用规范。`
94
+ }
95
+ }
@@ -0,0 +1,7 @@
1
+ export default {
2
+ input: './index.js',
3
+ output: [{
4
+ file: 'dist/index.mjs',
5
+ format: 'esm'
6
+ }]
7
+ }