aient 1.1.7__tar.gz → 1.1.8__tar.gz
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.
- {aient-1.1.7/src/aient.egg-info → aient-1.1.8}/PKG-INFO +1 -1
- {aient-1.1.7 → aient-1.1.8}/setup.py +1 -1
- aient-1.1.8/src/aient/plugins/write_file.py +91 -0
- {aient-1.1.7 → aient-1.1.8/src/aient.egg-info}/PKG-INFO +1 -1
- aient-1.1.7/src/aient/plugins/write_file.py +0 -54
- {aient-1.1.7 → aient-1.1.8}/LICENSE +0 -0
- {aient-1.1.7 → aient-1.1.8}/MANIFEST.in +0 -0
- {aient-1.1.7 → aient-1.1.8}/README.md +0 -0
- {aient-1.1.7 → aient-1.1.8}/setup.cfg +0 -0
- {aient-1.1.7 → aient-1.1.8}/src/aient/__init__.py +0 -0
- {aient-1.1.7 → aient-1.1.8}/src/aient/core/.git +0 -0
- {aient-1.1.7 → aient-1.1.8}/src/aient/core/.gitignore +0 -0
- {aient-1.1.7 → aient-1.1.8}/src/aient/core/__init__.py +0 -0
- {aient-1.1.7 → aient-1.1.8}/src/aient/core/log_config.py +0 -0
- {aient-1.1.7 → aient-1.1.8}/src/aient/core/models.py +0 -0
- {aient-1.1.7 → aient-1.1.8}/src/aient/core/request.py +0 -0
- {aient-1.1.7 → aient-1.1.8}/src/aient/core/response.py +0 -0
- {aient-1.1.7 → aient-1.1.8}/src/aient/core/test/test_base_api.py +0 -0
- {aient-1.1.7 → aient-1.1.8}/src/aient/core/test/test_geminimask.py +0 -0
- {aient-1.1.7 → aient-1.1.8}/src/aient/core/test/test_image.py +0 -0
- {aient-1.1.7 → aient-1.1.8}/src/aient/core/test/test_payload.py +0 -0
- {aient-1.1.7 → aient-1.1.8}/src/aient/core/utils.py +0 -0
- {aient-1.1.7 → aient-1.1.8}/src/aient/models/__init__.py +0 -0
- {aient-1.1.7 → aient-1.1.8}/src/aient/models/audio.py +0 -0
- {aient-1.1.7 → aient-1.1.8}/src/aient/models/base.py +0 -0
- {aient-1.1.7 → aient-1.1.8}/src/aient/models/chatgpt.py +0 -0
- {aient-1.1.7 → aient-1.1.8}/src/aient/models/claude.py +0 -0
- {aient-1.1.7 → aient-1.1.8}/src/aient/models/duckduckgo.py +0 -0
- {aient-1.1.7 → aient-1.1.8}/src/aient/models/gemini.py +0 -0
- {aient-1.1.7 → aient-1.1.8}/src/aient/models/groq.py +0 -0
- {aient-1.1.7 → aient-1.1.8}/src/aient/models/vertex.py +0 -0
- {aient-1.1.7 → aient-1.1.8}/src/aient/plugins/__init__.py +0 -0
- {aient-1.1.7 → aient-1.1.8}/src/aient/plugins/arXiv.py +0 -0
- {aient-1.1.7 → aient-1.1.8}/src/aient/plugins/config.py +0 -0
- {aient-1.1.7 → aient-1.1.8}/src/aient/plugins/excute_command.py +0 -0
- {aient-1.1.7 → aient-1.1.8}/src/aient/plugins/get_time.py +0 -0
- {aient-1.1.7 → aient-1.1.8}/src/aient/plugins/image.py +0 -0
- {aient-1.1.7 → aient-1.1.8}/src/aient/plugins/list_directory.py +0 -0
- {aient-1.1.7 → aient-1.1.8}/src/aient/plugins/read_file.py +0 -0
- {aient-1.1.7 → aient-1.1.8}/src/aient/plugins/registry.py +0 -0
- {aient-1.1.7 → aient-1.1.8}/src/aient/plugins/run_python.py +0 -0
- {aient-1.1.7 → aient-1.1.8}/src/aient/plugins/websearch.py +0 -0
- {aient-1.1.7 → aient-1.1.8}/src/aient/prompt/__init__.py +0 -0
- {aient-1.1.7 → aient-1.1.8}/src/aient/prompt/agent.py +0 -0
- {aient-1.1.7 → aient-1.1.8}/src/aient/utils/__init__.py +0 -0
- {aient-1.1.7 → aient-1.1.8}/src/aient/utils/prompt.py +0 -0
- {aient-1.1.7 → aient-1.1.8}/src/aient/utils/scripts.py +0 -0
- {aient-1.1.7 → aient-1.1.8}/src/aient.egg-info/SOURCES.txt +0 -0
- {aient-1.1.7 → aient-1.1.8}/src/aient.egg-info/dependency_links.txt +0 -0
- {aient-1.1.7 → aient-1.1.8}/src/aient.egg-info/requires.txt +0 -0
- {aient-1.1.7 → aient-1.1.8}/src/aient.egg-info/top_level.txt +0 -0
- {aient-1.1.7 → aient-1.1.8}/test/test.py +0 -0
- {aient-1.1.7 → aient-1.1.8}/test/test_API.py +0 -0
- {aient-1.1.7 → aient-1.1.8}/test/test_Deepbricks.py +0 -0
- {aient-1.1.7 → aient-1.1.8}/test/test_Web_crawler.py +0 -0
- {aient-1.1.7 → aient-1.1.8}/test/test_aiwaves.py +0 -0
- {aient-1.1.7 → aient-1.1.8}/test/test_aiwaves_arxiv.py +0 -0
- {aient-1.1.7 → aient-1.1.8}/test/test_ask_gemini.py +0 -0
- {aient-1.1.7 → aient-1.1.8}/test/test_class.py +0 -0
- {aient-1.1.7 → aient-1.1.8}/test/test_claude.py +0 -0
- {aient-1.1.7 → aient-1.1.8}/test/test_claude_zh_char.py +0 -0
- {aient-1.1.7 → aient-1.1.8}/test/test_ddg_search.py +0 -0
- {aient-1.1.7 → aient-1.1.8}/test/test_download_pdf.py +0 -0
- {aient-1.1.7 → aient-1.1.8}/test/test_gemini.py +0 -0
- {aient-1.1.7 → aient-1.1.8}/test/test_get_token_dict.py +0 -0
- {aient-1.1.7 → aient-1.1.8}/test/test_google_search.py +0 -0
- {aient-1.1.7 → aient-1.1.8}/test/test_jieba.py +0 -0
- {aient-1.1.7 → aient-1.1.8}/test/test_json.py +0 -0
- {aient-1.1.7 → aient-1.1.8}/test/test_logging.py +0 -0
- {aient-1.1.7 → aient-1.1.8}/test/test_ollama.py +0 -0
- {aient-1.1.7 → aient-1.1.8}/test/test_plugin.py +0 -0
- {aient-1.1.7 → aient-1.1.8}/test/test_py_run.py +0 -0
- {aient-1.1.7 → aient-1.1.8}/test/test_requests.py +0 -0
- {aient-1.1.7 → aient-1.1.8}/test/test_search.py +0 -0
- {aient-1.1.7 → aient-1.1.8}/test/test_tikitoken.py +0 -0
- {aient-1.1.7 → aient-1.1.8}/test/test_token.py +0 -0
- {aient-1.1.7 → aient-1.1.8}/test/test_url.py +0 -0
- {aient-1.1.7 → aient-1.1.8}/test/test_whisper.py +0 -0
- {aient-1.1.7 → aient-1.1.8}/test/test_wildcard.py +0 -0
- {aient-1.1.7 → aient-1.1.8}/test/test_yjh.py +0 -0
@@ -4,7 +4,7 @@ from setuptools import setup, find_packages
|
|
4
4
|
|
5
5
|
setup(
|
6
6
|
name="aient",
|
7
|
-
version="1.1.
|
7
|
+
version="1.1.8",
|
8
8
|
description="Aient: The Awakening of Agent.",
|
9
9
|
long_description=Path.open(Path("README.md"), encoding="utf-8").read(),
|
10
10
|
long_description_content_type="text/markdown",
|
@@ -0,0 +1,91 @@
|
|
1
|
+
from .registry import register_tool
|
2
|
+
|
3
|
+
import os
|
4
|
+
import html
|
5
|
+
|
6
|
+
def unescape_html(input_string: str) -> str:
|
7
|
+
"""
|
8
|
+
将字符串中的 HTML 实体(例如 &)转换回其原始字符(例如 &)。
|
9
|
+
|
10
|
+
Args:
|
11
|
+
input_string: 包含 HTML 实体的输入字符串。
|
12
|
+
|
13
|
+
Returns:
|
14
|
+
转换后的字符串。
|
15
|
+
"""
|
16
|
+
return html.unescape(input_string)
|
17
|
+
|
18
|
+
@register_tool()
|
19
|
+
def write_to_file(path, content, mode='w'):
|
20
|
+
"""
|
21
|
+
## write_to_file
|
22
|
+
Description: Request to write full content to a file at the specified path. If the file exists, it will be overwritten with the provided content. If the file doesn't exist, it will be created. This tool will automatically create any directories needed to write the file.
|
23
|
+
Parameters:
|
24
|
+
- path: (required) The path of the file to write to (relative to the current working directory ${args.cwd})
|
25
|
+
- content: (required) The content to write to the file. ALWAYS provide the COMPLETE intended content of the file, without any truncation or omissions. You MUST include ALL parts of the file, even if they haven't been modified. Do NOT include the line numbers in the content though, just the actual content of the file.
|
26
|
+
- mode: (optional) The mode to write to the file. Default is 'w'. 'w' for write, 'a' for append.
|
27
|
+
Usage:
|
28
|
+
<write_to_file>
|
29
|
+
<path>File path here</path>
|
30
|
+
<content>
|
31
|
+
Your file content here
|
32
|
+
</content>
|
33
|
+
<mode>w</mode>
|
34
|
+
</write_to_file>
|
35
|
+
|
36
|
+
Example: Requesting to write to frontend-config.json
|
37
|
+
<write_to_file>
|
38
|
+
<path>frontend-config.json</path>
|
39
|
+
<content>
|
40
|
+
{
|
41
|
+
"apiEndpoint": "https://api.example.com",
|
42
|
+
"theme": {
|
43
|
+
"primaryColor": "#007bff",
|
44
|
+
"secondaryColor": "#6c757d",
|
45
|
+
"fontFamily": "Arial, sans-serif"
|
46
|
+
},
|
47
|
+
"features": {
|
48
|
+
"darkMode": true,
|
49
|
+
"notifications": true,
|
50
|
+
"analytics": false
|
51
|
+
},
|
52
|
+
"version": "1.0.0"
|
53
|
+
}
|
54
|
+
</content>
|
55
|
+
</write_to_file>
|
56
|
+
"""
|
57
|
+
# 确保目录存在
|
58
|
+
os.makedirs(os.path.dirname(path) or '.', exist_ok=True)
|
59
|
+
|
60
|
+
if content.startswith("##") and (path.endswith(".md") or path.endswith(".txt")):
|
61
|
+
content = "\n\n" + content
|
62
|
+
|
63
|
+
# 写入文件
|
64
|
+
with open(path, mode, encoding='utf-8') as file:
|
65
|
+
file.write(unescape_html(content))
|
66
|
+
|
67
|
+
return f"已成功写入文件:{path}"
|
68
|
+
|
69
|
+
|
70
|
+
if __name__ == "__main__":
|
71
|
+
text = """
|
72
|
+
<!DOCTYPE html>
|
73
|
+
<html lang="zh-CN">
|
74
|
+
<head>
|
75
|
+
<meta charset="UTF-8">
|
76
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
77
|
+
<title>Continuous Thought Machines (CTM) 原理解读</title>
|
78
|
+
<script>MathJax={chtml:{fontURL:'https://cdn.jsdelivr.net/npm/mathjax@3/es5/output/chtml/fonts/woff-v2'}}</script>
|
79
|
+
<script src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-chtml.js" id="MathJax-script" async></script>
|
80
|
+
<script src="https://cdnjs.cloudflare.com/ajax/libs/viz.js/2.1.2/viz.js" defer></script>
|
81
|
+
<script src="https://cdnjs.cloudflare.com/ajax/libs/viz.js/2.1.2/full.render.js" defer></script>
|
82
|
+
<script src="https://unpkg.com/@panzoom/panzoom@4.5.1/dist/panzoom.min.js" defer></script>
|
83
|
+
<link href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/themes/prism-okaidia.min.css" rel="stylesheet"/>
|
84
|
+
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Fira+Code:wght@400;500&display=swap" rel="stylesheet">
|
85
|
+
<link href="https://fonts.googleapis.com/icon?family=Material+Icons+Outlined" rel="stylesheet">
|
86
|
+
<style>
|
87
|
+
"""
|
88
|
+
with open("test.txt", "r", encoding="utf-8") as file:
|
89
|
+
content = file.read()
|
90
|
+
print(write_to_file("test.txt", content))
|
91
|
+
# python -m beswarm.aient.src.aient.plugins.write_file
|
@@ -1,54 +0,0 @@
|
|
1
|
-
from .registry import register_tool
|
2
|
-
|
3
|
-
import os
|
4
|
-
|
5
|
-
@register_tool()
|
6
|
-
def write_to_file(path, content, mode='w'):
|
7
|
-
"""
|
8
|
-
## write_to_file
|
9
|
-
Description: Request to write full content to a file at the specified path. If the file exists, it will be overwritten with the provided content. If the file doesn't exist, it will be created. This tool will automatically create any directories needed to write the file.
|
10
|
-
Parameters:
|
11
|
-
- path: (required) The path of the file to write to (relative to the current working directory ${args.cwd})
|
12
|
-
- content: (required) The content to write to the file. ALWAYS provide the COMPLETE intended content of the file, without any truncation or omissions. You MUST include ALL parts of the file, even if they haven't been modified. Do NOT include the line numbers in the content though, just the actual content of the file.
|
13
|
-
- mode: (optional) The mode to write to the file. Default is 'w'. 'w' for write, 'a' for append.
|
14
|
-
Usage:
|
15
|
-
<write_to_file>
|
16
|
-
<path>File path here</path>
|
17
|
-
<content>
|
18
|
-
Your file content here
|
19
|
-
</content>
|
20
|
-
<mode>w</mode>
|
21
|
-
</write_to_file>
|
22
|
-
|
23
|
-
Example: Requesting to write to frontend-config.json
|
24
|
-
<write_to_file>
|
25
|
-
<path>frontend-config.json</path>
|
26
|
-
<content>
|
27
|
-
{
|
28
|
-
"apiEndpoint": "https://api.example.com",
|
29
|
-
"theme": {
|
30
|
-
"primaryColor": "#007bff",
|
31
|
-
"secondaryColor": "#6c757d",
|
32
|
-
"fontFamily": "Arial, sans-serif"
|
33
|
-
},
|
34
|
-
"features": {
|
35
|
-
"darkMode": true,
|
36
|
-
"notifications": true,
|
37
|
-
"analytics": false
|
38
|
-
},
|
39
|
-
"version": "1.0.0"
|
40
|
-
}
|
41
|
-
</content>
|
42
|
-
</write_to_file>
|
43
|
-
"""
|
44
|
-
# 确保目录存在
|
45
|
-
os.makedirs(os.path.dirname(path) or '.', exist_ok=True)
|
46
|
-
|
47
|
-
if content.startswith("##") and (path.endswith(".md") or path.endswith(".txt")):
|
48
|
-
content = "\n\n" + content
|
49
|
-
|
50
|
-
# 写入文件
|
51
|
-
with open(path, mode, encoding='utf-8') as file:
|
52
|
-
file.write(content)
|
53
|
-
|
54
|
-
return f"已成功写入文件:{path}"
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|