1775206638

This commit is contained in:
Docker7530
2026-04-03 16:57:21 +08:00
parent 30063feba4
commit ab41c81a53
71 changed files with 836 additions and 155 deletions
+3 -1
View File
@@ -4,5 +4,7 @@
"oz-clear-unused-images", "oz-clear-unused-images",
"obsidian-excalidraw-plugin", "obsidian-excalidraw-plugin",
"templater-obsidian", "templater-obsidian",
"obsidian-linter" "obsidian-linter",
"recent-files-obsidian",
"quickadd"
] ]
+10 -4
View File
@@ -11,23 +11,29 @@
"workspace:goto-last-tab": [], "workspace:goto-last-tab": [],
"editor:set-heading-1": [ "editor:set-heading-1": [
{ {
"modifiers": ["Mod"], "modifiers": [
"Mod"
],
"key": "1" "key": "1"
} }
], ],
"editor:set-heading-2": [ "editor:set-heading-2": [
{ {
"modifiers": ["Mod"], "modifiers": [
"Mod"
],
"key": "2" "key": "2"
} }
], ],
"editor:set-heading-3": [ "editor:set-heading-3": [
{ {
"modifiers": ["Mod"], "modifiers": [
"Mod"
],
"key": "3" "key": "3"
} }
], ],
"templater-obsidian:create-attachment/templates/日常记录-闪念笔记.md": [ "quickadd:runQuickAdd": [
{ {
"modifiers": [], "modifiers": [],
"key": "F1" "key": "F1"
+6 -6
View File
@@ -482,12 +482,12 @@
"canvasImmersiveEmbed": true, "canvasImmersiveEmbed": true,
"startupScriptPath": "", "startupScriptPath": "",
"aiEnabled": true, "aiEnabled": true,
"openAIAPIToken": "sk-JynMarAEOuLlYb3_bdQAdHEhKp-vK9az-uQXGlw_VSKQIEHnCb86PeqtxLQ", "openAIAPIToken": "",
"openAIDefaultTextModel": "gpt-5.2", "openAIDefaultTextModel": "",
"openAIDefaultTextModelMaxTokens": 0, "openAIDefaultTextModelMaxTokens": 4096,
"openAIDefaultVisionModel": "gemini-3.1-pro-preview", "openAIDefaultVisionModel": "",
"openAIDefaultImageGenerationModel": "gemini-3.1-pro-preview", "openAIDefaultImageGenerationModel": "",
"openAIURL": "https://api.ai-wave.org/v1/chat/completions", "openAIURL": "",
"openAIImageGenerationURL": "https://api.openai.com/v1/images/generations", "openAIImageGenerationURL": "https://api.openai.com/v1/images/generations",
"openAIImageEditsURL": "https://api.openai.com/v1/images/edits", "openAIImageEditsURL": "https://api.openai.com/v1/images/edits",
"openAIImageVariationURL": "https://api.openai.com/v1/images/variations", "openAIImageVariationURL": "https://api.openai.com/v1/images/variations",
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -1,7 +1,7 @@
{ {
"id": "obsidian-excalidraw-plugin", "id": "obsidian-excalidraw-plugin",
"name": "Excalidraw", "name": "Excalidraw",
"version": "2.21.2", "version": "2.22.0",
"minAppVersion": "1.5.7", "minAppVersion": "1.5.7",
"description": "Sketch Your Mind. An Obsidian plugin to edit and view Excalidraw drawings. Enter the world of 4D Visual PKM.", "description": "Sketch Your Mind. An Obsidian plugin to edit and view Excalidraw drawings. Enter the world of 4D Visual PKM.",
"author": "Zsolt Viczian", "author": "Zsolt Viczian",
File diff suppressed because one or more lines are too long
+220
View File
@@ -0,0 +1,220 @@
{
"choices": [
{
"id": "c31732d3-4333-4aa1-9963-4f2ee5580251",
"name": "日常记录-闪念笔记",
"type": "Template",
"command": false,
"templatePath": "attachment/templates/日常记录-闪念笔记.md",
"fileNameFormat": {
"enabled": true,
"format": "{{DATE:MM月DD日 HHmmss}}"
},
"folder": {
"enabled": false,
"folders": [],
"chooseWhenCreatingNote": false,
"createInSameFolderAsActiveFile": false,
"chooseFromSubfolders": false
},
"appendLink": false,
"openFile": true,
"fileOpening": {
"location": "split",
"direction": "vertical",
"mode": "default",
"focus": true
},
"fileExistsMode": "Increment the file name",
"setFileExistsBehavior": false
},
{
"id": "d9111ada-faa6-4d0f-8260-9c3cb97eade8",
"name": "移动杭研-开发笔记",
"type": "Template",
"command": false,
"templatePath": "attachment/templates/移动杭研-开发笔记.md",
"fileNameFormat": {
"enabled": true,
"format": "开发笔记{{VALUE:version}}"
},
"folder": {
"enabled": false,
"folders": [],
"chooseWhenCreatingNote": false,
"createInSameFolderAsActiveFile": false,
"chooseFromSubfolders": false
},
"appendLink": false,
"openFile": true,
"fileOpening": {
"location": "split",
"direction": "vertical",
"mode": "default",
"focus": true
},
"fileExistsMode": "Increment the file name",
"setFileExistsBehavior": false
},
{
"id": "9b9829e0-5cb5-4cc1-907c-7eb0626a2c3d",
"name": "移动杭研-问题记录",
"type": "Template",
"command": false,
"templatePath": "attachment/templates/移动杭研-问题记录.md",
"fileNameFormat": {
"enabled": true,
"format": "{{DATE:MMDD}}-{{VALUE:info|{{DATE:HHmmss}}}}"
},
"folder": {
"enabled": false,
"folders": [],
"chooseWhenCreatingNote": false,
"createInSameFolderAsActiveFile": false,
"chooseFromSubfolders": false
},
"appendLink": false,
"openFile": true,
"fileOpening": {
"location": "split",
"direction": "vertical",
"mode": "default",
"focus": true
},
"fileExistsMode": "Increment the file name",
"setFileExistsBehavior": false
},
{
"id": "170cca5b-3037-4b3b-9f1c-82235ecde717",
"name": "打开控制台",
"type": "Macro",
"command": false,
"runOnStartup": false,
"macro": {
"name": "打开控制台",
"id": "244eb44a-c362-440c-a21e-8065a482ab68",
"commands": [
{
"name": "openTerminal",
"type": "UserScript",
"id": "2144335d-f088-4156-a81c-6fb4ab30bf55",
"path": "attachment/scripts/openTerminal.js",
"settings": {}
}
]
}
}
],
"inputPrompt": "single-line",
"persistInputPromptDrafts": true,
"useSelectionAsCaptureValue": true,
"devMode": false,
"templateFolderPath": "attachment/templates",
"announceUpdates": "major",
"version": "2.12.0",
"globalVariables": {},
"onePageInputEnabled": false,
"disableOnlineFeatures": true,
"enableRibbonIcon": false,
"showCaptureNotification": true,
"showInputCancellationNotification": false,
"enableTemplatePropertyTypes": false,
"dateAliases": {
"t": "today",
"tm": "tomorrow",
"yd": "yesterday",
"nw": "next week",
"nm": "next month",
"ny": "next year",
"lw": "last week",
"lm": "last month",
"ly": "last year"
},
"ai": {
"defaultModel": "Ask me",
"defaultSystemPrompt": "As an AI assistant within Obsidian, your primary goal is to help users manage their ideas and knowledge more effectively. Format your responses using Markdown syntax. Please use the [[Obsidian]] link format. You can write aliases for the links by writing [[Obsidian|the alias after the pipe symbol]]. To use mathematical notation, use LaTeX syntax. LaTeX syntax for larger equations should be on separate lines, surrounded with double dollar signs ($$). You can also inline math expressions by wrapping it in $ symbols. For example, use $$w_{ij}^{\text{new}}:=w_{ij}^{\text{current}}+etacdotdelta_jcdot x_{ij}$$ on a separate line, but you can write \"($eta$ = learning rate, $delta_j$ = error term, $x_{ij}$ = input)\" inline.",
"promptTemplatesFolderPath": "",
"showAssistant": true,
"providers": [
{
"name": "OpenAI",
"endpoint": "https://api.openai.com/v1",
"apiKey": "",
"models": [
{
"name": "gpt-3.5-turbo",
"maxTokens": 4096
},
{
"name": "gpt-3.5-turbo-16k",
"maxTokens": 16384
},
{
"name": "gpt-3.5-turbo-1106",
"maxTokens": 16385
},
{
"name": "gpt-4",
"maxTokens": 8192
},
{
"name": "gpt-4-32k",
"maxTokens": 32768
},
{
"name": "gpt-4-1106-preview",
"maxTokens": 128000
},
{
"name": "gpt-4-turbo",
"maxTokens": 128000
},
{
"name": "gpt-4o",
"maxTokens": 128000
},
{
"name": "gpt-4o-mini",
"maxTokens": 128000
}
],
"autoSyncModels": false,
"modelSource": "modelsDev"
},
{
"name": "Gemini",
"endpoint": "https://generativelanguage.googleapis.com",
"apiKey": "",
"models": [
{
"name": "gemini-1.5-pro",
"maxTokens": 1000000
},
{
"name": "gemini-1.5-flash",
"maxTokens": 1000000
},
{
"name": "gemini-1.5-flash-8b",
"maxTokens": 1000000
}
],
"autoSyncModels": false,
"modelSource": "modelsDev"
}
]
},
"migrations": {
"migrateToMacroIDFromEmbeddedMacro": true,
"useQuickAddTemplateFolder": true,
"incrementFileNameSettingMoveToDefaultBehavior": true,
"mutualExclusionInsertAfterAndWriteToBottomOfFile": true,
"setVersionAfterUpdateModalRelease": true,
"addDefaultAIProviders": true,
"removeMacroIndirection": true,
"migrateFileOpeningSettings": true,
"backfillFileOpeningDefaults": true,
"setProviderModelDiscoveryMode": true,
"migrateProviderApiKeysToSecretStorage": true
}
}
File diff suppressed because one or more lines are too long
+12
View File
@@ -0,0 +1,12 @@
{
"id": "quickadd",
"name": "QuickAdd",
"version": "2.12.0",
"minAppVersion": "1.11.4",
"description": "Quickly add new pages or content to your vault.",
"author": "Christian B. B. Houmann",
"authorUrl": "https://bagerbach.com",
"fundingUrl": "https://www.buymeacoffee.com/chhoumann",
"helpUrl": "https://quickadd.obsidian.guide/docs/",
"isDesktopOnly": false
}
File diff suppressed because one or more lines are too long
+75
View File
@@ -0,0 +1,75 @@
{
"recentFiles": [
{
"basename": "0103-试用单前置校验信安附件问题-BBOSS张蕊",
"path": "work/移动杭研/问题处理/2023-01/0103-试用单前置校验信安附件问题-BBOSS张蕊.md"
},
{
"basename": "claude code buddy",
"path": "000-inbox/claude code buddy.md"
},
{
"basename": "MCP 请求数统计",
"path": "000-inbox/MCP 请求数统计.md"
},
{
"basename": "需求-命中率计算",
"path": "000-inbox/需求-命中率计算.md"
},
{
"basename": "数据库信息",
"path": "work/移动杭研/项目备忘/数据库信息.md"
},
{
"basename": "CLAUDE.md",
"path": "work/移动杭研/AI 项目/CLAUDE.md.md"
},
{
"basename": "Qwen3.5(通义千问 3.5)系列的多模态图文大模型(Vision-Language Models",
"path": "resource/ai/大模型安装笔记/Qwen3.5(通义千问 3.5)系列的多模态图文大模型(Vision-Language Models.md"
},
{
"basename": "LLM 三件套",
"path": "resource/ai/大模型安装笔记/LLM 三件套.md"
},
{
"basename": "lichunliang",
"path": "work/移动杭研/项目备忘/lichunliang.md"
},
{
"basename": "ESOP-域名配置需求-新增",
"path": "work/移动杭研/业务梳理/运营工单/ESOP-域名配置需求-新增.md"
},
{
"basename": "项目杂记",
"path": "work/移动杭研/项目备忘/项目杂记.md"
},
{
"basename": "0323-邮件发送异常",
"path": "work/移动杭研/问题处理/2026-03/0323-邮件发送异常.md"
},
{
"basename": "jinja",
"path": "000-inbox/jinja.md"
},
{
"basename": "n8n 安装",
"path": "resource/组件/n8n 安装.md"
},
{
"basename": "Docker 核心知识与实战笔记",
"path": "resource/系统/Docker 核心知识与实战笔记.md"
},
{
"basename": "VIP Cloud",
"path": "resource/系统/VIP Cloud.md"
}
],
"omittedPaths": [
"^calendar/",
"^attachment/"
],
"omittedTags": [],
"updateOn": "file-open",
"omitBookmarks": false
}
File diff suppressed because one or more lines are too long
+16
View File
@@ -0,0 +1,16 @@
{
"id": "recent-files-obsidian",
"name": "Recent Files",
"version": "1.7.6",
"minAppVersion": "0.16.3",
"description": "List files by most recently opened",
"author": "Tony Grosinger",
"authorUrl": "https://grosinger.net",
"isDesktopOnly": false,
"fundingUrl": {
"Github Sponsor": "https://github.com/sponsors/tgrosinger",
"Buy me a Coffee": "https://buymeacoffee.com/tgrosinger",
"Paypal": "https://paypal.me/tgrosinger"
},
"donation": "https://buymeacoffee.com/tgrosinger"
}
+34
View File
@@ -0,0 +1,34 @@
.recent-files-file {
.tree-item-spacer {
flex-grow: 1;
}
}
.recent-files-title {
justify-content: flex-start;
align-items: unset;
}
.recent-files-file-delete {
justify-content: right;
display: none;
}
.recent-files-title:hover .recent-files-file-delete {
display: flex;
cursor: var(--cursor);
}
.recent-files-file-delete:hover {
color: var(--nav-item-color-hover);
}
.recent-files-donation {
width: 70%;
margin: 0 auto;
text-align: center;
}
.recent-files-donate-button {
margin: 10px;
}
+1 -3
View File
@@ -23,9 +23,7 @@
], ],
"syntax_highlighting": true, "syntax_highlighting": true,
"syntax_highlighting_mobile": false, "syntax_highlighting_mobile": false,
"enabled_templates_hotkeys": [ "enabled_templates_hotkeys": [],
"attachment/templates/日常记录-闪念笔记.md"
],
"startup_templates": [], "startup_templates": [],
"intellisense_render": 1, "intellisense_render": 1,
"enable_ribbon_icon": true "enable_ribbon_icon": true
+57 -60
View File
@@ -4,37 +4,17 @@
"type": "split", "type": "split",
"children": [ "children": [
{ {
"id": "0a4507548b25ff58", "id": "55f11863890640cb",
"type": "tabs", "type": "tabs",
"children": [ "children": [
{ {
"id": "1184ee15ec1fc896", "id": "cb080f356dbc4a8c",
"type": "leaf", "type": "leaf",
"state": { "state": {
"type": "markdown", "type": "empty",
"state": { "state": {},
"file": "000-inbox/2026-03-29_16-52-52.md",
"mode": "source",
"source": false,
"backlinks": false
},
"icon": "lucide-file", "icon": "lucide-file",
"title": "2026-03-29_16-52-52" "title": "新标签页"
}
},
{
"id": "c3b31f156a70117f",
"type": "leaf",
"state": {
"type": "markdown",
"state": {
"file": "000-inbox/2026-03-29_16-52-52.md",
"mode": "source",
"source": false,
"backlinks": false
},
"icon": "lucide-file",
"title": "2026-03-29_16-52-52"
} }
} }
] ]
@@ -49,6 +29,7 @@
{ {
"id": "6836caf2765d7139", "id": "6836caf2765d7139",
"type": "tabs", "type": "tabs",
"dimension": 73.04860088365243,
"children": [ "children": [
{ {
"id": "c8718c0c63702202", "id": "c8718c0c63702202",
@@ -69,7 +50,7 @@
"state": { "state": {
"type": "search", "type": "search",
"state": { "state": {
"query": "file:香港", "query": "172.21.16.174",
"matchingCase": false, "matchingCase": false,
"explainSearch": true, "explainSearch": true,
"collapseAll": false, "collapseAll": false,
@@ -91,10 +72,27 @@
} }
} }
] ]
},
{
"id": "2184ba625789cef2",
"type": "tabs",
"dimension": 26.95139911634757,
"children": [
{
"id": "910ff34a625157e6",
"type": "leaf",
"state": {
"type": "recent-files",
"state": {},
"icon": "clock",
"title": "Recent Files"
}
}
]
} }
], ],
"direction": "horizontal", "direction": "horizontal",
"width": 255.5 "width": 371.5
}, },
"right": { "right": {
"id": "ca733f6d5936ae40", "id": "ca733f6d5936ae40",
@@ -111,13 +109,12 @@
"state": { "state": {
"type": "outline", "type": "outline",
"state": { "state": {
"file": "000-inbox/2026-03-29_16-52-52.md",
"followCursor": true, "followCursor": true,
"showSearch": false, "showSearch": false,
"searchQuery": "" "searchQuery": ""
}, },
"icon": "lucide-list", "icon": "lucide-list",
"title": "2026-03-29_16-52-52 的大纲" "title": "大纲"
} }
}, },
{ {
@@ -223,42 +220,45 @@
"canvas:新建白板": false, "canvas:新建白板": false,
"bases:新建数据库": false, "bases:新建数据库": false,
"obsidian-excalidraw-plugin:New drawing": false, "obsidian-excalidraw-plugin:New drawing": false,
"templater-obsidian:Templater": false "templater-obsidian:Templater": true
} }
}, },
"active": "1184ee15ec1fc896", "active": "cb080f356dbc4a8c",
"lastOpenFiles": [ "lastOpenFiles": [
"resource/系统/网络/s-ui.md", "000-inbox/开发笔记-%s.md",
"personal/服务器-香港.md", "000-inbox/开发笔记1.md",
"000-inbox/2026-03-29_16-52-52.md", "000-inbox/开发笔记-.md",
"000-inbox/2026-03-29_16-51-46.md", "000-inbox/开发笔记.md",
"000-inbox/2026-03-30_20-38-38.md", "000-inbox/0403-165454.md",
"resource/系统/ubuntu.md", "000-inbox/0403-111.md",
"resource/ai/大模型安装笔记/关于模型思考问题.md", "000-inbox/04月03日 1641451.md",
"000-inbox/n8n 安装.md", "000-inbox/04月03日 1641351.md",
"000-inbox/2026-03-29_16-55-23.md", "000-inbox/04月03日 165100.md",
"000-inbox/2026-03-29_22-08-03.md", "attachment/templates/移动杭研-问题记录.md",
"work/移动杭研/问题处理/2023-01/0103-试用单前置校验信安附件问题-BBOSS张蕊.md",
"attachment/templates/移动杭研-开发笔记.md",
"attachment/templates/日常记录-闪念笔记.md",
"attachment/templates/日常记录-日记模板.md",
"attachment/templates/打开控制台.md",
"attachment/scripts/openTerminal.js",
"attachment/scripts",
"000-inbox/04月03日 162825.md",
"000-inbox/未命名.md",
"000-inbox/04月03日 162801.md",
"000-inbox/04月01.md",
"000-inbox/claude code buddy.md",
"000-inbox/MCP 请求数统计.md",
"calendar/diary/2026-04-03.md",
"calendar/diary/2026-04-02.md",
"calendar/diary/2026-04-01.md",
"calendar/diary/2026年/2026-03-31.md",
"calendar/diary/2026年/2026-03-30.md",
"attachment/Pasted image 20260402090513.png",
"attachment/Pasted image 20260329165253.png", "attachment/Pasted image 20260329165253.png",
"000-inbox/2026-03-291.md",
"000-inbox/2026-03-291111111111111111111.md",
"000-inbox/2026-03-2911.md",
"000-inbox/202603292037501.md",
"attachment/templates/time.md",
"000-inbox/2026-03-29_19-37-09.md",
"000-inbox/2026-03-29_17-01-36.md",
"attachment/Pasted image 20260329170137.png", "attachment/Pasted image 20260329170137.png",
"attachment/Pasted image 20260329165321.png", "attachment/Pasted image 20260329165321.png",
"attachment/Pasted image 20260329165301.png", "attachment/Pasted image 20260329165301.png",
"attachment/templates/日常记录-闪念笔记.md",
"resource/go/待总结/010 Go 语言 IO 流.md",
"attachment/images-paste/image-20230226203841579.png", "attachment/images-paste/image-20230226203841579.png",
"attachment/templates/打开控制台.md",
"attachment/templates/移动杭研-开发笔记.md",
"attachment/templates/移动杭研-问题记录.md",
"calendar/diary/2026-03-29.md",
"attachment/templates/查找未引用图片.md",
"calendar/diary/2026-03-28.md",
"calendar/diary/2026-03-27.md",
"attachment/Pasted image 20260329133947.png", "attachment/Pasted image 20260329133947.png",
"attachment/jsscripts/openTerminal.js", "attachment/jsscripts/openTerminal.js",
"attachment/jsscripts/新建文本文档.txt", "attachment/jsscripts/新建文本文档.txt",
@@ -266,14 +266,11 @@
"attachment/images-paste/image-20260325102650978.png", "attachment/images-paste/image-20260325102650978.png",
"attachment/images-paste/image-20260325224014579.png", "attachment/images-paste/image-20260325224014579.png",
"attachment/images-paste/image-20260325224132102.png", "attachment/images-paste/image-20260325224132102.png",
"attachment/images-paste/image-20260325224152205.png",
"resource/ai/大模型安装笔记", "resource/ai/大模型安装笔记",
"work/移动杭研/问题处理/2026-03", "work/移动杭研/问题处理/2026-03",
"resource/ai/prompts/cosmic 业务版本", "resource/ai/prompts/cosmic 业务版本",
"resource/ai/prompts/cosmic", "resource/ai/prompts/cosmic",
"resource/ai/prompts/临时", "resource/ai/prompts/临时",
"resource/工具/rime",
"work/移动杭研/开发记录/7.19.0",
"000-inbox/未命名.canvas" "000-inbox/未命名.canvas"
] ]
} }
-9
View File
@@ -1,9 +0,0 @@
![](../attachment/Pasted%20image%2020260329165253.png)
![](../attachment/Pasted%20image%2020260329165301.png)
![](../attachment/Pasted%20image%2020260329165321.png)
```
MPLkv5dlbyKh_q0DdvH5ECxaUHVr5BVg0Ogf5AOH
```
-3
View File
@@ -1,3 +0,0 @@
![](../attachment/Pasted%20image%2020260329170137.png)
2026-01-13 21:46
View File
+121
View File
@@ -0,0 +1,121 @@
```
# ========== 1. 请求数统计 ==========
curl -X POST http://localhost:7530/api/mcp-tools \
-H "Content-Type: application/json" \
-d '{
"name": "get_request_count",
"description": "查询请求数统计数据,返回各时间点的请求数列表",
"backendUrl": "http://dev.p.cdn.10086.cn:8080/mcp/requestCount",
"backendMethod": "GET",
"backendTimeout": 10000,
"forwardHeaders": ["Authorization", "X-User-Id"],
"responseDescription": "返回 JSONerrCode=0 为成功,data 为数据列表,示例:{\"errCode\":0,\"data\":[{\"name\":\"2026-03-27 10:00\",\"value\":12345}],\"unit\":\"\"}",
"parameters": [
{"name": "cpId", "type": "string", "description": "企业ID(空默认全部)", "required": false, "sortOrder": 0},
{"name": "domainNames", "type": "string", "description": "域名列表,逗号分隔(空默认全部)", "required": false, "sortOrder": 1},
{"name": "product", "type": "string", "description": "产品类型(空默认全部,下载加速:0,视音频点播加速:1,网页加速:2,直播加速:5,超低时延直播:7,全站四层加速:8,全站七层加速:9", "required": false, "sortOrder": 2},
{"name": "granular", "type": "string", "description": "时间粒度(5分钟:01小时:11天:2", "required": false, "sortOrder": 3},
{"name": "providers", "type": "string", "description": "加速厂商列表,逗号分隔(空默认全部,华为平面:1,中兴平面:2,HCDN:3,自研1.0:4,自研RTMP:5,自研2.0:8,国际平面:9,合作服务商1:10,合作服务商211", "required": false, "sortOrder": 4},
{"name": "affectAreas", "type": "string", "description": "加速区域列表,逗号分隔(空默认全部,例如安徽、北京、福建)", "required": false, "sortOrder": 5},
{"name": "isps", "type": "string", "description": "运营商列表,逗号分隔(空默认全部,移动:1,电信:2,联通:3,多线:4,国际:5,其他:0", "required": false, "sortOrder": 6},
{"name": "startTime", "type": "string", "description": "开始时间,格式 yyyy-MM-dd HH:mm", "required": false, "sortOrder": 7},
{"name": "endTime", "type": "string", "description": "结束时间,格式 yyyy-MM-dd HH:mm", "required": false, "sortOrder": 8}
]
}'
# ========== 2. 命中请求数统计 ==========
curl -X POST http://localhost:7530/api/mcp-tools \
-H "Content-Type: application/json" \
-d '{
"name": "get_hit_req_count",
"description": "查询命中请求数统计数据,返回各时间点的命中请求数列表",
"backendUrl": "http://dev.p.cdn.10086.cn:8080/mcp/hitReqCount",
"backendMethod": "GET",
"backendTimeout": 10000,
"forwardHeaders": ["Authorization", "X-User-Id"],
"responseDescription": "返回 JSONerrCode=0 为成功,data 为数据列表,示例:{\"errCode\":0,\"data\":[{\"name\":\"2026-03-27 10:00\",\"value\":10000}],\"unit\":\"\"}",
"parameters": [
{"name": "cpId", "type": "string", "description": "企业ID(空默认全部)", "required": false, "sortOrder": 0},
{"name": "domainNames", "type": "string", "description": "域名列表,逗号分隔(空默认全部)", "required": false, "sortOrder": 1},
{"name": "product", "type": "string", "description": "产品类型(空默认全部)", "required": false, "sortOrder": 2},
{"name": "granular", "type": "string", "description": "时间粒度(5分钟:01小时:11天:2", "required": false, "sortOrder": 3},
{"name": "providers", "type": "string", "description": "加速厂商列表,逗号分隔(空默认全部)", "required": false, "sortOrder": 4},
{"name": "affectAreas", "type": "string", "description": "加速区域列表,逗号分隔(空默认全部)", "required": false, "sortOrder": 5},
{"name": "isps", "type": "string", "description": "运营商列表,逗号分隔(空默认全部)", "required": false, "sortOrder": 6},
{"name": "startTime", "type": "string", "description": "开始时间,格式 yyyy-MM-dd HH:mm", "required": false, "sortOrder": 7},
{"name": "endTime", "type": "string", "description": "结束时间,格式 yyyy-MM-dd HH:mm", "required": false, "sortOrder": 8}
]
}'
# ========== 3. 命中率计算(一次性接口) ==========
curl -X POST http://localhost:7530/api/mcp-tools \
-H "Content-Type: application/json" \
-d '{
"name": "get_hit_ratio",
"description": "计算命中率,命中率 = 命中请求数 / 总请求数,返回各时间点的命中率百分比(2位小数)",
"backendUrl": "http://dev.p.cdn.10086.cn:8080/mcp/hitRatio",
"backendMethod": "GET",
"backendTimeout": 10000,
"forwardHeaders": ["Authorization", "X-User-Id"],
"responseDescription": "返回 JSONerrCode=0 为成功,data 为数据列表,unit 为 %,示例:{\"errCode\":0,\"data\":[{\"name\":\"2026-03-27 10:00\",\"value\":85.23}],\"unit\":\"%\"}",
"parameters": [
{"name": "cpId", "type": "string", "description": "企业ID(空默认全部)", "required": false, "sortOrder": 0},
{"name": "domainNames", "type": "string", "description": "域名列表,逗号分隔(空默认全部)", "required": false, "sortOrder": 1},
{"name": "product", "type": "string", "description": "产品类型(空默认全部)", "required": false, "sortOrder": 2},
{"name": "granular", "type": "string", "description": "时间粒度(5分钟:01小时:11天:2", "required": false, "sortOrder": 3},
{"name": "providers", "type": "string", "description": "加速厂商列表,逗号分隔(空默认全部)", "required": false, "sortOrder": 4},
{"name": "affectAreas", "type": "string", "description": "加速区域列表,逗号分隔(空默认全部)", "required": false, "sortOrder": 5},
{"name": "isps", "type": "string", "description": "运营商列表,逗号分隔(空默认全部)", "required": false, "sortOrder": 6},
{"name": "startTime", "type": "string", "description": "开始时间,格式 yyyy-MM-dd HH:mm", "required": false, "sortOrder": 7},
{"name": "endTime", "type": "string", "description": "结束时间,格式 yyyy-MM-dd HH:mm", "required": false, "sortOrder": 8}
]
}'
# ========== 4. 命中率工具(分步计算用:先调requestCount,再调hitReqCount,最后调此工具计算) ==========
curl -X POST http://localhost:7530/api/mcp-tools \
-H "Content-Type: application/json" \
-d '{
"name": "calculate_hit_ratio",
"description": "根据请求数和命中请求数计算命中率,返回百分比(2位小数)。适用于先调用 get_request_count 和 get_hit_req_count 获取原始数据后,再调用此工具计算命中率",
"backendUrl": "http://dev.p.cdn.10086.cn:8080/mcp/hitRatio/calculate",
"backendMethod": "GET",
"backendTimeout": 5000,
"forwardHeaders": ["Authorization", "X-User-Id"],
"responseDescription": "返回 JSONerrCode=0 为成功,示例:{\"errCode\":0,\"data\":[{\"name\":\"hitRatio\",\"value\":85.23}],\"unit\":\"%\"}",
"parameters": [
{"name": "requestCount", "type": "integer", "description": "总请求数", "required": true, "sortOrder": 0},
{"name": "hitReqCount", "type": "integer", "description": "命中请求数", "required": true, "sortOrder": 1}
]
}'
# ========== 5. 获取企业列表 ==========
curl -X POST http://localhost:7530/api/mcp-tools \
-H "Content-Type: application/json" \
-d '{
"name": "get_enterprise_list",
"description": "获取当前用户所属的企业列表,返回 enterpriseId 和 enterpriseName,供统计接口选择企业参数用",
"backendUrl": "http://dev.p.cdn.10086.cn:8080/mcp/enterprises",
"backendMethod": "GET",
"backendTimeout": 5000,
"forwardHeaders": ["Authorization", "X-User-Id"],
"responseDescription": "返回 JSON 列表,每个元素含 enterpriseId 和 enterpriseName,示例:[{\"enterpriseId\":\"abc123\",\"enterpriseName\":\"测试企业\"}]",
"parameters": []
}'
# ========== 6. 获取域名列表 ==========
curl -X POST http://localhost:7530/api/mcp-tools \
-H "Content-Type: application/json" \
-d '{
"name": "get_domain_list",
"description": "根据企业ID获取该企业下已生效的域名列表,供统计接口选择域名参数用",
"backendUrl": "http://dev.p.cdn.10086.cn:8080/mcp/domains",
"backendMethod": "GET",
"backendTimeout": 5000,
"forwardHeaders": ["Authorization", "X-User-Id"],
"responseDescription": "返回 JSON 列表,每个元素为域名字符串,示例:[\"www.example.com\",\"img.example.com\"]",
"parameters": [
{"name": "tenantId", "type": "string", "description": "企业IDtenantId,即 enterpriseId", "required": true, "sortOrder": 0}
]
}'
```
+1
View File
@@ -0,0 +1 @@
![](../attachment/Pasted%20image%2020260402090513.png)
-20
View File
@@ -1,20 +0,0 @@
```
telegrambots 相关源码路径:D:\MyCode\Study\TelegramBots
<dependency>
<groupId>org.telegram</groupId>
<artifactId>telegrambots-longpolling</artifactId>
<version>${telegrambots.version}</version>
</dependency>
因为我是 Spring Boot 项目,那这里是不是用官方推荐的 telegrambots-springboot-longpolling-starter 更方便呢?
现在请帮我实现一个最基础的机器人的功能:
1. 双向机器人的功能,当有人给这个机器人发消息的时候,可以通知到我。可以参考下比较成熟的双项机器人实现的手段。
2. 给我提供一个前台页面,让我可以在上面发布通知,使得所有使用我这个机器人的用户都能收到消息
```
```
7786028912:AAGxQ1jmD4a7j6k-KGsSainVpsFGplSXp-0
```
Binary file not shown.

Before

Width:  |  Height:  |  Size: 192 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 181 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 157 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

+9
View File
@@ -0,0 +1,9 @@
module.exports = async function openTerminal(params) {
const { app } = params;
const vaultPath = app.vault.adapter.basePath;
const command = `wt -d "${vaultPath}"`;
const { exec } = require("node:child_process");
exec(command, (error) => {
if (error) console.error("执行失败:", error);
});
};
-7
View File
@@ -1,7 +0,0 @@
<%*
const vaultPath = tp.app.vault.adapter.basePath;
const command = `wt -d "${vaultPath}"`;
const { exec } = require("node:child_process");
exec(command);
return "";
-%>
@@ -1,11 +0,0 @@
<%*
const name = tp.date.now("YYYY-MM-DD_HH-mm-ss");
await tp.file.rename(name);
setTimeout(() => {
const editor = app.workspace.activeEditor?.editor;
if (editor) {
editor.setCursor(0, 0);
editor.focus();
}
}, 150);
-%>
@@ -1,6 +1,3 @@
<%*
await tp.file.rename("开发笔记");
-%>
# 需求 1 # 需求 1
## 需求评审 ## 需求评审
@@ -1,10 +1,3 @@
<%*
const monthDay = tp.date.now("MMDD");
const name = await tp.system.prompt("笔记名称", "");
if (name) {
await tp.file.rename(monthDay + "-" + name);
}
-%>
--- ---
日期: <% tp.date.now("YYYY-MM-DD HH:mm") %> 日期: <% tp.date.now("YYYY-MM-DD HH:mm") %>
来源: 来源:
+16
View File
@@ -0,0 +1,16 @@
# 任务
- [x] 开发:参加 IBS 项目晨会,同步昨日问题跟进事项。(李春良 0.5)
- [x] 开发:MCP 工具 header 优化开发。(李春良 5)
- [x] 测试:IBS 7.19.0 版本需求测试,分省结算页面隐藏合作服务商。(李英浩 0.5)
- [x] 项目:智能体展示会议。(李春良 2)
# 日志
查一下近半年,带宽数据。
1. 模型
2. 部署
3. 工具开发
# 总结
+29
View File
@@ -0,0 +1,29 @@
# 任务
- [x] 开发:参加 IBS 项目晨会,同步昨日问题跟进事项。(李春良 0.5)
- [x] 客响:nanguapi 信安信息处理。(佟彤 0.5)
- [x] 开发:MCP 工具 header 优化开发,今天把 MCP 的请求头归成一个字段,然后清理了原本的两个 header 字段,实现了 MCP 的请求头的动态处理。。(李春良 7)
# 日志
```
select *
from big_cloud_information_domain
where domain in ('test.nanguapi.com',
'xly20727test01.nanguapi.com',
'xly20727test02.nanguapi.com',
'xly20727ramtest01.nanguapi.com',
'xly20727ramtest02.nanguapi.com',
'xly20727test05.nanguapi.com',
'gx0727test01.nanguapi.com',
'syj20727test01.nanguapi.com',
'gx0727test02.nanguapi.com',
'gx0727test03.nanguapi.com',
'gx0727test04.nanguapi.com',
'gx0727test05.nanguapi.com',
'gx0727test06.nanguapi.com');
```
# 总结
这两天吃药弄的我是真的难受,整个人下午 3 点前极度难受。
+9
View File
@@ -0,0 +1,9 @@
# 任务
- [x] 开发:参加 IBS 项目晨会,同步昨日问题跟进事项。(李春良 0.5)
- [x] 项目:IBS 7.20.0 版本需求评审。(姬高峰 2)
- [x] 开发:MCP 工具开发,增加角色模块、移除 mcp_api_key、工具组扩充、文档优化、工具组重命名。(李春良 5.5)
# 日志
# 总结
-13
View File
@@ -6,19 +6,6 @@
# 日志 # 日志
```
lichunliang E3#Mpkr2
git config user.name "lichunliang"
git config user.email "lichunliang@cmhi.chinamobile.com"
git config --unset user.name
git config --unset user.email
```
请使用 frontend-design skills 为我的前端(前端代码在 frontend 下)设计进行重构。当前项目的前端整体布局及交互样式实在是太乱了,各页面颜色搭配都不是很协调,请帮我进行统一规划设计实现。整体 UI 方向就是:现在最流行的 UI 趋势“柔和立体+透明玻璃+微动效”,核心效果就是 Neumorphism + Glassmorphism + Minimal 微交互。同时要求代码标准,优雅,高效。不要遗留冗余代码。 请使用 frontend-design skills 为我的前端(前端代码在 frontend 下)设计进行重构。当前项目的前端整体布局及交互样式实在是太乱了,各页面颜色搭配都不是很协调,请帮我进行统一规划设计实现。整体 UI 方向就是:现在最流行的 UI 趋势“柔和立体+透明玻璃+微动效”,核心效果就是 Neumorphism + Glassmorphism + Minimal 微交互。同时要求代码标准,优雅,高效。不要遗留冗余代码。
请在 cdn-service\src\main\java\com\cmcc\cdn 下创建一个 ability 文件夹,帮我生成接口限流、接口幂等、文件管理、报表导出 这4个方面的功能代码和一些伪代码文件。要求不能为项目引入新包,只能使用现有的。同时这个文件夹里的代码必须要求完全不合外部有任何交互。不要影响其他逻辑。完全是在自己这个文件夹下实现和提供能力。可以是一些工具类和提供一些 service。每个方面必须有代码输出和独立的伪代码说明。要求代码标准,有中文日志和注释。因为是为了补充代码代码行数千万不要影响到其他项目中的逻辑。只在这个 ability 下进行开发。因为我的项目比较特殊不需要你打包编译。但是尽量不要有语法问题。并最终在 ability 下生成一个 README.md,说明这 4个方面你提供能了哪些能力和工具可以用在哪些场景。 请在 cdn-service\src\main\java\com\cmcc\cdn 下创建一个 ability 文件夹,帮我生成接口限流、接口幂等、文件管理、报表导出 这4个方面的功能代码和一些伪代码文件。要求不能为项目引入新包,只能使用现有的。同时这个文件夹里的代码必须要求完全不合外部有任何交互。不要影响其他逻辑。完全是在自己这个文件夹下实现和提供能力。可以是一些工具类和提供一些 service。每个方面必须有代码输出和独立的伪代码说明。要求代码标准,有中文日志和注释。因为是为了补充代码代码行数千万不要影响到其他项目中的逻辑。只在这个 ability 下进行开发。因为我的项目比较特殊不需要你打包编译。但是尽量不要有语法问题。并最终在 ability 下生成一个 README.md,说明这 4个方面你提供能了哪些能力和工具可以用在哪些场景。
@@ -8,7 +8,7 @@
# 日志 # 日志
![](../../attachment/images-paste/image-20260305082403915.png) ![](../../../attachment/images-paste/image-20260305082403915.png)
``` ```
claude --add-dir ../api ../web claude --add-dir ../api ../web
@@ -28,7 +28,7 @@
表格: 表格:
![](../../attachment/images-paste/image-20260323102328859.png) ![](../../../attachment/images-paste/image-20260323102328859.png)
序号 外协姓名 直属上级 自查问题分类 日报时间 原因说明 附件(截图) 备注 序号 外协姓名 直属上级 自查问题分类 日报时间 原因说明 附件(截图) 备注
@@ -26,7 +26,7 @@ DeepSeek-V3.2
| `--enable-auto-tool-choice` | 默认关闭(False | 传 `--enable-auto-tool-choice` 开启;或显式传 `--no-enable-auto-tool-choice` 关闭 | 允许模型自己决定是否调用工具 | 不开时,模型通常不会主动发起 tool call;开了后,模型可根据问题自动选择 MCP/tool | | `--enable-auto-tool-choice` | 默认关闭(False | 传 `--enable-auto-tool-choice` 开启;或显式传 `--no-enable-auto-tool-choice` 关闭 | 允许模型自己决定是否调用工具 | 不开时,模型通常不会主动发起 tool call;开了后,模型可根据问题自动选择 MCP/tool |
| `--tool-call-parser` | 默认无(None) | 传一个解析器名字,比如 `openai``llama3_json``hermes``mistral``qwen3_xml` 等 | 指定如何解析模型输出的工具调用格式 | 不传时,即使模型输出了工具调用内容,也可能无法被正确识别;传错了会导致 tool call 解析失败 | | `--tool-call-parser` | 默认无(None) | 传一个解析器名字,比如 `openai``llama3_json``hermes``mistral``qwen3_xml` 等 | 指定如何解析模型输出的工具调用格式 | 不传时,即使模型输出了工具调用内容,也可能无法被正确识别;传错了会导致 tool call 解析失败 |
![](../../attachment/images-paste/image-20260325141838198.png) ![](../../../attachment/images-paste/image-20260325141838198.png)
# 总结 # 总结
+9
View File
@@ -0,0 +1,9 @@
# 任务
# 日志
# 总结
调休,看病,田宝 DWY
还有就是今天提到了关于转高级外协的事情
+15
View File
@@ -0,0 +1,15 @@
# 任务
- [x] 开发:参加 IBS 项目晨会,同步昨日问题跟进事项。(李春良 0.5)
- [x] 项目:完善内容网络IBS系统研发项目_IBS子项目3月任务清单。(李春良 1)
- [x] 开发:MCP 工具开发。请求数统计、命中请求数统计、命中率计算(一次性接口)、命中率工具(分步计算用:先调requestCount,再调hitReqCount,最后调此工具计算)、获取企业列表、获取域名列表。(李春良 7)
# 日志
# 总结
今天是喝药第一天,开发了 MCP 工具,下午吃了他达后副作用实在是太大了。
网上回去头疼的厉害。吃完东西早早的睡了。
半夜起来吃了一些东西,总是睡不踏实。
+1
View File
@@ -0,0 +1 @@
日报、张雪峰、模型部署、OpenClaw 更新、修脚、小杨医院、昌平国泰、团团小金豆子
+3
View File
@@ -0,0 +1,3 @@
![](../../attachment/Pasted%20image%2020260329170137.png)
2026-01-13 21:46
@@ -0,0 +1,9 @@
```
lichunliang u!Gub6B4
git config user.name "lichunliang"
git config user.email "lichunliang@cmhi.chinamobile.com"
git config --unset user.name
git config --unset user.email
```