Skip to content

Commit fca1c61

Browse files
committed
update
1 parent 7653e71 commit fca1c61

File tree

12 files changed

+4557
-3
lines changed

12 files changed

+4557
-3
lines changed

.gitmodules

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,3 +29,6 @@
2929
[submodule "cases/case_pdf-parser"]
3030
path = cases/pdf-parser
3131
url = git@github.com:cs-magic/case_pdf-parser.git
32+
[submodule "lab/ai-data-analysis"]
33+
path = lab/ai-data-analysis
34+
url = git@github.com:MarkShawn2020/ai-data-analysis.git

apps/auto-gui/.gitignore

Lines changed: 213 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,213 @@
1+
screenshots/*
2+
**/.data
3+
4+
### general template
5+
**/.idea
6+
7+
out
8+
9+
### JupyterNotebooks template
10+
# gitignore template for Jupyter Notebooks
11+
# website: http://jupyter.org/
12+
13+
.ipynb_checkpoints
14+
*/.ipynb_checkpoints/*
15+
16+
# IPython
17+
profile_default/
18+
ipython_config.py
19+
20+
# Remove previous ipynb_checkpoints
21+
# git rm -r .ipynb_checkpoints/
22+
23+
### macOS template
24+
# General
25+
.DS_Store
26+
.AppleDouble
27+
.LSOverride
28+
29+
# Icon must end with two \r
30+
Icon
31+
32+
# Thumbnails
33+
._*
34+
35+
# Files that might appear in the root of a volume
36+
.DocumentRevisions-V100
37+
.fseventsd
38+
.Spotlight-V100
39+
.TemporaryItems
40+
.Trashes
41+
.VolumeIcon.icns
42+
.com.apple.timemachine.donotpresent
43+
44+
# Directories potentially created on remote AFP share
45+
.AppleDB
46+
.AppleDesktop
47+
Network Trash Folder
48+
Temporary Items
49+
.apdisk
50+
51+
### Python template
52+
# Byte-compiled / optimized / DLL files
53+
__pycache__/
54+
*.py[cod]
55+
*$py.class
56+
57+
# C extensions
58+
*.so
59+
60+
# Distribution / packaging
61+
.Python
62+
build/
63+
develop-eggs/
64+
dist/
65+
downloads/
66+
eggs/
67+
.eggs/
68+
libs/
69+
lib64/
70+
parts/
71+
sdist/
72+
var/
73+
wheels/
74+
share/python-wheels/
75+
*.egg-info/
76+
.installed.cfg
77+
*.egg
78+
MANIFEST
79+
80+
# PyInstaller
81+
# Usually these files are written by a python script from a template
82+
# before PyInstaller builds the exe, so as to inject date/other infos into it.
83+
*.manifest
84+
*.spec
85+
86+
# Installer logs
87+
pip-log.txt
88+
pip-delete-this-directory.txt
89+
90+
# Unit test / coverage reports
91+
htmlcov/
92+
.tox/
93+
.nox/
94+
.coverage
95+
.coverage.*
96+
.cache
97+
nosetests.xml
98+
coverage.xml
99+
*.cover
100+
*.py,cover
101+
.hypothesis/
102+
.pytest_cache/
103+
cover/
104+
105+
# Translations
106+
*.mo
107+
*.pot
108+
109+
# Django stuff:
110+
*.log
111+
local_settings.py
112+
db.sqlite3
113+
db.sqlite3-journal
114+
115+
# Flask stuff:
116+
instance/
117+
.webassets-cache
118+
119+
# Scrapy stuff:
120+
.scrapy
121+
122+
# Sphinx documentation
123+
docs/_build/
124+
125+
# PyBuilder
126+
.pybuilder/
127+
target/
128+
129+
# Jupyter Notebook
130+
.ipynb_checkpoints
131+
132+
# IPython
133+
profile_default/
134+
ipython_config.py
135+
136+
# pyenv
137+
# For a library or package, you might want to ignore these files since the code is
138+
# intended to run in multiple environments; otherwise, check them in:
139+
# .python-version
140+
141+
# pipenv
142+
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
143+
# However, in case of collaboration, if having platform-specific dependencies or dependencies
144+
# having no cross-platform support, pipenv may install dependencies that don't work, or not
145+
# install all needed dependencies.
146+
#Pipfile.lock
147+
148+
# poetry
149+
# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
150+
# This is especially recommended for binary packages to ensure reproducibility, and is more
151+
# commonly ignored for libraries.
152+
# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
153+
#poetry.lock
154+
155+
# pdm
156+
# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
157+
#pdm.lock
158+
# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
159+
# in version control.
160+
# https://pdm.fming.dev/#use-with-ide
161+
.pdm.toml
162+
163+
# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
164+
__pypackages__/
165+
166+
# Celery stuff
167+
celerybeat-schedule
168+
celerybeat.pid
169+
170+
# SageMath parsed files
171+
*.sage.py
172+
173+
# Environments
174+
.env
175+
.venv
176+
env/
177+
venv/
178+
ENV/
179+
env.bak/
180+
venv.bak/
181+
182+
# Spyder project settings
183+
.spyderproject
184+
.spyproject
185+
186+
# Rope project settings
187+
.ropeproject
188+
189+
# mkdocs documentation
190+
/site
191+
192+
# mypy
193+
.mypy_cache/
194+
.dmypy.json
195+
dmypy.json
196+
197+
# Pyre type checker
198+
.pyre/
199+
200+
# pytype static type analyzer
201+
.pytype/
202+
203+
# Cython debug symbols
204+
cython_debug/
205+
206+
# PyCharm
207+
# JetBrains specific template is maintained in a separate JetBrains.gitignore that can
208+
# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
209+
# and can be added to the global gitignore or merged into this file. For a more nuclear
210+
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
211+
#.idea/
212+
213+

apps/auto-gui/README.md

Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
# AI Browser Assistant (experimental)
2+
3+
> 用 cursor 两小时试了一下,目前还需要进一步优化,暂时仅供学习使用。
4+
5+
基于大语言模型的浏览器自动化助手,能够通过自然语言指令完成各种浏览器操作任务。
6+
7+
## 功能特点
8+
9+
- 支持自然语言输入任务指令
10+
- 基于 Claude-3.5 大语言模型的智能决策
11+
- 实时屏幕截图分析
12+
- 自动化鼠标和键盘操作
13+
- 任务进度实时监控
14+
- 支持任务中断和取消
15+
16+
## 工作原理
17+
18+
1. 用户输入自然语言任务描述
19+
2. 系统启动任务循环:
20+
- 捕获当前屏幕截图
21+
- 将截图发送给 Claude-3.5 分析
22+
- 模型根据当前界面状态决定下一步操作
23+
- 执行相应的鼠标/键盘操作
24+
- 评估任务完成状态
25+
3. 任务完成或用户手动中断时结束
26+
27+
## 使用示例 (TODO)
28+
29+
```python
30+
# 示例任务: 在京东购买帽子
31+
task = "在京东上找一顶好看且性价比高的帽子并完成购买"
32+
assistant = BrowserAssistant()
33+
assistant.run_task(task)
34+
```
35+
36+
37+
## 环境要求
38+
39+
- Python 3.8+
40+
- 依赖包:
41+
- opencv-python
42+
- pyautogui
43+
- anthropic-sdk
44+
- pillow
45+
46+
## 安装说明
47+
48+
49+
```bash
50+
git clone https://github.com/yourusername/ai-browser-assistant
51+
cd ai-browser-assistant
52+
pip install -r requirements.txt
53+
```
54+
55+
56+
## 配置说明
57+
58+
1.`config.yaml` 中配置你的 Claude API 密钥:
59+
60+
```yaml
61+
claude:
62+
api_key: "your-api-key-here"
63+
```
64+
65+
2. 根据需要调整截图间隔和其他参数
66+
67+
## 使用注意
68+
69+
- 确保良好的网络连接以保证与 Claude API 的通信
70+
- 建议在操作过程中不要移动鼠标或使用键盘
71+
- 如需中断任务,按 Ctrl+C
72+
73+
## 开发计划
74+
75+
- [ ] 支持更多浏览器操作
76+
- [ ] 优化模型决策准确性
77+
- [ ] 添加任务历史记录
78+
- [ ] 支持并行任务处理
79+
- [ ] 添加 GUI 界面
80+
81+
## 贡献指南
82+
83+
欢迎提交 Issue 和 Pull Request 来帮助改进项目。
84+
85+
## 许可证
86+
87+
MIT License
88+
89+
## 联系方式
90+
91+
- 项目主页: https://github.com/cs-magic/auto-gui
92+
- 问题反馈: https://github.com/cs-magic/auto-gui/issues

apps/auto-gui/__init__.py

Whitespace-only changes.

0 commit comments

Comments
 (0)