1778682052

This commit is contained in:
Docker7530
2026-05-13 22:20:54 +08:00
parent 6b50219f55
commit 7f14056210
96 changed files with 3297 additions and 354 deletions
+2 -2
View File
@@ -7,8 +7,8 @@
}, },
{ {
"type": "file", "type": "file",
"ctime": 1775633245210, "ctime": 1778660024443,
"path": "work/移动杭研/开发记录/7.20.0/开发笔记 7.20.0.md" "path": "work/移动杭研/开发记录/7.21.0/开发笔记 7.21.0.md"
} }
] ]
} }
+3 -1
View File
@@ -2,6 +2,7 @@
"copyLinkToElemenetAnchorTo100": false, "copyLinkToElemenetAnchorTo100": false,
"copyFrameLinkByName": false, "copyFrameLinkByName": false,
"disableDoubleClickTextEditing": false, "disableDoubleClickTextEditing": false,
"phoneFooterSafeAreaPadding": false,
"folder": "excalidraw", "folder": "excalidraw",
"cropFolder": "excalidraw/cropped", "cropFolder": "excalidraw/cropped",
"annotateFolder": "excalidraw/annotations", "annotateFolder": "excalidraw/annotations",
@@ -29,6 +30,7 @@
"annotateSuffix": "", "annotateSuffix": "",
"annotatePrefix": "annotated_", "annotatePrefix": "annotated_",
"annotatePreserveSize": false, "annotatePreserveSize": false,
"displaySVGInPreview": false,
"previewImageType": "SVGIMG", "previewImageType": "SVGIMG",
"renderingConcurrency": 3, "renderingConcurrency": 3,
"allowImageCache": true, "allowImageCache": true,
@@ -113,7 +115,7 @@
"library2": { "library2": {
"type": "excalidrawlib", "type": "excalidrawlib",
"version": 2, "version": 2,
"source": "https://github.com/zsviczian/obsidian-excalidraw-plugin/releases/tag/2.20.6", "source": "https://github.com/zsviczian/obsidian-excalidraw-plugin/releases/tag/2.22.1",
"libraryItems": [] "libraryItems": []
}, },
"imageElementNotice": true, "imageElementNotice": true,
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.22.0", "version": "2.22.3",
"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
+156 -152
View File
@@ -1,132 +1,104 @@
{ {
"recentFiles": [ "recentFiles": [
{ {
"basename": "开发笔记 7.20.0", "basename": "Claude Code 配置文件",
"path": "work/移动杭研/开发记录/7.20.0/开发笔记 7.20.0.md" "path": "resource/配置/Claude Code 配置文件.md"
}, },
{ {
"basename": "okhttp3", "basename": "Codex 配置文件",
"path": "000-inbox/okhttp3.md" "path": "resource/配置/Codex 配置文件.md"
}, },
{ {
"basename": "MCP 学习", "basename": "ibs-ai-mcp",
"path": "000-inbox/MCP 学习.md" "path": "000-inbox/ibs-ai-mcp.md"
}, },
{ {
"basename": "DDD", "basename": "gitleaks.toml",
"path": "000-inbox/DDD.md" "path": "resource/工具/gitleaks.toml.md"
}, },
{ {
"basename": "个人大纲", "basename": "ibs-export",
"path": "kids-coding/个人大纲.md" "path": "work/移动杭研/业务梳理/ibs-export.md"
}, },
{ {
"basename": "MCP Json 注解", "basename": "常用命令",
"path": "resource/java/MCP Json 注解.md" "path": "resource/常用命令.md"
},
{
"basename": "Maven",
"path": "resource/java/Maven.md"
},
{
"basename": "JPA 双表查询",
"path": "resource/java/JPA 双表查询.md"
},
{
"basename": "JPA 操作规范",
"path": "resource/java/JPA 操作规范.md"
},
{
"basename": "ibs-ai 项目梳理",
"path": "work/移动杭研/AI 项目/ibs-ai 项目梳理.md"
},
{
"basename": "图纸-IBS 智能体-v1-流量查询 demo",
"path": "work/移动杭研/AI 项目/图纸-IBS 智能体-v1-流量查询 demo.md"
},
{
"basename": "词性",
"path": "resource/英语/词性.md"
},
{
"basename": "句子",
"path": "resource/英语/句子.md"
},
{
"basename": "形容词最高级",
"path": "resource/英语/形容词最高级.md"
},
{
"basename": "曹胖学位英语-比较级最高级",
"path": "resource/英语/曹胖学位英语-比较级最高级.md"
},
{
"basename": "曹胖学位英语-冠词真题笔记",
"path": "resource/英语/曹胖学位英语-冠词真题笔记.md"
},
{
"basename": "python 环境",
"path": "resource/python/python 环境.md"
},
{
"basename": "0414-icws.jb51.net 高级配置查询问题",
"path": "work/移动杭研/问题处理/2026-04/0414-icws.jb51.net 高级配置查询问题.md"
},
{
"basename": "PowerShell 配置文件",
"path": "resource/配置/PowerShell 配置文件.md"
},
{
"basename": "CLAUDE.md",
"path": "work/移动杭研/AI 项目/CLAUDE.md.md"
},
{
"basename": "domain_request 分支梳理",
"path": "work/移动杭研/开发记录/7.18.0/domain_request 分支梳理.md"
},
{
"basename": "开发笔记",
"path": "work/移动杭研/开发记录/7.18.0/开发笔记.md"
},
{
"basename": "domain_request 分支梳理 2",
"path": "work/移动杭研/开发记录/7.18.0/domain_request 分支梳理 2.md"
},
{
"basename": "开发笔记",
"path": "work/移动杭研/开发记录/7.19.0/开发笔记.md"
},
{
"basename": "资源收纳",
"path": "resource/资源收纳.md"
},
{
"basename": "TG 备忘录",
"path": "personal/TG 备忘录.md"
},
{
"basename": "路由器",
"path": "personal/路由器.md"
}, },
{ {
"basename": "服务器-香港", "basename": "服务器-香港",
"path": "personal/服务器-香港.md" "path": "personal/服务器-香港.md"
}, },
{ {
"basename": "阅读记录", "basename": "s-ui",
"path": "personal/阅读/阅读记录.md" "path": "resource/系统/网络/s-ui.md"
}, },
{ {
"basename": "漫威电影", "basename": "论文系统",
"path": "personal/影视/漫威电影.md" "path": "personal/专升本/毕业论文/论文系统.md"
}, },
{ {
"basename": "直播源", "basename": "MCP 学习",
"path": "personal/影视/直播源.md" "path": "000-inbox/MCP 学习.md"
}, },
{ {
"basename": "windows", "basename": "labelImg",
"path": "resource/系统/windows.md" "path": "resource/ai/labelImg.md"
},
{
"basename": "月报 202604",
"path": "work/移动杭研/项目备忘/月报 202604.md"
},
{
"basename": "CLAUDE",
"path": "work/移动杭研/AI 项目/CLAUDE.md"
},
{
"basename": "开发笔记 7.21.0",
"path": "work/移动杭研/开发记录/7.21.0/开发笔记 7.21.0.md"
},
{
"basename": "开发笔记 7.20.0",
"path": "work/移动杭研/开发记录/7.20.0/开发笔记 7.20.0.md"
},
{
"basename": "openpalm",
"path": "openpalm/openpalm.md"
},
{
"basename": "VSCode 配置文件",
"path": "resource/配置/VSCode 配置文件.md"
},
{
"basename": "cache+域名配置工单",
"path": "work/移动杭研/业务梳理/运营工单/cache+域名配置工单.md"
},
{
"basename": "IBS 智能体具体落实技术方案",
"path": "work/移动杭研/AI 项目/IBS 智能体具体落实技术方案.md"
},
{
"basename": "AI 工具需求-MCP 请求数统计",
"path": "work/移动杭研/AI 项目/AI 工具需求-MCP 请求数统计.md"
},
{
"basename": "AI 工具需求-命中率计算",
"path": "work/移动杭研/AI 项目/AI 工具需求-命中率计算.md"
},
{
"basename": "图纸-IBS 智能体-v1-流量查询 demo",
"path": "work/移动杭研/AI 项目/图纸-IBS 智能体-v1-流量查询 demo.md"
},
{
"basename": "图纸-IBS 智能体-v1-流量查询 demo 对象存储",
"path": "work/移动杭研/AI 项目/图纸-IBS 智能体-v1-流量查询 demo 对象存储.md"
},
{
"basename": "图纸-IBS 智能体-v2-项目架构 原生 MCP",
"path": "work/移动杭研/AI 项目/图纸-IBS 智能体-v2-项目架构 原生 MCP.md"
},
{
"basename": "图纸-IBS 智能体-v3-项目架构",
"path": "work/移动杭研/AI 项目/图纸-IBS 智能体-v3-项目架构.md"
}, },
{ {
"basename": "getHitRatio接口分析", "basename": "getHitRatio接口分析",
@@ -136,65 +108,97 @@
"basename": "settings.local.json", "basename": "settings.local.json",
"path": "work/移动杭研/AI 项目/settings.local.json.md" "path": "work/移动杭研/AI 项目/settings.local.json.md"
}, },
{
"basename": "RAG Flow 部署",
"path": "work/移动杭研/AI 项目/RAG Flow 部署.md"
},
{
"basename": "RAG Flow",
"path": "work/移动杭研/AI 项目/RAG Flow.md"
},
{
"basename": "ibs-ai 项目梳理",
"path": "work/移动杭研/AI 项目/ibs-ai 项目梳理.md"
},
{
"basename": "2023-06-08 配合配管和华为平面联调",
"path": "work/移动杭研/联调支撑/2023-06-08 配合配管和华为平面联调.md"
},
{
"basename": "python",
"path": "resource/python/python.md"
},
{
"basename": "Qwen3.5(通义千问 3.5)系列的多模态图文大模型(Vision-Language Models",
"path": "resource/ai/大模型安装笔记/Qwen3.5(通义千问 3.5)系列的多模态图文大模型(Vision-Language Models.md"
},
{
"basename": "python 环境",
"path": "resource/python/python 环境.md"
},
{
"basename": "试用工单",
"path": "work/移动杭研/业务梳理/业务工单/试用工单.md"
},
{
"basename": "万象拼音快捷键与操作指南",
"path": "resource/工具/rime/万象拼音快捷键与操作指南.md"
},
{
"basename": "个人大纲",
"path": "kids-coding/个人大纲.md"
},
{
"basename": "课程目标-初级入门",
"path": "kids-coding/课程目标-初级入门.md"
},
{
"basename": "scratch",
"path": "kids-coding/scratch.md"
},
{
"basename": "课程目标-中级提高",
"path": "kids-coding/课程目标-中级提高.md"
},
{
"basename": "vim 快捷键与操作手册",
"path": "resource/系统/vim 快捷键与操作手册.md"
},
{
"basename": "退休计算器",
"path": "personal/个人/退休计算器.md"
},
{
"basename": "0323-邮件发送异常",
"path": "work/移动杭研/问题处理/2026-03/0323-邮件发送异常.md"
},
{
"basename": "开发笔记",
"path": "work/移动杭研/开发记录/7.19.0/开发笔记.md"
},
{
"basename": "开发笔记",
"path": "work/移动杭研/开发记录/7.8.0/开发笔记.md"
},
{ {
"basename": "Rime 快捷键", "basename": "Rime 快捷键",
"path": "resource/工具/rime/Rime 快捷键.md" "path": "resource/工具/rime/Rime 快捷键.md"
}, },
{ {
"basename": "Rime YAML Custom Patch 语法笔记", "basename": "情绪价值",
"path": "resource/工具/rime/Rime YAML Custom Patch 语法笔记.md" "path": "personal/个人/情绪价值.md"
}, },
{ {
"basename": "Rime 小狼毫", "basename": "日志指定域名过滤",
"path": "resource/工具/rime/Rime 小狼毫.md" "path": "work/移动杭研/开发记录/7.20.0/日志指定域名过滤.md"
}, },
{ {
"basename": "x-callback-url", "basename": "杭州服务器-172.21.30.23-AI",
"path": "resource/工具/obsidian/x-callback-url.md" "path": "work/移动杭研/项目备忘/杭州服务器-172.21.30.23-AI.md"
}, },
{ {
"basename": "逆水寒", "basename": "接口收纳",
"path": "personal/游戏/逆水寒.md" "path": "work/移动杭研/业务梳理/接口收纳.md"
},
{
"basename": "梦幻西游法宝价格",
"path": "personal/游戏/梦幻西游法宝价格.md"
},
{
"basename": "梦幻西游",
"path": "personal/游戏/梦幻西游.md"
},
{
"basename": "工作经历",
"path": "personal/履历/工作经历.md"
},
{
"basename": "2022年",
"path": "personal/履历/面试日程/2022年.md"
},
{
"basename": "王欣",
"path": "personal/家人/王欣.md"
},
{
"basename": "田昊",
"path": "personal/家人/田昊.md"
},
{
"basename": "田秉衡",
"path": "personal/家人/田秉衡.md"
},
{
"basename": "牛雅清",
"path": "personal/家人/牛雅清.md"
},
{
"basename": "昌平医院",
"path": "personal/个人/昌平医院.md"
},
{
"basename": "装机系统",
"path": "personal/个人/装机系统.md"
} }
], ],
"omittedPaths": [ "omittedPaths": [
File diff suppressed because one or more lines are too long
+3 -4
View File
@@ -1,9 +1,9 @@
{ {
"id": "recent-files-obsidian", "id": "recent-files-obsidian",
"name": "Recent Files", "name": "Recent Files",
"version": "1.7.6", "version": "1.7.9",
"minAppVersion": "0.16.3", "minAppVersion": "0.16.3",
"description": "List files by most recently opened", "description": "List files by most recently opened.",
"author": "Tony Grosinger", "author": "Tony Grosinger",
"authorUrl": "https://grosinger.net", "authorUrl": "https://grosinger.net",
"isDesktopOnly": false, "isDesktopOnly": false,
@@ -11,6 +11,5 @@
"Github Sponsor": "https://github.com/sponsors/tgrosinger", "Github Sponsor": "https://github.com/sponsors/tgrosinger",
"Buy me a Coffee": "https://buymeacoffee.com/tgrosinger", "Buy me a Coffee": "https://buymeacoffee.com/tgrosinger",
"Paypal": "https://paypal.me/tgrosinger" "Paypal": "https://paypal.me/tgrosinger"
}, }
"donation": "https://buymeacoffee.com/tgrosinger"
} }
File diff suppressed because one or more lines are too long
+8 -2
View File
@@ -1,11 +1,17 @@
{ {
"id": "templater-obsidian", "id": "templater-obsidian",
"name": "Templater", "name": "Templater",
"version": "2.19.1", "version": "2.20.4",
"description": "Create and use templates", "description": "Advanced templating and automation using handlebars-like syntax.",
"minAppVersion": "1.12.2", "minAppVersion": "1.12.2",
"author": "SilentVoid", "author": "SilentVoid",
"authorUrl": "https://github.com/SilentVoid13", "authorUrl": "https://github.com/SilentVoid13",
"fundingUrl": {
"GitHub Sponser (Zachatoo, maintainer)": "https://github.com/sponsors/Zachatoo",
"Ko-fi (Zachatoo, maintainer)": "https://ko-fi.com/zachatoo",
"GitHub Sponser (SilentVoid13, creator)": "https://github.com/sponsors/SilentVoid13",
"Paypal (SilentVoid13, creator)": "https://www.paypal.com/donate?hosted_button_id=U2SRGAFYXT32Q"
},
"helpUrl": "https://silentvoid13.github.io/Templater/", "helpUrl": "https://silentvoid13.github.io/Templater/",
"isDesktopOnly": false "isDesktopOnly": false
} }
+1 -1
View File
@@ -221,6 +221,6 @@ textarea.templater-prompt-input:focus {
} }
li.CodeMirror-hint-active { li.CodeMirror-hint-active {
background: #08f; background: #0088ff;
color: white; color: white;
} }
+49 -54
View File
@@ -4,22 +4,17 @@
"type": "split", "type": "split",
"children": [ "children": [
{ {
"id": "61d6e3de70affb43", "id": "3b53df791fad9365",
"type": "tabs", "type": "tabs",
"children": [ "children": [
{ {
"id": "136349dfabcba548", "id": "3380ac457721e5ca",
"type": "leaf", "type": "leaf",
"state": { "state": {
"type": "markdown", "type": "empty",
"state": { "state": {},
"file": "calendar/diary/2026-04-20.md",
"mode": "source",
"source": false,
"backlinks": false
},
"icon": "lucide-file", "icon": "lucide-file",
"title": "2026-04-20" "title": "新标签页"
} }
} }
] ]
@@ -55,7 +50,7 @@
"state": { "state": {
"type": "search", "type": "search",
"state": { "state": {
"query": "path:resource/英语 ", "query": "c64364a13234fc9c7ffcfecb1d59ce69a9",
"matchingCase": false, "matchingCase": false,
"explainSearch": true, "explainSearch": true,
"collapseAll": false, "collapseAll": false,
@@ -90,14 +85,14 @@
"type": "recent-files", "type": "recent-files",
"state": {}, "state": {},
"icon": "clock", "icon": "clock",
"title": "Recent Files" "title": "Recent files"
} }
} }
] ]
} }
], ],
"direction": "horizontal", "direction": "horizontal",
"width": 381.5 "width": 262.5
}, },
"right": { "right": {
"id": "ca733f6d5936ae40", "id": "ca733f6d5936ae40",
@@ -114,13 +109,13 @@
"state": { "state": {
"type": "outline", "type": "outline",
"state": { "state": {
"file": "calendar/diary/2026-04-20.md", "file": "calendar/diary/2026年/2026-04-01.md",
"followCursor": true, "followCursor": true,
"showSearch": false, "showSearch": false,
"searchQuery": "" "searchQuery": ""
}, },
"icon": "lucide-list", "icon": "lucide-list",
"title": "2026-04-20 的大纲" "title": "2026-04-01 的大纲"
} }
}, },
{ {
@@ -215,7 +210,7 @@
} }
], ],
"direction": "horizontal", "direction": "horizontal",
"width": 275.5 "width": 293.5
}, },
"left-ribbon": { "left-ribbon": {
"hiddenItems": { "hiddenItems": {
@@ -231,52 +226,52 @@
}, },
"active": "c8718c0c63702202", "active": "c8718c0c63702202",
"lastOpenFiles": [ "lastOpenFiles": [
"calendar/diary/2026-04-17.md", "calendar/diary/2026-05-13.md",
"calendar/diary/2026-04-20.md", "resource/配置/Claude Code 配置文件.md",
"work/移动杭研/开发记录/7.20.0/开发笔记 7.20.0.md", "resource/配置/Codex 配置文件.md",
"000-inbox/okhttp3.md", "000-inbox/ibs-ai-mcp.md",
"resource/工具/gitleaks.toml.md",
"work/移动杭研/业务梳理/ibs-export.md",
"resource/常用命令.md",
"work/移动杭研/AI 项目/开发备注.md",
"calendar/diary/2026年/2026-04-29.md",
"personal/服务器-香港.md",
"resource/系统/网络/s-ui.md",
"personal/专升本/毕业论文/论文系统.md",
"calendar/diary/2026-05-12.md",
"calendar/diary/2026-05-11.md",
"000-inbox/MCP 学习.md", "000-inbox/MCP 学习.md",
"000-inbox/DDD.md", "resource/ai/labelImg.md",
"kids-coding/个人大纲.md", "000-inbox/05月13日 162628.md",
"work/移动杭研/项目备忘/月报 202604.md",
"000-inbox/05月13日 154359.md",
"000-inbox/05月12日 224712.md",
"work/移动杭研/AI 项目/CLAUDE.md",
"work/移动杭研/开发记录/7.21.0/开发笔记 7.21.0.md",
"attachment/7e1e741c766535189b32065c7a64eac1.png",
"calendar/diary/2026年/2026-04-30.md",
"calendar/diary/2026年/2026-04-28.md",
"calendar/diary/2026年/2026-04-27.md",
"calendar/diary/2026年/2026-04-26.md",
"attachment/Pasted image 20260512224844.png",
"attachment/Pasted image 20260512224832.png",
"attachment/Pasted image 20260512224822.png",
"attachment/Pasted image 20260512224810.png",
"attachment/Pasted image 20260512224800.png",
"attachment/Pasted image 20260512224731.png",
"attachment/Pasted image 20260512224719.png",
"work/移动杭研/开发记录/7.21.0",
"attachment/becb0e09fea4dbe4e8325f4feb71ddb7.png",
"attachment/189773f040352ec11efbf4db63e8b53f.png",
"openpalm",
"resource/rust",
"kids-coding", "kids-coding",
"000-inbox/04月17日 161753.md",
"calendar/diary/2026-04-10.md",
"calendar/diary/2026-04-18.md",
"calendar/weeks/2026-W16.md",
"calendar/diary/2026-04-16.md",
"calendar/diary/2026-04-15.md",
"calendar/diary/2026-04-14.md",
"calendar/diary/2026-04-13.md",
"calendar/diary/2026-04-19.md",
"calendar/diary/2026-04-09.md",
"resource/java/MCP Json 注解.md",
"resource/java/Maven.md",
"resource/java/JPA 双表查询.md",
"resource/java/JPA 操作规范.md",
"work/移动杭研/AI 项目/ibs-ai 项目梳理.md",
"work/移动杭研/AI 项目/图纸-IBS 智能体-v1-流量查询 demo.md",
"resource/英语/词性.md",
"resource/英语/句子.md",
"resource/英语/形容词最高级.md",
"resource/python", "resource/python",
"work/移动杭研/问题处理/2026-04", "work/移动杭研/问题处理/2026-04",
"attachment/images-paste/Pasted image 20260413135741.png",
"attachment/images-uuid/30df1a7f789e4d9cba02297ffcc813be.png",
"attachment/images-uuid/6995374f2632453e95171ac6b2ab325e.png",
"attachment/images-paste/Pasted image 20260413135806.png",
"attachment/images-paste/Pasted image 20260329170137.png",
"attachment/images-paste/Pasted image 20260402090513.png",
"work/移动杭研/开发记录/7.20.0", "work/移动杭研/开发记录/7.20.0",
"attachment/scripts/openTerminal.js", "attachment/scripts/openTerminal.js",
"attachment/scripts", "attachment/scripts",
"attachment/Pasted image 20260329165253.png",
"attachment/Pasted image 20260329165321.png",
"attachment/Pasted image 20260329165301.png",
"attachment/images-paste/image-20230226203841579.png",
"attachment/jsscripts/openTerminal.js", "attachment/jsscripts/openTerminal.js",
"attachment/jsscripts/新建文本文档.txt",
"attachment/jsscripts",
"resource/ai/大模型安装笔记",
"000-inbox/未命名.canvas" "000-inbox/未命名.canvas"
] ]
} }
-1
View File
@@ -1 +0,0 @@
DDD
+30
View File
@@ -0,0 +1,30 @@
| 方法 | 接口名称 | 入参描述 | 一句话作用 |
| ------ | ----------------------------------------------- | ------------------------------------------------ | ---------------------- |
| GET | `/api/mcp-tools` | `toolGroupId``displayName``pageNum``pageSize` | 分页查询动态工具列表 |
| GET | `/api/mcp-tools/{id}` | 工具 ID | 查询动态工具详情 |
| POST | `/api/mcp-tools` | `McpToolRequest` | 创建动态工具并注册到 MCP Server |
| PUT | `/api/mcp-tools/{id}` | 工具 ID、`McpToolRequest` | 更新动态工具并重新注册 |
| DELETE | `/api/mcp-tools/{id}` | 工具 ID | 删除动态工具并从 MCP Server 移除 |
| POST | `/api/mcp-tools/{id}/toggle` | 工具 ID | 启用或禁用动态工具 |
| POST | `/api/mcp-tools/{id}/tool-groups/{groupId}` | 工具 ID、工具组 ID | 将工具绑定到工具组 |
| DELETE | `/api/mcp-tools/{id}/tool-groups/{groupId}` | 工具 ID、工具组 ID | 解除工具与工具组绑定 |
| | | | |
| GET | `/api/tool-groups` | `pageNum``pageSize` | 分页查询工具组列表 |
| GET | `/api/tool-groups/{id}` | 工具组 ID | 查询工具组详情 |
| GET | `/api/tool-groups/{id}/tools` | 工具组 ID、`displayName` | 查询工具组关联的全部工具 |
| POST | `/api/tool-groups` | `McpToolGroupRequest` | 创建工具组并生成 API Key |
| PUT | `/api/tool-groups/{id}` | 工具组 ID、`McpToolGroupRequest` | 更新工具组名称或描述 |
| DELETE | `/api/tool-groups/{id}` | 工具组 ID | 删除工具组并解除相关关联 |
| POST | `/api/tool-groups/{id}/toggle` | 工具组 ID | 启用或禁用工具组 |
| POST | `/api/tool-groups/{id}/reset-api-key` | 工具组 ID | 重置工具组 API Key |
| | | | |
| GET | `/api/roles` | `pageNum``pageSize` | 分页查询角色列表 |
| GET | `/api/roles/{id}` | 角色 ID | 查询角色详情 |
| POST | `/api/roles` | `RoleRequest` | 创建角色并生成角色 Key |
| PUT | `/api/roles/{id}` | 角色 ID、`RoleRequest` | 更新角色名称或描述 |
| DELETE | `/api/roles/{id}` | 角色 ID | 删除角色并解除工具组关联 |
| POST | `/api/roles/{id}/toggle` | 角色 ID | 启用或禁用角色 |
| POST | `/api/roles/{id}/reset-key` | 角色 ID | 重置角色 Key |
| GET | `/api/roles/{id}/tool-groups` | 角色 ID | 查询角色可用工具组 |
| POST | `/api/roles/tool-groups` | `roleId``toolGroupId` | 给角色关联工具组 |
| DELETE | `/api/roles/{roleId}/tool-groups/{toolGroupId}` | 角色 ID、工具组 ID | 移除角色的工具组关联 |
Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 126 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 63 KiB

-9
View File
@@ -1,9 +0,0 @@
# 任务
- [x] 开发:参加 IBS 项目晨会,同步昨日问题跟进事项。(李春良 0.5)
- [x] 客响:处理信安信息山东 www.yssylt.com 硕安科技有限公司 鲁ICP备07003074号-1 未备案域名。(赵普明 0.5)
- [ ] 开发:IBS 7.20.0 版本需求开发,3.9 客服智能体一期底层大模型替换&mcp开发。(李春良)
# 日志
# 总结
+37
View File
@@ -0,0 +1,37 @@
# 任务
# 日志
我做了一个基于 OpenClaw 的自动化 Cosmic 拆分 Agent。
它的整个运作原理如下:
1. 通过各种 Cosmic 规范实现 Skill 的重写。
2. 针对产品需求,按照预先规定的 Skill 对其进行扩写和功能点拆分,并完成规范化处理。
目前全组 10 个人都在使用,每人每天消耗的 Token 在 100 万左右。这个工具带来的提升非常明显:
1. 效率提升:以前每一期 Cosmic 拆分工作需要耗费每人一周的工时,现在任务下发后,每人基本上用一天时间就能完成需求的扩写、拆分、规范检查及提交。
2. 组员工作:这是目前组员端的主要工作流程。
此外,我还开发了另一个 Agent,专门负责对组员拆分后的结果进行复查。该 Agent 会根据规则进行自动扫描,大大减轻了管理员(项目经理)的复查工作量。
---
我基于 OpenClaw,搭建落地了 Cosmic 需求拆分自动化 Agent,贴合业务定制整套能力:
通过 Cosmic 统一规范完成专属技能逻辑重构,承接原始产品需求,自动完成内容扩写、功能点拆解与标准化规整。
目前该 Agent 已在全组 10 人规模化落地使用,日常高频运行,人均每日稳定 Token 消耗约100万。
效率提升十分显著:原先单人完成一期 Cosmic 需求拆分、规范整改与提交,需要整周耗时;现在依托 AI 自动化能力,仅需 1 天即可全流程收尾,大幅压缩重复低效工作。
现阶段这套自动化流程,已是团队日常需求处理的核心工作链路。
同时配套搭建了结果复核专属 Agent,针对组员拆分完成的内容做自动化规则巡检、合规校验,替代大量人工核对工作,有效降低项目经理的复审压力,减少人工疏漏,提升整体交付质量。
# 总结
早晨晕车,中午麻辣烫,回家。
下午和妈聊天。晚上出去吃。
+7
View File
@@ -0,0 +1,7 @@
# 任务
# 日志
# 总结
上午杨超。下午下午。贾磊。晚上田昊撞车。
+17
View File
@@ -0,0 +1,17 @@
# 任务
# 日志
# 总结
上午修车。
今天父母带田宝玩儿了一天,感觉真的太好了,这就是这次回来最好的事情。
这次回家多和家里聊了一些。加油。
下午和小杨去看了看衣服。
上午去大哥家待了会儿,看了看三奶奶。
晚上田昊撞车了。感觉是紧张了。
+9
View File
@@ -0,0 +1,9 @@
# 任务
# 日志
# 总结
田宝照相。
拍照的人也是非常的不容易,整个过程要一直照顾小孩儿的心情。
+9
View File
@@ -0,0 +1,9 @@
# 任务
# 日志
# 总结
回京了。上午还好,估计是吃了两片晕车药。
下午睡了一觉。
+18
View File
@@ -0,0 +1,18 @@
# 任务
- [x] 开发:参加 IBS 项目晨会,同步昨日问题跟进事项。(李春良 0.5)
- [x] 联调:IBS 7.20.0 版本联调,BBOSS 中国移动CDN信控能力优化需求,环境恢复,开始联调。(张鹏豪 4)
- [x] 开发:IBS 7.20.0 版本需求开发,客服智能体一期底层大模型替换&mcp开发,默认值复写 schema 问题(李春良 3)
- [x] 客响:信安信息处理,www.zbpengyue.com、zbpengyue.com,同步删除。(赵普明 0.5)
# 日志
信安信息处理:
www.zbpengyue.com
zbpengyue.com
# 总结
学习 DINOv3、OpenCV、SAM 2 技术框架。
+104
View File
@@ -0,0 +1,104 @@
# 任务
- [x] 开发:参加 IBS 项目晨会,同步昨日问题跟进事项。(李春良 0.5)
- [x] 联调:IBS 7.20.0 版本联调,BBOSS 中国移动CDN信控能力优化需求,环境恢复,开始联调,BBOSS 测有问题。(张鹏豪 2)
- [x] 开发:IBS 7.20.0 版本需求开发,客服智能体一期底层大模型替换&mcp开发,前后端联调。(李春良 5.5)
# 日志
Qwen3.6-35B-A3B-FP8
Qwen3.5-122B-A10B-GPTQ-Int4
Qwen3.6-35B-A3BBF16
我发现了一个内核的 API http://127.0.0.1:9595/proxies/%E5%85%AC%E7%9B%8A%20%F0%9F%87%BA%F0%9F%87%B8%20%F0%9F%87%BA%F0%9F%87%B8%20%E7%BE%8E%E5%9B%BD%20%7C%20USA%2013/delay?url=https:%2F%2Fwww.gstatic.com%2Fgenerate_204&timeout=5000
根据源码分析得到结论:
结论
这个 API 是 sing-box Clash 兼容 API 的代理延迟测试接口,用于通过指定的出站代理向目标 URL 发送请求,测量往返延迟(毫秒)。
对应 URL 解析
你请求的 URL 解码后为:
GET http://127.0.0.1:9595/proxies/公益 🇺🇸 🇺🇸 美国 | USA 13/delay
?url=https://www.gstatic.com/generate_204
&timeout=5000
参数 值 含义
{name} 公益 🇺🇸 🇺🇸 美国 | USA 13 要测试的出站代理名称
url https://www.gstatic.com/generate_204 测试目标 URL
timeout 5000 超时时间,5000ms
源码依据
1. 路由注册
experimental/clashapi/proxies.go:31 注册了 /proxies/{name}/delay 路由,由 getProxyDelay 处理。
2. 处理流程(proxies.go:187-234
解析 url 和 timeout 参数
拒绝 HTTP URL——如果 url 以 http:// 开头,会被置空(回退到默认值)
创建带超时的 context(你设了 5000ms
调用 urltest.URLTest() 执行实际测试
将结果存入 urlTestHistory(成功存延迟值,失败则删除记录)
3. 核心测试逻辑(common/urltest/urltest.go:75-130
① 通过出站代理建立 TCP 连接到 www.gstatic.com:443
② 如果连接需要 TLS 握手,计时从握手完成后开始(排除代理建连开销)
③ 发送 HTTP HEAD 请求(不是 GET,减少数据传输)
④ 不跟随重定向
⑤ 返回 delay = 往返耗时(毫秒),类型 uint16
关键细节:如果 url 参数为空,默认使用 https://www.gstatic.com/generate_204。
成功响应
{"delay": 230}
表示通过该代理访问目标 URL 的往返延迟为 230ms。
错误响应
HTTP 状态码 含义
400 参数错误(timeout 无法解析)
404 找不到该名称的出站代理
503 测试失败或 delay 为 0
504 超时(超过你设的 5000ms
副作用
测试结果会自动写入 urlTestHistory 内存存储,这意味着:
如果该出站是 URLTest 组的成员,这次手动测试的延迟值会覆盖自动健康检查的历史记录
Clash 兼容的前端面板(如 Yacd、Metacubexd)会用这个值来显示代理延迟
不确定项
config_sub.json 中未看到 experimental.clash_api 的配置,无法确认你的 Clash API 是否需要认证(源码中注册了认证中间件)
该出站代理 公益 🇺🇸 🇺🇸 美国 | USA 13 是否存在于你的配置中,需要查看 config_sub.json 确认
能否给我在我的 singbox.ps1 增加一个脚本,测试 outbounds 中 "tag": "公益" 的 所有公益开头,但不是 公益 iFly 开头的节点。并剔除掉 500ms 延迟以下的节点这样一个功能。
让我的 公益节点可用性增强。
# 总结
让每一天有所产出。
+39
View File
@@ -0,0 +1,39 @@
# 任务
- [x] 开发:参加 IBS 项目晨会,同步昨日问题跟进事项。(李春良 0.5)
- [x] 联调:IBS 7.20.0 版本联调,BBOSS 中国移动CDN信控能力优化需求,联调阻塞。(张鹏豪)
- [x] 开发:邮件标题从【信安信息更新通知】更改为【未备案域名信息提醒】。(李春良 0.5)
# 日志
鲍嘉铭
baojiaming
郑森
zhengsen
| 时态 | 结构 | 核心含义 | 常见时间标志词 | 考试识别技巧 | 例句 |
| ----------- | --------------------- | ------------------- | ----------------------------------------------------------- | --------------------------------------- | --------------------------------------------- |
| 一般现在时 | do/does | 经常、习惯、真理 | usually, always, often, sometimes, every day | 看见频率副词,常用一般现在时;主将从现中从句也用一般现在时 | He goes to school every day. |
| 一般过去时 | didwas/were | 过去发生的动作或状态 | yesterday, ago, last week, just now, the other day | 看见明确过去时间,多用一般过去时 | She visited Beijing last year. |
| 一般将来时 | will/shall do | 将来要发生的事 | tomorrow, next week, soon, in the future | 表示将来最常考 will do;注意和 be going to 区分 | I will call you tomorrow. |
| be going to | am/is/are going to do | 打算、计划;很可能发生 | tomorrow, tonight, soon | 强调“打算/迹象” | We are going to travel this summer. |
| be to | am/is/are to do | 计划、安排、注定 | 常与具体安排连用 | 书面语较强,表示“按计划将要” | They are to meet at 8. |
| be about to | am/is/are about to do | 即将、马上 | 一般不与明确将来时间连用 | 表示眼前马上发生 | The train is about to leave. |
| 现在进行时 | am/is/are doing | 现在正在进行 | now, at the moment, look, listen | 看“正在做” | She is reading now. |
| 过去进行时 | was/were doing | 过去某时正在进行 | at that time, then, when… | 常和一般过去时搭配,一个进行一个打断 | I was sleeping when he called. |
| 将来进行时 | will be doing | 将来某时正在进行 | this time tomorrow, at 8 tomorrow | 表示将来某个时刻正在发生 | I will be studying this time tomorrow. |
| 现在完成时 | have/has done | 已完成,对现在有影响;从过去持续到现在 | already, yet, just, since, for, so far, up to now, recently | 看到 since/for/so far/up to now 常优先想现在完成时 | I have finished my work already. |
| 过去完成时 | had done | 过去某时之前已完成 | before, after, by, until, once, when | “过去的过去”是关键 | He had left before I arrived. |
| 将来完成时 | will have done | 到将来某时之前已完成 | by the end of…, by…, before… | 看到 by + 将来时间,常考将来完成时 | We will have finished it by Friday. |
| 现在完成进行时 | have/has been doing | 从过去持续到现在,还可能继续 | since, for, all day, these days | 强调“持续”和“未完成” | I have been learning English for three years. |
# 总结
早晨刷 OpenCV 的课程,我发现博主主要是讲解 API 所以,我直接用 AI 给我梳理总结了相关的使用方法。
我发现要改变自己笔记记录的形式,现在有 AI 的加持,首先要改变的就是不要再生搬知识点,我们应该记录的是我们自己的实战经验,和问题。以及一些类似密码,和操作手册。知识点不再需要了。查知识点不如问 AI 了。记录更多的思维。
心里开始着急,混乱,不知道干什么?
+23
View File
@@ -0,0 +1,23 @@
# 任务
- [x] 开发:参加 IBS 项目晨会,同步昨日问题跟进事项。(李春良 0.5)
- [x] 联调:IBS 7.20.0 版本联调,BBOSS 中国移动CDN信控能力优化需求,联调阻塞。(张鹏豪 2)
- [x] 联调:配合 BPM 联调,郑森、鲍嘉铭工单流转透传信息。(姬高峰 2)
- [x] 客响:cmlive.migu.cn 域名状态问题,显示部署中。(李春良 2)
- [x] 客响:https_data 接口如何判断是否走大数据和 crs 以及 isp 什么时候传输问题,接口文档。(祖志龙 1)
- [x] 测试:话单下载异常。(徐丛芳 0.5)
# 日志
| 数据库id | 姓名 | 手机号码 | 邮箱 | 账号类型 | 省份 | 角色类型 | 登录用户名 |
| ----- | --- | ----------- | --------------------- | ----- | --- | ------ | ---------- |
| 3042 | 郑森 | 13881827971 | 13881827971@gmail.com | 集团级账号 | 集团 | 集团运营经理 | zhengsen |
| 3041 | 鲍嘉铭 | 13079700587 | 13079700587@gmail.com | 集团级账号 | 集团 | 集团运营经理 | baojiaming |
咪咕文化-TSG
cmlive.migu.cn
# 总结
超级忙。
+11
View File
@@ -0,0 +1,11 @@
# 任务
# 日志
# 总结
学位英语考试。
这次学位英语仔细做了,感觉时间过的超级快,心里也有些后悔,如果早做打算,那么自己会不会直接过了呢。3 年的时间都没有珍惜。
中午后来小杨取地铁接我。
+45
View File
@@ -0,0 +1,45 @@
# 任务
- [x] 客响:信安信息更新通知,印火火科技(天津)有限责任公司域名异常信息查询。(佟彤,普明 0.5)
- [x] 开发:订购迁移工单下发 BPM 域名丢失问题修正。(张鹏豪 2)
- [x] 开发:版本补充代码 AI 和复用。(李春良 1)
- [x] 开发:IBS 7.20.0 版本需求开发,客服智能体一期底层大模型替换&mcp开发,工具组详情查询工具列表、角色组查询工具组列表支持不分页和根据名称搜索。(张鹏豪 3.5)
- [x] 需求:客户经历邮件,开户、试用到期,开户无,到期有,首次开通没有,非首次开通有(张鹏豪 1)
# 日志
```
String details = originMigrateDomains.stream()
.collect(Collectors.joining(",", vo.getOriginMigrateProductId() + ":", ""));
```
1、3个表新增创建人、更新人:X-User-Name
2、工具组详情查询工具列表、角色组查询工具组列表支持不分页和根据名称搜索
3、分页接口不返回Page,包装一层 TableDataInfo
---
@田卓 全站加速增值产品-全站四层加速 信控暂停单:100A260511227092 帮忙处理一下[抱拳]
---
我的三张主表 mcp_tool_group、role、mcp_tool,我想增加两个字段:
新增nickname 更新nickname
这个字段前端会给我放到请求头的 X-User-Name。
这三张表 增 改 的时候处理这两个字段,
新增的时候X-User-Name的值同时放到 新增nickname 和 更新nickname。后续更新只需放到 更新nickname。
这里改还涉及关联关系,比如 角色 和 工具组 关联 工具组和 工具关联,也就是,比如给角色关联工具组。给工具组关联工具,工具自身修改。这种也要更新 更新nickname 这个字段。也就是比如给 角色关联工具组,那么更新 角色的 更新nickname 。
你能明白么?这个设计接口多,咋们先梳理方案。别弄错了。尤其是怎么从 header 取 X-User-Name,我这个项目好多接口的。是不是统一取,用的时候从统一的位置拿。
# 总结
优化项目,瞎写?
+14
View File
@@ -0,0 +1,14 @@
# 任务
- [x] 开发:参加 IBS 项目晨会,同步昨日问题跟进事项。(李春良 0.5)
- [x] 开发:IBS 7.20.0 版本需求开发,客服智能体一期底层大模型替换&mcp开发,3个表新增创建人、更新人:X-User-Name。(张鹏豪 7.5
# 日志
Reactive Streams
Subversion
# 总结
今天在咸鱼上买了 YOLO 的课程,这是我第一次感觉这么亏。我感觉是被自己做事情着急,没有充分调研造成的。
+35
View File
@@ -0,0 +1,35 @@
# 任务
- [x] 开发:参加 IBS 项目晨会,同步昨日问题跟进事项。(李春良 0.5)
- [x] 项目:7.21.0 版本需求评审,需求梳理。(赵普明 4)
- [x] 开发:IBS 7.20.0 版本需求开发,客服智能体一期底层大模型替换&mcp开发,分页接口不返回Page,包装一层 TableDataInfo,前后端联调。(张鹏豪 3.5)
# 日志
北京市昌平区 幼师第五实验 幼儿园
北京市昌平区 幸福童心 幼儿园
北京市昌平区 教师进修学校附属学校 幼儿园
https://www.kdocs.cn/l/cj2VeBmqnoXP
![](../../attachment/7e1e741c766535189b32065c7a64eac1.png)
# 总结
感觉好久没有记录过自己的想法了,打字虽然流畅了,但是总是感觉有的时候还是会卡壳。
今天记录一下,鹏豪这两天一直在弄他的 OpenClaw,感叹他的强大,但是我不禁的想这个工具 2025.11.24 就开始爆火,我算是经历了信息差,一直跟着玩儿。从去年十月一到今天我最大的心里想法就是信息差真的是一个很恐怖的事情,让你和别人不在一个线上。
另一个感受就是 AI 这个东西你不会领先别人很多,你可能折腾好久的东西,但是当有的人一经接触,会非常快的追赶上来。
这两天和张泽在搭配开发,发现张泽是一个不怎么喜欢玩儿 AI 工具的同事。
晚上回家有点晚了,我发现田宝在公园的表达还是很有意思的,需要更好的引导。
这两天在给田宝看幼儿园,最终订了北京市昌平区幼师第五实验幼儿园。
开始研究 Hermes。
用 gitleaks 检查了一下笔记的密钥。
+13
View File
@@ -0,0 +1,13 @@
# 任务
- [x] 开发:参加 IBS 项目晨会,同步昨日问题跟进事项。(李春良 0.5)
- [x] 客响:处理信安信息山东 www.yssylt.com 硕安科技有限公司 鲁ICP备07003074号-1 未备案域名。(赵普明 0.5)
- [x] 开发:IBS 7.20.0 版本需求开发,3.9 客服智能体一期底层大模型替换&mcp开发。(李春良 7)
# 日志
# 总结
晚上和张泽海阳吃了散伙饭,感觉通过聊天能感受到项目已经越来越不行了。
回家尝试给田宝讲了 scrach。感觉这个最难的地方是如何把你自己很明白的事情给小朋友说清楚。
+11
View File
@@ -0,0 +1,11 @@
# 任务
- [x] 开发:参加 IBS 项目晨会,同步昨日问题跟进事项。(李春良 0.5)
- [x] 测试:IBS 7.20.0 版本测试用例评审。(郑子雯 0.5)
- [x] 开发:IBS 7.20.0 版本 AI 代码编写。(李春良 1)
- [x] 项目:IBS审计材料。(李春良 0.5)
- [x] 测试:IBS 7.20.0 版本冒烟测试用例自测。(郑子雯 5.5)
# 日志
# 总结
+11
View File
@@ -0,0 +1,11 @@
# 任务
- [x] 开发:参加 IBS 项目晨会,同步昨日问题跟进事项。(李春良 0.5)
- [x] 测试:IBS 7.20.0 版本冒烟测试用例自测,前后端联调,4/5。(郑子雯 2.5)
- [x] 开发:IBS 7.20.0 版本需求开发,3.9 客服智能体一期底层大模型替换&mcp开发。编写 selectToolGroup 工具并进行调试,针对 selectToolGroup 工具权限进行单独过滤。(李春良 5)
# 日志
# 总结
海阳离职了。
+36
View File
@@ -0,0 +1,36 @@
# 任务
- [x] 开发:参加 IBS 项目晨会,同步昨日问题跟进事项。(李春良 0.5)
- [x] 测试:IBS 7.20.0 版本冒烟测试用例自测,完成。(郑子雯 3.5)
- [x] 项目:完成 4 月的研发过程管理任务清单。(李春良 1)
- [x] 项目:需求拆分工具部署。(张鹏豪 3)
# 日志
NLP = Natural Language Processing
BERT 是谷歌 2018 年发布的一款预训练 NLP 大模型全称:Bidirectional Encoder Representations from Transformers 中文:基于 Transformer 的双向编码器表征
LLM = Large Language Model 中文:大语言模型
| 模型 | 定位 | 能力 |
| ---- | ---- | ------------------ |
| BERT | 理解模型 | 只看懂文本,不会自由创作 |
| GPT | 生成模型 | 主打写字、聊天 |
| LLM | 统称 | 所有巨型 AI 语言模型都叫 LLM |
这里的 PMF = Product-Market Fit 中文标准翻译:产品市场契合
SGD = Stochastic Gradient Descent 中文:随机梯度下降
为了解决这个问题,许多代理系统实现了上下文截断或压缩策略。但过度激进的压缩不可避免地导致信息丢失。这个问题是根本性的:代理本质上必须根据所有先前状态预测下一个动作——而你无法可靠地预测哪个观察结果可能在十步之后变得至关重要。从逻辑角度看,任何不可逆的压缩都带有风险。
结构化的外部记忆。
创建一个todo.md文件
关于 [AI代理的上下文工程:构建Manus的经验教训](https://manus.im/zh-cn/blog/Context-Engineering-for-AI-Agents-Lessons-from-Building-Manus),上下文工程是一个可以拉开差距以及迅速迭代的工程,其中 KV 缓存机制至关重要,遮蔽方法是一个不错的理念,不要改变结构而是决定哪些工具的展示。记忆系统非常重要,一味的压缩不一定带来好的体验。不要被少样本示例所困,适当的打破结构。
KV 缓存,文章 [Transformers KV Caching Explained | by João Lages | Medium](https://medium.com/@joaolages/kv-caching-explained-276520203249) 我个人理解,就是如果不用缓存,每次都会把前边生成过的字再计算一遍,但是如果有缓存了,那么前边的 kv 的值就不会再次计算了,而是直接启用,但是缓存的只有 kv 那么则不会影响模型预测输出。
# 总结
+167
View File
@@ -0,0 +1,167 @@
# 任务
- [x] 开发:参加 IBS 项目晨会,同步昨日问题跟进事项。(李春良 0.5)
- [x] 项目:完成 4 月的研发过程管理任务清单。(李春良 1)
- [x] 项目:需求拆分工具调试。(张鹏豪 1)
- [x] 项目:cosmic 拆分预填。(李春良 3)
# 日志
HCDN业务标准化接入-典基平面接入与基础数据模型扩展
105
需求背景:现有配置管理不支持冲突域名,不同CPID下同名域名下发配置失败、展示异常。
具体描述:
1、配置管理页面兼容冲突域名;
2.不同CPID下客户传入原始域名,自动转为带后缀冲突域名下发给配管;
3.客户查看时自动转回原始域名展示;
4.相同CPID不做转换;
5.子账号页面同步支持。
1. 基本配置,基础信息查询;3
2. 编辑 ipv6 配置;2
缓存配置
回源配置
HTTPS配置
高级配置
---
需求背景:省侧用户找不到新增域名入口,删除工单为冗余流程。
具体描述:
1. 变更工单中冗余的“删除”子流程;
2. 新增“新增域名工单”;
3. 运营查询新增“新增域名工单” 类型;
4. 保留原工单类型用于历史工单查询;
5. 优化表单交互,更易理解与操作。
需求背景:为支撑政企三网 CDN 多供应商服务,需新增第三方 CDN 业务平面,实现与 BOSS、CRS、BPM、配管全流程对接,满足异网服务快速上线。具体描述:1. 扩展话单、运营数据、API、集中运管、BPM 接口规范,新增厂商枚举值;2. 实现新平面话单解析、入库、计费对账能力;3. 数据统计、实时监控、内容中心、用量查询支持新平面筛选与展示;4. 域名配置、内容预热刷新、封禁解禁兼容新平面;5. 全流程打通业务开通、配置下发、状态回调,确保供应商接入标准化。
设计功能点
数据统计:
带宽
流量
请求数
状态码
域名按峰值排行
实时监控:
带宽
流量
请求数
状态码
内容中心
带宽
流量
请求数
回源带宽
回源流量
用量查询
带宽
流量
请求数
非省内引入域名带宽
地区分布
统计报表
企业月流量
非系统分发域名日峰值
试商用客户峰值带宽(企业)
试商用客户峰值带宽(订购)
运营指标导出
报表新增
计费对账
话单导出-计费话单
话单导出-中间话单
话单统计
平面结算
分省结算
自有业务中间话单统计
中间话单统计
业务运维/配置管理
域名管理
批量域名管理
全站加速控制台/统计分析/数据统计
带宽
流量
请求数
状态码
直播控制台/域名管理
域名管理
直播控制台/统计分析/状态码
"直播控制台/统计分析/直播统计
下行带宽/流量上行带宽观众数推流路数"
直播控制台/统计分析/流播放画像
直播控制台/统计分析/增值服务统计
直播控制台/流监控/推流帧码率
直播控制台/流监控/历史推流列表
冲突域名管理
冲突域名查询
# 总结
今天有开始了需求拆分工作。久违的有弄了好久的拆分工具。感觉过的好快,去年为了这个工具搭进去了好多时间和经历,不知不觉现在再看这个方式已经落伍了。
+15
View File
@@ -0,0 +1,15 @@
# 任务
# 日志
VgK6K!5VTeoHTW
# 总结
上午和田宝去了公园,中午去了大集,中间小杨和我说五一的安排我表示五一不想出门。心里变的怪怪的。
中午吃完饭就睡觉了。
最近看了星球大战。感觉这个挺不错的。体验了很早很早之前的能有这样的作品的神奇。
我现在有点分不清是我的问题,还是什么在影响着我的,我做的到底是不是太差劲了,或者自己是个骗子一样。
+13
View File
@@ -0,0 +1,13 @@
# 任务
# 日志
# 总结
早晨和小杨去了中医医院,看完病我们直接去沙河大集了,准备等第二天我拿药的时候再一起煎药。
沙河大集装修了。尝了榴莲饼,网红毛毛里脊。感觉这次干净多了。但是我们发现小寨的摊位在沙河大集貌似没有那么火。
中间给田宝淘了一个玩具花了 40。但是下午就让田宝玩儿牺牲了。
今天看到了一句话,折磨我们的都是想象,这个实在是太符合我了。
+17
View File
@@ -0,0 +1,17 @@
# 任务
- [x] 开发:参加 IBS 项目晨会,同步昨日问题跟进事项。(李春良 0.5)
- [x] 项目:完成 4 月的研发过程管理任务清单。(李春良 1)
- [x] 项目:关于联调时间,BBOSS 周二,BPM 周三。(张鹏豪 0.5)
- [x] 客响:www.qdgyy.cn 信安信息数据冗余清理,此域名在 IBS 已不存在,已同步信安信息删除。(赵普明 0.5)
- [x] 开发:IBS 7.20.0 版本需求开发,3.9 客服智能体一期底层大模型替换&mcp开发,增加版本、增加工具显示内容,默认值问题(李春良 5.5)
# 日志
httpmethod
# 总结
早晨去开药。
下班拿药。
+21
View File
@@ -0,0 +1,21 @@
# 任务
- [x] 开发:参加 IBS 项目晨会,同步昨日问题跟进事项。(李春良 0.5)
- [x] 开发:IBS 7.20.0 版本需求开发,客服智能体一期底层大模型替换&mcp开发,OCT 7.20.0 工具并发更新覆盖问题、工具增加展示名称字段,默认值复写 schema 问题(李春良 7)
- [x] 联调:IBS 7.20.0 版本联调,BBOSS 中国移动CDN信控能力优化需求,BBOSS 环境存在问题。(张鹏豪 0.5)
- [x] 开发:monitor 邮件问题。(张鹏豪 1)
# 日志
```
// 1. VPN 控制与认证(必须走物理网卡,确保随时可达)
"111.1.51.182/32", // SDP 控制中心域名解析出的 IP
"112.17.28.117/32" // SPA 单包授权敲门用的固定 IP
// 2. 公司内网业务资源(OA办公 + 开发环境)
// "172.22.0.0/16", // 你的 OA 内网段
// "10.54.0.0/16" // 你的开发内网段
```
# 总结
今天想到一个关于核桃识别的想法,可以实现 AI 配对。感觉整体是可行的。
+631
View File
@@ -0,0 +1,631 @@
# 任务
- [x] 开发:参加 IBS 项目晨会,同步昨日问题跟进事项。(李春良 0.5)
- [x] 联调:IBS 7.20.0 版本联调,HCDN业务标准化接入-典基平面接入与基础数据模型扩展。(张鹏豪 5)
- [x] 开发:monitor 邮件问题,新增日志及 sendIllegalDomainEmail 测试接口。(张鹏豪 1)
- [x] 测试:新增的参数“IsCreditControl”为非枚举值时,增加校验。(郑子雯 1)
- [x] 测试:企业月流量中分发平面下拉框信息与实际分发平面信息不对等。(李英浩 0.5)
# 日志
现在想要讨论一个新功能的方案,关于配置。也是代理工具主要的一个部分。
当前我有两个主要的功能模块:
1. 控制(这个模块填写的配置链接获取的必须是完整的配置包含节点信息的。)
2. 日志
首先节点的来源从一个 clash 订阅获取,这里我我希望实现类似于 Sub-Store 那种效果(此项目在 D:\MyCode\Study\Sub-Store 中,你可以翻看实现逻辑),这个功能点就是从一个 clash 顺利转换出各种协议的 sing-box 节点备用。
用户可以提供一个自己的预填模版(没有节点信息):类似:
```
{
"inbounds": [
{
"tag": "mixed-in",
"type": "mixed",
"listen": "127.0.0.1",
"listen_port": 20122
},
{
"tag": "tun-in",
"type": "tun",
"address": ["172.18.0.1/30"],
"auto_route": true,
"strict_route": true,
"route_exclude_address": ["111.1.51.182/32", "112.17.28.117/32"],
"stack": "mixed",
"platform": {
"http_proxy": {
"enabled": true,
"server": "127.0.0.1",
"server_port": 20122
}
}
}
],
"outbounds": [
{
"tag": "默认",
"type": "selector",
"interrupt_exist_connections": true,
"outbounds": [
"🇺🇸 美国",
"🇭🇰 香港",
"🇹🇼 台湾",
"🇸🇬 新加坡",
"🇯🇵 日本",
"公益"
]
},
{
"tag": "✈️ Telegram",
"type": "selector",
"interrupt_exist_connections": true,
"outbounds": [
"默认",
"🇺🇸 美国",
"🇭🇰 香港",
"🇹🇼 台湾",
"🇸🇬 新加坡",
"🇯🇵 日本",
"公益"
]
},
{
"tag": "▶️ YouTube",
"type": "selector",
"interrupt_exist_connections": true,
"outbounds": [
"默认",
"🇺🇸 美国",
"🇭🇰 香港",
"🇹🇼 台湾",
"🇸🇬 新加坡",
"🇯🇵 日本",
"公益"
]
},
{
"tag": "📺 Netflix",
"type": "selector",
"interrupt_exist_connections": true,
"outbounds": [
"默认",
"🇺🇸 美国",
"🇭🇰 香港",
"🇹🇼 台湾",
"🇸🇬 新加坡",
"🇯🇵 日本",
"公益"
]
},
{
"tag": "🌐 Google",
"type": "selector",
"interrupt_exist_connections": true,
"outbounds": [
"默认",
"🇺🇸 美国",
"🇭🇰 香港",
"🇹🇼 台湾",
"🇸🇬 新加坡",
"🇯🇵 日本",
"公益"
]
},
{
"tag": "🤖 AI",
"type": "selector",
"interrupt_exist_connections": true,
"outbounds": [
"默认",
"🇺🇸 美国",
"🇭🇰 香港",
"🇹🇼 台湾",
"🇸🇬 新加坡",
"🇯🇵 日本",
"公益"
]
},
{
"tag": "💭 X",
"type": "selector",
"interrupt_exist_connections": true,
"outbounds": [
"默认",
"🇺🇸 美国",
"🇭🇰 香港",
"🇹🇼 台湾",
"🇸🇬 新加坡",
"🇯🇵 日本",
"公益"
]
},
{
"tag": "♾️ Meta",
"type": "selector",
"interrupt_exist_connections": true,
"outbounds": [
"默认",
"🇺🇸 美国",
"🇭🇰 香港",
"🇹🇼 台湾",
"🇸🇬 新加坡",
"🇯🇵 日本",
"公益"
]
},
{
"tag": "🎬 TikTok",
"type": "selector",
"interrupt_exist_connections": true,
"outbounds": [
"默认",
"🇺🇸 美国",
"🇭🇰 香港",
"🇹🇼 台湾",
"🇸🇬 新加坡",
"🇯🇵 日本",
"公益"
]
},
{
"tag": "💰 PayPal",
"type": "selector",
"interrupt_exist_connections": true,
"outbounds": [
"默认",
"🇺🇸 美国",
"🇭🇰 香港",
"🇹🇼 台湾",
"🇸🇬 新加坡",
"🇯🇵 日本",
"公益",
"直连"
]
},
{
"tag": "🇺🇸 美国",
"type": "selector",
"interrupt_exist_connections": true,
"outbounds": ["🇺🇸 美国自动♻️"]
},
{
"tag": "🇭🇰 香港",
"type": "selector",
"interrupt_exist_connections": true,
"outbounds": ["🇭🇰 香港自动♻️"]
},
{
"tag": "🇹🇼 台湾",
"type": "selector",
"interrupt_exist_connections": true,
"outbounds": []
},
{
"tag": "🇸🇬 新加坡",
"type": "selector",
"interrupt_exist_connections": true,
"outbounds": []
},
{
"tag": "🇯🇵 日本",
"type": "selector",
"interrupt_exist_connections": true,
"outbounds": []
},
{
"tag": "🇺🇸 美国自动♻️",
"type": "urltest",
"outbounds": [],
"url": "http://www.apple.com/library/test/success.html",
"interrupt_exist_connections": true
},
{
"tag": "🇭🇰 香港自动♻️",
"type": "urltest",
"outbounds": [],
"url": "http://www.apple.com/library/test/success.html",
"interrupt_exist_connections": true
},
{
"tag": "公益",
"type": "selector",
"interrupt_exist_connections": true,
"outbounds": []
},
{
"tag": "直连",
"type": "direct"
}
],
"route": {
"rules": [
{
"action": "hijack-dns",
"port": 53
},
{
"action": "reject",
"network": "udp",
"port": 443
},
{
"action": "sniff"
},
{
"action": "reject",
"protocol": "quic"
},
{
"action": "hijack-dns",
"protocol": "dns"
},
{
"type": "logical",
"mode": "or",
"rules": [
{
"domain_suffix": ["excalicode.org"]
},
{
"ip_cidr": ["82.158.226.4"]
}
],
"outbound": "直连"
},
{
"rule_set": ["Telegram", "Telegram_Ip"],
"outbound": "✈️ Telegram"
},
{
"rule_set": ["Youtube"],
"outbound": "▶️ YouTube"
},
{
"rule_set": ["Netflix"],
"outbound": "📺 Netflix"
},
{
"rule_set": ["Google"],
"outbound": "🌐 Google"
},
{
"rule_set": ["OpenAI", "Claude", "Gemini"],
"outbound": "🤖 AI"
},
{
"rule_set": ["X"],
"outbound": "💭 X"
},
{
"rule_set": ["FaceBook"],
"outbound": "♾️ Meta"
},
{
"rule_set": ["TikTok"],
"outbound": "🎬 TikTok"
},
{
"rule_set": ["PayPal"],
"outbound": "💰 PayPal"
},
{
"rule_set": [
"GeoSite-Private",
"GeoSite-CN",
"GeoIP-Private",
"GeoIP-CN"
],
"outbound": "直连"
}
],
"rule_set": [
{
"tag": "Work",
"type": "remote",
"url": "https://raw.githubusercontent.com/Docker7530/netbox/refs/heads/main/sing-box/rule_set/work.srs",
"download_detour": "默认"
},
{
"tag": "Telegram",
"type": "remote",
"url": "https://raw.githubusercontent.com/SagerNet/sing-geosite/refs/heads/rule-set/geosite-telegram.srs",
"download_detour": "默认"
},
{
"tag": "Telegram_Ip",
"type": "remote",
"url": "https://raw.githubusercontent.com/DustinWin/ruleset_geodata/refs/heads/sing-box-ruleset/telegramip.srs",
"download_detour": "默认"
},
{
"tag": "Youtube",
"type": "remote",
"url": "https://raw.githubusercontent.com/SagerNet/sing-geosite/refs/heads/rule-set/geosite-youtube.srs",
"download_detour": "默认"
},
{
"tag": "Netflix",
"type": "remote",
"url": "https://raw.githubusercontent.com/SagerNet/sing-geosite/refs/heads/rule-set/geosite-netflix.srs",
"download_detour": "默认"
},
{
"tag": "Google",
"type": "remote",
"url": "https://raw.githubusercontent.com/SagerNet/sing-geosite/refs/heads/rule-set/geosite-google.srs",
"download_detour": "默认"
},
{
"tag": "OpenAI",
"type": "remote",
"url": "https://raw.githubusercontent.com/SagerNet/sing-geosite/refs/heads/rule-set/geosite-openai.srs",
"download_detour": "默认"
},
{
"tag": "Claude",
"type": "remote",
"url": "https://raw.githubusercontent.com/SagerNet/sing-geosite/refs/heads/rule-set/geosite-anthropic.srs",
"download_detour": "默认"
},
{
"tag": "Gemini",
"type": "remote",
"url": "https://raw.githubusercontent.com/SagerNet/sing-geosite/refs/heads/rule-set/geosite-google-gemini.srs",
"download_detour": "默认"
},
{
"tag": "X",
"type": "remote",
"url": "https://raw.githubusercontent.com/SagerNet/sing-geosite/refs/heads/rule-set/geosite-x.srs",
"download_detour": "默认"
},
{
"tag": "FaceBook",
"type": "remote",
"url": "https://raw.githubusercontent.com/SagerNet/sing-geosite/refs/heads/rule-set/geosite-facebook.srs",
"download_detour": "默认"
},
{
"tag": "TikTok",
"type": "remote",
"url": "https://raw.githubusercontent.com/SagerNet/sing-geosite/refs/heads/rule-set/geosite-tiktok.srs",
"download_detour": "默认"
},
{
"tag": "PayPal",
"type": "remote",
"url": "https://raw.githubusercontent.com/SagerNet/sing-geosite/refs/heads/rule-set/geosite-paypal.srs",
"download_detour": "默认"
},
{
"tag": "GeoSite-Private",
"type": "remote",
"url": "https://testingcf.jsdelivr.net/gh/MetaCubeX/meta-rules-dat@sing/geo/geosite/private.srs",
"download_detour": "默认"
},
{
"tag": "GeoSite-CN",
"type": "remote",
"url": "https://testingcf.jsdelivr.net/gh/MetaCubeX/meta-rules-dat@sing/geo/geosite/cn.srs",
"download_detour": "默认"
},
{
"tag": "GeoIP-Private",
"type": "remote",
"url": "https://testingcf.jsdelivr.net/gh/MetaCubeX/meta-rules-dat@sing/geo/geoip/private.srs",
"download_detour": "默认"
},
{
"tag": "GeoIP-CN",
"type": "remote",
"url": "https://testingcf.jsdelivr.net/gh/MetaCubeX/meta-rules-dat@sing/geo/geoip/cn.srs",
"download_detour": "默认"
}
],
"auto_detect_interface": true,
"default_domain_resolver": {
"server": "Local-DNS"
}
},
"dns": {
"servers": [
{
"tag": "Local-DNS",
"type": "https",
"domain_resolver": "Hosts",
"server": "doh.pub"
},
{
"tag": "Fakeip-DNS",
"type": "fakeip",
"inet4_range": "198.18.0.0/15",
"inet6_range": "fc00::/18"
},
{
"tag": "Work-Test-DNS",
"type": "udp",
"server": "172.22.102.231",
"bind_interface": "wg0"
},
{
"tag": "Work-Oa-DNS",
"type": "udp",
"server": "10.54.2.232",
"bind_interface": "wg0"
},
{
"tag": "Hosts",
"type": "hosts",
"predefined": {
"doh.pub": ["1.12.12.21", "120.53.53.53"]
}
}
],
"rules": [
{
"domain": ["koms.komect.net"],
"server": "Work-Oa-DNS"
},
{
"rule_set": ["Work"],
"server": "Work-Test-DNS"
},
{
"rule_set": ["GeoSite-Private", "GeoSite-CN"],
"server": "Local-DNS"
},
{
"query_type": ["A", "AAAA"],
"server": "Fakeip-DNS"
}
],
"strategy": "prefer_ipv4"
},
"experimental": {
"clash_api": {
"external_controller": "0.0.0.0:9595",
"external_ui": "ui",
"external_ui_download_url": "https://github.com/Zephyruso/zashboard/archive/refs/heads/gh-pages.zip",
"external_ui_download_detour": "默认",
"secret": ""
},
"cache_file": {
"enabled": true,
"store_fakeip": true,
"store_rdrc": true
}
}
}
```
这个东西先设计为通过 URL 拉取的形式吧类似与这种:
```
https://raw.githubusercontent.com/Docker7530/netbox/refs/heads/main/sing-box/config/config_sub.json
```
然后重点来了,我想给用户一个脚本区域。实现节点和模版配置的拼接类似:
```
const CONFIG = {
name: "all",
type: "collection",
includeUnsupportedProxy: false,
groups: [
{
outbound: "🇭🇰 香港",
tags: String.raw`^(?!.*公益).*(港|hk|hongkong|kong kong|🇭🇰)`,
},
{
outbound: "🇹🇼 台湾",
tags: String.raw`^(?!.*公益).*(台|tw|taiwan|🇹🇼)`,
},
{
outbound: "🇯🇵 日本",
tags: String.raw`^(?!.*公益).*(日本|jp|japan|🇯🇵)`,
},
{
outbound: "🇸🇬 新加坡",
tags: String.raw`^(?!.*公益).*(新|sg|singapore|🇸🇬)`,
},
{
outbound: "🇺🇸 美国",
tags: String.raw`^(?!.*公益).*(美|us|unitedstates|united states|🇺🇸)`,
},
{ outbound: "公益", tags: String.raw`公益` },
],
};
const args = (typeof $arguments === "object" && $arguments) || {};
const subscriptionName =
(typeof args.name === "string" && args.name.trim()) || CONFIG.name;
const t = args.type?.trim?.().toLowerCase?.();
const subscriptionType =
t === "s" || t === "subscription" ? "subscription" : CONFIG.type;
const rawConfig = $content ?? $files?.[0];
const parser = ProxyUtils.JSON5 || JSON;
const config = parser.parse(rawConfig);
if (!Array.isArray(config.outbounds)) {
throw new TypeError("配置文件格式错误: outbounds 字段缺失或不是数组");
}
const proxies = await produceArtifact({
name: subscriptionName,
type: subscriptionType,
platform: "sing-box",
produceType: "internal",
produceOpts: {
"include-unsupported-proxy": CONFIG.includeUnsupportedProxy,
},
});
const rules = CONFIG.groups.map((rule) => ({
outboundReg: new RegExp(rule.outbound, "i"),
tagReg: new RegExp(rule.tags, "i"),
}));
for (const outbound of config.outbounds) {
if (!Array.isArray(outbound.outbounds)) continue;
const targetRules = rules.filter(({ outboundReg }) =>
outboundReg.test(outbound.tag)
);
for (const { tagReg } of targetRules) {
const matchedTags = proxies
.filter(({ tag }) => tagReg.test(tag))
.map(({ tag }) => tag);
if (matchedTags.length > 0) {
outbound.outbounds.push(...matchedTags);
} else if (!outbound.outbounds.includes("直连")) {
outbound.outbounds.push("直连");
}
}
}
config.outbounds.push(...proxies);
$content = JSON.stringify(config, null, 2);
```
这是我在 substore 的实现效果,你可以更具咋们当前的项目设计一下这个脚本操作怎么暴露给用户合适。更高级,现代化,符合咋们的项目。
然后还有个问题,这里生成的配置怎么和 控制模块结合,是以控制模块选择应用的形式还是怎么合适。先出一版设计方案。
---
招聘【全栈工程师】全职/兼职
1. 工作内容:宠物类小程序全栈维护,前端后端及开发 bug 修复
2. 工作待遇:工资面谈,创始股权激励
3. 要求:熟悉 ai 工作原理,有 5 年以上全栈经验,5-10 年技术开发经验
4. 工作时间:弹性工作制,时间灵活
5. 工作地点:接受线上办公
6. 联系方式:18613375551
---
```
curl --location 'http://localhost:8082/api/monitor/ops/illegal/domain/email/send?email=15033848944%40163.com' \
--header 'Content-Type: application/json' \
--data '[
{
"provider": "阿里云",
"domain": "example.com"
},
{
"provider": "腾讯云",
"domain": "test.com"
}
]'
```
# 总结
+12
View File
@@ -0,0 +1,12 @@
# 任务
- [x] 开发:参加 IBS 项目晨会,同步昨日问题跟进事项。(李春良 0.5)
- [x] 测试:新增域名工单,校验是否有在途的 esop 和 cache+ 自助域名工单。(张鹏豪 2)
# 日志
详细了解了退休金及算的原理。我个人的感觉就是你只要追这平均工资就不会被落下。
# 总结
详细了解了退休金及算的原理。又成长了。
+1
View File
@@ -0,0 +1 @@
张泽海阳散伙饭、Scratch、提测、海阳离职、需求拆分、星球大战、大集、医院、玩具
+1
View File
@@ -0,0 +1 @@
开药、核桃的想法、学习退休金原理、回家晕车、杨超订婚、贾磊、撞车、家里人带田宝
+1
View File
@@ -0,0 +1 @@
照相、回京、晕车、学习视觉技术、笔记思维问题、补班、学位英语
+35
View File
@@ -0,0 +1,35 @@
# 背景
官网:https://scratch.mit.edu/
下载:https://scratch.mit.edu/download
Scratch 主要由 **麻省理工学院(MIT)媒体实验室****Lifelong Kindergarten Group(终身幼儿园研究组)** 开发。项目主导 **Mitchel Resnick**(米切尔·雷斯尼克)少儿编程之父。
这里终身幼儿园只得是幼儿园的学习方式:玩、探索、搭东西、想象、跟同伴合作
这种学习方式不应该只停留在幼儿园,而是应该贯穿人的一生。
## 发展过程
#### Scratch 1.x
- 大约在 **2000 年代中期**推出
- 最早版本是桌面程序
- 用户可以本地制作动画和小游戏
#### Scratch 2.0
- 大约 **2013 年**前后推出
- 重大变化是:
- 更强调在线创作
- 可以直接在浏览器里使用
- 社区分享功能更成熟
#### Scratch 3.0
- **2019 年**发布
- 技术上做了较大更新
- 界面更现代
- 更适合平板等设备
- 扩展能力更强,可以连接更多硬件和插件
+34
View File
@@ -0,0 +1,34 @@
| 编号 | 课程名称 | 课程目标 |
| --- | ----------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 1 | 打蝙蝠 | 1.使用方向键控制运动,空格键控制射击;当打到蝙蝠得分加1,打到其他动物(比如恐龙)得分减1。计时器时间大于20秒,游戏也会自动停止哦。<br>2.巩固“下一个造型”、“说话”、“播放声音”等脚本。<br>3.学习“掌握随机数”、“了解隐藏功能的作用” 、“运用复制角色功能” 等新脚本。<br>4.综合应用所学脚本完成编程项目并扩展。 |
| 2 | 七巧板 | 1.七巧板是一种古老的中国传统智力玩具,顾名思义,是由七块板组成的。而这七块板可拼成许多图形,据说有一千六百多种以上呢!<br>2.巩固“当小绿旗被点击”、“按下空格键”等脚本。<br>3.学习“按下鼠标”、“面向鼠标” 、“移到鼠标指针” 等新脚本。<br>4.综合应用所学脚本完成编程项目并扩展。 |
| 3 | 趣味加减法 | 1.小狗出随机的十以内的加减法,小朋友们回答,答满5题后小黄人说出回答正确的题目的数量。<br>2.巩固“设置随机数”、“重复执行”等脚本。<br>3.学习“询问回答”、”广播等待”、“加号减号等号” 、“连接” 、“大于” 、“或” 等新脚本。<br>4.综合应用所学脚本完成编程项目并扩展。 |
| 4 | 生肖占卜 | 1.程序运行后点击占卜先生输入出生年份,对应属相会出现在八卦轮盘上,快来试一试到底程序算的准不准。<br>2.巩固“询问回答语句”、“广播语句”、 “连接” 、“大于” 、“或”等脚本。<br>3.学习“余数模块” 新脚本。<br>4.综合应用所学脚本完成编程项目并扩展。 |
| 5 | 数学豌豆射手 | 1.植物大战僵尸是孩子们特别喜欢的游戏之一,需要收集阳光,兑换植物射手。今天豌豆射手想考考咱们的口算加法的能力,迅速填写口算结果并提交。千万不要让僵尸吃掉脑子,切忌!!!<br>2.巩固“随机数”、“设置xy坐标”、 “重复执行直到”等脚本。<br>3.学习“广播”、“询问/回答” 、“连接”  等新脚本。<br>4.综合应用所学脚本完成编程项目并扩展。 |
| 6 | 三角形、长方形面积 | 1.掌握三角形和长方形面积的面积求解方式,并编写程序自动计算图形面积。<br>2.巩固“运算模块的乘除”、“变量模块”、 “重复执行” 、“运动模块”等脚本。<br>3.学习“画笔模块相关指令” 、“询问模块指令” 、“连接…和…”等新功能。<br>4.能够根据图形规律利用画笔模块绘制简单图形。<br>5.综合应用所学脚本完成编程项目并扩展。 |
| 7 | 学习三角形的构成 | 1.三角形是由三条边组成的,其中任意两条边的和都大于第三边。只要最短的两条边之和大于第三边,那么任意两条边之和都会大于第三边,这样就能构成三角形。<br>2.巩固“连接”、“加号” 、“等号”等脚本。<br>3.学习“与” 、“大于” 、“询问” 、“回答” 等新脚本。<br>4.综合应用所学脚本完成编程项目并扩展。 |
| 8 | 打字游戏 | 1.打字是我们使用电脑不可避免要使用到的基本技能,今天我们首先练习asdfghjkl,也就是键盘中间一行字母。<br>2.巩固“与” 、“大于” 、“询问” 、“回答”等脚本。<br>3.学习“按下a键”、“变量使用” 、“随机数的使用” 等新脚本。<br>4.综合应用所学脚本完成编程项目并扩展。 |
| 9 | 猜数字 | 1.系统会随机的在1~99中输出一个数字,我们猜测该数字,猜大了或者猜小了,系统都会提示我们。试一试,看看你几次可以猜中正确数字吧!<br>2.巩固“询问”、“回答”等脚本。<br>3.学习“变量”、“大于” 、“等于” 、“小于” 等新脚本。<br>4.综合应用所学脚本完成编程项目并扩展。 |
| 10 | DIY电子时钟 | 1.用画笔自动绘制表盘圆环,使用吉他作为秒针;使用2辆汽车分别作为分针、时针;程序运行后表盘圆环和钟表上数字逐渐出现;表针运动,指向的是当前北京时间。<br>2.巩固“如果积木”、“广播”、“画笔”“重复执行直到”等脚本。<br>3.学习“面向积木”、“当前时间” 、“乘法、除法运算” 、“后移一层”“等于”  等新脚本。<br>4.综合应用所学脚本完成编程项目并扩展。 |
| 11 | 快速心算挑战 | 1.通过赛跑比赛的形式来测试看看哪位小朋友的心算能力更快,帮助猫咪赢得赛跑的胜利。<br>2.巩固“乘法”、“广播”等脚本。<br>3.学习“变量”、“计时器” 、“连接”  等新脚本。<br>4.综合应用所学脚本完成编程项目并扩展。 |
| 12 | 程序画长城 | 1.画长城使用画笔工具,用程序勾勒出长城的缩略图,案例提供了包括画楼梯,带半圆弧的拱桥形状,让学生更深入的了解scratch的画笔工具和用程序画图形的方法,规律总结。<br>2.巩固“广播”、“变量” “定时器” “连接”等脚本。<br>3.学习“全部擦除”、“落笔” 、“抬笔” 、“画笔颜色大小设定” 、等新脚本。<br>4.综合应用所学脚本完成编程项目并扩展。 |
| 13 | 荒漠狂飙 | 1.甲壳虫在克隆的跑道上不断奔跑,只有甲壳虫没有撞到路边马路牙子的时候才能得分,用手柄遥杆控制甲壳虫的左右移动,从而得到更高的分数。<br>2.巩固“画笔工具的使用” 等脚本。<br>3.学习“克隆”、“颜色侦测” 、“变量”  等新脚本。<br>4.综合应用所学脚本完成编程项目并扩展。 |
| 14 | 有趣的多边形 | 1.发现多边形规律,了解多边形基础知识,包括多边形的概念、多边形的外角和等。<br>2.巩固“画笔模块指令”、“运动模块”、 “重复执行” 、“变量”等脚本。<br>3.学习“有限循环-重复执行10次” 、“重复语句嵌套” 、“自制新积木”等新功能。<br>4.综合应用所学脚本完成编程项目并扩展。 |
| 15 | 猜猜哪头大象更重 | 1.根据曹冲称象的原理,设计一款能判断轻重的小游戏。通过看船的吃水深度来验证哪头大象更重,诠释了曹冲称象的原理,并需要学生回答,自动判断对错。<br>2.巩固“随机数”、“询问”、“广播并等待”等脚本。<br>3.学习“重复执行.直到”、“不成立” 、 “与” 、“Y坐标增加变量单位” 等新脚本。<br>4.综合应用所学脚本完成编程项目并扩展。 |
| 16 | 顺序查找法 | 1.通过回答问题,在文本框内输入想要查询的数字。<br>2.巩固“列表”、“判断”等脚本。<br>3.学习“询问等待”、“判断” 、“变量” 、“列表” 、“重复执行” 等新脚本。<br>4.综合应用所学脚本完成编程项目并扩展。 |
| 17 | 追逐金币 | 1.蓝色战机跟随鼠标指针快速移动,想方设法吃到金币,而不被红色战机击落。重点观察蓝色战机速度变化之美,体会项目背后编程的魅力!<br>2.巩固“侦测”、“设置xy坐标”等脚本。<br>3.学习“击打节拍”、“虚像特效” 、“事件开始” 、“到鼠标的距离” 、“乘法运算” 等新脚本。<br>4.综合应用所学脚本完成编程项目并扩展。 |
| 18 | 石头剪刀布 | 1.Ai时代,人机大战,是人类战胜Ai,还是Ai碾压人类。我们通过“剪刀石头布”的经典PK项目,来感受一下人工智能吧!<br>2.巩固“ 到鼠标指针距离”、“ 击打乐器音符 ” 、“ 颜色特效“等脚本。<br>3.学习“变量”、“广播消息” 、“等于” 、“减号” 等新脚本。<br>4.综合应用所学脚本完成编程项目并扩展。 |
| 19 | 猴子吃桃+<br><br>李白喝酒 | 1.用编程解决经典数学问题,体会编程与数学深度结合之美。今天用编程思维解决2个经典数学题目。学习“逆推”和“递归”思维。<br>2.巩固“变量”、“等号、减号” 、“广播” 、“碰到指针”等脚本。<br>3.学习灵活使用“询问回答”、“重复执行直到” 等脚本。<br>4.综合应用所学脚本完成编程项目并扩展。 |
| 20 | 相遇问题 | 1.两个物体从两地出发,相向而行,经过一段时间,必然会在途中相遇,这类题型就把它称为相遇问题。<br>2.巩固“重复执行直到…”、“广播”、“运算”等脚本。<br>3.学习“加速模式”、“计算机量化思想”等。<br>4.综合应用所学脚本完成编程项目并扩展。 |
| 21 | 鸡兔同笼 | 1.今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何?看一下“聪明猴”怎么通过编程的思维解决这道经典问题吧!<br>2.巩固“加减乘除”、“舞台背景编号” 、“广播” 、“变量”等脚本。<br>3.学习灵活使用“询问回答”、“重复执行直到” 、“连接” 、“除法乘法” 、等脚本。<br>4.综合应用所学脚本完成编程项目并扩展。 |
| 22 | 闯关跑酷 | 1.跑酷类小游戏,通过手柄空格键控制表情角色上下跳跃,躲过障碍物,从而不断获取分数。<br>2.巩固“询问回答”、“重复执行直到”等脚本。<br>3.学习“克隆”、“广播” 等新脚本。<br>4.综合应用所学脚本完成编程项目并扩展。 |
| 23 | 韩信点兵 | 1.韩信通过让士兵以不同的方式战队,推算出士兵人数,今天我们用程序来实现。<br>2.列出式子,把抽象的条件变成具体的数学算式。<br>3.巩固“广播”、“运算-取余”、 “运算-或”、 “运算-连接”等脚本。<br>4.综合应用所学脚本完成编程项目并扩展。 |
| 24 | 酷炫画圆 | 1.变量应用,圆的半径以及直径区别,圆的度数,除法应用,使圆变色。<br>2.巩固“面向方向”、“移动到XY坐标” “画笔命令”等脚本。<br>3.学习“变量”、“运算 除法”  等新脚本。<br>4.综合应用所学脚本完成编程项目并扩展。 |
| 25 | 最强大脑之闪电记忆 | 1.最强大脑李威闪电记忆震撼全场,他在300张脸谱挑选出120张表演过的脸谱并按顺序恢复。那我们这节课利用编程,来一场闪电记忆挑战吧!<br>2.巩固“随机数”、“侦测”等脚本。<br>3.学习“链表”、“广播”等脚本。<br>4.综合应用所学脚本完成编程项目并扩展。 |
| 26 | 利润问题 | 1.阅读理解题目,了解 成本、售价 和 利润 三者之间的关系:<br>某商品按定价的80%(八折)出售,仍可获得20%的利润,定价时期望的利润是百分之几?<br>2.巩固“变量”、“循环”、“条件判断”等知识点。<br>3.学习“向上取整”、“四舍五入” 等知识点。<br>4.综合应用所学脚本完成编程项目并扩展。 |
| 27 | 100内质数表 | 1.判断一个数是质数还是合数,以及查找并列出100以内的所有质数。<br>2.巩固“变量”、“列表”等知识点。<br>3.学习“自制积木” 等知识点。<br>4.综合应用所学脚本完成编程项目并扩展。 |
| 28 | 光影鼠 | 1.光影是一种极具艺术的表现形式,我们在这节课体验一下如何在编程的世界里应用光影效果。<br>2.巩固“侦测”、“广播”、“虚像”等脚本。<br>3.学习“光影效果原理”、“渐变显示原理”等。<br>4.综合应用所学脚本完成编程项目并扩展。 |
| 29 | 分配任务与最大公约数 | 1.Ai时代,人工智能担任起了任务调度、提高社会效率的重任,比如共享单车。人工智能的背后均是有各种算法与机制组成。这节课我们通过一个简单的任务分配问题来了解,人工智能是怎样做社会调度的指挥官的!<br>2.巩固“变量”、“数学运算”等脚本。<br>3.学习“询问并等待”、“回答” 、“列表” 、“如果、否则” 、“重复执行10次” 等新脚本。<br>4.综合应用所学脚本完成编程项目并扩展。 |
| 30 | 计算器 | 1.制作一款简易计算器,使其成为我们平时计算的好帮手。<br>2.巩固“当按下…键盘”、“如果…那么…”、“下一个造型”等脚本。<br>3.学习“连接…和…”、“变量”等新脚本。<br>4.综合应用所学脚本完成编程项目并扩展。 |
| 31 | 百元买百鸡 | 1.今有鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?看一下“聪明猫”怎么通过编程的思维解决这道经典问题吧!<br>2.巩固“加减乘除”、“舞台背景编号” 、“重复执行” 、“如果那么”等脚本。<br>3.学习灵活使用“建立变量”、“重复执行直到” 、“连接” 、“建立列表” 、等脚本。<br>4.综合应用所学脚本完成编程项目并扩展。 |
| 32 | 一维世界 | 1.制作一个思维世界过关游戏,移动角色1使角色1碰到绿色则过关,如果碰到角色2红色则回位,角色2每关出现速度不同并且当增加到第三关时会每一关克隆一个自己。<br>2.巩固“碰到?颜色”、“设置xy坐标” 、“如果那么” “重复执行?次”等脚本。<br>3.学习“广播过关”、“克隆” 、“当作为克隆使启动” 、“换成?造型” 、“在 ?和 ?之间随机” 等新脚本。<br>4.综合应用所学脚本完成编程项目并扩展。 |
+35
View File
@@ -0,0 +1,35 @@
| 编号 | 课程名称 | 课程目标 |
| --- | ------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 1 | 海底世界 | 1.初识 scratch,学习基本的操作,导入各种海洋生物,控制他们海底移动打造丰富有趣的海底世界。<br>2.学习“当小绿旗被点击”、“移动10步”/“下一个造型”、“碰到边缘反弹”、“旋转模式”等脚本。<br>3.综合应用所学脚本完成编程项目并扩展。 |
| 2 | 恐龙乐园 | 1.打造恐龙乐园,用编程手柄控制恐龙左右移动,按下摇杄左键恐龙左移,按下摇杄右键恐龙右移,恐龙在移动过程中可以喷火。<br>2.巩固“下一个造型”、“移动10步”、“到边缘反弹”、“设置角色大小”等脚本。<br>3.学习“录音”、“条件判断”、“方向移动”、“如果那么”等新脚本。<br>4.综合应用所学脚本完成编程项目并扩展。 |
| 3 | 奔跑的哨子 | 1.设计奔跑的哨子造型,让哨子在不同的场景世界里奔跑,哨子碰到最右边的小绿旗可以切换不同的场景。<br>2.巩固“录音”、“条件判断” 、“方向移动” 、“如果那么”等脚本。<br>3.学习“碰到”、“下一个背景” 、“移到X/Y坐标” 等新脚本<br>4.综合应用所学脚本完成编程项目并扩展 |
| 4 | 排队的虫子 | 1.用编程控制小虫子移动,大花猫和其他虫子不断去追逐小虫子,试试看能不能追到小虫子。<br>2.巩固“如果…那么…”、“碰到”、“播放音乐” 等脚本。<br>3.学习“面向角色”、“面向方向” 、“一秒内滑行到” 等新脚本。<br>4.综合应用所学脚本完成编程项目并扩展。 |
| 5 | 鲨鱼特效 | 1.制作鲨鱼特效的小动画,尝试制作积木,让鲨鱼可以从小到大变化,制作出酷炫的效果。<br>2.巩固“一秒内滑行到”、“面向方向” 等脚本。<br>3.学习“制作积木”、“画笔命令” 、“将X、Y坐标增加” 、“显示与隐藏” 、“重复执行10次” 等新脚本。<br>4.综合应用所学脚本完成编程项目并扩展。 |
| 6 | 山地足球 | 1.制作一个从山顶不断有足球滚落下来,操作手柄让小人跳跃躲避足球的小游戏。<br>2.巩固“制作积木”、“画笔命令” 、“将X、Y坐标增加” 、“显示与隐藏” 、“重复执行10次”等脚本。<br>3.学习“碰到舞台边缘”、“设置xy坐标” 等新脚本。<br>4.综合应用所学脚本完成编程项目并扩展。 |
| 7 | 保卫小鸡 | 1.老鹰从天上飞下来吃小鸡,农场伯伯用扫把去驱赶老鹰,老鹰被打到就会重新飞回天上,最终能够成功保卫小鸡。<br>2.巩固“碰到舞台边缘”、“设置xy坐标”等脚本。<br>3.学习“制作积木”、“画笔命令” 、“将X、Y坐标增加” 、“显示与隐藏” 、“重复执行10次” 等新脚本。<br>4. |
| 8 | 迷宫游戏 | 1.制作迷宫游戏,通过手柄操作箭头移动和面朝方向,主要利用侦测脚本限定箭头行动范围,并设定对应音效。<br>2.巩固“x/y坐标”、“条件判断”、“面向方向”等脚本。<br>3.学习“条件侦测”、“数学上的同时发生语句” 等新脚本。<br>4.综合应用所学脚本完成编程项目并扩展。 |
| 9 | 七彩钢琴 | 1.制作钢琴的操控界面,绘制7个按键,不同的按键编写不同的声音,演奏好听的音乐。<br>2.巩固 “碰到颜色侦测”、“移到X/Y坐标” 、“面向什么方向”等脚本。<br>3.学习“演奏音符拍数”等新脚本。<br>4.综合应用所学脚本完成编程项目并扩展。 |
| 10 | 长江索道 | 1.模拟长江索道的场景,通过手柄触发长江索道开始运输,来回运输,形成一道美丽的风景线。<br>2.巩固“演奏音符拍数”等脚本。<br>3.学习“广播消息”、“接收消息” 等新脚本。<br>4.综合应用所学脚本完成编程项目并扩展。 |
| 11 | 打砖块 | 1.制作打砖块游戏,使用手柄控制挡板移动,接住并反弹小球,消灭所有的砖块游戏胜利。<br>2.巩固“广播消息”、“接收消息”等脚本。<br>3.学习“显示”、“隐藏”、 “在…和…之间取随机数”等新脚本。<br>4.综合应用所学脚本完成编程项目并扩展。 |
| 12 | 聪明的虫子 | 1.绘画昆虫的行动轨迹,按下空格键的时候再不同的轨迹上前进。聪明的昆虫可以通过颜色识别再轨道上安全前进。<br>2.巩固“显示”、“隐藏”、 “在…和…之间取随机数”等脚本。<br>3.学习“颜色碰到颜色”、“按下空格键” 等新脚本。<br>4.综合应用所学脚本完成编程项目并扩展。 |
| 13 | 飞天小猫 | 1.小猫扎气球的小游戏,用手柄控制小猫拿出小刀去刺破气球,气球被刺破后会爆炸并且会消失。<br>2.巩固“颜色碰到颜色”、“按下空格键”等脚本。<br>3.学习“音量设定”、“播放录音” 等新脚本。<br>4.综合应用所学脚本完成编程项目并扩展。 |
| 14 | 魔术表演 | 1.神奇的魔术表演,按下空格键,魔术帽就可以变化出不同的东西出来,通过切换造型来完成这个魔术。<br>2.巩固“音量设定”、“播放录音”等脚本。<br>3.学习“等待”、“旋转” 等新脚本。<br>4.综合应用所学脚本完成编程项目并扩展。 |
| 15 | 神笔马良 | 1.画笔通过手柄按键切换不同颜色,通过手柄和按键绘画出美丽的图案。<br>2.巩固“等待”、“旋转”等脚本。<br>3.学习“落笔抬笔”、“画笔颜色设定” 等新脚本。<br>4.综合应用所学脚本完成编程项目并扩展。 |
| 16 | 听音识路 | 1.蝙蝠要沿着规定的路线飞到终点,如果飞出了规定区域就会发出不同的声音,闭着眼睛玩这个游戏,看看谁能到达终点。<br>2.巩固“画笔、抬笔”、“设定画笔颜色””等脚本。<br>3.学习“变量”、“碰到颜色” “播放声音”、 等新脚本。<br>4.综合应用所学脚本完成编程项目并扩展。 |
| 17 | 冒险之旅 | 1.绘制咱们的国家地图,不同省份的省会,让猫咪侠开始按照顺序游览全国,最终能够游览一圈。<br>2.巩固“变量”、“碰到颜色”、“播放声音”等脚本。<br>3.学习“虚像特效”、“移到最前面”、“设置画笔粗细”、“画笔颜色增加”  等新脚本。<br>4.综合应用所学脚本完成编程项目并扩展。 |
| 18 | 豆豆哥吃害虫 | 1.控制豆豆哥在整个屏幕上飞行,去消灭害虫,每吃一个害虫,豆豆哥的身体就会变大一点,直到消灭所有的害虫。<br>2.巩固“虚像特效增加”、“移至最前面” 、“画笔颜色增加”等脚本。<br>3.学习“大小设定为”、“加法运算” 等新脚本。<br>4.综合应用所学脚本完成编程项目并扩展。 |
| 19 | 小鸟与瓶子 | 1.用克隆让很多瓶水掉下来,要控制鹦鹉上下左右飞翔,直到鹦鹉喝到水就算成功,如果掉落在地面上就是失败。<br>2.巩固“变量”、“大小设定为”、“加法运算”“隐藏、显示”等脚本。<br>3.学习“重复执行直到”、“或、且”、“克隆”、“X坐标、Y坐标”、“小于、大于” 等新脚本。<br>4.综合应用所学脚本完成编程项目并扩展。 |
| 20 | 新年快乐 | 1.制作圣诞节音乐卡片,有圣诞树和雪花,还有好听的《Happy New Year》歌曲。<br>2.巩固“重复执行直到”、“大小设定为” 、“加法运算”等脚本。<br>3.学习“克隆”、“随机数” 、“将y坐标增加” 、“将乐器设为” 、“演奏音符”等新脚本。<br>4.综合应用所学脚本完成编程项目并扩展。 |
| 21 | 飞机大战 | 1.操控主机按下空格键去发射子弹,击打敌方战机,如果敌机被打中,就会爆炸被击落,看看能得多少分。<br>2.巩固“克隆”、“随机数” 、“将y坐标增加” 、“将乐器设为” 、“演奏音符”等脚本。<br>3.学习“变量”、“广播” 、“停止脚本” 、“大于、小于”  等新脚本。<br>4.综合应用所学脚本完成编程项目并扩展。 |
| 22 | 玩转金箍棒 | 1.孙悟空和大家进行有趣的对话,可以按照孙悟空的引导去转动金箍棒,还可以控制金箍棒的大小。<br>2.巩固“克隆”、“或、与”等脚本。<br>3.学习“当按下空格键” 等新脚本。<br>4.综合应用所学脚本完成编程项目并扩展。 |
| 23 | 青蛙过河记 | 1.小青蛙要跳到移动的挡板上过河,去河对面吃到红苹果,按下按键控制青蛙跳跃,看看能不能跳过去。<br>2.巩固“当按下空格键”等脚本。<br>3.学习“将X坐标设定为某个角色X坐标”、“随机数”、“碰到颜色、角色” 等新脚本。<br>4.综合应用所学脚本完成编程项目并扩展。 |
| 24 | 打蝴蝶 | 1.用魔杖发射武器去射击蝴蝶,如果蝴蝶被打中了,就会隐藏起来,全部击打命中,就算成功。<br>2.巩固“将X坐标设定为某个角色X坐标”、“随机数”、“碰到颜色、角色”等脚本。<br>3.学习“计时器”、“广播消息” 、“当接收到消息”等新脚本。<br>4.综合应用所学脚本完成编程项目并扩展。 |
| 25 | 千层板 | 1.小人会不断往下掉,踩住千层板则会上升,用手柄控制小人来回移动,不可以碰到舞台上边缘和下边缘。<br>2.巩固“计时器”、“广播消息” 、“当接收到消息”等脚本。<br>3.学习脚本的综合使用脚本。<br>4.综合应用所学脚本完成编程项目并扩展。 |
| 26 | 炸渔船 | 1.用手柄控制船在海面上移动,随时丢炸弹,被炸到的鱼消失,又从其他地方出现,注意空中有白云飘。<br>2.巩固“认识  X  `Y  坐标”、“旋转方式的应用”等脚本。<br>3.学习“克隆”、“随机数”、 “移至最前面” 等新脚本。<br>4.综合应用所学脚本完成编程项目并扩展。 |
| 27 | 跳动的音符 | 1.利用按键和摇杆设置21种不同的声音,根据五线简谱,可以演奏各种好听的音乐。<br>2.巩固“克隆”、“随机数”、 “移至最前面”等脚本。<br>3.学习“演奏音符”、“将乐器设为xx” 等新脚本。<br>4.利用制作好的手柄乐器,来演奏一首歌曲吧。<br>5.综合应用所学脚本完成编程项目并扩展。 |
| 28 | 接鸡蛋 | 1.学习“当按下按键”、“克隆”等命令,控制篮子移动接住鸡蛋。学习建立变量的方法,看看哪位小朋友可以在20秒内接住最多鸡蛋。<br>2.巩固“不成立”、“与” 、“演奏音符拍数”等脚本。<br>3.学习“当按下按键”、“不成立”、“变量” 等新脚本。<br>4.综合应用所学脚本完成编程项目并扩展。 |
| 29 | 妙笔生花 | 1.鼠标在哪里点击,哪里就会开花哦,很神奇的一支画笔,快来试试吧!<br>2.巩固“当按下按键”、“不成立”、“变量”等脚本。<br>3.学习“随机数”、“抬笔、落笔”、 “自定义模块” 等新脚本。<br>4.综合应用所学脚本完成编程项目并扩展。 |
| 30 | 星球陷阱 | 1.控制蓝色小球绕着黄球旋转,四周不断出现很多障碍物,控制蓝色小球不可以被碰到,碰到就游戏失败。<br>2.巩固“随机数”、“抬笔落笔” 、“自定义模块” 等脚本。<br>3.学习“计时器”、“等待” 等新脚本。<br>4.综合应用所学脚本完成编程项目并扩展。 |
| 31 | 泡泡堂 | 1.小红人和小黄人放泡泡炸弹,被炸到会减血,如果哪一方血量先到0,失败。<br>2.巩固“计时器”、“等待”等脚本。<br>3.学习“变量”、“广播” 、“等于/小于” 、“播放声音” 、“停止全部”等新脚本。<br>4.综合应用所学脚本完成编程项目并扩展。 |
| 32 | 元宵佳节 | 1.元宵节主题,天空上有星星、月亮、流行。可以控制放烟花。<br>2.巩固“变量”、“广播” 、“等于/小于” 、“播放声音” 、“停止全部”等脚本。<br>3.学习“自制积木” 等新脚本。<br>4.综合应用所学脚本完成编程项目并扩展。 |
| 33 | 太空大战 | 1.制作太空大战的小游戏,好玩有趣,赶紧动手试试吧。<br>2.巩固“广播”、“画笔””等脚本。<br>3.学习“克隆”、“变量” 等新脚本。<br>4.综合应用所学脚本完成编程项目并扩展。 |
+126
View File
@@ -0,0 +1,126 @@
AI 费用:120
GPU 租赁:79
YOLO200
---
SAM、DINOv3、OpenCV
SAM → 抠出目标
DINOv3 → 提纹路特征(查瑕疵)
OpenCV → 算长宽、面积
OpenCV 负责量得准
SAM 2 负责先抠出来
YOLO 负责后期稳定批量识别
DINOv3 负责判断像不像
---
| 层 | 技术 | 本质 |
| --- | ------ | ---- |
| 检测层 | YOLO | 找位置 |
| 分割层 | SAM2 | 精确边界 |
| 几何层 | OpenCV | 测量 |
| 语义层 | DINOv3 | 相似度 |
---
帮我调研并设计一个技术方案。
我是做文玩核桃的,就是那种特别漂亮的、专门在手里玩耍的核桃。文玩核桃从树上摘下来、刷掉外层青皮之后,有一个步骤叫“配对”。因为成对的核桃整体售价更高,外形也更漂亮一致。
关于“成对”的定义:
### 一、硬性尺寸(核心基础)
| 点位 | 配对标准 | 红线禁忌 |
|------|----------|----------|
| 边/宽 | 误差≤0.5mm | 宽窄不一 |
| 肚/厚 | 误差≤0.5mm | 一扁一鼓 |
| 高/桩 | 误差≤0.5mm | 一高一矮 |
### 二、器型骨架(对称关键)
1. **桩型**:同矮桩/高桩/元宝桩,桩体一致
2. **肩型**:双肩高低、倾斜对称
3. **底座**:地平、底正、大小相同
4. **核桃尖**:长短、粗细、钝锐统一
### 三、纹路细节(颜值核心)
1. **主筋**:走向、粗细左右呼应
2. **纹路**:深浅、疏密、纹理一致
3. **脐眼(气门)**:形状、大小、闭合度相同
### 四、皮质密度(决定后期)
1. **皮色**:原皮同色,无阴阳色差
2. **密度**:上手压手感一致
3. **晃仁**:晃动松紧、声音相同
4. **皮质**:厚薄、软硬统一
### 五、瑕疵品相(加分减分)
- 无伤:无虫眼、裂、阴皮、修补
- 瑕对称:天然小瑕疵需成双存在,单瑕报废
### 六、极简速查口诀
先卡尺寸再看型,
肩底边脐要对齐;
纹路皮色密度同,
同树同熟才好堆。
从树上摘下成百上千个核桃后,人工配对是一个很重要的环节。我现在想通过现有的一些模型来实现这个效果,所以想调研一下整体的技术方案怎么做更好。
我预想的效果是:
1. 用户(核农)拍摄并上传核桃的照片。
2. 采集每个核桃的六个面:即上下、左右、前后。
3. 通过技术手段,将这六个面的数据与其他核桃进行比对。
4. 系统自动告诉用户,在他的一千个核桃里面,哪些核桃的匹配率更高。
我的一些疑问:
1. 采集照片这个步骤是否也有好的技术方案,因为我我发抉择,是搞一个专门的工具实现比如一个传送带、然后6 个摄像头,还是可以通过手机就可以实现。
2. 整体流程是否有现成的模型,比如现在有好多现成的始觉模型。还是说如果想实现成熟的方案,最终要有一套自己的训练过的模型或者算法什么的。
3. 我看网上有 SAM、DINOv3、OpenCV 这种实现方案。不知道是否适合我的场景,或者有比这些更适合我的方案。
最终给我输出一个技术方案文档:OpenPalm 项目 整体技术方案.md
然后我们基于这个文档,再一起讨论。
---
概念:Minimum Viable Product
---
OpenCV
滤波:
手机拍照有小黑点 → 去噪
OCR 图片太脏 → 清理背景
人脸磨皮 → 平滑
车牌识别 → 去干扰
边缘检测前处理 → 提高效果
---
https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-latest-Windows-x86_64.exe
@@ -6,13 +6,13 @@
spring.datasource.url=jdbc:mysql://120.46.38.23:43306/jsh_erp?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai&useSSL=false&allowPublicKeyRetrieval=true&useCursorFetch=true&defaultFetchSize=500&allowMultiQueries=true&rewriteBatchedStatements=true spring.datasource.url=jdbc:mysql://120.46.38.23:43306/jsh_erp?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai&useSSL=false&allowPublicKeyRetrieval=true&useCursorFetch=true&defaultFetchSize=500&allowMultiQueries=true&rewriteBatchedStatements=true
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.username=root spring.datasource.username=root
spring.datasource.password=NXtGhUdQQpgLKUgrw8yf spring.datasource.password=
#mybatis-plus配置 #mybatis-plus配置
mybatis-plus.mapper-locations=classpath:./mapper_xml/*.xml mybatis-plus.mapper-locations=classpath:./mapper_xml/*.xml
# Redis # Redis
spring.redis.host=120.46.38.23 spring.redis.host=120.46.38.23
spring.redis.port=6379 spring.redis.port=6379
spring.redis.password=oWBTxm6VZWwoAwLnghQG spring.redis.password=
``` ```
- 移动计算事业部(主营笔记本) - 移动计算事业部(主营笔记本)
+34
View File
@@ -28,3 +28,37 @@
--- ---
真正的问题不是“我没时间创作”,而是“我有没有一个作品,值得我把所有时间都变成它的养料”。 真正的问题不是“我没时间创作”,而是“我有没有一个作品,值得我把所有时间都变成它的养料”。
---
輕鬆的選擇,困難的人生;
困難的選擇,輕鬆的人生。
---
蒂姆·费里斯提出的思维技巧——**“恐惧设定”**。
### 第一步:通过写作理清思路(A4纸书写练习)
在纸上写下大标题“如果我……会如何?”,并分为三个子版块:
1. **定义(Define):** 写下如果你现在采取行动,可能遇到的所有“最坏情况”或困难。
2. **避免(Prevent):** 针对上述每个困难,写下你可以采取什么措施来预防或降低这些问题发生的概率。
3. **修复(Repair):** 如果“最坏情况”真的发生了,写下你该如何弥补损失或寻求帮助。
### 第二步:构想积极结果(The Benefits of an Attempt
问自己一个问题:“如果计划成功了,会对我的生活带来什么好处?”通过设想实现目标后的积极转变,增加行动的动力。
### 第三步:考虑不行动的代价(The Cost of Inaction
这是一个至关重要的步骤。你需要思考:如果维持现状,六个月、一年、甚至三年后你的生活会变成什么样?通过直面不作为带来的长远负面影响,将“拖延”转变为“非行动不可”。
### 核心观点与总结:
- **定量评估:** 可以用1到10分来衡量行动带来的影响。如果行动带来的暂时性困难较小(1-3分),而长远积极影响较大(8-10分),那么就应该坚定地去行动。
- **人生格言:** 视频引用了一句格言:“轻松的选择,困难的人生;困难的选择,轻松的人生。”(Easy choices, hard life; Hard choices, easy life)。
- **建议:** 建议每三个月进行一次“恐惧设定”的练习,通过定期评估目标,打破思维惯性,不再让想象中的困难阻碍自己前行。
**总结建议:** 恐惧往往源于想象,而非真实。通过将其书面化和结构化,你会发现很多困难其实是可以解决的,从而更有信心地开始行动。
+47
View File
@@ -0,0 +1,47 @@
`÷ 2` 是为了取 社会平均工资和你自己缴费水平的平均值。
国家规定的固定比例,相当于 “每交 1 年,给你 1% 的基础养老金”。
假设你退休时当地计发基数:15000 元 / 月
你的平均缴费指数:0.7
缴费年限:25 年
男性 60 岁退休 → **计发月数 139 个月**11 年)
---
基础养老金 = 退休时当地上年度在岗职工月平均工资 × (1 + 本人平均缴费指数) ÷ 2 × 缴费年限 × 1%
基础养老金 = 15000 × (1 + 0.7) ÷ 2 × 25 × 1% = 15000 × 0.85 × 0.25 = 3187.5 元/月
---
个人账户养老金 = 退休时个人账户累计储存额 ÷ 计发月数
个人账户养老金 = 150000 ÷ 139 ≈ 1079 元/月
---
月基本养老金 = 基础养老金 + 个人账户养老金
= 3187.5 + 1079
≈ 4266.5 元/月
---
| 核算年份(当年退休人员适用) | 官方养老金计发基数(元 / 月) | 同比上年涨幅 | 官方数据来源 |
| :------------: | :--------------: | :-------: | :------------------------------------ |
| 2016 年 | 7086 | ——(起始基准年) | 北京市人社局、统计局发布 2015 年职工月平均工资(当年养老金核算专用) |
| 2017 年 | 7706 | **8.75%** | 京人社规发〔2017〕112 号,2016 年北京市职工月平均工资 |
| 2018 年 | 8467 | **9.88%** | 京人社规发〔2018〕115 号,2017 年北京市职工月平均工资 |
| 2019 年 | 9262 | **9.39%** | 北京市人社局 2019 年社保待遇专项通告(首次单独发布计发基数) |
| 2020 年 | 9910 | **7.00%** | 北京市人社局 2020 年社保待遇专项通告 |
| 2021 年 | 10534 | **6.30%** | 北京市人社局 2021 年社保待遇专项通告 |
| 2022 年 | 11082 | **5.20%** | 京人社发〔2022〕14 号官方通告 |
| 2023 年 | 11525 | **4.00%** | 北京市人社局 2023 年政策解读官方文件北京市人力资源和社会保障局 |
| 2024 年 | 11883 | **3.11%** | 北京市人社局 2025 年官方政策解读文件北京市人力资源和社会保障局 |
| 2025 年 | 12049 | **1.40%** | 京人社发〔2025〕13 号官方通告北京市人力资源和社会保障局 |
| 2060 年 | 25000 | | 猜测 |
-13
View File
@@ -89,19 +89,6 @@ https://sub-store.excalicode.org?api=https://sub-store.excalicode.org/AZmFbXAp9T
# OpenClaw【域名】 # OpenClaw【域名】
```
r5hzczwdpd2bin2zxapbnqjmwdjny2kz
mq7swt5pxdhhz6mmryz28n3ytgma83fb
18789
18790
http://82.158.226.4:18789?token=r5hzczwdpd2bin2zxapbnqjmwdjny2kz
https://openclaw.excalicode.org?token=mq7swt5pxdhhz6mmryz28n3ytgma83fb
```
# MySQL # MySQL
``` ```
+75
View File
@@ -0,0 +1,75 @@
在 **Windows系统下使用 Conda (Miniconda/Anaconda) 搭建一个专门用于运行 `labelImg` 的 Python 虚拟环境,并完成安装和缓存清理,最后在文件资源管理器中找到了该软件的启动执行文件。**
`labelImg` 是一款非常经典的开源图像标注工具(通常用于目标检测任务的数据集制作,比如 YOLO 系列)。
## 第一步:创建 Conda 虚拟环境
- **目的**:为了不污染全局的 Python 环境,创建一个独立的环境专门给 `labelImg` 使用,并指定兼容性较好的 Python 3.8 版本。
- **执行命令**
```bash
conda create -n labelImg python=3.8
```
*(注:途中系统提示 `Proceed ([y]/n)?` 时,用户输入了 `y` 并回车确认)*
## 第二步:配置 pip 国内镜像源
- **目的**:将 pip 的默认下载源修改为中科大(USTC)的镜像源,目的是为了在国内网络环境下大幅提升后续下载 Python 包的速度。
- **执行命令**
```bash
pip config set global.index-url https://mirrors.ustc.edu.cn/pypi/web/simple
```
## 第三步:激活刚才创建的虚拟环境
- **目的**:进入名为 `labelImg` 的虚拟环境中,后续的安装操作都会在这个环境中进行。
- **执行命令**
```bash
conda activate labelImg
```
*(注:在图2中用户输入时不小心重复输入了两次拼成了 `conda activate labelImgconda activate labelImg`,但在图3中他已经纠正并成功激活,命令行前缀变成了 `(labelImg)`)*
## 第四步:使用 pip 安装 labelImg
- **目的**:下载并安装 `labelImg` 及其依赖包(如 `PyQt5`, `lxml` 等)。
- **执行命令**
```bash
pip install labelImg
```
## 第五步:清理 pip 下载缓存
- **目的**:安装完成后,清理 pip 下载产生的缓存文件,释放C盘/系统盘空间。图片显示清理了 397 个文件。
- **执行命令**
```bash
pip cache purge
```
## 第六步:清理 Conda 缓存
- **目的**:进一步深度清理 Conda 下载的包安装文件(tarballs)、未使用的包和索引缓存,彻底释放硬盘空间。
- **执行命令**
```bash
conda clean --all
```
*(注:执行后系统会多次询问是否确认删除 `Proceed ([y]/n)?`,用户均输入了 `y` 并回车)*
## 第七步:在文件夹中找到并准备运行程序
- **目的**:通过文件资源管理器,找到刚才安装好的 `labelImg` 可执行文件。
- **操作过程**
1. 用户打开了路径:`E:\DevTool\Miniconda3\envs\labelImg\Scripts` (这是他电脑上 Miniconda 存放 `labelImg` 虚拟环境可执行文件的目录)。
2. 找到了名为 `labelImg` 的文件(通常是 `labelImg.exe`)。
3. 他右键点击了该文件,弹出了菜单(可能是准备直接双击打开运行,或者是想通过 VS Code 打开查看)。
**📝 笔记总结提示:**
如果你自己要照做,只需要打开你的 Anaconda Prompt 或终端,依次复制执行上述 **1 到 6 步**的命令即可。安装完成后,其实你不需要像图7那样去文件夹里找,直接在激活了环境的命令行里输入 `labelImg` 并回车,软件界面就会自动弹出来了。
@@ -45,3 +45,11 @@
- **默认版本**:通常是 BF16(16位浮点数),精度最高,但显存占用极大(例如 122B 模型需要约 250GB+ 显存才能跑起来)。 - **默认版本**:通常是 BF16(16位浮点数),精度最高,但显存占用极大(例如 122B 模型需要约 250GB+ 显存才能跑起来)。
- **FP8**:8位浮点数量化,精度损失极小,显存减半,但在最新的英伟达显卡(如 Hopper 架构的 H100、Ada 架构的 RTX 4090)上能获得原生硬件加速。 - **FP8**:8位浮点数量化,精度损失极小,显存减半,但在最新的英伟达显卡(如 Hopper 架构的 H100、Ada 架构的 RTX 4090)上能获得原生硬件加速。
- **GPTQ-Int4**:4位整数极限压缩,显存占用仅为默认版本的 1/4 左右。让普通玩家也能在一两张消费级显卡上跑起 35B 甚至 122B 的庞然大物。 - **GPTQ-Int4**:4位整数极限压缩,显存占用仅为默认版本的 1/4 左右。让普通玩家也能在一两张消费级显卡上跑起 35B 甚至 122B 的庞然大物。
---
| 模型 | 部署门槛 | 兼容性要求 | 维护难度 |
| :-------------------------- | :---------------------- | :------------------------------------ | :------------------------------- |
| Qwen3.6-35B-A3B-FP8 | 极低,vLLM 一行命令启动,开箱即用 | NVIDIA 驱动≥535CUDA≥12.1,兼容性拉满,无坑 | 极低,显存冗余大,几乎不会 OOM,无需频繁调参 |
| Qwen3.5-122B-A10B-GPTQ-Int4 | 中等,需要适配 GPTQ 量化,需基础调优经验 | NVIDIA 驱动≥550,CUDA≥12.4,低版本驱动易出现兼容性问题 | 中等,需根据业务调整上下文长度、显存利用率参数,避免 OOM |
| Qwen3.6-35B-A3BBF16 | 极高,显存处于极限边缘,需严格控制所有参数 | 与 FP8 版一致,但对参数容错率极低 | 极高,并发 / 上下文稍微调整就会 OOM,生产环境维护成本极高 |
+15 -9
View File
@@ -1,4 +1,4 @@
scoop 安装的所以 # scoop 安装
全局包: 全局包:
@@ -6,23 +6,29 @@ scoop 安装的所以
E:\MyScoop\Scoop\apps\python\current\Lib\site-packages E:\MyScoop\Scoop\apps\python\current\Lib\site-packages
``` ```
最佳实践:虚拟环境(venv # 虚拟环境(venv
传统 ## 传统
``` ```bash
# 创建一个虚拟环境
python -m venv .venv python -m venv .venv
.venv\Scripts\Activate.ps1 # 激活
# 激活
.venv\Scripts\Activate.ps1
pip install requests pip install requests
python main.py python main.py
deactivate # 退出
# 退出
deactivate
``` ```
uv 完全不需要 activate/deactivate ## uv
``` ```
uv init uv init
uv add requests # 自动管理 .venv uv add numpy # 自动管理 .venv
uv run main.py # 自动用 .venv 里的环境运行 uv run main.py # 自动用 .venv 里的环境运行
``` ```
+106
View File
@@ -0,0 +1,106 @@
## 一、项目初始化
| 场景 | 命令 | 说明 |
|------|------|------|
| 创建新项目 | `uv init my-project` | 生成项目目录、`pyproject.toml``.python-version` |
| 在已有目录初始化 | `uv init` | 当前目录下初始化,不新建子目录 |
| 指定 Python 版本创建 | `uv init --python 3.12 my-project` | 锁定 Python 版本 |
| 创建库项目(不是应用) | `uv init --lib` | 生成适合打包发布的结构 |
## 二、虚拟环境
| 场景 | 命令 | 说明 |
| ------------ | ----------------------------------- | ------------------- |
| 创建虚拟环境 | `uv venv` | 自动创建 `.venv` |
| 创建时指定 Python | `uv venv --python 3.12` | 用特定版本 |
| 创建时带 pip | `uv venv --seed` | 装上 pip 和 setuptools |
| 激活环境 | `.venv\Scripts\activate`Windows | 跟标准 venv 一样 |
| 删除环境 | `Remove-Item -Recurse -Force .venv` | 删掉即可,之后能重新创建 |
## 三、依赖管理(核心流程)
### 添加依赖
| 命令 | 说明 |
|------|------|
| `uv add numpy` | 安装并写入 `pyproject.toml` |
| `uv add pandas --dev` | 安装为开发依赖 |
| `uv add "numpy>=2.0,<3.0"` | 带版本约束 |
| `uv add git+https://github.com/user/repo.git` | 从 Git 安装 |
| `uv add ./local-package` | 从本地路径安装 |
### 移除依赖
| 命令 | 说明 |
|------|------|
| `uv remove numpy` | 卸载并从 `pyproject.toml` 移除 |
### 同步/安装
| 命令 | 说明 |
|------|------|
| `uv sync` | 根据锁文件安装所有依赖(有锁文件时) |
| `uv sync --no-dev` | 只安装正式依赖,跳过开发依赖 |
| `uv lock` | 生成/更新 `uv.lock` 锁文件 |
| `uv lock --upgrade-package numpy` | 只升级指定包的锁版本 |
| `uv tree` | 查看依赖树 |
## 四、用 uv 运行/执行
| 命令 | 说明 |
|------|------|
| `uv run python main.py` | 在项目环境中运行脚本 |
| `uv run python` | 进入项目环境的 Python 交互模式 |
| `uv run pytest` | 运行项目中的测试 |
| `uv run ipython` | 运行任意命令,自动使用当前环境 |
| `uv run --with requests python` | 临时加一个包再运行(不写入依赖) |
| `uvx ruff check .` | 运行一次性工具(等同于 `uv tool run` |
## 五、Python 版本管理
| 命令 | 说明 |
| ------------------------ | ----------------- |
| `uv python list` | 查看已安装的 Python 版本 |
| `uv python install 3.12` | 安装指定版本 |
| `uv python pin 3.12` | 为当前项目锁定 Python 版本 |
## 六、典型工作流
### 从头开始一个项目
```powershell
# 1. 创建项目
uv init myproject
cd myproject
# 2. 添加依赖(自动创建 .venv 并安装)
uv add numpy pandas
# 3. 写代码...
# 4. 运行
uv run python main.py
```
### 克隆已有项目
```powershell
# 1. 克隆
git clone <url>
cd project
# 2. 一键装上所有依赖
uv sync
# 3. 运行
uv run python main.py
```
### 用 pip 风格的即时安装(不写 pyproject.toml
```powershell
# 只是装个包试试,不想污染项目定义
uv pip install requests
uv pip list
uv pip uninstall requests
```
+3
View File
@@ -0,0 +1,3 @@
按转 [Microsoft C++ 生成工具 - Visual Studio](https://visualstudio.microsoft.com/zh-hans/visual-cpp-build-tools/) vs_BuildTools.exe
scoop install rustup
+6
View File
@@ -0,0 +1,6 @@
```bash
pnpm create tauri-app my-app --template react-ts
cd my-app
pnpm install
pnpm tauri dev
```
+18
View File
@@ -0,0 +1,18 @@
gitleaks detect --no-git -v
```toml
title = "custom gitleaks config"
[extend]
useDefault = true
[[allowlists]]
description = "ignore folders"
paths = [
'''\.obsidian/.*''',
'''\.git/.*''',
'''work/.*'''
]
```
+2
View File
@@ -49,6 +49,8 @@
| 候选存在 | `[` / `]` | 以词定字:取首字/末字 | `wanxiang.schema.yaml` | | 候选存在 | `[` / `]` | 以词定字:取首字/末字 | `wanxiang.schema.yaml` |
| 候选存在 | `,` | super_tips 上屏按键 | `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)
@@ -0,0 +1,616 @@
# 万象拼音
---
## 一、状态面板与方案切换
| 操作 | 快捷键 | 说明 |
| -------- | --------------- | ------------------- |
| 打开万象状态面板 | `Ctrl + `` ` | 呼出/关闭状态面板,可在此切换所有开关 |
| 切换到下一个方案 | `Shift + Space` | 在已启用的方案间循环切换 |
---
## 二、中英文与标点切换
### 2.1 中英文切换
| 操作 | 快捷键 | 说明 |
| -------- | ----------- | ------------------------- |
| CapsLock | `CapsLock` | 清除未上屏内容,切换到英文(clear) |
| 左Shift | `Shift + L` | 上屏原始编码,切换到英文(commit_code |
| 右Shift | `Shift + R` | 上屏原始编码,切换到英文(commit_code |
| 左/右Ctrl | `Ctrl` | 不做切换(noop),避免误触 |
> **说明**`Shift` 的行为可在 `default.yaml``ascii_composer/switch_key` 中修改为:
> - `commit_code`:上屏原始编码后切英文
> - `commit_text`:上屏拼出的词句后切英文
> - `clear`:清除后切英文
> - `inline_ascii`:临时英文模式,回车上屏后回到中文
> - `noop`:屏蔽快捷键
### 2.2 中英标点切换
| 操作 | 快捷键 | 说明 |
|------|--------|------|
| 切换中英标点 | `Ctrl + Shift + 3` | 在中文标点和英文标点之间切换 |
### 2.3 简繁转换
| 操作 | 快捷键 | 说明 |
|------|--------|------|
| 切换简繁 | `Ctrl + Shift + 4` | 在简体和繁体之间切换 |
---
## 三、候选操作
### 3.1 选字
| 操作 | 按键 | 说明 |
|------|------|------|
| 选择候选 1-6 | `1` `2` `3` `4` `5` `6` | 数字键直接选字 |
| 上屏首选 | `Space` | 空格上屏当前首选候选 |
| 上屏原始编码 | `Enter` | 回车上屏未经转换的原始输入 |
| 上屏转换后输入 | `Ctrl + Enter` | 上屏经过 preedit 转换的内容 |
| 上屏注释内容 | `Ctrl + Shift + Enter` | 上屏候选的 comment 注释文本 |
### 3.2 翻页
| 操作 | 快捷键 | 说明 |
|------|--------|------|
| 上一页 | `-`(减号) | 有候选时按减号翻到上一页 |
| 下一页 | `=`(等号) | 有候选时按等号翻到下一页 |
| 鼠标滚轮翻页 | 滚轮 | 在候选窗口上滚轮翻页(`paging_on_scroll: true` |
### 3.3 删除/降权候选
| 操作 | 快捷键 | 说明 |
|------|--------|------|
| 删除/降权候选 | `Ctrl + Delete` | 删除或降权当前高亮的候选项 |
---
## 四、编辑与导航
### 4.1 基本编辑
| 操作 | 快捷键 | 说明 |
|------|--------|------|
| 退格删除 | `Backspace` | 撤销上次输入(逐字符回退) |
| 删除一个音节 | `Ctrl + Backspace` | 删除一整个拼音音节 |
| 向后删除 | `Delete` | 删除光标后的内容 |
| 取消输入 | `Escape` | 取消当前输入,清空编码 |
| 删除一个词 | `Ctrl + W` | 等效于 `Ctrl + Backspace`,删除一个音节 |
### 4.2 光标移动
| 操作 | 快捷键 | 说明 |
|------|--------|------|
| 左移一个字符 | `Left` / `←` | 在音节内按字符移动 |
| 右移一个字符 | `Right` / `→` | 在音节内按字符移动 |
| 左移一个音节 | `Shift + Left` | 跳到上一个拼音音节 |
| 右移一个音节 | `Shift + Right` | 跳到下一个拼音音节 |
| 切换到上一个音节 | `Alt + Left` | 在音节间移动光标 |
| 切换到下一个音节 | `Alt + Right` | 在音节间移动光标 |
| 音节间跳转 | `Tab` | 在不同拼音音节之间跳转(等效 Ctrl+Right |
| 补码上屏 | `Ctrl + Tab` | 当 Tab 补码正确后,上屏并依次补码 |
---
## 五、功能开关快捷键
以下快捷键在**有候选显示**`has_menu`)时生效:
| 功能 | 快捷键 | 说明 |
|------|--------|------|
| 切换辅助码显示 | `Ctrl + A` | 开关 tone_hint,显示/隐藏候选词辅助码 |
| 切换声调显示 | `Ctrl + S` | 开关 tone_display,输入编码显示音调 |
| 开启翻译模式 | `Ctrl + E` | 开关 chinese_english,候选显示英文翻译 |
| 切换字符集过滤 | `Ctrl + G` | 开关 charset_filter,切换大小字集 |
| 开启超级提示 | `Ctrl + T` | 开关 super_tips,显示表情、翻译等提示 |
---
## 六、手动排序(候选调序)
当候选高亮时,可使用以下快捷键手动调整候选顺序:
| 操作 | 快捷键 | 说明 |
|------|--------|------|
| 上移(左移) | `Ctrl + J` | 将高亮候选向前移动 |
| 下移(右移) | `Ctrl + K` | 将高亮候选向后移动 |
| 重置排序 | `Ctrl + L` | 重置候选的自定义排序 |
| 置顶 | `Ctrl + P` | 将高亮候选置顶到第一位 |
> **配置位置**`wanxiang.schema.yaml` 中的 `super_sequence`
---
## 七、以词定字
| 操作 | 按键 | 说明 |
|------|------|------|
| 上屏首字 | `[`(左方括号) | 输入词语后按 `[` 上屏词语的第一个字 |
| 上屏尾字 | `]`(右方括号) | 输入词语后按 `]` 上屏词语的最后一个字 |
**使用示例**:输入 `nihao` 出现"你好"候选后,按 `[` 上屏"你",按 `]` 上屏"好"。
---
## 八、分词与编码技巧
| 操作 | 按键 | 说明 |
|------|------|------|
| 手动分词 | `'`(单引号) | 在拼音之间插入分隔符,如 `xi'an` 区分"西安" |
| 分词符循环 | `'` | 支持循环输入分词符(`enable_seg_loop: true` |
| 声调回退 | 数字键 `7` `8` `9` `0` | 分别代表一声、二声、三声、四声,输入后可回退筛选 |
| 退格限制 | `Backspace` | 限制过度回退(`enable_backspace_limit: true` |
| 重复限制 | - | 最大重复声母数 8,最大候选字数 40(`limit_repeated: "8,40"` |
**声调输入说明**
- `7` = 一声(阴平)→ ⁴
- `8` = 二声(阳平)→ ²
- `9` = 三声(上声)→ ³
- `0` = 四声(去声)→ ⁴
---
## 九、特殊输入前缀命令
### 9.1 计算器
| 前缀 | 示例 | 说明 |
|------|------|------|
| `V` | `V1+2*3` | 输入以 `V` 开头触发超级计算器 |
### 9.2 数字金额大写
| 前缀 | 示例 | 说明 |
|------|------|------|
| `R` | `R1234` | 输入以 `R` 开头 + 数字,输出金额大写候选 |
### 9.3 Unicode 字符输入
| 前缀 | 示例 | 说明 |
|------|------|------|
| `U` | `U4e2d` | 输入以 `U` 开头 + 十六进制编码,输出对应 Unicode 字符 |
### 9.4 版本信息
| 命令 | 说明 |
|------|------|
| `/wx` | 显示万象项目网址和当前版本号 |
---
## 十、日期时间相关命令
支持两种引导方式:`/` 前缀 或 `o` 前缀(如 `/sj``osj`
| 命令 | 功能 | 示例输出 |
|------|------|----------|
| `/sj``osj` | 当前时间 | 14:30 |
| `/rq``orq` | 当前日期 | 2026年05月05日 |
| `/nl``onl` | 农历日期 | 农历四月初八 |
| `/xq``oxq` | 星期 | 星期一 |
| `/ww``oww` | 今年第几周 | 第19周 |
| `/jq``ojq` | 节气 | 立夏 |
| `/dt``odt` | 日期+时间 | 2026-05-05 14:30:00 |
| `/tt``ott` | 时间戳 | 1746436200 |
| `/jr``ojr` | 节日 | 青年节 |
| `/day``oday` | 问候模板 | 今日问候语 |
| `N20250315` | 大写N日期(带年) | 2025年03月15日 |
| `N0312` | 大写N日期(不带年) | 03月12日 |
**日期格式支持**
- `Y年m月d日``Y-m-d``Y/m/d``Y.m.d``Ymd``Y年n月j日``y年n月j日``n月j日`
**时间格式支持**
- `H:M``H点M分``H:M:S``H时M分S秒``AI:M`(带上午/下午)、`I:M P`(带 AM/PM
**时间戳区间查询**
- `/htj20231015` — 查看 2023 年 10 月 15 日的统计
- `/htj20231015t20240102` — 查看 2023-10-15 到 2024-01-02 的区间统计
---
## 十一、输入统计命令
| 命令 | 功能 |
|------|------|
| `/rtj` | 查看今日统计(日统计) |
| `/ztj` | 查看本周统计(周统计) |
| `/ytj` | 查看本月统计(月统计) |
| `/ntj` | 查看本年统计(年统计) |
| `/tj` | 查看生涯总统计 |
| `/htj` | 时光机:查历史统计 |
| `/qctj` | 清除所有统计数据 |
---
## 十二、方案快速切换命令
在中文输入状态下,直接输入以下编码可快速切换到对应双拼方案:
| 命令 | 切换到 |
|------|--------|
| `/pinyin` | 全拼 |
| `/zrm` | 自然码双拼 |
| `/flypy` | 小鹤双拼 |
| `/mspy` | 微软双拼 |
| `/sogou` | 搜狗双拼 |
| `/abc` | 智能ABC |
| `/ziguang` | 紫光双拼 |
| `/pyjj` | 拼音加加 |
| `/gbpy` | 国标双拼 |
| `/lxsq` | 乱序17 |
---
## 十三、快符系统(单字母 + /
输入 `字母/` 的格式(如 `a/`)可快速输出预设符号。支持 26 个字母的快符映射:
| 输入 | 输出 | 输入 | 输出 |
|------|------|------|------|
| `a/` | | `n/` | 《 |
| `b/` | % | `o/` | 〖 |
| `c/` | " | `p/` | 〗 |
| `d/` | 、 | `q/` | 重复上屏 |
| `e/` | | `r/` | |
| `f/` | " | `s/` | …… |
| `g/` | " | `t/` | ~ |
| `h/` | ' | `u/` | 『 |
| `i/` | 』 | `v/` | —— |
| `j/` | ' | `w/` | |
| `k/` | 【 | `x/` | " |
| `l/` | 】 | `y/` | · |
| `m/` | 》 | `z/` | 。" |
> **特殊**`q/` 设置为 `repeat`,即重复上屏上一次输出的内容。
---
## 十四、成对符号包裹(\触发)
在有候选的情况下,输入 `\` + 字母 可将当前第一候选用成对符号包裹。
**使用示例**:输入 `nihao\w` → 候选"你好"会被包裹为"(你好)"
### 基本括号族
| 代码 | 包裹符号 | 代码 | 包裹符号 |
|------|----------|------|----------|
| `\a` | `[]` | `\q` | `()` |
| `\b` | `【】` | `\r` | `〖〗` |
| `\c` | `❲❳` | `\s` | `[]` |
| `\d` | `〔〕` | `\t` | `⟨⟩` |
| `\e` | `⟮⟯` | `\u` | `〈〉` |
| `\f` | `⟦⟧` | `\v` | `❰❱` |
| `\g` | `「」` | `\w` | `()` |
| `\i` | `『』` | `\x` | `{}` |
| `\j` | `<>` | `\y` | `⟪⟫` |
| `\k` | `《》` | `\z` | `{}` |
| `\l` | `〈〉` | | |
| `\m` | `‹›` | | |
| `\n` | `«»` | | |
| `\o` | `⦅⦆` | | |
| `\p` | `⦇⦈` | | |
### 引号族
| 代码 | 包裹符号 | 说明 |
|------|----------|------|
| `\dy` | `''` | 英文单引号 |
| `\sy` | `""` | 英文双引号 |
| `\zs` | `""` | 中文弯双引号 |
| `\zd` | `''` | 中文弯单引号 |
| `\fy` | ` `` ` | 反引号 |
### Markdown 格式
| 代码 | 输出 | 说明 |
|------|------|------|
| `\md``\jc` | `**|**` | 粗体 |
| `\it` | `__|__` | 斜体 |
| `\st` | `~~\|~~` | 删除线 |
| `\eq` | `==\|==` | 高亮 |
| `\ln` | `` `|` `` | 行内代码 |
| `\cb` | ` ```|``` ` | 代码块 |
| `\qt` | `> \|` | 引用 |
| `\ul` | `- \|` | 无序列表 |
| `\ol` | `1. \|` | 有序列表 |
| `\lk` | `[|](url)` | 链接 |
| `\im` | `![|](img)` | 图片 |
| `\h` | `# \|` | 一级标题 |
| `\hh` | `## \|` | 二级标题 |
| `\hhh` | `### \|` | 三级标题 |
| `\hhhh` | `#### \|` | 四级标题 |
> **注意**`|` 符号表示光标最终停留的位置。
---
## 十五、符号快捷输入(/前缀)
输入 `/` + 缩写 可调出大量符号候选。以下为常用分类:
### 15.1 标点与常用符号
| 命令 | 符号类别 | 命令 | 符号类别 |
|------|----------|------|----------|
| `/dd` | 点点符号(。,、:;!?) | `/fj` | 非夹符号(——、……、~等) |
| `/jz``/jv` | 夹注符号(引号、括号族) | `/bd` | 中文标点符号 |
| `/bdz` | 中文标点竖排 | `/bdzy` | 中英标点 Unicode |
| `/bdvy` | 中英标点竖排 | `/hj` | 行间标点 |
### 15.2 数学与科学
| 命令 | 符号类别 | 命令 | 符号类别 |
|------|----------|------|----------|
| `/sx``/ux` | 数学符号 | `/dy` | 大于符号族 |
| `/xy` | 小于符号族 | `/yw` | 因为 ∵ |
| `/sy` | 所以 ∴ | `/fs` | 分数 |
| `/sxc` | 数学粗体字母 | `/sxx` | 数学斜体字母 |
| `/sxz` | 数学粗斜体 | `/sxh` | 数学花体字母 |
| `/sxg` | 数学哥特体 | `/sxs` | 数学双线体 |
| `/sxw` | 数学无衬线体 | `/sxd` | 数学等宽体 |
### 15.3 数字
| 命令 | 符号类别 | 命令 | 符号类别 |
|------|----------|------|----------|
| `/0` - `/10` | 数字的各种写法(汉字、大写、圈、弧等) | `/szq` | 数字+圈 |
| `/szh` | 数字+弧 | `/szd` | 数字+点 |
| `/szm` | 苏州码 | `/lm` | 罗马数字(小写) |
| `/lmd` | 罗马数字(大写) | `/sb``/ub` | 上标符号 |
| `/xb` | 下标符号 | | |
### 15.4 字母装饰
| 命令 | 符号类别 | 命令 | 符号类别 |
|------|----------|------|----------|
| `/zmq` | 字母+圈 | `/zmh` | 字母+弧 |
| `/a` - `/z` | 拉丁字母扩展(带声调、装饰等) | `/A` - `/Z` | 大写拉丁字母扩展 |
### 15.5 希腊字母
| 命令 | 符号类别 | 命令 | 符号类别 |
|------|----------|------|----------|
| `/xl` | 希腊小写字母 | `/xld` | 希腊大写字母 |
| `/xlc` | 希腊粗体 | `/xlx` | 希腊斜体 |
| `/xlz` | 希腊粗斜体 | `/xlwc` | 希腊无衬线粗体 |
### 15.6 注音与拼音
| 命令 | 符号类别 | 命令 | 符号类别 |
|------|----------|------|----------|
| `/py` | 拼音带声调 | `/pyd` | 拼音大写带声调 |
| `/zy` | 注音符号 | `/sd``/ud` | 声调符号 |
| `/yb` | IPA 音标 | | |
### 15.7 日文假名
| 命令 | 符号类别 | 命令 | 符号类别 |
|------|----------|------|----------|
| `/jm` | 平假名 | `/pjm` | 片假名 |
| `/jmbj` | 半角假名 | `/jmq` | 假名+圈 |
| `/ja` - `/jzo` | 单个假名(含浊音、拗音等) | | |
### 15.8 中文特殊
| 命令 | 符号类别 | 命令 | 符号类别 |
|------|----------|------|----------|
| `/tg` | 天干 | `/dz` | 地支 |
| `/gz` | 干支 | `/jq` | 二十四节气 |
| `/pp` | 偏旁部首 | `/kx` | 康熙部首 |
| `/bh` | 笔画 | `/jg` | 汉字结构 |
| `/hzq` | 汉字+圈 | `/hzh` | 汉字+弧 |
### 15.9 单位与货币
| 命令 | 符号类别 | 命令 | 符号类别 |
|------|----------|------|----------|
| `/dw` | 度量衡单位 | `/hb` | 货币符号 |
### 15.10 几何与箭头
| 命令 | 符号类别 | 命令 | 符号类别 |
|------|----------|------|----------|
| `/jh` | 几何图形 | `/fk` | 方块字符 |
| `/jt` | 箭头符号 | `/wjx` | 五角星 |
| `/xh` | 星号族 | | |
### 15.11 表情与 Emoji
| 命令 | 符号类别 | 命令 | 符号类别 |
|------|----------|------|----------|
| `/bq` | 表情 | `/cy``/iy` | 常用表情 |
| `/ss``/uu` | 手势 | `/dwj` | 动物 |
| `/dwl` | 动物脸 | `/tq` | 天气 |
| `/gq` | 国旗 | `/sg``/ug` | 水果 |
| `/zw` | 植物 | `/hd` | 花朵 |
| `/qc``/qi` | 汽车 | `/hc``/hi` | 火车 |
| `/yq` | 乐器 | `/wq` | 武器 |
| `/sm``/um` | 数码 | `/fz``/fv` | 服装 |
| `/td` | 甜点 | `/js``/ju` | 酒水 |
| `/zr` | 自然 | `/yule` | 娱乐 |
| `/zj` | 宗教 | `/hx` | 元素周期表 |
### 15.12 其他符号
| 命令 | 符号类别 | 命令 | 符号类别 |
|------|----------|------|----------|
| `/fh` | 符号(©®™等) | `/dn` | 电脑符号(⌘⌥⇧等) |
| `/xq` | 象棋 | `/mj` | 麻将 |
| `/sz` | 骰子 | `/pk` | 扑克 |
| `/yy` | 音乐 | `/lx` | 两性 |
| `/bg` | 八卦 | `/tt` | 天体 |
| `/xz` | 星座 | `/ey` | 俄语 |
| `/hw` | 韩文 | `/yf` | 月份 |
| `/rf` | 日期 | `/yr` | 曜日 |
| `/sj``/uj` | 时间 | `/tsfh``/tufh` | 特殊符号 |
---
## 十六、反查功能
| 操作 | 方法 | 说明 |
|------|------|------|
| 部件拆字反查 | 输入 `` ` `` + 拼音 | 通过部件组合查找汉字,如 `` `muji `` 查找"木+几"的字 |
| 笔画反查 | 输入 `` ` `` + 符号 | 使用 `hspzn`(横竖撇折捺)或 `upvd` 等笔画编码反查 |
| 输入中反查 | 输入 `` ` `` | 在输入过程中按 `` ` `` 开启辅助码反查筛选 |
**笔画编码**
- `h` = 横,`s` = 竖,`p` = 撇,`z` = 折,`n` = 捺
---
## 十七、造词功能
| 操作 | 方法 | 说明 |
|------|------|------|
| 引导造词 | 输入 `` `` ``(双反引号)+ 编码 | 如 `` ``nihao `` 进入造词模式 |
| 自定义短语 | 编辑 `custom_phrase.txt` | 置顶自定义编码的候选词 |
| 无感造词 | 自动 | 输入过程中自动学习新词(`auto_phrase` |
**配置说明**
- 默认 `custom_phrase.txt` 中的自定义短语权重最高(`initial_quality: 99`
- 可在 `wanxiang.custom.yaml` 中开启按需造词(`` `` `` 引导)和无感造词
---
## 十八、英文输入相关
| 功能 | 说明 |
|------|------|
| 英文造词符号 | `\`(反斜杠),双击即输入 |
| 自动加空格 | `smart` 模式:连续英文输入时第二个单词前开始加空格 |
| 空格超时 | 5 秒无输入自动销毁加空格状态 |
| 首字母大写 | 输入单词时首字母大写自动格式化 |
| 全大写 | 支持全大写格式化 |
---
## 十九、小键盘映射
小键盘的数字和运算符在输入时自动映射到主键盘对应按键:
| 小键盘 | 映射为 | 小键盘 | 映射为 |
|--------|--------|--------|--------|
| `KP_0` - `KP_9` | `0` - `9` | `KP_Enter` | `Return` |
| `KP_Decimal` | `.` | `KP_Multiply` | `*` |
| `KP_Add` | `+` | `KP_Subtract` | `-` |
| `KP_Divide` | `/` | | |
> **用途**:使用数字金额大写功能(`R` 前缀)时,可直接用小键盘输入数字。
---
## 二十、使用小技巧
### 20.1 提高效率
1. **快速翻页**`-``=` 比方向键翻页更快
2. **以词定字**:输入常用词语后用 `[` `]` 快速选首尾字,避免选字菜单
3. **快符系统**:记住常用快符如 `a/`(!)、`d/`(、)、`w/`(?)可大幅加速标点输入
4. **Ctrl+W**:快速删除一个音节,比多次退格更高效
5. **Tab 跳转**:多音节输入时用 Tab 在音节间快速移动
### 20.2 声调筛选
- 输入拼音后按 `7` `8` `9` `0` 分别对应一声、二声、三声、四声
- 可大幅减少同音字的候选数量
- 通过 `Ctrl+S` 可实时查看编码的声调标注
### 20.3 辅助码
- 按 `Ctrl+A` 开启辅助码显示
- 辅助码帮助在输入过程中筛选特定汉字
- 反查符号 `` ` `` 也可用于输入中实时反查
### 20.4 简码模式
- 简码开关默认开启(`abbrev`
- 通过 `abbrev.txt``chengyu.txt` 提供简码候选
- 简码匹配输入编码后置顶显示
### 20.5 预测联想
- 上屏后自动预测下一个可能的词
- 支持连续预测最多 3 次(`max_predictions: 3`
- 预测数据随使用时间积累,越用越准
- 预测条目 90 天未命中自动清理(`expiry_days: 90`
### 20.6 字符集过滤
- 默认显示 8105 通用规范汉字(小字集)
- 按 `Ctrl+G` 可切换到大字集(显示更多生僻字)
- 简繁转换开关(`Ctrl+Shift+4`)会自动扩展字符集
- 可在配置中自定义黑白名单微调字符集
### 20.7 自定义短语
编辑 `custom_phrase.txt` 可添加自定义置顶短语,格式为:
```
编码 候选词 权重
```
示例:
```
dz 定制短语 1
```
### 20.8 成对符号的 Markdown 妙用
- `\md``\jc`:快速 Markdown 加粗
- `\it`:斜体
- `\st`:删除线
- `\ln`:行内代码
- `\cb`:代码块
- `\qt`:引用
- `\h` / `\hh` / `\hhh`:标题层级
- `\lk`:链接模板
- `\im`:图片模板
### 20.9 元素周期表快捷查询
输入 `/hx` + 元素符号(小写)可快速查看元素信息,如:
- `/hxh` → H, 氢, 1, 1.0080, 1s¹, Hydrogen
- `/hxfe` → Fe, 铁, 26, 55.845, 3d⁶4s², Iron
### 20.10 候选数量
- 默认每页显示 6 个候选(不要超过 6,数字 7-0 保留给声调)
- 可在 `wanxiang.custom.yaml` 中修改 `menu/page_size`
---
## 附录:配置文件说明
| 文件 | 用途 |
|------|------|
| `default.yaml` | 全局默认配置(方案列表、菜单、快捷键、中英切换) |
| `default.custom.yaml` | 全局自定义覆盖 |
| `wanxiang.schema.yaml` | 万象拼音主方案配置 |
| `wanxiang.custom.yaml` | 万象拼音自定义覆盖 |
| `wanxiang_symbols.yaml` | 符号配置(/前缀符号、标点映射) |
| `wanxiang_algebra.yaml` | 拼音方案转换规则(双拼、模糊音等) |
| `wanxiang_reverse.schema.yaml` | 反查方案配置 |
| `wanxiang_english.schema.yaml` | 英文方案配置 |
| `wanxiang_mixedcode.schema.yaml` | 混合编码方案配置 |
| `wanxiang_t9.schema.yaml` | 九宫格方案配置 |
| `weasel.yaml` / `weasel.custom.yaml` | 小狼毫前端配置(外观、配色) |
| `custom_phrase.txt` | 自定义短语 |
| `lua/` | Lua 脚本目录(处理器、翻译器、过滤器) |
| `lua/data/` | Lua 数据文件(emoji、翻译、简码等) |
+1 -1
View File
@@ -19,7 +19,7 @@ docker run \
-v /opt/mydata/mysql-ibs/config:/etc/mysql/conf.d \ -v /opt/mydata/mysql-ibs/config:/etc/mysql/conf.d \
-v /opt/mydata/mysql-ibs/logs:/var/log/mysql \ -v /opt/mydata/mysql-ibs/logs:/var/log/mysql \
-p 63306:3306 \ -p 63306:3306 \
-e MYSQL_ROOT_PASSWORD=NXtGhUdQQpgLKUgrw8yf \ -e MYSQL_ROOT_PASSWORD=xxxx \
-e MYSQL_CHARACTER_SET_SERVER=utf8mb4 \ -e MYSQL_CHARACTER_SET_SERVER=utf8mb4 \
-e MYSQL_COLLATION_SERVER=utf8mb4_unicode_ci \ -e MYSQL_COLLATION_SERVER=utf8mb4_unicode_ci \
-d mysql:8.0 \ -d mysql:8.0 \
+1 -1
View File
@@ -60,5 +60,5 @@ s-ui 配置信息
``` ```
curl --location 'http://82.158.226.4:2095/app/apiv2/load' \ curl --location 'http://82.158.226.4:2095/app/apiv2/load' \
--header 'Token: HkpCXP8AkxqOjKbo29KdnrlPrlxmNksW' --header 'Token: xxxx'
``` ```
+2
View File
@@ -13,3 +13,5 @@
提取码:afyt 提取码:afyt
[? Batch Verifier](https://batch.1key.me/) [? Batch Verifier](https://batch.1key.me/)
[工业和信息化部 域名行业管理信息公示](https://domain.miit.gov.cn/?spm=5176.27804673.0.0.644e1f58oLbj6D)
+19 -7
View File
@@ -1,14 +1,14 @@
```PowerShell ## mcp
[System.Environment]::SetEnvironmentVariable("ANTHROPIC_BASE_URL", "http://8.162.2.152/claude", [System.EnvironmentVariableTarget]::User)
[System.Environment]::SetEnvironmentVariable("ANTHROPIC_AUTH_TOKEN", "sk-xxxx", [System.EnvironmentVariableTarget]::User)
```
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 claude mcp add -s user -t http deepwiki https://mcp.deepwiki.com/mcp
```
```
claude mcp add -s user -t http context7 https://mcp.context7.com/mcp --header "CONTEXT7_API_KEY: ctx7sk-21884782-852a-4ef8-8f26-83cd9b8c7d30"
```
```
{ {
"morecup-context": { "morecup-context": {
"type": "stdio", "type": "stdio",
@@ -27,3 +27,15 @@ claude mcp add -s user -t http deepwiki https://mcp.deepwiki.com/mcp
} }
} }
``` ```
## 常用操作
### 权限系统
VS Code 设置:Allow Dangerously Skip Permissions
命令行启动法:claude --dangerously-skip-permissions
### 插件
superpowers 该插件可以教会 Claude 进行头脑风暴、使用子智能体驱动开发(内置代码审查、系统化Debug、TDD测试驱动开发),甚至教 Claude 如何编写和测试新的 Skill。
-11
View File
@@ -19,14 +19,3 @@ startup_timeout_sec = 30
env = { SystemRoot = "C:\\Windows" } env = { SystemRoot = "C:\\Windows" }
args = ["/c", "npx", "-y", "@wonderwhy-er/desktop-commander"] args = ["/c", "npx", "-y", "@wonderwhy-er/desktop-commander"]
``` ```
```
aicodemirror
{
"OPENAI_API_KEY": "sk-ant-api03-Cb_9GtneUAuhHoCc26E-1MPF422fmWAVeLlW3BJHCYzUj9IoCxmImoZnHSeIBEfH4DRSXEny03N2f6QCUuYlwA"
}
packycode
{
"OPENAI_API_KEY": "sk-pJixdYiaLXi7LFb15bLdh1HyQ75nbgYs"
}
```
+196 -36
View File
@@ -1,15 +1,17 @@
# 总
```json ```json
{ {
// --- 通用与外观 --- // --- 通用与外观 ---
"window.zoomLevel": 0.3, "window.zoomLevel": 0.5,
"window.restoreWindows": "none", "window.restoreWindows": "none",
"extensions.ignoreRecommendations": true, "extensions.ignoreRecommendations": true,
"workbench.colorTheme": "One Dark Pro",
"workbench.iconTheme": "vscode-icons", "workbench.iconTheme": "vscode-icons",
"workbench.startupEditor": "none", "workbench.startupEditor": "none",
"workbench.editor.closeOnFileDelete": true, "workbench.editor.closeOnFileDelete": true,
"workbench.colorTheme": "Light 2026",
"security.workspace.trust.enabled": false, "security.workspace.trust.enabled": false,
"editor.fontFamily": "JetBrainsMono Nerd Font Mono, JetBrains Mono, Consolas, 'Courier New', monospace", "editor.fontFamily": "'JetBrainsMono Nerd Font Mono', Consolas, 'Courier New', monospace",
"editor.fontSize": 16, "editor.fontSize": 16,
"editor.lineNumbers": "interval", "editor.lineNumbers": "interval",
"editor.cursorBlinking": "smooth", "editor.cursorBlinking": "smooth",
@@ -17,30 +19,30 @@
"editor.renderWhitespace": "boundary", "editor.renderWhitespace": "boundary",
"editor.bracketPairColorization.enabled": true, "editor.bracketPairColorization.enabled": true,
"editor.guides.bracketPairs": "active", "editor.guides.bracketPairs": "active",
"editor.accessibilitySupport": "off",
"editor.stickyScroll.enabled": true, "editor.stickyScroll.enabled": true,
"editor.codeLens": true, "editor.codeLens": true,
"editor.detectIndentation": true, "editor.detectIndentation": true,
"editor.linkedEditing": true, "editor.linkedEditing": true,
"editor.wordSeparators": "`~!@#%^&*()=+[{]}\\|;:'\",.<>/?",
"editor.defaultFormatter": "esbenp.prettier-vscode", "editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.formatOnSave": true, "editor.formatOnSave": false,
"editor.formatOnSaveMode": "file", "editor.formatOnSaveMode": "file",
"editor.aiStats.enabled": false,
"files.insertFinalNewline": true, "files.insertFinalNewline": true,
"explorer.confirmDragAndDrop": false, "explorer.confirmDragAndDrop": false,
// --- 搜索 --- // --- 搜索 ---
"search.exclude": { "search.exclude": {
"**/*.java": false "**/*.java": false,
}, },
// --- 版本控制 --- // --- 版本控制 ---
"git.autofetch": true, "git.autofetch": true,
"git.enableSmartCommit": true, "git.enableSmartCommit": true,
"git.confirmSync": false, "git.confirmSync": false,
// --- 终端 --- // --- 终端 ---
"terminal.integrated.windowsEnableConpty": true,
"terminal.integrated.defaultProfile.windows": "PowerShell", "terminal.integrated.defaultProfile.windows": "PowerShell",
"terminal.integrated.cursorBlinking": true, "terminal.integrated.cursorBlinking": true,
"terminal.integrated.cursorStyle": "line", "terminal.integrated.cursorStyle": "line",
"terminal.integrated.cursorStyleInactive": "line", "terminal.integrated.cursorStyleInactive": "none",
"terminal.integrated.enablePersistentSessions": false, "terminal.integrated.enablePersistentSessions": false,
"terminal.integrated.persistentSessionReviveProcess": "never", "terminal.integrated.persistentSessionReviveProcess": "never",
"terminal.integrated.copyOnSelection": true, "terminal.integrated.copyOnSelection": true,
@@ -50,39 +52,68 @@
"go.toolsGopath": "D:\\MyGo\\go-tools", "go.toolsGopath": "D:\\MyGo\\go-tools",
"go.toolsManagement.autoUpdate": true, "go.toolsManagement.autoUpdate": true,
"[go]": { "[go]": {
"editor.defaultFormatter": "golang.go" "editor.defaultFormatter": "golang.go",
}, },
// --- Python --- // --- Python ---
"[python]": { "[python]": {
"editor.defaultFormatter": "ms-python.autopep8" "editor.defaultFormatter": "ms-python.autopep8",
},
// --- Toml ---
"evenBetterToml.schema.enabled": false,
"[toml]": {
"editor.defaultFormatter": "tamasfe.even-better-toml",
},
// --- Xml ---
"[xml]": {
"editor.defaultFormatter": "redhat.vscode-xml",
},
// --- PowerShell ---
"[powershell]": {
"editor.defaultFormatter": "ms-vscode.powershell",
},
// --- Lua ---
"[lua]": {
"editor.defaultFormatter": "sumneko.lua",
},
// --- Rust ---
"[rust]": {
"editor.defaultFormatter": "rust-lang.rust-analyzer",
}, },
// --- Java --- // --- Java ---
"java.jdt.ls.vmargs": "-XX:+UseParallelGC -XX:GCTimeRatio=4 -XX:AdaptiveSizePolicyWeight=90 -Dsun.zip.disableMemoryMapping=true -Xmx4G -Xms100m -Xlog:disable -Dfile.encoding=UTF-8", "java.jdt.ls.java.home": "E:\\Environment\\Jdks\\jdk-25_windows-x64_bin\\jdk-25.0.1", // 显式指定 JDT.LS 运行的 JDK
"java.jdt.ls.vmargs": "-XX:+UseG1GC -XX:MaxGCPauseMillis=200 -Dsun.zip.disableMemoryMapping=true -Xmx8G -Xms2G -Xlog:disable -Dfile.encoding=UTF-8",
"java.jdt.ls.lombokSupport.enabled": true, "java.jdt.ls.lombokSupport.enabled": true,
"java.sharedIndexes.enabled": "on",
"java.autobuild.enabled": true,
"java.references.includeDecompiledSources": true,
"java.trace.server": "off",
"java.inlayHints.parameterNames.enabled": "literals",
"java.inlayHints.variableTypes.enabled": true,
"java.signatureHelp.description.enabled": true,
"java.configuration.maven.userSettings": "E:\\Environment\\Mavens\\settings.xml", "java.configuration.maven.userSettings": "E:\\Environment\\Mavens\\settings.xml",
"java.configuration.updateBuildConfiguration": "automatic", "java.configuration.updateBuildConfiguration": "automatic",
"java.configuration.runtimes": [ "java.configuration.runtimes": [
{ {
"name": "JavaSE-1.8", "name": "JavaSE-1.8",
"path": "E:\\Environment\\Jdks\\jdk-8u431-windows-x64\\jdk1.8.0_431" "path": "E:\\Environment\\Jdks\\jdk-8u431-windows-x64\\jdk1.8.0_431",
}, },
{ {
"name": "JavaSE-11", "name": "JavaSE-11",
"path": "E:\\Environment\\Jdks\\jdk-11.0.25_windows-x64_bin\\jdk-11.0.25" "path": "E:\\Environment\\Jdks\\jdk-11.0.25_windows-x64_bin\\jdk-11.0.25",
}, },
{ {
"name": "JavaSE-17", "name": "JavaSE-17",
"path": "E:\\Environment\\Jdks\\jdk-17.0.13_windows-x64_bin\\jdk-17.0.13" "path": "E:\\Environment\\Jdks\\jdk-17.0.13_windows-x64_bin\\jdk-17.0.13",
}, },
{ {
"name": "JavaSE-21", "name": "JavaSE-21",
"path": "E:\\Environment\\Jdks\\jdk-21_windows-x64_bin\\jdk-21.0.6", "path": "E:\\Environment\\Jdks\\jdk-21_windows-x64_bin\\jdk-21.0.6",
"default": true
}, },
{ {
"name": "JavaSE-25", "name": "JavaSE-25",
"path": "E:\\Environment\\Jdks\\jdk-25_windows-x64_bin\\jdk-25.0.1" "path": "E:\\Environment\\Jdks\\jdk-25_windows-x64_bin\\jdk-25.0.1",
} "default": true,
},
], ],
"java.maven.downloadSources": true, "java.maven.downloadSources": true,
"java.completion.matchCase": "off", "java.completion.matchCase": "off",
@@ -98,8 +129,8 @@
"[java]": { "[java]": {
"editor.defaultFormatter": "josevseb.google-java-format-for-vs-code", "editor.defaultFormatter": "josevseb.google-java-format-for-vs-code",
"editor.codeActionsOnSave": { "editor.codeActionsOnSave": {
"source.removeUnusedImports": "always" "source.removeUnusedImports": "always",
} },
}, },
// --- Spring Boot --- // --- Spring Boot ---
"boot-java.embedded-syntax-highlighting": true, "boot-java.embedded-syntax-highlighting": true,
@@ -107,7 +138,7 @@
"boot-java.jpql": true, "boot-java.jpql": true,
// --- Maven --- // --- Maven ---
"maven.executable.path": "E:\\Environment\\Mavens\\apache-maven-3.9.9-bin\\apache-maven-3.9.9\\bin\\mvn.cmd", "maven.executable.path": "E:\\Environment\\Mavens\\apache-maven-3.9.9-bin\\apache-maven-3.9.9\\bin\\mvn.cmd",
"maven.executable.options": "-DskipTests", "maven.executable.options": "-DskipTests -T 1C",
"maven.settingsFile": "E:\\Environment\\Mavens\\settings.xml", "maven.settingsFile": "E:\\Environment\\Mavens\\settings.xml",
"maven.showInExplorerContextMenu": true, "maven.showInExplorerContextMenu": true,
"maven.view": "hierarchical", "maven.view": "hierarchical",
@@ -117,32 +148,161 @@
"maven.terminal.customEnv": [ "maven.terminal.customEnv": [
{ {
"environmentVariable": "JAVA_TOOL_OPTIONS", "environmentVariable": "JAVA_TOOL_OPTIONS",
"value": "-Dfile.encoding=UTF-8 -Dmaven.wagon.http.ssl.insecure=true -Dmaven.wagon.http.ssl.allowall=true -Dmaven.wagon.http.ssl.ignore.validity.dates=true" "value": "-Dfile.encoding=UTF-8",
}, },
{ {
"environmentVariable": "MAVEN_OPTS", "environmentVariable": "MAVEN_OPTS",
"value": "-Dmaven.wagon.http.ssl.insecure=true -Dmaven.wagon.http.ssl.allowall=true -Dmaven.wagon.http.ssl.ignore.validity.dates=true" "value": "-Dmaven.wagon.http.ssl.insecure=true -Dmaven.wagon.http.ssl.allowall=true -Dmaven.wagon.http.ssl.ignore.validity.dates=true",
} },
], ],
// --- Toml ---
"[toml]": {
"editor.defaultFormatter": "tamasfe.even-better-toml"
},
// --- Xml ---
"[xml]": {
"editor.defaultFormatter": "redhat.vscode-xml"
},
// --- PowerShell ---
"[powershell]": {
"editor.defaultFormatter": "ms-vscode.powershell"
},
// --- 质测 --- // --- 质测 ---
"sonarlint.focusOnNewCode": false, "sonarlint.focusOnNewCode": false,
"sonarlint.automaticAnalysis": true, "sonarlint.automaticAnalysis": true,
"sonarlint.ls.javaHome": "E:\\Environment\\Jdks\\jdk-25_windows-x64_bin\\jdk-25.0.1", "sonarlint.ls.javaHome": "E:\\Environment\\Jdks\\jdk-25_windows-x64_bin\\jdk-25.0.1",
"sonarlint.pathToNodeExecutable": "E:\\Environment\\Nvm\\nodejs\\node.exe", "sonarlint.pathToNodeExecutable": "E:\\Environment\\Nvm\\nodejs\\node.exe",
// --- 联动 --- // --- 联动 ---
"liveServer.settings.CustomBrowser": "chrome" "liveServer.settings.CustomBrowser": "chrome",
// --- AI ---
"claudeCode.preferredLocation": "sidebar",
"chat.viewSessions.orientation": "stacked",
// --- GitLens ---
"gitlens.ai.model": "vscode",
"gitlens.ai.vscode.model": "copilot:gpt-4.1",
"gitlens.ai.generateCommitMessage.customInstructions": "请用中文生成简洁明确的提交信息",
"gitlens.currentLine.enabled": false,
"gitlens.hovers.currentLine.over": "line",
"gitlens.hovers.avatars": false,
"gitlens.hovers.currentLine.enabled": false,
"gitlens.graph.avatars": false,
"gitlens.views.commitDetails.files.layout": "tree",
// --- 其他 ---
"json.schemaDownload.trustedDomains": {
"https://developer.microsoft.com/json-schemas/": true,
"https://json-schema.org/": true,
"https://json.schemastore.org/": true,
"https://raw.githubusercontent.com/devcontainers/spec/": true,
"https://raw.githubusercontent.com/microsoft/vscode/": true,
"https://schema.tauri.app": true,
"https://schemastore.azurewebsites.net/": true,
"https://www.schemastore.org/": true,
},
}
```
# Java
```json
// --- Java ---
"java.jdt.ls.java.home": "E:\\Environment\\Jdks\\jdk-25_windows-x64_bin\\jdk-25.0.1", // 显式指定 JDT.LS 运行的 JDK
"java.jdt.ls.vmargs": "-XX:+UseG1GC -XX:MaxGCPauseMillis=200 -Dsun.zip.disableMemoryMapping=true -Xmx8G -Xms2G -Xlog:disable -Dfile.encoding=UTF-8",
"java.jdt.ls.lombokSupport.enabled": true,
"java.sharedIndexes.enabled": "on",
"java.autobuild.enabled": true,
"java.references.includeDecompiledSources": true,
"java.trace.server": "off",
"java.inlayHints.parameterNames.enabled": "literals",
"java.inlayHints.variableTypes.enabled": true,
"java.signatureHelp.description.enabled": true,
"java.configuration.maven.userSettings": "E:\\Environment\\Mavens\\settings.xml",
"java.configuration.updateBuildConfiguration": "automatic",
"java.configuration.runtimes": [
{
"name": "JavaSE-1.8",
"path": "E:\\Environment\\Jdks\\jdk-8u431-windows-x64\\jdk1.8.0_431",
},
{
"name": "JavaSE-11",
"path": "E:\\Environment\\Jdks\\jdk-11.0.25_windows-x64_bin\\jdk-11.0.25",
},
{
"name": "JavaSE-17",
"path": "E:\\Environment\\Jdks\\jdk-17.0.13_windows-x64_bin\\jdk-17.0.13",
},
{
"name": "JavaSE-21",
"path": "E:\\Environment\\Jdks\\jdk-21_windows-x64_bin\\jdk-21.0.6",
},
{
"name": "JavaSE-25",
"path": "E:\\Environment\\Jdks\\jdk-25_windows-x64_bin\\jdk-25.0.1",
"default": true,
},
],
"java.maven.downloadSources": true,
"java.completion.matchCase": "off",
"java.completion.importOrder": ["", "javax", "java", "#"],
"java.compile.nullAnalysis.mode": "disabled",
"java.sources.organizeImports.starThreshold": 999,
"java.sources.organizeImports.staticStarThreshold": 999,
"java.referencesCodeLens.enabled": true,
"java.implementationCodeLens": "all",
"java.signatureHelp.enabled": true,
"java.debug.settings.onBuildFailureProceed": false,
"java.debug.settings.showLogicalStructure": true,
"[java]": {
"editor.defaultFormatter": "josevseb.google-java-format-for-vs-code",
"editor.codeActionsOnSave": {
"source.removeUnusedImports": "always",
},
},
// --- Spring Boot ---
"boot-java.embedded-syntax-highlighting": true,
"boot-java.highlight-codelens.on": true,
"boot-java.jpql": true,
// --- Maven ---
"maven.executable.path": "E:\\Environment\\Mavens\\apache-maven-3.9.9-bin\\apache-maven-3.9.9\\bin\\mvn.cmd",
"maven.executable.options": "-DskipTests -T 1C",
"maven.settingsFile": "E:\\Environment\\Mavens\\settings.xml",
"maven.showInExplorerContextMenu": true,
"maven.view": "hierarchical",
"maven.terminal.useJavaHome": true,
// 解决 Maven SSL 问题,自 3.9.0 起默认 不再使用 Wagon 做 HTTPS
// -Dmaven.resolver.transport=wagon
"maven.terminal.customEnv": [
{
"environmentVariable": "JAVA_TOOL_OPTIONS",
"value": "-Dfile.encoding=UTF-8",
},
{
"environmentVariable": "MAVEN_OPTS",
"value": "-Dmaven.wagon.http.ssl.insecure=true -Dmaven.wagon.http.ssl.allowall=true -Dmaven.wagon.http.ssl.ignore.validity.dates=true",
},
],
```
# ibs-portal.code-workspace
```json
{
"folders": [
{
"path": "../Work/yd-hy/ibs-portal",
},
],
"settings": {
"maven.terminal.customEnv": [
{
"environmentVariable": "JAVA_TOOL_OPTIONS",
"value": "-Dfile.encoding=UTF-8",
},
{
"environmentVariable": "MAVEN_OPTS",
"value": "-Dmaven.wagon.http.ssl.insecure=true -Dmaven.wagon.http.ssl.allowall=true -Dmaven.wagon.http.ssl.ignore.validity.dates=true",
},
{
"environmentVariable": "JAVA_HOME",
"value": "E:\\Environment\\Jdks\\jdk-8u431-windows-x64\\jdk1.8.0_431",
},
],
},
} }
``` ```
Java 开发插件
```
Google Java Format for VS Code
Spring Boot Extension Pack
Extension Pack for Java
```
@@ -1,14 +0,0 @@
```
{
"success": true,
"message": "API Key 创建成功",
"data": {
"id": 1,
"apiKey": "c2f2956653614bc4ab05711c03f0ff36",
"tenantCode": "tenant001",
"description": "测试 API Key",
"enabled": true,
"createdAt": "2026-03-11T10:03:41.9902653"
}
}
```
+1 -1
View File
@@ -10,7 +10,7 @@ ibs-export
curl -o cachedata10.xlsx 'http://localhost:9998/ibs_data_export/getCacheEnterpriseData?yearMonth=2025-10' curl -o cachedata10.xlsx 'http://localhost:9998/ibs_data_export/getCacheEnterpriseData?yearMonth=2025-10'
curl -o esopEnterpriseData10.xlsx 'http://localhost:9998/ibs_data_export/getEnterpriseData?startTime=2025-10-01&endTime=2025-10-31&token=ZjdjZGM1ZjEtNjFiZi00ZmZjLWFiNjctMWJiODkwOGMxNGVh' curl -o esopEnterpriseData10.xlsx 'http://localhost:9998/ibs_data_export/getEnterpriseData?startTime=2025-10-01&endTime=2025-10-31&token=xxxx'
token换成超管子账号的cookie的jsessionid token换成超管子账号的cookie的jsessionid
``` ```
@@ -6,6 +6,16 @@
NRWLXT-30894 NRWLXT-30894
Add NRWLXT-30894 BYAC CSPID-2026-00AET1 AI 优化 HCDN业务标准化接入-典基平面接入与基础数据模型扩展
Add NRWLXT-30894 BYRC CLID-0000N4 代码复用 HCDN业务标准化接入-典基平面接入与基础数据模型扩展
Add NRWLXT-30925 BYAC CSPID-2026-00A6C7 AI 优化 HCDN业务标准化接入-典基平面接入与基础数据模型扩展
NRWLXT-30925
CSPID-2026-00A6C7
## 需求备注 ## 需求备注
## 需求开发 ## 需求开发
@@ -0,0 +1,99 @@
```
param(
[Parameter(Mandatory = $true, Position = 0)]
[string]$InputFile,
[Parameter(Mandatory = $true, Position = 1)]
[string]$Domain,
[Parameter(Position = 2)]
[string]$OutputFile,
[switch]$MatchAnywhere
)
Set-StrictMode -Version Latest
$ErrorActionPreference = 'Stop'
function Resolve-LogPath {
param([string]$Path)
if (Test-Path -LiteralPath $Path -PathType Leaf) {
return (Resolve-Path -LiteralPath $Path).Path
}
if ([System.IO.Path]::GetExtension($Path) -eq '') {
$pathWithLogExtension = "$Path.log"
if (Test-Path -LiteralPath $pathWithLogExtension -PathType Leaf) {
return (Resolve-Path -LiteralPath $pathWithLogExtension).Path
}
}
throw "Input file not found: $Path"
}
function Test-CdnLogDomain {
param(
[string]$Line,
[string]$ExpectedDomain
)
$firstTab = $Line.IndexOf("`t")
if ($firstTab -lt 0) { return $false }
$secondTab = $Line.IndexOf("`t", $firstTab + 1)
if ($secondTab -lt 0) { return $false }
$thirdTab = $Line.IndexOf("`t", $secondTab + 1)
if ($thirdTab -lt 0) { return $false }
$fourthTab = $Line.IndexOf("`t", $thirdTab + 1)
if ($fourthTab -lt 0) { return $false }
$lineDomain = $Line.Substring($thirdTab + 1, $fourthTab - $thirdTab - 1)
return [string]::Equals($lineDomain, $ExpectedDomain, [System.StringComparison]::OrdinalIgnoreCase)
}
$resolvedInputFile = Resolve-LogPath -Path $InputFile
$inputDirectory = Split-Path -Parent $resolvedInputFile
$inputBaseName = [System.IO.Path]::GetFileNameWithoutExtension($resolvedInputFile)
if ([string]::IsNullOrWhiteSpace($OutputFile)) {
$OutputFile = Join-Path $inputDirectory "$inputBaseName`_$Domain"
}
$reader = [System.IO.StreamReader]::new($resolvedInputFile)
$writerEncoding = [System.Text.UTF8Encoding]::new($false)
$writer = [System.IO.StreamWriter]::new($OutputFile, $false, $writerEncoding)
$totalCount = 0L
$matchedCount = 0L
try {
while (($line = $reader.ReadLine()) -ne $null) {
$totalCount++
if ($MatchAnywhere) {
$matched = $line.IndexOf($Domain, [System.StringComparison]::OrdinalIgnoreCase) -ge 0
}
else {
$matched = Test-CdnLogDomain -Line $line -ExpectedDomain $Domain
}
if ($matched) {
$writer.WriteLine($line)
$matchedCount++
}
}
}
finally {
$writer.Dispose()
$reader.Dispose()
}
Write-Host "Input file: $resolvedInputFile"
Write-Host "Output file: $OutputFile"
Write-Host "Total lines: $totalCount"
Write-Host "Matched lines: $matchedCount"
```
@@ -0,0 +1,71 @@
# 3.1 业务开通单(首次开通)开通成功通知优化
## 需求评审
0.5
## 需求备注
## 需求开发
# 3.9 IBS平台试用到期提醒通知能力优化
## 需求评审
1
## 需求备注
## 需求开发
# 3.10 IBS平台邮件通知机制优化—IBS发政企邮件收件人列表增加政企管理员
## 需求评审
## 需求备注
!!! https://www.kdocs.cn/l/cj2VeBmqnoXP
![](../../../../attachment/189773f040352ec11efbf4db63e8b53f.png)
这个不要周芸
![](../../../../attachment/becb0e09fea4dbe4e8325f4feb71ddb7.png)
试用到期时 还会给客户经理发一个运营工单,看看这个有没有发邮件
## 需求开发
# 3.12 自主化配置-配置失败新增SA人员&新增失败原因描述
## 需求评审
0.5
## 需求备注
## 需求开发
# 3.16 信安信息更新通知自动邮件改造
## 需求评审
1
## 需求备注
## 需求开发
# 4.2 HCDN标准化接入-统计分析模块(用量查询)前端与查询能力改造
## 需求评审
4
## 需求备注
## 需求开发
# 用例评审
# 冒烟自测
@@ -293,8 +293,11 @@ xcftest1119esop01.komect.com,gpnxknoh-mqewujpo0ofulamk,[1],2024-11-19 08:47:57,
![](../../../../attachment/images-paste/image-20250303145056738.png) ![](../../../../attachment/images-paste/image-20250303145056738.png)
1.已存在esop企业:esop测试企业,企业中已存在点播域名 1.已存在esop企业:esop测试企业,企业中已存在点播域名
2.已在后台配置开启,域名列表页存在“新建域名”按钮 2.已在后台配置开启,域名列表页存在“新建域名”按钮
3.esop测试企业 配置为惩戒黑名单企业 3.esop测试企业 配置为惩戒黑名单企业
4.开启惩戒功能 4.开启惩戒功能
## (完成)相同CPID下冲突域名兼容 ## (完成)相同CPID下冲突域名兼容
@@ -0,0 +1,116 @@
我们的月报格式:
**一、家宽平台功能迭代**
负责家宽V3.60.0、V3.61等版本功能开发,并有效支撑测试验证工作;
1V3.60.0版本部分交付;
2)负责家宽营销工具 - H5重点小区-小区查询-小区详情查询;
3)负责家宽营销工具 - 潜客查询-潜客详情查询;
4)负责家宽营销工具 - 营销统计-小区转化潜客。
**二、家宽项目模块数据整理**
通过对家宽项目各模块(含高价值小区攻坚、精准营销、运营协同、知识库及推送中心)的字段进行标准化梳理,旨在打通数据壁垒,实现精细化运营,从而提升问题定位效率;
1)整理家宽项目板块数据,专项攻坚-高价值小区攻坚;
2)精准营销-客群营销策略管理具体字段内容;
3)运营协同-小区网络调研-市场调研列表-需求反馈列表-协同流程管理字段整理;
4)宽带知识库-培训文档-业务案例-宣传文案-行业报告-指标口径字段整理;
5)推送中心-家宽发展通报-基础数据管理-报表推送-推送管理字段整理。
**三、版本需求评审与接口设计以及数据库设计**
1)评审与材料装配:完成V3.60.0版本需求、用例评审,并编写接口文档。
---
接下来,我给你 4 月份的我的日报你给我总结梳理成类似这种的月报,尽可能丰富:
- [x] 开发:参加 IBS 项目晨会,同步昨日问题跟进事项。(李春良 0.5)
- [x] 开发:MCP 工具 header 优化开发。(李春良 5)
- [x] 测试:IBS 7.19.0 版本需求测试,分省结算页面隐藏合作服务商。(李英浩 0.5)
- [x] 项目:智能体展示会议。(李春良 2)
- [x] 开发:参加 IBS 项目晨会,同步昨日问题跟进事项。(李春良 0.5)
- [x] 客响:nanguapi 信安信息处理。(佟彤 0.5)
- [x] 开发:MCP 工具 header 优化开发,今天把 MCP 的请求头归成一个字段,然后清理了原本的两个 header 字段,实现了 MCP 的请求头的动态处理。。(李春良 7)
- [x] 开发:参加 IBS 项目晨会,同步昨日问题跟进事项。(李春良 0.5)
- [x] 项目:IBS 7.20.0 版本需求评审。(姬高峰 2)
- [x] 开发:MCP 工具开发,增加角色模块、移除 mcp_api_key、工具组扩充、文档优化、工具组重命名。(李春良 5.5)
- [x] 开发:参加 IBS 项目晨会,同步昨日问题跟进事项。(李春良 0.5)
- [x] 客响:/api/statistic/flow 接口日期异常,这里有个知识点,如果使用 + 号 URL 会默认转义为空格。(佟彤 0.5)
- [x] 开发:MCP 服务开发,增加角色层次,了解 mcp 存储机制。(李春良 7)
- [x] 开发:参加 IBS 项目晨会,同步昨日问题跟进事项。(李春良 0.5)
- [x] 项目:IBS-V7.19.0升级文档。(黄寅杰 0.5)
- [x] 项目:IBS 7.20.0 版本评审。(李春良 1)
- [x] 客响:BPM 必填字段校验,尝试热部署解决。(李春良 1)
- [x] 开发:参加 IBS 项目晨会,同步昨日问题跟进事项。(李春良 0.5)
- [x] 项目:IBS 7.20.0 版本评审。(李春良 1)
- [x] 客响:客户经理管理员数据导出。(佟彤 0.5)
- [x] 开发:IBS 7.20.0 需求分析,自有业务中间话单统计-支持域名全选(李春良 6)
- [x] 开发:参加 IBS 项目晨会,同步昨日问题跟进事项。(李春良 0.5)
- [x] 开发:IBS 7.20.0 需求开发,中国移动CDN信控能力优化需求,开发完成。(李春良 7.5)
- [x] 开发:参加 IBS 项目晨会,同步昨日问题跟进事项。(李春良 0.5)
- [x] 开发:IBS 7.20.0 需求开发,7.20.0-自有业务中间话单统计-支持域名全选,开发 50%。(李春良 7.5)
- [x] 开发:参加 IBS 项目晨会,同步昨日问题跟进事项。(李春良 0.5)
- [x] 开发:IBS 7.20.0 需求开发,7.20.0-自有业务中间话单统计-支持域名全选,开发完成。(李春良 5.5)
- [x] 客响:icws.jb51.net 高级配置查询问题。(李春良 1)
- [x] 客响:001-20260326005、046-20260402-0047 验收反馈问题。(佟彤 1)
- [x] 开发:参加 IBS 项目晨会,同步昨日问题跟进事项。(李春良 0.5)
- [x] 开发:IBS 7.20.0 版本需求开发,HCDN业务标准化接入-典基平面接入与基础数据模型扩展,50%。(李春良 7)
- [x] 子雯:IBS 7.20.0 版本用例研讨,HCDN业务标准化接入-典基平面接入与基础数据模型扩展。(郑子雯 0.5)
- [x] 开发:参加 IBS 项目晨会,同步昨日问题跟进事项。(李春良 0.5)
- [x] 开发:IBS 7.20.0 版本需求开发,HCDN业务标准化接入-典基平面接入与基础数据模型扩展,开发完成。(李春良 7.5)
- [x] 开发:参加 IBS 项目晨会,同步昨日问题跟进事项。(李春良 0.5)
- [x] 开发:IBS 7.20.0 版本需求开发,HCDN业务标准化接入-典基平面接入与基础数据模型扩展,开发完成。(李春良 4.5)
- [x] 客响:业务受理 200A260416481673001 重复反馈。(张鹏豪 1)
- [x] 客响:咪咕客户问题,上传IBS证书提示报错,用外部的工具将原有Sectigo的根证书更新成 DigiCert证书后,再次上传成功了,咱IBS证书校验是必须要用DigiCert证书吗?根据客户上传的证书链检测,末端证书在拉取其颁发者证书时失败,无法校验到可信根证书,暂无法确认该证书由正规可信机构颁发。需补充上传完整证书链文件,完成合规性校验。(李春良 2)
- [x] 开发:参加 IBS 项目晨会,同步昨日问题跟进事项。(李春良 0.5)
- [x] 客响:处理信安信息山东 www.yssylt.com 硕安科技有限公司 鲁ICP备07003074号-1 未备案域名。(赵普明 0.5)
- [x] 开发:IBS 7.20.0 版本需求开发,3.9 客服智能体一期底层大模型替换&mcp开发。(李春良 7)
- [x] 开发:参加 IBS 项目晨会,同步昨日问题跟进事项。(李春良 0.5)
- [x] 测试:IBS 7.20.0 版本测试用例评审。(郑子雯 0.5)
- [x] 开发:IBS 7.20.0 版本 AI 代码编写。(李春良 1)
- [x] 项目:IBS审计材料。(李春良 0.5)
- [x] 测试:IBS 7.20.0 版本冒烟测试用例自测。(郑子雯 5.5)
- [x] 开发:参加 IBS 项目晨会,同步昨日问题跟进事项。(李春良 0.5)
- [x] 测试:IBS 7.20.0 版本冒烟测试用例自测,前后端联调,4/5。(郑子雯 2.5)
- [x] 开发:IBS 7.20.0 版本需求开发,3.9 客服智能体一期底层大模型替换&mcp开发。编写 selectToolGroup 工具并进行调试,针对 selectToolGroup 工具权限进行单独过滤。(李春良 5)
- [x] 开发:参加 IBS 项目晨会,同步昨日问题跟进事项。(李春良 0.5)
- [x] 测试:IBS 7.20.0 版本冒烟测试用例自测,完成。(郑子雯 3.5)
- [x] 项目:完成 4 月的研发过程管理任务清单。(李春良 1)
- [x] 项目:需求拆分工具部署。(张鹏豪 3)
- [x] 开发:参加 IBS 项目晨会,同步昨日问题跟进事项。(李春良 0.5)
- [x] 项目:完成 4 月的研发过程管理任务清单。(李春良 1)
- [x] 项目:需求拆分工具调试。(张鹏豪 1)
- [x] 项目:cosmic 拆分预填。(李春良 3)
- [x] 开发:参加 IBS 项目晨会,同步昨日问题跟进事项。(李春良 0.5)
- [x] 项目:完成 4 月的研发过程管理任务清单。(李春良 1)
- [x] 项目:关于联调时间,BBOSS 周二,BPM 周三。(张鹏豪 0.5)
- [x] 客响:www.qdgyy.cn 信安信息数据冗余清理,此域名在 IBS 已不存在,已同步信安信息删除。(赵普明 0.5)
- [x] 开发:IBS 7.20.0 版本需求开发,3.9 客服智能体一期底层大模型替换&mcp开发,增加版本、增加工具显示内容,默认值问题(李春良 5.5)
- [x] 开发:参加 IBS 项目晨会,同步昨日问题跟进事项。(李春良 0.5)
- [x] 开发:IBS 7.20.0 版本需求开发,客服智能体一期底层大模型替换&mcp开发,OCT 7.20.0 工具并发更新覆盖问题、工具增加展示名称字段,默认值复写 schema 问题(李春良 7)
- [x] 联调:IBS 7.20.0 版本联调,BBOSS 中国移动CDN信控能力优化需求,BBOSS 环境存在问题。(张鹏豪 0.5)
- [x] 开发:monitor 邮件问题。(张鹏豪 1)
- [x] 开发:参加 IBS 项目晨会,同步昨日问题跟进事项。(李春良 0.5)
- [x] 联调:IBS 7.20.0 版本联调,HCDN业务标准化接入-典基平面接入与基础数据模型扩展。(张鹏豪 5)
- [x] 开发:monitor 邮件问题,新增日志及 sendIllegalDomainEmail 测试接口。(张鹏豪 1)
- [x] 测试:新增的参数“IsCreditControl”为非枚举值时,增加校验。(郑子雯 1)
- [x] 测试:企业月流量中分发平面下拉框信息与实际分发平面信息不对等。(李英浩 0.5)
- [x] 开发:参加 IBS 项目晨会,同步昨日问题跟进事项。(李春良 0.5)
- [x] 测试:新增域名工单,校验是否有在途的 esop 和 cache+ 自助域名工单。(张鹏豪 2)
---
一、IBS平台功能迭代
负责 IBS V7.20.0 版本需求开发,同时支撑 MCP 工具基础能力建设,并支撑测试、联调与上线工作。
1)完成中国移动 CDN 信控能力优化需求开发,交付后支撑BBOSS联调;
2)完成自有业务中间话单统计模块改造,实现“支持域名全选”功能,覆盖需求分析与前后端全流程开发;
3)完成 HCDN 业务标准化接入开发,实现典基平面接入与基础数据模型扩展,支撑业务快速纳管;
4)重点交付客服智能体一期底层大模型替换与 MCP 开发,包括 selectToolGroup 工具开发与权限过滤、工具版本管理、展示内容优化、默认值及schema复写问题修复等;
5)MCP 工具侧能力拓展:完善请求头动态处理机制,增加角色层次模块,移除mcp_api_key,完成工具组扩充、重命名及配套文档优化。
二、项目支撑与客响问题处理
1)客响支撑:排查并解决 BPM 必填字段校验逻辑;处理 ICWS 高级配置查询异常;完成咪咕客户证书上传报错分析,准确定位为证书链缺失,指导客户更新为 DigiCert 根证书后恢复业务;
2)IBS 审计与过程管理:完成 IBS 审计材料整理与输出;编制 4 月份研发过程管理任务清单,并参与 COSMIC 功能点规模拆分预填;
三、版本需求评审、技术设计与数据库设计
1)需求评审:参加 IBS 7.20.0 版本需求评审及测试用例评审,针对“HCDN 业务标准化接入”“客服智能体底层大模型替换”等需求提出有效建议;
2)技术设计:负责 MCP 工具请求头统一重构方案设计,实现动态 header 处理与字段精简;在智能体MCP工具中设计角色化权限模型,完成工具展示字段、默认值策略及并发更新覆盖方案;
3)接口设计:编写 selectToolGroup 工具接口与权限过滤逻辑,完成智能体MCP工具侧接口扩展,并在联调阶段配合完成前后端接口验证与优化;
@@ -22,13 +22,26 @@ docker run -d \
--name redis \ --name redis \
--restart always \ --restart always \
-p 6379:6379 \ -p 6379:6379 \
-v $(pwd)/data:/data \ -v /opt/redis/data:/data \
-v $(pwd)/conf/redis.conf:/usr/local/etc/redis/redis.conf \ -v /opt/redis/conf/redis.conf:/usr/local/etc/redis/redis.conf \
-v $(pwd)/logs:/logs \ -v /opt/redis/logs:/logs \
-e TZ=Asia/Shanghai \ -e TZ=Asia/Shanghai \
--ulimit nofile=65536:65536 \ --ulimit nofile=65536:65536 \
redis:8.6.1 \ redis:8.6.1 \
redis-server /usr/local/etc/redis/redis.conf redis-server /usr/local/etc/redis/redis.conf
docker run -d \
--name mysql \
--restart always \
-p 3306:3306 \
-v /opt/mysql/data:/var/lib/mysql \
-v /opt/mysql/conf/my.cnf:/etc/mysql/conf.d/my.cnf \
-v /opt/mysql/logs:/var/log/mysql \
-v /opt/mysql/init:/docker-entrypoint-initdb.d \
-e MYSQL_ROOT_PASSWORD='5sTb7fHFbsYl6KmI6pvC^XMw!7Y^Pbc1' \
-e TZ=Asia/Shanghai \
mysql:8.0
``` ```
``` ```