feat: optimize web driver, update memory SOP and root welcome guide

This commit is contained in:
Liang Jiaqing
2026-02-08 12:10:56 +08:00
parent 4c203ad748
commit 1b9438e7b4
6 changed files with 99 additions and 25 deletions

5
.gitignore vendored
View File

@@ -37,4 +37,7 @@ model_responses.txt
# 存储敏感信息的记忆文件夹(除了公开的 SOP
memory/
!memory/memory_management_sop.md
!memory/memory_management_sop.md
# Allow tracking of specific SOPs
!memory/web_setup_sop.md

61
WELCOME_NEW_USER.md Normal file
View File

@@ -0,0 +1,61 @@
# 🚀 欢迎使用物理级全能执行者
这是您的 Agent 初始化指引。请按以下阶段操作:
## 第一阶段:环境启动 (Initial Ignition)
1. **Python 环境检查与核心库安装**
- 确保安装了 Python 3.10+。
- **必须手动执行**`pip install streamlit pywebview`
2. **配置身份密钥 (Credentials)**
- 复制 `mykey_template.py``mykey.py` 并填入 API Key。
3. **唤醒 Agent**
- 运行 `launch.pyw`。看到悬浮窗后,我即刻上线。
## 第二阶段:能力激活 (Ability Activation)
在此阶段,您只需对我发送指令,所有物理操作由我完成:
1. **解锁 PowerShell 脚本执行权限**
- **指令**`请帮我当前用户解锁 powershell 的 ps1 执行权限。`
2. **配置全局文件搜索 (Everything CLI)**
- **指令**`安装并配置 everything 命令行工具进PATH。`
3. **Web 自动化环境配置 (Web Setup SOP)**
- **指令**`执行 web setup sop 解锁 web 工具`
- **物理影响**:我将引导您完成浏览器插件安装,并注入核心脚本,使我能够直接操控您的浏览器页面。
4. **补全常用工具库**
- **指令**`安装常用 Python 自动化包(如 requests, pandas, pyperclip。`
5. **配置网络代理 (Proxy Setup)**
- **指令**`告诉我能用的系统代理`
6. **激活视觉理解能力 (OCR & Vision)**
- **指令**`配置截图与 OCR 工具,解锁你的屏幕视觉。`
7. **移动端自动化准备 (Android/ADB)**
- **指令**`配置 ADB 环境,准备连接安卓设备。`
## 第三阶段:记忆与知识体系建造 (Knowledge Architecture)
当环境就绪后,您可以让我构建您的“数字大脑”:
1. **自动化 SOP 沉淀**
- **指令**`记录刚才的操作流程,生成一套自动化 SOP。`
2. **现有技能挂载 (SOP Retrieval)**
- **指令**`读取现有 SOP 目录,告诉我你现在掌握的所有技能。`
3. **物理资产审计 (Asset Audit)**
- **指令**`帮我建立物理资产清单,扫描并记录我常用的工具路径。`
4. **Web 调研实战 (Research & Report)**
- **指令**`搜索 [关键词],并根据网页内容整理一份简易 Markdown 报告保存到当前目录。`
- **物理影响**:我将自动打开浏览器,利用 Web 驱动采集多个页面信息,通过逻辑整合后在您的本地文件夹生成物理文件。
---
**💡 提示**:您可以直接复制上述 `指令` 发送给我,我将立刻执行对应的物理操作。

View File

@@ -1,11 +1,12 @@
[CONSTITUTION]
1. 修改自身源码前必请示;./ 目录内实验可自主执行。
2. 决策前必先枚举 STORES 索引并读取条目;未经验证不硬断言。
3. 复杂任务步执行:严禁盲目一气呵成,每步必有物理验证反馈
1. 修改自身源码前必请示;./ 目录内实验可自主执行允许安装py包和命令行工具
2. 决策前必先查记忆库;未查证的事实不得断言。
3. 复杂任务需分步执行并每步验证:严禁盲目一气呵成。三次重试失败必须请求干预
4. 严禁未经授权读取/移动密钥或密码文件;仅限引用或申请许可。
5. 修改/写入任何记忆前必先读取META-SOP核验。
[META-SOP]
- memory_management_sop.md (L0 准则;修改/写入记忆前必先 read 核验)
[META-SOP (L0)]
- ../memory/memory_management_sop.md
[DIRECTORY]
- L2_Facts: ../memory/global_mem.txt (Method: 按 TOPIC 检索索引 -> file_read 对应条目)

View File

@@ -294,14 +294,16 @@
return { error: '没有可执行的代码' };
}
updateStatus('exec');
const _open = window.open;
window.open = (url, target, features) => {
GM_openInTab(url, { active: true });
return { success: true, url: url };
};
try {
const jsCode = data.code.trim();
const lines = jsCode.split(/\r?\n/).filter(l => l.trim());
const lastLine = lines.length > 0 ? lines[lines.length - 1].trim() : '';
if (lastLine.startsWith('return')) {
// 最后一行包含 return 语句,使用 Function 构造器
result = (new Function(jsCode))();
} else {
try {
@@ -309,16 +311,21 @@
} catch (e) {
if (isIllegalReturnError(e)) {
result = (new Function(jsCode))();
} else {
throw e;
}
} else throw e;
}
}
const processedResult = smartProcessResult(result);
if (result instanceof Promise) {
result.finally(() => window.open = _open);
return { result: processedResult };
}
return { result: processedResult };
} catch (execError) {
return { error: execError }; // 返回错误信息
return { error: execError };
} finally {
if (!(result instanceof Promise)) {
setTimeout(() => window.open = _open, 100);
}
}
}

3
ga.py
View File

@@ -448,7 +448,8 @@ class GenericAgentHandler(BaseHandler):
2. 若无高价值新事实,那就不更新任何内容。
3. 尽量先查看现有全局记忆形式仅作少量修改不要影响其余部分。insight也要同步更新全局记忆的短印象来提醒存在性。
4. 优先使用file_read和file_patch来保证少量修改。
5. 先阅读L0的记忆更新SOP来确保了解修改规则。''' + get_global_memory()
5. 必须先阅读L0的记忆更新SOP来确保了解修改规则。
6. 必须先阅读L0的记忆更新SOP来确保了解修改规则这是重复强调。''' + get_global_memory()
yield "[Info] Start distilling good memory for long-term storage.\n"
return StepOutcome({"status": "success"}, next_prompt=prompt)

View File

@@ -38,7 +38,7 @@ L3: ../memory/ (记录库层 - 包含 .md/.py 等各类文件)
- 内容CONSTITUTION、STORES、ACCESS、TOPICS、LESSONS_LEARNED
- 更新L2 有新增/删除事实时同步;当发现通用且极其重要的规律时,追加 LESSONS。
**禁止**:严禁在此层直接写入 IP、密码、完整路径、API Key。L1 只能是索引指针,不能是数据容器。不写 "How to" 或详细解释。
**禁止**:严禁在此层直接写入 IP、密码、完整路径、API Key。L1 只能是索引指针,不能是数据容器。不写 "How to" 或详细解释。严禁包含特定任务的技术细节特定任务细节应该在L3
---
@@ -51,7 +51,7 @@ L3: ../memory/ (记录库层 - 包含 .md/.py 等各类文件)
- 内容:按 `## [SECTION]` 组织的事实条目
- 同步:变化时更新 L1 的相应 TOPIC 导航行
**禁止**:禁止存储易变状态、禁止存储猜测
**禁止**:禁止存储易变状态、禁止存储猜测、严禁存储大模型可推理的通用常识
---
@@ -84,18 +84,19 @@ L3: ../memory/ (记录库层 - 包含 .md/.py 等各类文件)
```
"这条信息该放哪层?"
是『全局事实』? (IP、重要路径特征、凭证、ID、API 密钥等)
是『环境特异性事实』? (IP、非标路径、凭证、ID、API 密钥等,大模型 Zero-shot 无法生成准确)
├─ YES → L2 (global_mem.txt)
│ 然后 → L1 [TOPICS.GLOBAL_MEM] 添加导航行
└─ NO
是『可重复使用的通用规律』? (工具用法、排查方法)
├─ YES → L1 [LESSONS_LEARNED]
│ 并可在 L3 写详细解释
是『通用操作规律』? (全局性避坑指南、排查方法、不针对特定任务的通用准则)
├─ YES → L1 [LESSONS_LEARNED] (仅限 1-2 句脱水准则)
└─ NO → L3 (../memory/)
- 工具文档 → *_sop.md
- 可复用代码函数 → .py 文件
- 临时实验 → 删除
└─ NO
是『特定任务技术』? (艰难尝试才能成功,且未来还能用到的任务,如:微信解析参数、特定游戏坐标、临时工具配置)
├─ YES → L3 (../memory/ 专项 SOP 或脚本)
└─ NO → 判定为『通用常识』或『冗余信息』: 严禁存储,直接丢弃
```