From eb15b304bc9d0c1ff9c0305d45d53ed0be4bb953 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=80=E7=87=95=E4=B9=8B=E7=A7=8B?= Date: Thu, 2 Jul 2026 10:18:12 +0800 Subject: [PATCH] 20260701 --- ...5\234\346\261\207\346\212\245_20260701.md" | 20 +++ ...\212\357\274\2102026-07-01\357\274\211.md" | 31 ++++ ...60\357\274\210\347\207\225\357\274\211.md" | 148 ++++++++++++++++++ ...234\346\261\207\346\200\273-2026-07-01.md" | 125 +++++++++++++++ ...234\346\261\207\346\212\245 2026.07.01.md" | 20 +++ 5 files changed, 344 insertions(+) create mode 100644 "\345\256\236\350\256\255\345\260\217\347\273\2047/\344\275\225\345\230\211\344\270\275/\345\267\245\344\275\234\346\261\207\346\212\245_20260701.md" create mode 100644 "\345\256\236\350\256\255\345\260\217\347\273\2047/\346\235\216\350\264\236\346\265\251/\351\203\250\347\275\262ai agent\347\254\254\344\272\214\345\244\251\346\212\245\345\221\212\357\274\2102026-07-01\357\274\211.md" create mode 100644 "\345\256\236\350\256\255\345\260\217\347\273\2047/\347\207\225\345\260\232\346\230\206/2026-07-01_\345\267\245\344\275\234\346\225\264\347\220\206\347\254\224\350\256\260\357\274\210\347\207\225\357\274\211.md" create mode 100644 "\345\256\236\350\256\255\345\260\217\347\273\2047/\347\237\263\344\274\237\346\235\203/\344\273\212\346\227\245\345\267\245\344\275\234\346\261\207\346\200\273-2026-07-01.md" create mode 100644 "\345\256\236\350\256\255\345\260\217\347\273\2047/\350\221\233\351\231\210\351\222\260/\345\267\245\344\275\234\346\261\207\346\212\245 2026.07.01.md" diff --git "a/\345\256\236\350\256\255\345\260\217\347\273\2047/\344\275\225\345\230\211\344\270\275/\345\267\245\344\275\234\346\261\207\346\212\245_20260701.md" "b/\345\256\236\350\256\255\345\260\217\347\273\2047/\344\275\225\345\230\211\344\270\275/\345\267\245\344\275\234\346\261\207\346\212\245_20260701.md" new file mode 100644 index 0000000..b77767a --- /dev/null +++ "b/\345\256\236\350\256\255\345\260\217\347\273\2047/\344\275\225\345\230\211\344\270\275/\345\267\245\344\275\234\346\261\207\346\212\245_20260701.md" @@ -0,0 +1,20 @@ +# 工作汇报 + +**日期**:2026年7月1日 + +--- + +## 工作项目清单 + +| 序号 | 工作事项 | 详情 | 状态 | +|------|----------|------|------| +| 1 | upgit 配置文件修正 | 检查并修正 `C:\Users\15220\Desktop\upgit\config.toml`,将文件命名模板从 `img/upgit_{year}{month}{day}_{unix_ts}{ext}` 改为 `upgit_{year}{month}{day}_{unix_ts}{ext}`,避免路径双重嵌套。配置文件已指向 Gitee 仓库 `hejiali18/img`。 | ✅ 已完成 | +| 2 | Typora 上传方式调研 | 发现 Typora 当前版本不支持 Custom Command 上传方式,仅支持 PicGo (app) 方式。 | ✅ 已确认 | +| 3 | PicGo 安装 | 安装 PicGo v3.0.0,安装路径 `D:\pg\PicGo\PicGo.exe`。 | ✅ 已完成 | +| 4 | PicGo + Typora 配置指导 | 指导手动完成以下配置:PicGo 安装 `gitee-uploader` 插件,配置 Gitee 图床(owner=hejiali18, repo=img),以及在 Typora 偏好设置中配置 PicGo (app) 路径。 | ✅ 已完成 | + +--- + +## 总结 + +今日主要围绕 Typora + PicGo + Gitee 图床的上传链路进行排查与配置,解决了 upgit 配置中的路径嵌套问题,并完成了 PicGo 的安装与基础配置指导。 diff --git "a/\345\256\236\350\256\255\345\260\217\347\273\2047/\346\235\216\350\264\236\346\265\251/\351\203\250\347\275\262ai agent\347\254\254\344\272\214\345\244\251\346\212\245\345\221\212\357\274\2102026-07-01\357\274\211.md" "b/\345\256\236\350\256\255\345\260\217\347\273\2047/\346\235\216\350\264\236\346\265\251/\351\203\250\347\275\262ai agent\347\254\254\344\272\214\345\244\251\346\212\245\345\221\212\357\274\2102026-07-01\357\274\211.md" new file mode 100644 index 0000000..750ae9d --- /dev/null +++ "b/\345\256\236\350\256\255\345\260\217\347\273\2047/\346\235\216\350\264\236\346\265\251/\351\203\250\347\275\262ai agent\347\254\254\344\272\214\345\244\251\346\212\245\345\221\212\357\274\2102026-07-01\357\274\211.md" @@ -0,0 +1,31 @@ +## 📅 第二天:多角色 Agent 实现与调试 + +**日期**:2026-07-01 +**目标**:完成 Supervisor 调度、三个角色 Agent 的逻辑编写,并能在终端运行。 + +### 完成内容 +1. **Supervisor 调度中枢** + - 基于 LangGraph 构建有状态图 + - 实现 `supervisor_node` 根据用户意图分配任务 + - 支持动态路由:summarizer / queryer / writer + +2. **三个角色 Agent** + - `summarizer`:读取文件 → 归纳核心要点 + - `queryer`:读取文件 → 回答具体问题 + - `writer`:生成代码、PPT、Word、Markdown + +3. **终端交互** + - `main.py` 实现循环输入,调用 `graph.stream()` + - 支持多轮对话,Agent 自动切换 + +### 遇到的问题与解决 +- **相对导入错误** → 改为绝对导入(`from agents import get_llm`) +- **`create_react_agent` 参数变更** → 将 `system_prompt` 改为 `prompt` +- **`\"\"\"` 转义问题** → 使用 `'''` 或手动修正 +- **API Key 无效** → 检查 `.env` 配置,确认 Key 正确 +- **402 余额不足** → 确认为 DeepSeek 账户欠费,需切换至本地 Ollama + +### 明日计划 +- 搭建 Gradio 可视化聊天界面 +- 创建桌面一键启动脚本 +- 总结项目并制定后续优化方向 \ No newline at end of file diff --git "a/\345\256\236\350\256\255\345\260\217\347\273\2047/\347\207\225\345\260\232\346\230\206/2026-07-01_\345\267\245\344\275\234\346\225\264\347\220\206\347\254\224\350\256\260\357\274\210\347\207\225\357\274\211.md" "b/\345\256\236\350\256\255\345\260\217\347\273\2047/\347\207\225\345\260\232\346\230\206/2026-07-01_\345\267\245\344\275\234\346\225\264\347\220\206\347\254\224\350\256\260\357\274\210\347\207\225\357\274\211.md" new file mode 100644 index 0000000..d08ed1b --- /dev/null +++ "b/\345\256\236\350\256\255\345\260\217\347\273\2047/\347\207\225\345\260\232\346\230\206/2026-07-01_\345\267\245\344\275\234\346\225\264\347\220\206\347\254\224\350\256\260\357\274\210\347\207\225\357\274\211.md" @@ -0,0 +1,148 @@ +# 2026-07-01 工作整理笔记 + +## 一句话总结 + +昨天围绕“做一个能上线并尝试收费的 App/网页产品”完成了本地开发、临时公网预览、腾讯云 CloudBase 国内付费部署、收款码同步、页面美化、上线验证;随后因商业可行性存疑,已将线上服务下架。最后又查询了新域名 `yanaiapp.com`,确认可注册但尚未购买和绑定。 + +## 项目位置 + +- 项目目录:`E:\Earn99ResumeFix` +- 当前记录文件:`E:\Earn99ResumeFix\DEPLOYMENT_STATUS.md` +- 国内部署说明:`E:\Earn99ResumeFix\DOMESTIC_PAID_DEPLOY.md` +- 长期上线记录:`E:\Earn99ResumeFix\LONG_TERM_DEPLOY.md` +- CloudBase 环境 ID:`yan-d0gmdm5oi11fa0df7` +- CloudBase 默认地址:`https://yan-d0gmdm5oi11fa0df7-1449207985.tcloudbaseapp.com/` + +## 已完成事项 + +### 1. 本地开发与部署包 + +- 在 `E:\Earn99ResumeFix` 下完成了一个静态网页 App。 +- 主要功能曾包括简历文本诊断、评分、关键词覆盖、优先修改建议、解锁完整报告和下载报告。 +- 生成过两个部署包: + - 海外部署包:`E:\Earn99ResumeFix\deploy.zip` + - 国内部署包:`E:\Earn99ResumeFix\china-deploy.zip` + +### 2. 临时公网预览 + +- 通过 `localhost.run` 建立过临时 HTTPS 预览: + - `https://843f5e5d9e96e6.lhr.life/index.html` +- 该链接依赖本机服务和 SSH 隧道,电脑关机、断网或进程关闭后会失效。 + +### 3. 国内付费上线 + +- 用户要求改成国内付费上线后,方案切换为腾讯云 CloudBase 静态网站托管。 +- 已完成 CloudBase 部署: + - 环境 ID:`yan-d0gmdm5oi11fa0df7` + - 正式地址:`https://yan-d0gmdm5oi11fa0df7-1449207985.tcloudbaseapp.com/` +- 部署命令记录: + - `cloudbase hosting deploy E:\Earn99ResumeFix\publish / -e yan-d0gmdm5oi11fa0df7` +- 上线后验证过: + - 首页可访问。 + - 示例诊断可运行。 + - 评分、关键词覆盖、优先修改列表可展示。 + - 解锁码 `EARN99` 可解锁完整报告。 + - 下载报告按钮可用。 + +### 4. 收款码同步 + +- 用户提供微信和支付宝收款码后,已同步到线上: + - 微信收款码:`assets/wechat-qr.jpg` + - 支付宝收款码:`assets/alipay-qr.jpg` +- 同步时间:2026-07-01 16:58 +- 当时验证结果: + - CloudBase 云端 `/assets` 下存在两张 JPG。 + - 线上解锁弹窗能显示微信二维码。 + - 线上解锁弹窗能显示支付宝二维码。 + - `app.js` 加入版本参数 `v=20260701-qr`,避免旧缓存显示占位内容。 + +### 5. 页面美化 + +- 同步时间:2026-07-01 17:05 +- 已完成改动: + - 删除底部“售价建议:¥9.9 / 份”提示条。 + - 删除“复制推广文案”按钮及相关脚本逻辑。 + - 优化顶部副标题、输入框提示、卡片背景、按钮质感和付款弹窗尺寸。 + - `app.js` 版本参数更新为 `v=20260701-polish`。 + - Service Worker 缓存升级到 `resume-fix-v3`。 +- 当时验证结果: + - 页面不再包含 `.seller-strip`。 + - 页面不再出现“售价建议”文案。 + - 示例诊断仍可运行。 + - 微信和支付宝收款码正常加载。 + - Chrome 控制台无错误。 + +### 6. 下架处理 + +- 用户认为“别人修改简历为什么不用国内免费 AI 而用这个”这个方向不可行,并要求下架。 +- 下架时间:2026-07-01 17:11 +- 当前线上状态:已下架。 +- 下架方式: + - 用 `E:\Earn99ResumeFix\takedown\index.html` 覆盖线上首页。 + - 删除线上功能脚本 `app.js`。 + - 删除线上样式文件 `styles.css`。 + - 删除线上 Service Worker `sw.js`。 + - 删除线上 manifest 文件 `manifest.webmanifest`。 + - 删除线上图标 `icon.svg`。 + - 删除线上收款码目录 `assets/`。 +- 下架页文案: + - `服务已下架` + - `该页面暂不再提供简历诊断、付款或报告下载服务。` +- 下架后验证: + - 公开首页显示下架页。 + - 页面不再包含简历输入框或解锁按钮。 + - `app.js` 返回 404。 + - `styles.css` 返回 404。 + - `assets/wechat-qr.jpg` 返回 404。 + - `assets/alipay-qr.jpg` 返回 404。 + +## 域名处理记录 + +用户先后提到想把默认 CloudBase 地址改成: + +- `yan_ai.com` +- `www.yan-ai.com` +- `yanaiapp.com` + +实际检查结果: + +- `yan-ai.com` 已被注册或停放,不能直接注册。 +- `yanaiapp.com` 在腾讯云域名注册页查询显示可注册。 +- 腾讯云显示价格:`83 元/首年`。 +- 由于腾讯云页面当时未登录,点击“立即加购”会弹出登录框,因此未完成加购、购买、实名、备案或绑定。 + +后续如果继续,需要用户本人完成或确认: + +- 腾讯云登录。 +- 域名购买付款。 +- 实名认证。 +- ICP 备案。 +- 自定义域名绑定。 +- DNS 解析配置。 + +## 当前状态 + +- App 代码仍保留在本地:`E:\Earn99ResumeFix` +- CloudBase 默认站点目前是下架页。 +- 收款码已经从线上删除。 +- 自定义域名 `yanaiapp.com` 尚未购买。 +- `yanaiapp.com` 尚未绑定到 CloudBase。 + +## 后续可继续做的方向 + +1. 如果继续做域名: + - 先登录腾讯云。 + - 购买 `yanaiapp.com`。 + - 在 CloudBase 静态网站托管里添加自定义域名。 + - 按腾讯云提示配置 DNS CNAME。 + - 按要求完成 HTTPS 证书和备案。 + +2. 如果继续做产品: + - 不建议继续做“简历 AI 修改收费”原方向。 + - 需要重新定义一个用户为什么愿意付费的具体场景。 + - 等新方向确定后,再决定是否恢复原站点或重做新页面。 + +3. 如果彻底停止: + - 当前线上已下架,暂时不会继续提供服务或收款。 + - 可保留 CloudBase 环境和本地代码作为备份。 + - 后续也可以删除 CloudBase 环境以避免持续费用。 diff --git "a/\345\256\236\350\256\255\345\260\217\347\273\2047/\347\237\263\344\274\237\346\235\203/\344\273\212\346\227\245\345\267\245\344\275\234\346\261\207\346\200\273-2026-07-01.md" "b/\345\256\236\350\256\255\345\260\217\347\273\2047/\347\237\263\344\274\237\346\235\203/\344\273\212\346\227\245\345\267\245\344\275\234\346\261\207\346\200\273-2026-07-01.md" new file mode 100644 index 0000000..a26630d --- /dev/null +++ "b/\345\256\236\350\256\255\345\260\217\347\273\2047/\347\237\263\344\274\237\346\235\203/\344\273\212\346\227\245\345\267\245\344\275\234\346\261\207\346\200\273-2026-07-01.md" @@ -0,0 +1,125 @@ +# 今日工作汇总 + +日期:2026-07-01 +项目:Local Offline Agent 本地离线 AI 助手 + +## 一、今日主要工作 + +今天主要围绕 `local-agent-ai` 项目继续开发,将原来的本地网页 AI 助手进一步调整为“本地离线 Agent”方案。重点是接入 Ollama 本机模型运行器,让普通对话可以由本机模型完成,同时保留系统信息、目录查看、文件读写、搜索、重命名、软删除等本地工具能力。 + +## 二、完成内容 + +### 1. 将项目定位调整为离线本地 Agent + +- 将项目名称和页面标题调整为 `Local Offline Agent`。 +- 明确运行模式为“离线本地”,强调普通对话由本机模型处理。 +- 保留本地文件工具能力,形成“本机模型 + 本地工具”的 Agent 雏形。 +- 页面中增加 Ollama 状态、本地文件接入状态等运行信息。 + +### 2. 接入 Ollama 本地模型服务 + +- 在后端新增 Ollama 服务地址配置,默认连接 `http://127.0.0.1:11434`。 +- 新增 `/api/ollama` 接口,用于检测 Ollama 是否可连接,并获取本机已安装模型列表。 +- 新增 `/api/chat` 接口,将前端普通聊天请求转发给 Ollama 的 `/api/chat`。 +- 设置默认模型为 `qwen2.5:3b`。 +- 支持配置输出长度,限制范围为 64 到 4096 tokens。 +- 在后端为模型加入系统提示词,要求模型使用中文、回答简洁准确,并说明文件操作由本地工具处理。 + +### 3. 完成轻量模型拉取与离线准备 + +- 新增 `pull-local-model.ps1`,用于自动拉取本地模型并记录日志。 +- 新增 `setup-offline-agent.ps1`,用于首次安装或配置离线 Agent 环境。 +- 默认拉取模型为 `qwen2.5:3b`,也支持传入其他模型名。 +- 拉取日志写入 `pull-model.log`。 +- 日志显示 `qwen2.5:3b` 已成功拉取完成,模型大小约 1.9GB。 +- 完成后即使断网,也可以继续使用已下载的本地模型进行对话。 + +### 4. 优化一键启动脚本 + +- 更新 `start-local-agent-ai.cmd`。 +- 启动时会先检查 Ollama 是否已安装。 +- 如果检测到 Ollama 但服务未运行,会自动尝试启动 `ollama serve`。 +- 如果本地网页服务已经运行,会直接打开浏览器访问 `http://127.0.0.1:5188/`。 +- 如果服务未运行,则启动 Node.js 服务并自动打开网页。 +- 如果未安装 Ollama,会提示聊天需要 Ollama,但本地文件命令仍可使用。 + +### 5. 调整前端聊天逻辑 + +- 移除了浏览器端 WebLLM 加载逻辑,改为调用后端 `/api/chat`。 +- 前端启动后会自动调用 `/api/ollama` 检查本机模型状态。 +- 根据已安装模型自动启用或禁用模型下拉选项。 +- 增加聊天历史上下文,保留最近多轮对话用于后续回答。 +- 普通问题交给 Ollama 模型回答;明确的本地操作指令仍优先走本地工具接口。 + +### 6. 保留并完善本地文件操作能力 + +今天继续保留了原有本地工具能力: + +- 查看系统信息 +- 列出目录 +- 搜索文件 +- 读取文本文件 +- 新建文件 +- 新建文件夹 +- 重命名文件或文件夹 +- 软删除文件或文件夹 + +同时保留路径别名解析能力,例如: + +- `桌面` +- `下载` +- `文档` +- `图片` +- `主目录` +- `工作区` + +删除操作仍然采用软删除方式,移动到项目内 `.local-ai-trash` 目录,避免直接永久删除。 + +### 7. 更新项目说明文档 + +- 更新 `README.md`,说明当前项目为本地离线 AI agent。 +- 补充 Ollama 地址、默认模型、推荐增强模型和启动方式。 +- 增加首次安装模型的操作说明。 +- 保留常用聊天框指令示例,方便后续演示和使用。 + +## 三、涉及文件 + +| 文件 | 今日工作内容 | +| --- | --- | +| `local-agent-ai/server.js` | 新增 Ollama 检测、聊天接口、本机模型调用逻辑,保留本地文件工具接口 | +| `local-agent-ai/public/app.js` | 改为调用 `/api/chat`,增加 Ollama 状态检查、模型选择、聊天历史 | +| `local-agent-ai/public/index.html` | 页面标题和侧边栏改为离线本地 Agent,增加运行状态展示 | +| `local-agent-ai/public/styles.css` | 调整页面样式,适配新的状态面板和离线 Agent 页面 | +| `local-agent-ai/start-local-agent-ai.cmd` | 增加 Ollama 检测与自动启动逻辑 | +| `local-agent-ai/setup-offline-agent.ps1` | 新增首次安装/配置 Ollama 与模型的脚本 | +| `local-agent-ai/pull-local-model.ps1` | 新增模型拉取脚本,支持重试和日志记录 | +| `local-agent-ai/pull-model.log` | 记录模型拉取过程,显示 `qwen2.5:3b` 已拉取成功 | +| `local-agent-ai/README.md` | 更新项目说明、启动方式、模型安装和使用示例 | + +## 四、今日测试与验证 + +- 执行了本地模型拉取流程。 +- `pull-model.log` 显示 `qwen2.5:3b` 拉取成功。 +- 模型大小约 1.9GB。 +- 启动脚本已具备检查 Ollama、启动 Ollama、打开网页、启动 Node.js 服务的流程。 +- 前端具备检测 Ollama 状态和根据已安装模型更新模型选择框的能力。 + +## 五、当前项目效果 + +目前项目已经从“依赖浏览器端 WebLLM 的本地 AI 网页助手”升级为“基于 Ollama 的本地离线 Agent”: + +- 打开网页后可以直接进行普通中文对话。 +- 对话由本机 Ollama 模型完成,不依赖云端模型接口。 +- 已下载 `qwen2.5:3b` 后,断网也能继续使用。 +- 本地文件操作仍然集成在同一个聊天输入框中。 +- 服务只监听 `127.0.0.1`,更适合作为个人电脑上的本地工具。 + +## 六、后续可优化方向 + +- 修复部分文档或终端显示中的中文编码乱码问题。 +- 增加对 Ollama 未安装、模型未下载、模型加载失败等情况的更友好提示。 +- 为删除、重命名、覆盖写入等高风险操作增加二次确认。 +- 增加模型管理界面,例如查看模型大小、拉取新模型、删除旧模型。 +- 将本地工具执行结果更自然地交给模型总结,提高 Agent 体验。 +- 增加更多文件预览能力,例如 Markdown、PDF、图片信息等。 + diff --git "a/\345\256\236\350\256\255\345\260\217\347\273\2047/\350\221\233\351\231\210\351\222\260/\345\267\245\344\275\234\346\261\207\346\212\245 2026.07.01.md" "b/\345\256\236\350\256\255\345\260\217\347\273\2047/\350\221\233\351\231\210\351\222\260/\345\267\245\344\275\234\346\261\207\346\212\245 2026.07.01.md" new file mode 100644 index 0000000..431f9a4 --- /dev/null +++ "b/\345\256\236\350\256\255\345\260\217\347\273\2047/\350\221\233\351\231\210\351\222\260/\345\267\245\344\275\234\346\261\207\346\212\245 2026.07.01.md" @@ -0,0 +1,20 @@ +#### 工作汇报 2026.07.01 + +**主要**:对于《快速了解 AI 通用指南》预习与复习并且整理重要内容 + +**背景:** 该文档是 AI 科普的系统性材料,涵盖了 AI 的概念、原理、工具和就业指导,对个人技术视野拓展和能力提升有重要价值。 + +**完成内容:** + +- 对文档进行了第二遍通读(预习阶段已读一遍,今日复习巩固) +- 重点梳理并背诵了以下知识点: + - **AI 套娃结构**:AI(目标)> 机器学习(方法)> 深度学习(工具) + - **核心术语**:Token(计费单元)、RAG(开卷问答)、上下文窗口(短期记忆)、智能体(自主执行)、提示工程(精准提问)、扩散模型(AI 画图原理)、MoE(混合专家架构省算力) + - **AI 工作本质**:大语言模型在玩“猜下一个字”的概率游戏,因此会产生“幻觉”,输出结果需要人工核查 + - **生成式 AI 三大流派**:GAN、VAE、扩散模型(当前主流) + - **智能体双雄**:OpenClaw(有手有脚能操作电脑)vs Hermes(会自我进化越用越聪明) + - **Skill → Workflow → Agent** 的进阶关系 + - **五力模型**:工具力、批判性思维、创造性思维、同理心、元学习能力 + - **就业方向**:各岗位(开发/运维/测试)的 AI 能力新要求及必知技术栈(LangChain、Dify、Ollama、vLLM 等) + +**收获:** 对 AI 领域建立了从概念 → 原理 → 工具 → 就业的完整认知框架,为后续实践学习打下坚实基础。同时明确了下一步的学习方向。 \ No newline at end of file -- Gitee