1772702706

This commit is contained in:
Docker7530
2026-03-05 17:25:08 +08:00
parent 7d7193bb5d
commit 1a3976708a
67 changed files with 342 additions and 334 deletions
-12
View File
@@ -1,12 +0,0 @@
```
r5hzczwdpd2bin2zxapbnqjmwdjny2kz
mq7swt5pxdhhz6mmryz28n3ytgma83fb
18789
18790
http://82.158.226.4:18789?token=r5hzczwdpd2bin2zxapbnqjmwdjny2kz
https://openclaw.excalicode.org?token=mq7swt5pxdhhz6mmryz28n3ytgma83fb
```
-53
View File
@@ -1,53 +0,0 @@
```
sequenceDiagram
participant User as 用户(前端)
participant Gateway as 鉴权(可合并到智能体)
participant Agent as Spring AI Agent(编排/工具执行)
participant LLM as 大语言模型
participant DomainAPI as 域名列表接口(Tool,可选,举例后期多智能体多工具协作)
participant DataAPI as 流量查询接口 query_trafficTool
autonumber
User->>Gateway: 提问:“帮我查一下 a.com 昨天的流量”
Gateway->>Gateway: 校验 Token,解析 TenantID
Gateway->>Agent: 转发请求(带 TenantID 到 header 或 context
Agent->>Agent: 拦截器读取 header -> 写入 ThreadLocalTenantID
Agent->>LLM: system prompt + 对话历史 + tools schema
alt 参数充足(有 domain + timeRange
LLM-->>Agent: tool_call: query_traffic{domain=a.com,time=yesterday}
Agent->>DataAPI: HTTP 调用或者调用 tool,取决于是否采用远程 mcp(拦截器从 ThreadLocal 注入 TenantID
DataAPI->>DataAPI: 横向鉴权(tenant 是否拥有 domain
alt 鉴权失败
DataAPI-->>Agent: 业务错误:无权访问该域名数据
Agent->>LLM: tool_result(错误信息/错误码)
LLM-->>Agent: 生成答复(解释无权限 + 建议可查询域名/联系管理员)
Agent-->>User: 返回最终结果
else 鉴权成功
DataAPI-->>Agent: 200 JSON{traffic=500GB}
Agent->>LLM: tool_resultJSON 数据)
LLM-->>Agent: 生成答复:“a.com 昨天的流量为 500GB...”
Agent-->>User: 返回最终结果
end
else 参数不全(例如只问“查 3 月流量”,缺 domain)
LLM-->>Agent: 需要 domain,先澄清/或先发找可选域名
alt 仅澄清(没有域名查找工具)
LLM-->>Agent: 追问:“要查询哪个域名的 3 月流量?”
Agent-->>User: 返回追问
Note over User,Agent: 用户补充 domain 后进入下一轮对话,再走“参数充足”分支
else 有域名查找工具(显得比较智能)
LLM-->>Agent: tool_call: list_domains{}
Agent->>DomainAPI: 调用(注入 TenantID
DomainAPI-->>Agent: JSON{domains:[a.com,b.com,...]}
Agent->>LLM: tool_resultJSON 域名列表)
LLM-->>Agent: 追问/确认:“你要查哪个域名?a.com 还是 b.com?”
Agent-->>User: 返回追问
Note over User,Agent: 用户选择后进入下一轮对话,再走“参数充足”分支
end
end
Agent->>Agent: finally 清理 ThreadLocal(线程复用问题)
```
-73
View File
@@ -1,73 +0,0 @@
```
sequenceDiagram
participant User as 用户(前端)
participant Gateway as 鉴权(可合并到智能体)
participant Agent as Spring AI Agent(编排/工具执行)
participant LLM as 大语言模型
participant DomainAPI as 域名列表接口(Tool,可选)
participant DataAPI as 流量数据接口(Toolquery/export
participant OSS as 对象存储
autonumber
User->>Gateway: 提问:“帮我把 a.com 1月到3月的流量数据导出来”
Gateway->>Gateway: 校验 Token,解析 TenantID
Gateway->>Agent: 转发请求(带 TenantID 到 header 或 context
Agent->>Agent: 拦截器读取 header -> 写入 ThreadLocalTenantID
Agent->>LLM: system prompt + 对话历史 + tools schemaquery_traffic/export_traffic/list_domains
alt 参数充足(domain + timeRange + intent=export
LLM-->>Agent: tool_call: export_traffic{domain=a.com,from=2025-01-01,to=2025-03-31,format=xlsx}
Agent->>DataAPI: 调用 tool(拦截器从 ThreadLocal 注入 TenantID
DataAPI->>DataAPI: 横向鉴权(tenant 是否拥有 domain
alt 鉴权失败
DataAPI-->>Agent: 业务错误:无权访问该域名数据
Agent->>LLM: tool_result(错误信息/错误码)
LLM-->>Agent: 生成答复(无权限 + 建议/下一步)
Agent-->>User: 返回最终结果
alt 同步导出(小数据)
DataAPI->>DataAPI: 查询明细/聚合数据
DataAPI->>DataAPI: EasyExcel 生成临时 .xlsx
DataAPI->>OSS: 上传文件流
OSS-->>DataAPI: 返回预签名下载链接(过期时间)
DataAPI-->>Agent: 200 JSON{url,expireAt,fileName}
Agent->>LLM: tool_resultJSONurl/expireAt...
LLM-->>Agent: 生成答复(Markdown 链接 + 过期提示)
Agent-->>User: 返回最终结果
DataAPI-->>Agent: 202 JSON{jobId,status=PROCESSING}
Agent->>LLM: tool_resultjobId + 引导用户等待/可查询进度)
LLM-->>Agent: 生成答复:“已开始导出,任务号xxx…”
Agent-->>User: 返回任务已创建
Note over User, Agent: 用户稍后追问“导出好了没?”或前端轮询(模型能力弱我感觉最好别轮训,可以在对话框提示询问)
User->>Gateway: “查询导出进度 jobId=xxx”
Gateway->>Agent: 转发(TenantID
Agent->>Agent: 写 ThreadLocalTenantID
Agent->>LLM: tools schemaget_export_status / get_export_url
LLM-->>Agent: tool_call: get_export_status{jobId=xxx}
Agent->>DataAPI: 注入 TenantID 调用
DataAPI-->>Agent: 200 JSON{status=FINISHED,url,expireAt}
Agent->>LLM: tool_resultJSON
LLM-->>Agent: 生成答复(返回下载链接)
Agent-->>User: 返回最终结果
end
end
LLM-->>Agent: 需要补齐参数(domain/timeRange/导出格式)
alt 仅澄清(无域名工具)
LLM-->>Agent: 追问:“要导出哪个域名?时间范围是?”
Agent-->>User: 返回追问
else 有域名查找工具
LLM-->>Agent: tool_call: list_domains{}
Agent->>DomainAPI: 调用(注入 TenantID
DomainAPI-->>Agent: JSON{domains:[a.com,b.com,...]}
Agent->>LLM: tool_result(域名列表)
LLM-->>Agent: 追问/确认(domain + timeRange
Agent-->>User: 返回追问
end
end
Agent->>Agent: finally 清理 ThreadLocal(线程复用问题)
```
-60
View File
@@ -1,60 +0,0 @@
```
flowchart TB
subgraph Layer1["1. 用户与接入层 (Access Layer)"]
UI["Web 中台控制台\n(对话界面 / 插件管理)"]
ChatBot["企微/办公 IM 机器人"]
Card["安全审批卡片\n(Human-in-the-loop)"]
end
subgraph Tools["内置核心能力"]
RAG["RAG 问答引擎"]
CodeInterpreter["数据分析引擎\n(分析CDN优质客户)"]
end
subgraph Layer2["2. 智能体编排中台 (基于 Spring Boot & Spring AI)"]
Router["意图路由引擎 (Semantic Router)"]
Planner["Agent 调度与规划 (ReAct)"]
Tools
end
subgraph Layer3["3. 动态插件生态引擎 (Plugin Market) ⭐️核心创新"]
RegistryDB[("插件注册数据库\n(存储接口URL、参数定义)")]
SchemaConverter["动态 Schema 转换器\n(DB配置 -> LLM Function Calling)"]
Interceptor["高危操作拦截器\n(识别写操作、触发审批)"]
HttpExecutor["通用 HTTP 执行器\n(动态发起 REST 请求)"]
MCPClient["MCP 协议网关\n(未来对接标准 MCP Server)"]
end
subgraph Layer4["4. 基础设施与外部业务线 (Infrastructure & Business)"]
LLM["大语言模型 (LLM)"]
RAGFlow["现有 RAGFlow 知识库"]
IBS["IBS 系统\n(流量查验/工单)"]
CDN["CDN 下发系统\n(一键配置)"]
DNS["DNS 管理系统\n(动态查询)"]
end
UI --> Router
ChatBot --> Router
Router -- 知识库查询 --> RAG
Router -- 业务指令/查询 --> Planner
RAG <-- 检索 --> RAGFlow
Planner <-- "1. 交互与思考" --> LLM
RegistryDB -. "2. 实时加载接口配置" .-> SchemaConverter
SchemaConverter -- "3. 转换并注入可用工具" --> Planner
Planner -- "4. 生成调用指令" --> Interceptor
Interceptor -. "5a. 识别为 CDN 下发\n要求人工确认" .-> Card
Card -. 用户点击“确认” .-> Interceptor
Interceptor -- "5b. 鉴权通过放行" --> HttpExecutor
Interceptor -- 放行至新架构 --> MCPClient
HttpExecutor -- "6. 拼装动态 HTTP 请求" --> IBS
HttpExecutor -- HTTP 请求 --> CDN & DNS
MCPClient -. 未来演进: MCP通信协议 .-> DNS
Card:::highlight
IBS:::external
CDN:::external
DNS:::external
classDef core fill:#e1f5fe,stroke:#01579b,stroke-width:2px
classDef plugin fill:#fff3e0,stroke:#e65100,stroke-width:2px
classDef external fill:#f1f8e9,stroke:#33681e,stroke-width:1px
classDef highlight fill:#ffebee,stroke:#c62828,stroke-width:2px
style Layer1 fill:#fafafa,stroke:#bdbdbd,stroke-width:1px,stroke-dasharray: 5 5
style Layer2 fill:#fafafa,stroke:#bdbdbd,stroke-width:1px,stroke-dasharray: 5 5
style Layer3 fill:#fafafa,stroke:#ffb74d,stroke-width:2px,stroke-dasharray: 5 5
style Layer4 fill:#fafafa,stroke:#bdbdbd,stroke-width:1px,stroke-dasharray: 5 5
```
-44
View File
@@ -1,44 +0,0 @@
```
flowchart TB
subgraph Layer1["1. 用户侧"]
UI["对话框"]
end
subgraph Layer2["2. 智能体编排层"]
Router@{ label: "意图识别与分发<br><span style=\"background-color:\">语义路由,小模型更好,选择题</span>" }
Planner["Agent 规划与调度 (ReAct)"]
LLM["大模型 (LLM)"]
end
subgraph Layer3["3. 工具检索引擎 (Tool-RAG) ⭐️"]
Embedding["Embedding 模型<br>(文本转向量)"]
VectorDB[("向量数据库<br>(Milvus / pgvector)<br>存储插件语义")]
RelationalDB[("关系型数据库<br>(MySQL)<br>存储接口物理配置")]
SchemaBuilder["Schema 组装器<br>(仅组装 Top-K 工具)"]
end
subgraph Layer4["4. 拦截与执行层"]
Interceptor["高危操作拦截器<br>(审批效果,这个需要和前端沟通方案)"]
HttpExecutor["通用 HTTP 执行器<br>(动态请求第三方组)"]
IBS["IBS / CDN / DNS 系统"]
end
UI -- "1. 输入: 查一下流量" --> Router
Router -- "2. 业务请求" --> Embedding
Embedding -- "3. 提取语义向量" --> VectorDB
VectorDB -- "4. 返回相似度 Top-3 的插件 ID" --> SchemaBuilder
RelationalDB -. "5. 根据 ID 拉取详细配置URL等" .-> SchemaBuilder
SchemaBuilder -- "6. 动态注入这 3 个工具说明" --> Planner
Planner <-- "7. 仅带 3 个工具进行交互<br>提取并完善参数" --> LLM
Planner -- "8. 决定调用某工具+参数" --> Interceptor
Interceptor -- "9. 放行/审批" --> HttpExecutor
HttpExecutor -- "10. 动态发起真实请求" --> IBS
Register["管理员注册新插件"] -. "A. 存入运行配置" .-> RelationalDB
Register -. "B. 向量化插件描述" .-> VectorDB
Router@{ shape: rect}
Embedding:::vector
VectorDB:::vector
RelationalDB:::plugin
SchemaBuilder:::vector
classDef core fill:#e1f5fe,stroke:#01579b,stroke-width:2px
classDef plugin fill:#fff3e0,stroke:#e65100,stroke-width:2px
classDef vector fill:#e8f5e9,stroke:#2e7d32,stroke-width:2px
classDef highlight fill:#ffebee,stroke:#c62828,stroke-width:2px
```
+72
View File
@@ -0,0 +1,72 @@
# 关于 Node
| Node.js | Java |
| --------------- | ----------- |
| Node.js version | JDK version |
| V8 Engine | JVM |
| npm | Maven |
| N-API | JNI |
## Node.js 版本
[Node.js — Node.js 版本](https://nodejs.org/zh-cn/about/previous-releases)
# 学习资料
https://u19tul1sz9g.feishu.cn/docx/WEWJdSzF5oTnwvxHGGAc0Vojnxe?from=from_copylink
密码:M6923&65
# 第一章 开发环境与核心概念
UI = f(State)
用户界面仅仅是应用程序状态的一个函数
初始化环境
```
pnpm create vite@latest basic --template react-ts
```
导入方式:
具名导入:
```
import { ... } from 'react'
```
默认导入:
```
import ... from 'react'
```
副作用导入:
```
import './index.css'
```
# CSS
顶级作用域
```
:root {
```
媒体查询
```
@media (prefers-color-scheme: light) {
}
```
ID 选择器
```
#root
```
@@ -49,6 +49,6 @@
| 候选存在 | `[` / `]` | 以词定字:取首字/末字 | `wanxiang.schema.yaml` |
| 候选存在 | `,` | super_tips 上屏按键 | `wanxiang.schema.yaml` |
![](../../attachment/images-uuid/1b6c8b1c84064481ac7c72347ba8e259.png)
![](../../../attachment/images-uuid/1b6c8b1c84064481ac7c72347ba8e259.png)
![](../../attachment/images-uuid/b8817fb44bcf4c4c938e9492dc554bcd.png)
![](../../../attachment/images-uuid/b8817fb44bcf4c4c938e9492dc554bcd.png)
+95
View File
@@ -0,0 +1,95 @@
### 第一梯队:句子的绝对核心(没他们开不了机)
#### 1. 主语 (Subject) —— “男/女主角”
- **是什么**:整句话的主导者,也就是**“谁”**或者**“什么东西”**。它通常站在句子的最开头。
- **谁来演**:通常由**名词**或**代词**(我、你、他)来演。
- **例子**
- **I** love apples. **我**爱苹果。) 👉 “我”是主语。
- **The dog** is running. **狗**在跑。) 👉 “狗”是主语。
#### 2. 谓语 (Predicate) —— “核心动作”
- **是什么**:主角(主语)**“做了什么”**动作。可以说,没有谓语就没有英语句子!
- **谁来演**:**只能由动词**来演!
- **例子**
- I **love** apples. (我**爱**苹果。) 👉 “爱”是谓语。
- The dog **bites** the cat. (狗**咬**猫。) 👉 “咬”是谓语。
#### 3. 宾语 (Object) —— “承受者 / 倒霉蛋”
- **是什么**:动作的承受者。也就是主角的动作发泄在谁身上了。通常放在谓语(动作)的后面。
- **谁来演**:通常由**名词**或**代词**来演。
- **例子**
- I love **apples**. (我爱**苹果**。) 👉 “苹果”被爱,是宾语。
- The dog bites **the cat**. (狗咬**猫**。) 👉 “猫”被咬,是宾语。
> **💡 小结一下:主谓宾 (S-V-O)**
> **[狗]** (主语/谁) + **[咬]** (谓语/动作) + **[猫]** (宾语/承受者)。
> 这就是英语中最常见、最重要的骨架!
---
### 第二梯队:说明状态的特殊组合
#### 4. 表语 (Predicative) —— “身份状态标签”
- **是什么**:当句子里没有明显的动作(比如跑、跳、吃),而是想说主语**“是什么”**或**“怎么样”**时,用来贴标签的词,就叫表语。
- **位置**:它永远跟在 `am/is/are` (系动词) 的后面。
- **例子**
- I am **a teacher**. (我是**老师**。) 👉 “老师”说明我的身份,是表语。
- She is **beautiful**. (她是**美丽的**。) 👉 “美丽的”说明她的状态,是表语。
---
### 第三梯队:让句子变得更丰富的“配角”
如果你只会主谓宾,句子就像光秃秃的树干(我吃苹果)。要想句子好听,就需要下面这几个“配角”来添枝加叶:
#### 5. 定语 (Attribute) —— “名词的专属化妆师”
- **是什么**:用来修饰、限定**名词**的。它告诉你这个东西“是什么样的”、“谁的”、“多少个”。
- **谁来演**:主要是**形容词**。
- **例子**
- I love **red** apples. (我爱**红色的**苹果。) 👉 “红色的”修饰苹果,是定语。
- This is **my** book. (这是**我的**书。) 👉 “我的”修饰书,是定语。
#### 6. 状语 (Adverbial) —— “电影的背景板”
- **是什么**:用来交代动作发生的**时间、地点、原因、方式**等。它修饰的是动词(动作)或整个句子。
- **谁来演**:通常是**副词**或**介词短语**。
- **例子**
- I eat apples **in the morning**. (我**在早上**吃苹果。) 👉 “在早上”交代时间,是时间状语。
- The dog runs **fast**. (狗跑得**快**。) 👉 “快”交代跑的方式,是方式状语。
#### 7. 补语 (Complement) —— “最后的补充说明”
- **是什么**:有时候有了主语、谓语、宾语,意思还不完整,需要再补充一下。
- **例子**
- Apples make me **happy**. (苹果让我**开心**。)
- *解释*:如果只说 Apples make me (苹果让我…),话没说完。加上 happy,补充说明“我”的状态,这个 happy 就是宾语补足语(简称宾补)。
---
### 👑 终极实战演练(一句话把它们全串起来)
我们来看一句完整的话,看看大家都在演什么角色:
> **Yesterday, my cute dog bit a bad thief seriously.**
> (昨天,我可爱的狗狠狠地咬了一个坏小偷。)
我们来拆解一下这部“电影”的卡司阵容:
1. **dog** (狗) 👉 **主语** (谁干的?狗干的)
2. **bit** (咬了) 👉 **谓语** (干了什么动作?咬)
3. **thief** (小偷) 👉 **宾语** (谁被咬了?小偷被咬了)
4. **my cute** (我的可爱的) 👉 **定语** (给狗化妆:什么样的狗?)
5. **a bad** (一个坏的) 👉 **定语** (给小偷化妆:什么样的小偷?)
6. **Yesterday** (昨天) 👉 **状语** (背景板:什么时候咬的?)
7. **seriously** (狠狠地) 👉 **状语** (背景板:怎么咬的?)
**给新手的建议:**
你现在基础比较弱,**绝对不要去死记硬背 4、5、6、7**!
你现在只需要在看每一句英语的时候,能像侦探一样,准确地把 **“主语(谁)”**、**“谓语(动作)”**、**“宾语(承受者)”** 抓出来,你的英语阅读和造句就能直接及格了!
+136
View File
@@ -0,0 +1,136 @@
# 第一部分:英语的8大核心“词性”(积木的种类)
要查字典或学语法,必须先认识词性。每个单词都有自己的“身份”。
## 1. 名词 (Noun, 缩写: **n.**) —— “名字”
- **是什么**:人、物品、地点、概念的名称。
- **怎么用**:通常作句子的主角(主语)或接收动作的对象(宾语)。
- **例子**
- `apple` (苹果), `water` (水), `teacher` (老师), `China` (中国)
- **造句**The **teacher** likes **apples**. (老师喜欢苹果。)
## 2. 代词 (Pronoun, 缩写: **pron.**) —— “替身演员”
- **是什么**:用来代替名词,为了说话不啰嗦。(比如不说“李雷吃饭,李雷喝水”,而说“他吃饭,他喝水”)
- **怎么用**:用法和名词一样。
- **例子**
- `I` (我), `you` (你), `he/she/it` (他/她/它), `they` (他们)
- **造句****He** likes apples. (**他**喜欢苹果。)
## 3. 动词 (Verb, 缩写: **v.**) —— “动作或状态” (核心发动机!)
- **是什么**:表示“做什么”或“是什么”。一个完整的句子**必须**有动词!
- **怎么用**:放在主角(主语)后面。
- **例子**
- 动作:`run` (跑), `eat` (吃), `study` (学习)
- 状态(联系动词):`am / is / are` (是)
- **造句**I **eat** apples. (我**吃**苹果。) / I **am** happy. (我**是**快乐的。)
## 4. 形容词 (Adjective, 缩写: **adj.**) —— “化妆师”
- **是什么**:用来修饰**名词**,说明人或事物“怎么样”。
- **怎么用**:放在名词前面,或者 `am/is/are` 后面。
- **例子**
- `big` (大的), `beautiful` (美丽的), `red` (红色的)
- **造句**A **red** apple. (一个**红色的**苹果。) / The apple is **big**. (这个苹果很**大**。)
## 5. 副词 (Adverb, 缩写: **adv.**) —— “特效师”
- **是什么**:用来修饰**动词**、**形容词**。通常表示时间、地点、程度、方式。很多副词以 `-ly` 结尾。
- **怎么用**:一般放在动词之后,或形容词之前。
- **例子**
- `very` (非常), `quickly` (快速地), `here` (这里), `yesterday` (昨天)
- **造句**I eat **quickly**. (我吃得**很快**。) / It is **very** big. (它**非常**大。)
## 6. 介词 (Preposition, 缩写: **prep.**) —— “桥梁”
- **是什么**:表示方位、时间、关系,它不能单独存在,后面必须跟名词。
- **怎么用**:和名词手拉手,组成“介词短语”。
- **例子**
- `in` (在…里), `on` (在…上), `at` (在…点钟), `with` (和…一起)
- **造句**The apple is **on** the table. (苹果**在**桌子**上**。)
## 7. 连词 (Conjunction, 缩写: **conj.**) —— “胶水”
- **是什么**:把单词和单词、句子和句子连在一起。
- **怎么用**:放在两个要连接的部分中间。
- **例子**
- `and` (和), `but` (但是), `because` (因为), `so` (所以)
- **造句**I like apples **and** bananas. (我喜欢苹果**和**香蕉。)
## 8. 感叹词 (Interjection, 缩写: **int.**) —— “情绪包”
- **是什么**:表达惊讶、高兴、痛苦等情绪的词。(最简单,基本不影响语法)。
- **例子**`Wow!` (哇), `Ouch!` (哎哟), `Oh!` (哦)
# 第二部分:必学的核心语法(怎么拼积木)
基础差的朋友,千万不要去背什么“虚拟语气”、“非谓语动词”。你只需要掌握两样东西:**句子结构(骨架)**和**时态(时间)**。
## 第一关:英语的两大“万能骨架”(句型)
**骨架1:主语 + 谓语(动词) + 宾语 (简称:主谓宾)**
- **通俗解释**:谁 (主) + 做了什么动作 (谓) + 承受动作的事物 (宾)。
- **例子**
- I (我) + love (爱) + you (你).
- The dog (狗) + bit (咬了) + him (他).
- *注意:英语的语序和中文基本一样。*
**骨架2:主语 + 系动词(am/is/are) + 表语 (简称:主系表)**
- **通俗解释**:谁 (主) + 是 (系) + 身份/特征 (表)。当你想描述一个事物的状态时用这个。
- **系动词怎么用**:我用 `am`,你用 `are``is` 连着他、她、它。
- **例子**
- I (我) + am (是) + a student (学生). -> 描述身份
- She (她) + is (是) + beautiful (美丽的). -> 描述特征
## 第二关:英语的四大基础“时态”(时间机器)
中文说时间,动词不变(我昨天“吃”,我明天“吃”)。但**英语里,不同的时间,动词要跟着变身!** 初学者先拿下这4个最常用的:
**1. 一般现在时 (习惯、真理)**
- **什么时候用**:经常发生的动作,或者客观事实。
- **怎么变**:动词用原形。(⚠️大坑注意:如果主语是“他/她/它/单个人”,动词后面要加 `s``es`,这叫“第三人称单数”)。
- **例子**
- I **play** games every day. (我每天玩游戏。)
- He **plays** games every day. (他每天玩游戏。—— 动词加了s)
**2. 现在进行时 (此时此刻)**
- **什么时候用**:正在发生的事情(中文里的“正在…”)。
- **怎么变**am/is/are + 动词加 `ing`
- **例子**
- I **am playing** games now. (我现在**正在玩**游戏。)
- She **is sleeping**. (她**正在睡觉**。)
**3. 一般过去时 (事情已结束)**
- **什么时候用**:过去发生的事情。
- **怎么变**:动词变成过去式(通常是在后面加 `ed`,有些是不规则的需要背,比如 go变成went)。
- **例子**
- I **played** games yesterday. (我昨天玩游戏了。—— 加了ed)
- I **went** to Beijing last year. (我去年去了北京。—— went是go的过去式)
**4. 一般将来时 (未来计划)**
- **什么时候用**:还没发生,将要发生的事情。
- **怎么变**:在动词原形前面加 `will` (将会),或者用 `am/is/are going to` (打算)。
- **例子**
- I **will play** games tomorrow. (我明天**将会**玩游戏。)
- We **are going to eat** pizza. (我们**打算去吃**披萨。)
# 第三部分:如何把这套指南用起来?(给新手的3条建议)
1. **先背名词和动词**
不要一开始就背高级形容词。先背日常见到的东西(名词:桌子水杯)和每天做的动作(动词:吃喝拉撒睡)。有这两个,你就能说出最简单的“主谓宾”了。
2. **套公式造句(重点练习)**
拿一个最简单的词,用四个时态去造句,锻炼你的大脑反应:
- 我每天喝水 (I drink water.)
- 我正在喝水 (I am drinking water.)
- 我昨天喝水了 (I drank water. *drink的过去式是drank*)
- 我明天要喝水 (I will drink water.)
3. **大声读出来**
语法不是做选择题做会的,是嘴巴读顺了产生“语感”的。遇到看不懂的句子,就去找它的**主语**和**动词**,找到这两个,句子大意就明白了。
+1
View File
@@ -7,6 +7,7 @@ Always respond in Chinese-simplified
## ⚠️ MANDATORY: Always Use Backslashes on Windows for File Paths
**When using Edit or MultiEdit tools on Windows, you MUST use backslashes (`\`) in file paths, NOT forward slashes (`/`).**
**When using Edit or MultiEdit tools on Windows, you MUST use absolute paths, NOT relative paths.**
### ❌ WRONG - Will cause errors:
+1 -1
View File
@@ -7,7 +7,7 @@ mcp
```
claude mcp add --transport http context7 https://mcp.context7.com/mcp --header "CONTEXT7_API_KEY: ctx7sk-21884782-852a-4ef8-8f26-83cd9b8c7d30" --scope user
claude mcp add -s user -t http deepwiki https://mcp.deepwiki.com/mcp
{
"morecup-context": {
-25
View File
@@ -1,25 +0,0 @@
```
-Xms1024m
-Xmx4096m
-XX:ReservedCodeCacheSize=512m
-XX:+IgnoreUnrecognizedVMOptions
-XX:+UseG1GC
-XX:SoftRefLRUPolicyMSPerMB=50
-XX:CICompilerCount=2
-XX:+HeapDumpOnOutOfMemoryError
-XX:-OmitStackTraceInFastThrow
-ea
-Dsun.io.useCanonCaches=false
-Djdk.http.auth.tunneling.disabledSchemes=""
-Djdk.attach.allowAttachSelf=true
-Djdk.module.illegalAccess.silent=true
-Dkotlinx.coroutines.debug=off
-XX:ErrorFile=$USER_HOME/java_error_in_idea_%p.log
-XX:HeapDumpPath=$USER_HOME/java_error_in_idea.hprof
--add-opens=java.base/jdk.internal.org.objectweb.asm=ALL-UNNAMED
--add-opens=java.base/jdk.internal.org.objectweb.asm.tree=ALL-UNNAMED
-javaagent:E:\DevTool\Jetbrains\jetbra\ja-netfilter.jar=jetbrains
```