1773109225
This commit is contained in:
Vendored
-1
@@ -6,7 +6,6 @@
|
||||
"recent-files-obsidian",
|
||||
"oz-clear-unused-images",
|
||||
"obsidian-excalidraw-plugin",
|
||||
"copy-url-in-preview",
|
||||
"templater-obsidian",
|
||||
"obsidian-linter"
|
||||
]
|
||||
@@ -1,6 +0,0 @@
|
||||
{
|
||||
"middleClickNewTab": false,
|
||||
"revealInNavigation": true,
|
||||
"enableDefaultOnCanvas": false,
|
||||
"pdfMenu": false
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
@@ -1,11 +0,0 @@
|
||||
{
|
||||
"id": "copy-url-in-preview",
|
||||
"name": "Image Context Menus",
|
||||
"version": "1.12.1",
|
||||
"minAppVersion": "1.12.3",
|
||||
"description": "Copy to clipboard, Copy URL, Open in default app, Show in system explorer, Reveal file in navigation, Open in new tab, Rename context menus for images.",
|
||||
"author": "NomarCub",
|
||||
"authorUrl": "https://github.com/NomarCub",
|
||||
"fundingUrl": "https://ko-fi.com/nomarcub",
|
||||
"isDesktopOnly": false
|
||||
}
|
||||
+44
-44
@@ -1,5 +1,49 @@
|
||||
{
|
||||
"recentFiles": [
|
||||
{
|
||||
"basename": "IBS 智能体具体落实技术方案",
|
||||
"path": "work/移动杭研/AI 项目/IBS 智能体具体落实技术方案.md"
|
||||
},
|
||||
{
|
||||
"basename": "ibs-ai 项目梳理",
|
||||
"path": "work/移动杭研/AI 项目/ibs-ai 项目梳理.md"
|
||||
},
|
||||
{
|
||||
"basename": "图纸-IBS 智能体-v3-项目架构",
|
||||
"path": "work/移动杭研/AI 项目/图纸-IBS 智能体-v3-项目架构.md"
|
||||
},
|
||||
{
|
||||
"basename": "图纸-IBS 智能体-v2-项目架构 原生 MCP",
|
||||
"path": "work/移动杭研/AI 项目/图纸-IBS 智能体-v2-项目架构 原生 MCP.md"
|
||||
},
|
||||
{
|
||||
"basename": "图纸-IBS 智能体-v1-流量查询 demo 对象存储",
|
||||
"path": "work/移动杭研/AI 项目/图纸-IBS 智能体-v1-流量查询 demo 对象存储.md"
|
||||
},
|
||||
{
|
||||
"basename": "图纸-IBS 智能体-v1-流量查询 demo",
|
||||
"path": "work/移动杭研/AI 项目/图纸-IBS 智能体-v1-流量查询 demo.md"
|
||||
},
|
||||
{
|
||||
"basename": "Prompt 公司智能体",
|
||||
"path": "resource/ai/prompts/Prompt 公司智能体.md"
|
||||
},
|
||||
{
|
||||
"basename": "20260309173243",
|
||||
"path": "000-Inbox/20260309173243.md"
|
||||
},
|
||||
{
|
||||
"basename": "20260309150326",
|
||||
"path": "000-Inbox/20260309150326.md"
|
||||
},
|
||||
{
|
||||
"basename": "如何成为一个 React 工程师呢?",
|
||||
"path": "resource/前端/如何成为一个 React 工程师呢?.md"
|
||||
},
|
||||
{
|
||||
"basename": "服务器-香港",
|
||||
"path": "personal/服务器-香港.md"
|
||||
},
|
||||
{
|
||||
"basename": "直播源",
|
||||
"path": "personal/电影/直播源.md"
|
||||
@@ -44,18 +88,6 @@
|
||||
"basename": "ubuntu",
|
||||
"path": "resource/系统/ubuntu.md"
|
||||
},
|
||||
{
|
||||
"basename": "IBS 智能体-v5",
|
||||
"path": "work/移动杭研/AI 项目/IBS 智能体-v5.md"
|
||||
},
|
||||
{
|
||||
"basename": "IBS 智能体-v4",
|
||||
"path": "work/移动杭研/AI 项目/IBS 智能体-v4.md"
|
||||
},
|
||||
{
|
||||
"basename": "IBS 智能体-v3",
|
||||
"path": "work/移动杭研/AI 项目/IBS 智能体-v3.md"
|
||||
},
|
||||
{
|
||||
"basename": "20260305155494",
|
||||
"path": "000-Inbox/20260305155494.md"
|
||||
@@ -64,18 +96,6 @@
|
||||
"basename": "开发笔记",
|
||||
"path": "work/移动杭研/开发记录/7.18.0/开发笔记.md"
|
||||
},
|
||||
{
|
||||
"basename": "服务器-香港",
|
||||
"path": "personal/服务器-香港.md"
|
||||
},
|
||||
{
|
||||
"basename": "IBS 智能体-v1",
|
||||
"path": "work/移动杭研/AI 项目/IBS 智能体-v1.md"
|
||||
},
|
||||
{
|
||||
"basename": "IBS 智能体-v2",
|
||||
"path": "work/移动杭研/AI 项目/IBS 智能体-v2.md"
|
||||
},
|
||||
{
|
||||
"basename": "构建 HUGO 博客的完整指南:从搭建到部署",
|
||||
"path": "resource/系统/构建 HUGO 博客的完整指南:从搭建到部署.md"
|
||||
@@ -92,10 +112,6 @@
|
||||
"basename": "vim 快捷键与操作手册",
|
||||
"path": "resource/系统/vim 快捷键与操作手册.md"
|
||||
},
|
||||
{
|
||||
"basename": "React 工程师",
|
||||
"path": "resource/前端/React 工程师.md"
|
||||
},
|
||||
{
|
||||
"basename": "VSCode 配置文件",
|
||||
"path": "resource/配置/VSCode 配置文件.md"
|
||||
@@ -179,22 +195,6 @@
|
||||
{
|
||||
"basename": "结婚相关",
|
||||
"path": "personal/个人/结婚相关.md"
|
||||
},
|
||||
{
|
||||
"basename": "昌平医院",
|
||||
"path": "personal/个人/昌平医院.md"
|
||||
},
|
||||
{
|
||||
"basename": "TG 备忘录",
|
||||
"path": "personal/TG 备忘录.md"
|
||||
},
|
||||
{
|
||||
"basename": "路由器",
|
||||
"path": "personal/路由器.md"
|
||||
},
|
||||
{
|
||||
"basename": "王欣",
|
||||
"path": "personal/家人/王欣.md"
|
||||
}
|
||||
],
|
||||
"omittedPaths": [
|
||||
|
||||
Vendored
+39
-33
@@ -4,17 +4,22 @@
|
||||
"type": "split",
|
||||
"children": [
|
||||
{
|
||||
"id": "6b428b85f883f637",
|
||||
"id": "4b5820367a78b7bd",
|
||||
"type": "tabs",
|
||||
"children": [
|
||||
{
|
||||
"id": "5495c7466557ec58",
|
||||
"id": "4695be4ed62c6a04",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "empty",
|
||||
"state": {},
|
||||
"type": "markdown",
|
||||
"state": {
|
||||
"file": "work/移动杭研/AI 项目/IBS 智能体具体落实技术方案.md",
|
||||
"mode": "source",
|
||||
"source": false,
|
||||
"backlinks": false
|
||||
},
|
||||
"icon": "lucide-file",
|
||||
"title": "新标签页"
|
||||
"title": "IBS 智能体具体落实技术方案"
|
||||
}
|
||||
}
|
||||
]
|
||||
@@ -50,9 +55,9 @@
|
||||
"state": {
|
||||
"type": "search",
|
||||
"state": {
|
||||
"query": "file: 常用",
|
||||
"query": "file:react",
|
||||
"matchingCase": false,
|
||||
"explainSearch": false,
|
||||
"explainSearch": true,
|
||||
"collapseAll": false,
|
||||
"extraContext": false,
|
||||
"sortOrder": "alphabetical"
|
||||
@@ -92,7 +97,7 @@
|
||||
}
|
||||
],
|
||||
"direction": "horizontal",
|
||||
"width": 218.5
|
||||
"width": 507.5
|
||||
},
|
||||
"right": {
|
||||
"id": "ca733f6d5936ae40",
|
||||
@@ -101,7 +106,7 @@
|
||||
{
|
||||
"id": "1f21045435bfa327",
|
||||
"type": "tabs",
|
||||
"dimension": 57.88834951456311,
|
||||
"dimension": 57.8883495145631,
|
||||
"children": [
|
||||
{
|
||||
"id": "43a2e8e1d9201229",
|
||||
@@ -109,12 +114,13 @@
|
||||
"state": {
|
||||
"type": "outline",
|
||||
"state": {
|
||||
"file": "work/移动杭研/AI 项目/IBS 智能体具体落实技术方案.md",
|
||||
"followCursor": true,
|
||||
"showSearch": false,
|
||||
"searchQuery": ""
|
||||
},
|
||||
"icon": "lucide-list",
|
||||
"title": "大纲"
|
||||
"title": "IBS 智能体具体落实技术方案 的大纲"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -196,7 +202,7 @@
|
||||
{
|
||||
"id": "ea8a40d57ef90e62",
|
||||
"type": "tabs",
|
||||
"dimension": 42.11165048543689,
|
||||
"dimension": 42.1116504854369,
|
||||
"children": [
|
||||
{
|
||||
"id": "499dbd491c6fb256",
|
||||
@@ -226,34 +232,34 @@
|
||||
"obsidian-excalidraw-plugin:New drawing": false
|
||||
}
|
||||
},
|
||||
"active": "c8718c0c63702202",
|
||||
"active": "4695be4ed62c6a04",
|
||||
"lastOpenFiles": [
|
||||
"work/移动杭研/AI 项目/ibs-ai 项目梳理.md",
|
||||
"work/移动杭研/AI 项目/IBS 智能体具体落实技术方案.md",
|
||||
"work/移动杭研/AI 项目/MCP Prompt.md",
|
||||
"work/移动杭研/AI 项目/图纸-IBS 智能体-v3-项目架构.md",
|
||||
"work/移动杭研/AI 项目/图纸-IBS 智能体-v2-项目架构 原生 MCP.md",
|
||||
"work/移动杭研/AI 项目/图纸-IBS 智能体-v1-流量查询 demo 对象存储.md",
|
||||
"work/移动杭研/AI 项目/图纸-IBS 智能体-v1-流量查询 demo.md",
|
||||
"work/移动杭研/AI 项目/IBS 智能体-v4.md",
|
||||
"work/移动杭研/AI 项目/IBS 智能体-v3-遗弃.md",
|
||||
"resource/ai/prompts/Prompt 公司智能体.md",
|
||||
"calendar/diary/2026-03-10.md",
|
||||
"000-inbox/20260309173243.md",
|
||||
"000-inbox/20260309150326.md",
|
||||
"calendar/diary/2026-03-09.md",
|
||||
"calendar/diary/2026-03-08.md",
|
||||
"calendar/weeks/2026-W10.md",
|
||||
"calendar/diary/2026-03-07.md",
|
||||
"calendar/diary/2026-03-06.md",
|
||||
"000-inbox/20260307154181.md",
|
||||
"personal/电影/直播源.md",
|
||||
"000-inbox/20260307145692.md",
|
||||
"000-Inbox/20260307145692.md",
|
||||
"000-Inbox/20260307154181.md",
|
||||
"000-Inbox/20260307181838.md",
|
||||
"000-Inbox/20260306180056.md",
|
||||
"000-inbox/20260306180056.md",
|
||||
"000-Inbox/20260306180077.md",
|
||||
"000-inbox/20260306180077.md",
|
||||
"000-inbox/tg-bot.md",
|
||||
"000-Inbox/20260306143237.md",
|
||||
"resource/工具/rime/Rime 快捷键.md",
|
||||
"resource/组件/Ubuntu 24.04 LTS ELK 8 安装指南.md",
|
||||
"000-Inbox/20260306145821.md",
|
||||
"calendar/diary/2026-03-05.md",
|
||||
"calendar/diary/2026-03-04.md",
|
||||
"resource/常用命令.md",
|
||||
"000-inbox/20260306145821.md",
|
||||
"000-inbox/20260306143237.md",
|
||||
"work/移动杭研/项目备忘/环境账号.md",
|
||||
"excalidraw/Drawing 2026-03-06 08.49.09.excalidraw.md",
|
||||
"excalidraw/Drawing 2026-03-06 08.42.40.excalidraw.md",
|
||||
"calendar/diary/2026-03-03.md",
|
||||
"calendar/diary/2026-03-02.md",
|
||||
"000-Inbox/20260309173243.md",
|
||||
"000-Inbox/20260309150326.md",
|
||||
"resource/前端/如何成为一个 React 工程师呢?.md",
|
||||
"personal/服务器-香港.md",
|
||||
"resource/工具/rime",
|
||||
"attachment/images-paste/image-20260304153545122.png",
|
||||
"work/移动杭研/开发记录/7.19.0",
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
# 任务
|
||||
|
||||
# 日志
|
||||
|
||||
# 总结
|
||||
|
||||
上午起来看了一些关于 F1 的资讯,然后我准备把 OpenClaw 弄一下。
|
||||
|
||||
中午去王繁星面馆吃面。
|
||||
@@ -1,7 +1,21 @@
|
||||
# 任务
|
||||
|
||||
- [x] 开发:参加 IBS 项目晨会,同步昨日问题跟进事项。(李春良 0.5)
|
||||
- [x] 开发:梳理 IBS V7.19.0 需求。(新业务平面引入与系统集成实施 李春良 4)
|
||||
- [x] 项目:IBS 智能体具体落实技术方案调研。(李春良 3)
|
||||
|
||||
# 日志
|
||||
|
||||
feat: 初始化 MCP 服务端项目
|
||||
|
||||
聊天智能体,用户输入,先进行语义路由,是走知识库进行概念问题解答,还是走 MCP 智能体,可以根据我公司提供的 MCP 服务器进行选择使用,将结果经过 ai 润色后答疑。
|
||||
|
||||
# 总结
|
||||
|
||||
今天体验了 RAG Flow、Dify、n8n,让我感觉到了自己在智能体方面的能力缺失,如果早体验这个圈子。自己的思维会更上一层。
|
||||
|
||||
今天实现了 MCP 的自动注册。
|
||||
|
||||
晚上回家田宝在玩儿水。
|
||||
|
||||
今天智齿要了命了。这次消肿了一定要去拔了。
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
# 任务
|
||||
|
||||
- [x] 开发:参加 IBS 项目晨会,同步昨日问题跟进事项。(李春良 0.5)
|
||||
- [ ] 开发:梳理 IBS V7.19.0 需求。(新业务平面引入与系统集成实施 李春良 4)
|
||||
- [ ] 项目:IBS 智能体具体落实技术方案调研。(李春良 3)
|
||||
|
||||
# 日志
|
||||
|
||||
# 总结
|
||||
@@ -0,0 +1 @@
|
||||
需求自测、IBS AI 调研、元宵节、日全食、MCP Demo、第一次参与会议 AI 会议、obsidian、AI 开发规范、幼儿园、F1 开赛、OpenClaw、王繁星
|
||||
@@ -1,72 +0,0 @@
|
||||
# 关于 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
|
||||
```
|
||||
@@ -0,0 +1,192 @@
|
||||
# 学习资料
|
||||
|
||||
https://u19tul1sz9g.feishu.cn/docx/WEWJdSzF5oTnwvxHGGAc0Vojnxe?from=from_copylink
|
||||
|
||||
密码:M6923&65
|
||||
|
||||
# 关于 Node 的理解
|
||||
|
||||
| Node.js | Java |
|
||||
| --------------- | ----------- |
|
||||
| Node.js version | JDK version |
|
||||
| V8 Engine | JVM |
|
||||
| Npm | Maven |
|
||||
| N-API | JNI |
|
||||
|
||||
```
|
||||
┌───────────────┐
|
||||
│ JS APP │
|
||||
└───────▲───────┘
|
||||
│
|
||||
┌───────┴───────┐
|
||||
│ NPM │ ← 包管理 & 生态
|
||||
└───────▲───────┘
|
||||
│
|
||||
┌───────┴───────┐
|
||||
│ Node.js │ ← Runtime(API / EventLoop / Libuv)
|
||||
└───────▲───────┘
|
||||
│
|
||||
┌───────┴───────┐
|
||||
│ V8 │ ← JS 引擎
|
||||
└───────▲───────┘
|
||||
│
|
||||
操作系统
|
||||
```
|
||||
|
||||
## Node.js 版本
|
||||
|
||||
[Node.js](https://nodejs.org/zh-cn/about/previous-releases) 采用固定节奏发布 + LTS 生命周期,每 6 个月发布一个,相当于每年会覆盖一个 LTS。
|
||||
|
||||
# 第一章 开发环境与核心概念
|
||||
|
||||
初始化环境
|
||||
|
||||
```bash
|
||||
pnpm create vite@latest basic2 --template react-ts
|
||||
```
|
||||
|
||||
所谓的优雅公式:`UI = f(State)`,用户界面仅仅是应用程序状态的一个函数。
|
||||
|
||||
JSX 不是 HTML 而是 JavaScript 的一种特殊语法。我们编写的每一行 JSX 代码最后都会被转换为一个函数:`React.createElement()`
|
||||
|
||||
> 例如:
|
||||
> `<h1 className="title">Hello React</h1>`
|
||||
> 对应:
|
||||
> `React.createElement('h1', { className: 'title' }, 'Hello React')`
|
||||
|
||||
可以使用 `{ }` 在 JSX 中嵌入任何 JavaScript 表达式(变量、数学、函数)。
|
||||
|
||||
关于声明:
|
||||
|
||||
| 关键字 | 作用域 | 重复声明 | 是否可以修改引用 | 推荐场景 |
|
||||
| ----------- | ---------------- | ---- | -------- | -------------------------- |
|
||||
| **`const`** | 块级作用域 (Block) | 不允许 | 不允许 | **默认使用**,除非变量需要重新赋值 |
|
||||
| **`let`** | 块级作用域 (Block) | 不允许 | 允许 | 用于循环变量或需要修改引用的场景 |
|
||||
| **`var`** | 函数作用域 (Function) | 允许 | 允许 | **严禁使用** (旧时代的产物,存在变量提升问题) |
|
||||
|
||||
一个组件的返回必须有一个**单一的根元素**,如果返回并列的多个元素,可以嵌套一个 `<div>`,但更好的做法是使用 `Fragment`,语法糖是 `<>`。因 JSX 最终是会被编译为 JavaScript,所以要注意不要产生关键字的冲突。这也是为什么 `class` 在 React 中要写成 `className`,同时时间名要遵循驼峰命名法,例如 `onClick`。
|
||||
|
||||
**导入方式**
|
||||
|
||||
具名导入:
|
||||
|
||||
```
|
||||
import { ... } from 'react'
|
||||
```
|
||||
|
||||
默认导入:
|
||||
|
||||
```
|
||||
import ... from 'react'
|
||||
```
|
||||
|
||||
副作用导入:
|
||||
|
||||
```
|
||||
import './index.css'
|
||||
```
|
||||
|
||||
React 历史写法:
|
||||
|
||||
这里我还是不是很理解 `(prevState) => ({ count: prevState.count + 1 })` 这个的原理,目前的理解是,他可以拿到自己作用域的 count。
|
||||
|
||||
```tsx
|
||||
import React from 'react'
|
||||
|
||||
interface CounterState {
|
||||
count: number
|
||||
}
|
||||
|
||||
class ClassCounter extends React.Component<unknown, CounterState> {
|
||||
state = { count: 0 }
|
||||
handleClick = () => {
|
||||
// this.setState({ count: this.state.count + 1 })
|
||||
this.setState((prevState) => ({ count: prevState.count + 1 }))
|
||||
}
|
||||
render() {
|
||||
return (
|
||||
<div>
|
||||
<h1>Class Counter</h1>
|
||||
<button onClick={this.handleClick}>数字是 {this.state.count}</button>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
export default ClassCounter
|
||||
```
|
||||
|
||||
useState
|
||||
|
||||
我理解就是有了一个动态更新值的作用。
|
||||
|
||||
```tsx
|
||||
import { useState } from 'react'
|
||||
|
||||
const FunctionalCounter = () => {
|
||||
const [count, setCount] = useState(0)
|
||||
const handleClick = () => {
|
||||
setCount((prevCount) => prevCount + 1)
|
||||
setCount((prevCount) => prevCount + 1)
|
||||
}
|
||||
console.log(count)
|
||||
return (
|
||||
<div>
|
||||
<h1>Functional Counter</h1>
|
||||
<button onClick={handleClick}>数字1是 {count}</button>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
||||
export default FunctionalCounter
|
||||
|
||||
```
|
||||
|
||||
# 第二章 组件化开发核心
|
||||
|
||||
Props 通信
|
||||
|
||||
```tsx
|
||||
type Props = {
|
||||
name: string
|
||||
}
|
||||
|
||||
const PrintNmae = (name: Props) => {
|
||||
return (
|
||||
<div>
|
||||
<h1>Welcome {name.name}</h1>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
||||
export default PrintNmae
|
||||
|
||||
```
|
||||
|
||||
传参
|
||||
|
||||
```tsx
|
||||
<PrintNmae name="John" />
|
||||
```
|
||||
|
||||
# CSS
|
||||
|
||||
顶级作用域
|
||||
|
||||
```
|
||||
:root {
|
||||
```
|
||||
|
||||
媒体查询
|
||||
|
||||
```
|
||||
@media (prefers-color-scheme: light) {
|
||||
|
||||
}
|
||||
```
|
||||
|
||||
ID 选择器
|
||||
|
||||
```
|
||||
#root
|
||||
```
|
||||
@@ -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
|
||||
```
|
||||
@@ -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
|
||||
```
|
||||
@@ -17,7 +17,7 @@ RAGFlow v0.18.0 2025-04-23(知识库)
|
||||
> 完全支持 MCP v0.20.0
|
||||
> 依赖 MySQL、ES、Redis、MinIO
|
||||
|
||||
# 概念
|
||||
# 概念理解
|
||||
|
||||
bge 向量模型。
|
||||
|
||||
@@ -61,7 +61,7 @@ Function Calling / Tool Call / Tool Calling
|
||||
|
||||
**DB-GPT** 开源的“AI 原生数据应用开发框架”,用大模型来操作数据库和数据系统。
|
||||
|
||||
# 问题
|
||||
# 问题备注
|
||||
|
||||
鉴权问题:哪个平台能调用哪些工具,哪个平台的哪些用户能调用哪些工具
|
||||
|
||||
@@ -77,8 +77,6 @@ AI 平台颁发系统级别 Token 限制你能用的工具。
|
||||
|
||||
我想查询 企业A a.com 近 5 天的峰值。
|
||||
|
||||
# 备注
|
||||
|
||||
RAGFlow 版本升级至少 v0.20.0。(注意一下是否可以开启自身当作 MCP 服务的功能。)
|
||||
|
||||
dify 的整体使用流程流畅很多。
|
||||
|
||||
@@ -1,24 +0,0 @@
|
||||
给我增加两个我们项目的 demo 工具。为我的查询峰值智能体做测试准备
|
||||
|
||||
1. 根据企业 ID 获取 企业的所属域名。(入参是企业 ID,响应 10 个域名, a.com, b.com… 固定十个。)但现在企业 ID 只有 企业A ,其他 企业 ID 返回无域名。
|
||||
2. 根据企业 ID 和 域名 获取域名近 5 天的峰值带宽。(峰值带宽可以随机 mock)如果用户无域名 ID 输入返回需要输入域名。
|
||||
|
||||
现在我有一个 ibs-mcp-server :
|
||||
|
||||
queryDomainPeakBandwidth
|
||||
|
||||
根据企业 ID 和域名查询该域名近 5 天的峰值带宽数据(单位:Mbps)
|
||||
|
||||
queryEnterpriseDomains
|
||||
|
||||
根据企业 ID 查询该企业所属的域名列表
|
||||
|
||||
queryWeather
|
||||
|
||||
查询指定城市在指定日期的天气预报,返回天气状况、温度、湿度和风力信息
|
||||
|
||||
你能给我生成一个可以导入 ragflow 的 json agent 么?让我可以直接使用。
|
||||
|
||||
智能体的工作就是可以查训用户的域名,如果用户没有输入域名可以用 queryEnterpriseDomains 给用户提示。
|
||||
|
||||
生成到根目录。注意学习相关语法。
|
||||
@@ -0,0 +1,54 @@
|
||||
```
|
||||
---
|
||||
config:
|
||||
layout: elk
|
||||
---
|
||||
flowchart TB
|
||||
subgraph Layer1["1. 用户侧"]
|
||||
UI["对话框"]
|
||||
end
|
||||
subgraph Layer2["2. 智能体编排层"]
|
||||
Router["意图识别与分发<br>(语义路由,小模型判断快)"]
|
||||
Planner["Agent 规划与调度 (ReAct)"]
|
||||
LLM["大模型 (LLM)"]
|
||||
RAGFlow["现有 RAGFlow<br>(知识库问答)"]
|
||||
end
|
||||
subgraph Layer3["3. 工具检索引擎 (Tool-RAG) ⭐️核心枢纽"]
|
||||
Embedding["Embedding 模型<br>(文本转向量)"]
|
||||
VectorDB[("向量数据库<br>存储插件语义<br>(按租户隔离)")]
|
||||
RelationalDB@{ label: "关系型数据库<br>1. 接口物理配置<br style=\"--tw-scale-x:\">2. 角色权限表" }
|
||||
SchemaBuilder["Schema 组装器<br>(仅组装 Top-K 工具)"]
|
||||
end
|
||||
subgraph Layer4["4. 拦截与执行层"]
|
||||
Interceptor["高危操作拦截<br>(前端卡片审批流)"]
|
||||
HttpExecutor["通用 HTTP 执行器<br>"]
|
||||
IBS["IBS / CDN / DNS 系统"]
|
||||
end
|
||||
UI -- "1. 用户输入" --> Router
|
||||
Router -- "2a. 查阅文档" --> RAGFlow
|
||||
Router -- "2b. 业务请求/查数据" --> 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 -- "9a. 放行/审批后走普通接口" --> HttpExecutor
|
||||
HttpExecutor -- "10a. 动态发起 REST 请求" --> IBS
|
||||
Register["admin 录入新插件"] -. "A. 存入运行配置" .-> RelationalDB
|
||||
Register -. "B. 向量化插件描述" .-> VectorDB
|
||||
|
||||
Router@{ shape: rect}
|
||||
RelationalDB@{ shape: cylinder}
|
||||
Register@{ shape: rect}
|
||||
RAGFlow:::highlight
|
||||
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:#fff9c4,stroke:#fbc02d,stroke-width:2px
|
||||
classDef external fill:#f3e5f5,stroke:#8e24aa,stroke-width:1px,stroke-dasharray: 5 5
|
||||
```
|
||||
Reference in New Issue
Block a user