id: 344c617ca4fc46feb88c819a8d664452
parent_id: 
item_type: 1
item_id: 48f159378ca7408695886bb0f6ac7ef2
item_updated_time: 1764370726915
title_diff: "[{\"diffs\":[[1,\"读书笔记  AI Agent 与 Gemini CLI 的学习课程(updated)\"]],\"start1\":0,\"start2\":0,\"length1\":0,\"length2\":42}]"
body_diff: "[{\"diffs\":[[1,\"<html>\\\r\\\n<head>\\\r\\\n  <title>读书笔记 | &lt;&lt;AI Agent 与 Gemini CLI 的学习课程(updated)&gt;&gt;</title>\\\r\\\n  <basefont face=\\\"微软雅黑\\\" size=\\\"2\\\" />\\\r\\\n  <meta http-equiv=\\\"Content-Type\\\" content=\\\"text/html;charset=utf-8\\\" />\\\r\\\n  <meta name=\\\"exporter-version\\\" content=\\\"YXBJ Windows/608924 (zh-CN, DDL); Windows/10.0.0 (Win64); EDAMVersion=V2;\\\"/>\\\r\\\n  <style>\\\r\\\n\\tbody, td {\\\r\\\n\\t  font-family: 微软雅黑;\\\r\\\n\\t  font-size: 12pt;\\\r\\\n\\t}\\\r\\\n  </style>\\\r\\\n</head>\\\r\\\n<body>\\\r\\\n<a name=\\\"45455\\\"></a>\\\r\\\n<h1>读书笔记 | &lt;&lt;AI Agent 与 Gemini CLI 的学习课程(updated)&gt;&gt;</h1>\\\r\\\n\\\r\\\n<div>\\\n<span><div>读书笔记 | &lt;&lt;AI Agent 与 Gemini CLI 的学习课程(updated)&gt;&gt;/storage/emulated/0/Android/data/com.onyx.kreader/cache/cbox_cache/2b6fdad5e3143ca027c7ca2bcd71112f/markdown.html</div><div>2025-08-03 09:35  |  页码：4</div><div>ReAct 核心流程：</div><div>用户提交任务。</div><div>Thought (思考)：Agent 首先进行思考，决定下一步做什么。</div><div>Action (行动)：思考后，Agent 决定是否调用工具。如果需要，它会调用合适的工具（如读取文件、写入文件内容），这被称为“行动”。</div><div>Observation (观察)：行动后，Agent 检查工具的执行结果（如读取到的文件内容、写入是否成功），这被称为“观察”。</div><div>循环：在观察之后，Agent 会继续思考，判断是否需要再次调用工具。如果需要，它会重复“行动 -&gt; 观察 -&gt; 思考”的流程。</div><div>Final Answer (最终答案)：直到 Agent 认为不再需要调用工具，可以直接给出结论时，它会输出最终答案，整个流程结束。</div><div>-------------------</div><div>2025-08-03 09:40  |  页码：7</div><div>Gemini CLI 采用推理和行动 (ReAct) 循环，结合内置工具和本地或远程 MCP (Model Context Protocol) 服务器，以完成复杂的用例，如修复 Bug、创建新功能和提高测试覆盖率。</div><div>-------------------</div><div>2025-08-03 09:42  |  页码：8</div><div>免费且慷慨的用量：个人开发者可以使用 Google 账号免费登录并获得 Gemini Code Assist 许可，享受每分钟 60 次、每日最多 1000 次的模型执行额度。</div><div>-------------------</div><div>2025-08-03 09:42  |  页码：9</div><div>自定义提示和指令：开发者可以自定义提示词和说明，让 Gemini 更贴近特定需求和工作流程。</div><div>任务自动化：可以通过在脚本中非交互式调用 Gemini CLI，自动化任务并整合现有工作流程。</div><div>与 Gemini Code Assist 集成：与 Google 的 AI 编码助手 Gemini Code Assist 共享核心技术。在 VS Code 中，可以使用代理模式在聊天窗口中输入任何提示词，Code Assist 将构建多步执行计划、自动修复失败的实现路径，并推荐解决方案。</div><div>-------------------</div><div>2025-08-03 09:44  |  页码：10</div><div>网络代理工具（推荐使用美国节点全局模式），因为认证时可能需要顺畅的网络连接。</div><div>-------------------</div><div>2025-08-03 09:47  |  页码：14</div><div>/chat save &lt;tag&gt;：将当前对话以指定标签保存。</div><div>/chat resume &lt;tag&gt;：加载之前保存的对话状态，继续交流。</div><div>-------------------</div><div>2025-08-03 09:48  |  页码：14</div><div>/memory 命令：管理 AI 的背景知识 (GEMINI.md)：</div><div>/memory show：显示当前 CLI 载入的 GEMINI.md 内容，确认 AI 知道哪些背景信息。</div><div>/memory refresh：强制 CLI 重新读取并加载 GEMINI.md 的最新内容。</div><div>用途：管理 AI 的长期指示或背景知识，使其行为更贴近项目或个人规范。</div><div>-------------------</div><div>2025-08-03 23:14  |  页码：15</div><div>@&lt;file_path&gt;：读取指定文件内容。</div><div>@&lt;directory_path&gt;：读取该目录下所有相关文件内容。</div><div>-------------------</div><div>2025-08-03 23:15  |  页码：16</div><div>! &lt;command&gt; 或 . &lt;command&gt;：执行单个 Shell 命令。例如：!ls -la 查看当前目录文件。</div><div>-------------------</div><div>2025-08-03 23:16  |  页码：16</div><div>单独输入 ! 或 .：进入一个临时 Shell 模式，可以在其中连续执行多个命令，完成后返回 Gemini CLI 对话界面。</div><div>-------------------</div><div>2025-08-03 23:17  |  页码：17</div><div>最低优先级：程序内建的默认值。</div><div>次低优先级：用户设定档 (~/.gemini/settings.json) - 针对所有项目的个人全局设定。</div><div>中优先级：专案设定档 (.gemini/settings.json) - 针对当前专案的特定设定，会覆盖用户设定。</div><div>次高优先级：环境变量 (.env 文件或系统环境变量) - 适合敏感信息（如 API Key），优先级高于项目设定。</div><div>最高优先级：命令行参数 - 执行 gemini 命令时直接附加的选项，会覆盖所有其他设定。</div><div>记住：后面的设定会覆盖前面的设定。</div><div>-------------------</div><div>2025-08-04 00:40  |  页码：19</div><div>工作机制：当你从某个目录执行 gemini 命令时，CLI 会从当前目录开始，向上层逐级查找所有 GEMINI.md 文件，并按照从上层到下层的顺序，将所有内容串接在一起。这个组合后的内容会在每次你提交提示给 AI 时，被默默地加在你的问题前面，作为 AI 的系统提示或背景知识。</div><div>-------------------</div><div>2025-08-04 00:40  |  页码：20</div><div>查看组合结果：使用 /memory show 命令。</div><div>-------------------</div><div>2025-08-04 00:42  |  页码：21</div><div>例如，可以配置 CEXT7 MCP server 来获取绝大部分开源项目和库的最新文档。</div><div>另一个例子是 TaskMaster MCP server，它能生成产品需求文档（PRD）并将其拆解为具体开发任务。</div><div>配置 MCP 服务需要在全局或项目特定的 settings.json 文件中添加配置。</div><div>-------------------</div><div>2025-08-04 00:44  |  页码：25</div><div>模型切换问题：CLI 自动从 Pro 切换到 Flash 模型通常是由于免费层级配额限制，可通过升级付费 API Key 或调整使用模式解决。</div><div>-------------------</div><div>2025-08-04 00:47  |  页码：27</div><div>GEMINI.md 的结构设计：</div><div>在家目录的 GEMINI.md 中写入通用要求，如“回答请用简体中文，语调专业”。</div><div>在项目根目录的 GEMINI.md 中写入项目级规范，如“请遵循本项目的 React Hooks 使用规范，优先使用 Functional Component”。</div><div>在子目录的 GEMINI.md 中写入特定模块或文件类型规范，如“此目录下的组件请确保符合设计系统规范，颜色要用 At 之类的”。</div><div>-------------------</div><div>2025-08-04 00:49  |  页码：29</div><div>用户可以在 VS Code 中同时使用 Gemini CLI 和 Gemini Code Assist，通过拖动调整界面布局。</div><div>-------------------</div><div><br/></div></span>\\\n</div></body></html>\\u0000\"]],\"start1\":0,\"start2\":0,\"length1\":0,\"length2\":4468}]"
metadata_diff: {"new":{"id":"48f159378ca7408695886bb0f6ac7ef2","parent_id":"24fad83f42ae4f65b0dabb88e41dade4","latitude":"0.00000000","longitude":"0.00000000","altitude":"0.0000","author":"","source_url":"","is_todo":0,"todo_due":0,"todo_completed":0,"source":"joplin-desktop","source_application":"net.cozic.joplin-desktop","application_data":"","order":1764370776603,"markup_language":2,"is_shared":0,"share_id":"","conflict_original_id":"","master_key_id":"","user_data":"","deleted_time":0},"deleted":[]}
encryption_cipher_text: 
encryption_applied: 0
updated_time: 2025-11-28T23:04:29.853Z
created_time: 2025-11-28T23:04:29.853Z
type_: 13