beswarm 0.2.95__py3-none-any.whl → 0.2.96__py3-none-any.whl
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.
- beswarm/aient/aient/plugins/read_file.py +20 -9
- {beswarm-0.2.95.dist-info → beswarm-0.2.96.dist-info}/METADATA +1 -1
- {beswarm-0.2.95.dist-info → beswarm-0.2.96.dist-info}/RECORD +5 -5
- {beswarm-0.2.95.dist-info → beswarm-0.2.96.dist-info}/WHEEL +0 -0
- {beswarm-0.2.95.dist-info → beswarm-0.2.96.dist-info}/top_level.txt +0 -0
@@ -7,7 +7,7 @@ from .registry import register_tool
|
|
7
7
|
|
8
8
|
# 读取文件内容
|
9
9
|
@register_tool()
|
10
|
-
def read_file(file_path):
|
10
|
+
def read_file(file_path, head: int = None):
|
11
11
|
"""
|
12
12
|
Description: Request to read the contents of a file at the specified path. Use this when you need to examine the contents of an existing file you do not know the contents of, for example to analyze code, review text files, or extract information from configuration files. Automatically extracts raw text from PDF and DOCX files. May not be suitable for other types of binary files, as it returns the raw content as a string.
|
13
13
|
|
@@ -16,6 +16,7 @@ Description: Request to read the contents of a file at the specified path. Use t
|
|
16
16
|
|
17
17
|
参数:
|
18
18
|
file_path: 要读取的文件路径,(required) The path of the file to read (relative to the current working directory)
|
19
|
+
head: (可选) 读取文件的前N行,默认为None,读取整个文件
|
19
20
|
|
20
21
|
返回:
|
21
22
|
文件内容的字符串
|
@@ -161,13 +162,23 @@ Examples:
|
|
161
162
|
# 捕获在此块中可能发生的其他错误,例如未被早期检查捕获的文件读取问题
|
162
163
|
return f"<tool_error>处理通用文件 '{file_path}' 时发生错误: {e}</tool_error>"
|
163
164
|
|
164
|
-
if
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
165
|
+
if head is not None:
|
166
|
+
try:
|
167
|
+
num_lines = int(head)
|
168
|
+
if num_lines > 0:
|
169
|
+
lines = text_content.splitlines(True)
|
170
|
+
return "".join(lines[:num_lines])
|
171
|
+
except (ValueError, TypeError):
|
172
|
+
# Invalid head value, ignore and proceed with normal logic.
|
173
|
+
pass
|
174
|
+
|
175
|
+
# if file_path.lower().endswith('.csv'):
|
176
|
+
# lines = text_content.splitlines(True)
|
177
|
+
# if len(lines) > 500:
|
178
|
+
# top_lines = lines[:250]
|
179
|
+
# bottom_lines = lines[-250:]
|
180
|
+
# omitted_count = len(lines) - 500
|
181
|
+
# text_content = "".join(top_lines) + f"\n... (中间省略了 {omitted_count} 行) ...\n" + "".join(bottom_lines)
|
171
182
|
|
172
183
|
# 返回文件内容
|
173
184
|
return text_content
|
@@ -182,6 +193,6 @@ Examples:
|
|
182
193
|
|
183
194
|
if __name__ == "__main__":
|
184
195
|
# python -m beswarm.aient.aient.plugins.read_file
|
185
|
-
result = read_file("./work/cax/Lenia Notebook.ipynb")
|
196
|
+
result = read_file("./work/cax/Lenia Notebook.ipynb", head=10)
|
186
197
|
print(result)
|
187
198
|
print(len(result))
|
@@ -34,7 +34,7 @@ beswarm/aient/aient/plugins/excute_command.py,sha256=b-rxsyFN6_HnZJAhUi9Qsp8iJ6X
|
|
34
34
|
beswarm/aient/aient/plugins/get_time.py,sha256=Ih5XIW5SDAIhrZ9W4Qe5Hs1k4ieKPUc_LAd6ySNyqZk,654
|
35
35
|
beswarm/aient/aient/plugins/image.py,sha256=ZElCIaZznE06TN9xW3DrSukS7U3A5_cjk1Jge4NzPxw,2072
|
36
36
|
beswarm/aient/aient/plugins/list_directory.py,sha256=V_uKkLx_fQDL5z__bSDC-PqAP-o32KmQW6Pdhx0Fx0s,1433
|
37
|
-
beswarm/aient/aient/plugins/read_file.py,sha256=
|
37
|
+
beswarm/aient/aient/plugins/read_file.py,sha256=qHAhdesOr1VMOCDkeHNvI8UV2ZI98HmJl6GhN4Aq9dU,9183
|
38
38
|
beswarm/aient/aient/plugins/read_image.py,sha256=4FbIiMNVFUQpNyiH5ApGSRvOD9ujcXGyuqlGTJMd7ac,4017
|
39
39
|
beswarm/aient/aient/plugins/readonly.py,sha256=qK5-kBM3NDH1b-otFxFHpAjV5BXEY_e7cTWBcpP7G5k,710
|
40
40
|
beswarm/aient/aient/plugins/registry.py,sha256=YknzhieU_8nQ3oKlUSSWDB4X7t2Jx0JnqT2Jd9Xsvfk,3574
|
@@ -122,7 +122,7 @@ beswarm/tools/search_web.py,sha256=0fTeczXiOX_LJQGaLEGbuJtIPzofeuquGWEt3yDMtVw,1
|
|
122
122
|
beswarm/tools/subtasks.py,sha256=NHDnmUhUPgDQKBACnpgErpFJRcsH0w_Q9VsyQjNvNHA,12658
|
123
123
|
beswarm/tools/worker.py,sha256=mQ1qdrQ8MgL99byAbTvxfEByFFGN9mty3UHqHjARMQ8,2331
|
124
124
|
beswarm/tools/write_csv.py,sha256=u0Hq18Ksfheb52MVtyLNCnSDHibITpsYBPs2ub7USYA,1466
|
125
|
-
beswarm-0.2.
|
126
|
-
beswarm-0.2.
|
127
|
-
beswarm-0.2.
|
128
|
-
beswarm-0.2.
|
125
|
+
beswarm-0.2.96.dist-info/METADATA,sha256=0zhgegx3K6PKTRtbI64ZE96bNOgZqIf5yA_-zDbusVE,3878
|
126
|
+
beswarm-0.2.96.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
127
|
+
beswarm-0.2.96.dist-info/top_level.txt,sha256=pJw4O87wvt5882smuSO6DfByJz7FJ8SxxT8h9fHCmpo,8
|
128
|
+
beswarm-0.2.96.dist-info/RECORD,,
|
File without changes
|
File without changes
|