初始提交:知识库工作区

- 00.收件箱
- 01.待办
- 10.项目
- 20.领域
- 30.资源
- 40.归档
- 50.模板
This commit is contained in:
2026-03-03 18:25:09 +08:00
commit ea9a5c3b3f
344 changed files with 43816 additions and 0 deletions
+13
View File
@@ -0,0 +1,13 @@
# Obsidian
.obsidian/workspace.json
.obsidian/workspace-mobile.json
# 系统文件
.DS_Store
Thumbs.db
*.swp
*~
# 临时文件
*.tmp
*.temp
+9
View File
@@ -0,0 +1,9 @@
{
"alwaysUpdateLinks": true,
"promptDelete": true,
"newFileLocation": "folder",
"newFileFolderPath": "2.待处理/1.TODO",
"showLineNumber": true,
"attachmentFolderPath": "5.附件",
"showInlineTitle": true
}
+1
View File
@@ -0,0 +1 @@
{}
+6
View File
@@ -0,0 +1,6 @@
{
"promptDelete": false,
"newFileLocation": "folder",
"newFileFolderPath": "1.收集",
"alwaysUpdateLinks": true
}
+10
View File
@@ -0,0 +1,10 @@
{
"alwaysUpdateLinks": true,
"pdfExportSettings": {
"includeName": true,
"pageSize": "Letter",
"landscape": false,
"margin": "0",
"downscalePercent": 100
}
}
+3
View File
@@ -0,0 +1,3 @@
{
"alwaysUpdateLinks": true
}
+9
View File
@@ -0,0 +1,9 @@
{
"alwaysUpdateLinks": true,
"promptDelete": true,
"newFileLocation": "folder",
"newFileFolderPath": "2.待处理/1.TODO",
"showLineNumber": true,
"attachmentFolderPath": "5.附件",
"showInlineTitle": true
}
+6
View File
@@ -0,0 +1,6 @@
{
"accentColor": "",
"theme": "obsidian",
"showRibbon": true,
"showViewHeader": true
}
@@ -0,0 +1,3 @@
{
"accentColor": ""
}
@@ -0,0 +1,6 @@
{
"accentColor": "",
"theme": "obsidian",
"showRibbon": true,
"showViewHeader": true
}
+25
View File
@@ -0,0 +1,25 @@
{
"items": [
{
"type": "file",
"ctime": 1739270620123,
"path": "40.归档/兴趣灵感/历史/前秦历史/遗址/陶寺遗址.md"
},
{
"type": "folder",
"ctime": 1739270675327,
"path": "40.归档/兴趣灵感/历史/前秦历史/器物"
},
{
"type": "file",
"ctime": 1739271913102,
"path": "2.待处理/1.TODO/速记.md"
},
{
"type": "url",
"ctime": 1740756889561,
"url": "https://www.bilibili.com/video/BV1ep4y1d7Ew/?spm_id_from=333.788.videopod.sections&vd_source=1deaab00c5de8885422a7a7690170eba",
"title": "26 虚幻引擎-lightmass固定光照方案_哔哩哔哩_bilibili"
}
]
}
+11
View File
@@ -0,0 +1,11 @@
[
"media-extended",
"obsidian-image-auto-upload-plugin",
"obsidian-tasks-plugin",
"obsidian-kanban",
"copilot",
"drawio-obsidian",
"obsidian-latex-suite",
"quick-latex",
"remotely-save"
]
@@ -0,0 +1,11 @@
[
"media-extended",
"obsidian-image-auto-upload-plugin",
"obsidian-tasks-plugin",
"obsidian-kanban",
"copilot",
"drawio-obsidian",
"obsidian-latex-suite",
"quick-latex",
"remotely-save"
]
+29
View File
@@ -0,0 +1,29 @@
{
"file-explorer": true,
"global-search": true,
"switcher": true,
"graph": true,
"backlink": true,
"canvas": true,
"outgoing-link": true,
"tag-pane": true,
"page-preview": true,
"daily-notes": true,
"templates": true,
"note-composer": true,
"command-palette": true,
"slash-command": false,
"editor-status": true,
"bookmarks": true,
"markdown-importer": false,
"zk-prefixer": false,
"random-note": false,
"outline": true,
"word-count": true,
"slides": false,
"audio-recorder": false,
"workspaces": false,
"file-recovery": true,
"publish": false,
"sync": false
}
@@ -0,0 +1,30 @@
{
"file-explorer": true,
"global-search": true,
"switcher": true,
"graph": true,
"backlink": true,
"canvas": true,
"outgoing-link": true,
"tag-pane": true,
"properties": false,
"page-preview": true,
"daily-notes": true,
"templates": true,
"note-composer": true,
"command-palette": true,
"slash-command": false,
"editor-status": true,
"bookmarks": true,
"markdown-importer": false,
"zk-prefixer": false,
"random-note": false,
"outline": true,
"word-count": true,
"slides": false,
"audio-recorder": false,
"workspaces": false,
"file-recovery": true,
"publish": false,
"sync": false
}
+33
View File
@@ -0,0 +1,33 @@
{
"file-explorer": true,
"global-search": true,
"switcher": true,
"graph": true,
"backlink": true,
"canvas": true,
"outgoing-link": true,
"tag-pane": true,
"page-preview": true,
"daily-notes": true,
"templates": true,
"note-composer": true,
"command-palette": true,
"slash-command": false,
"editor-status": true,
"bookmarks": true,
"markdown-importer": false,
"zk-prefixer": false,
"random-note": false,
"outline": true,
"word-count": true,
"slides": false,
"audio-recorder": false,
"workspaces": true,
"file-recovery": true,
"publish": true,
"sync": false,
"properties": true,
"webviewer": true,
"footnotes": false,
"bases": true
}
@@ -0,0 +1,20 @@
[
"file-explorer",
"global-search",
"switcher",
"graph",
"backlink",
"canvas",
"outgoing-link",
"tag-pane",
"page-preview",
"daily-notes",
"templates",
"note-composer",
"command-palette",
"editor-status",
"bookmarks",
"outline",
"word-count",
"file-recovery"
]
@@ -0,0 +1,30 @@
{
"file-explorer": true,
"global-search": true,
"switcher": true,
"graph": true,
"backlink": true,
"canvas": true,
"outgoing-link": true,
"tag-pane": true,
"properties": false,
"page-preview": true,
"daily-notes": true,
"templates": true,
"note-composer": true,
"command-palette": true,
"slash-command": false,
"editor-status": true,
"bookmarks": true,
"markdown-importer": false,
"zk-prefixer": false,
"random-note": false,
"outline": true,
"word-count": true,
"slides": false,
"audio-recorder": false,
"workspaces": false,
"file-recovery": true,
"publish": false,
"sync": false
}
@@ -0,0 +1,31 @@
{
"file-explorer": true,
"global-search": true,
"switcher": true,
"graph": true,
"backlink": true,
"canvas": true,
"outgoing-link": true,
"tag-pane": true,
"page-preview": true,
"daily-notes": true,
"templates": true,
"note-composer": true,
"command-palette": true,
"slash-command": false,
"editor-status": true,
"bookmarks": true,
"markdown-importer": false,
"zk-prefixer": false,
"random-note": false,
"outline": true,
"word-count": true,
"slides": false,
"audio-recorder": false,
"workspaces": false,
"file-recovery": true,
"publish": false,
"sync": false,
"properties": false,
"webviewer": false
}
@@ -0,0 +1,33 @@
{
"file-explorer": true,
"global-search": true,
"switcher": true,
"graph": true,
"backlink": true,
"canvas": true,
"outgoing-link": true,
"tag-pane": true,
"page-preview": true,
"daily-notes": true,
"templates": true,
"note-composer": true,
"command-palette": true,
"slash-command": false,
"editor-status": true,
"bookmarks": true,
"markdown-importer": false,
"zk-prefixer": false,
"random-note": false,
"outline": true,
"word-count": true,
"slides": false,
"audio-recorder": false,
"workspaces": true,
"file-recovery": true,
"publish": true,
"sync": false,
"properties": true,
"webviewer": true,
"footnotes": false,
"bases": true
}
+22
View File
@@ -0,0 +1,22 @@
{
"collapse-filter": true,
"search": "",
"showTags": false,
"showAttachments": false,
"hideUnresolved": false,
"showOrphans": true,
"collapse-color-groups": true,
"colorGroups": [],
"collapse-display": true,
"showArrow": false,
"textFadeMultiplier": 0,
"nodeSizeMultiplier": 1,
"lineSizeMultiplier": 1,
"collapse-forces": true,
"centerStrength": 0.518713248970312,
"repelStrength": 10,
"linkStrength": 1,
"linkDistance": 250,
"scale": 1,
"close": false
}
+1
View File
@@ -0,0 +1 @@
{}
+1
View File
@@ -0,0 +1 @@
{}
+218
View File
@@ -0,0 +1,218 @@
{
"isPlusUser": false,
"plusLicenseKey": "",
"openAIApiKey": "",
"openAIOrgId": "",
"huggingfaceApiKey": "",
"cohereApiKey": "",
"anthropicApiKey": "",
"azureOpenAIApiKey": "",
"azureOpenAIApiInstanceName": "",
"azureOpenAIApiDeploymentName": "",
"azureOpenAIApiVersion": "",
"azureOpenAIApiEmbeddingDeploymentName": "",
"googleApiKey": "",
"openRouterAiApiKey": "",
"defaultChainType": "llm_chain",
"defaultModelKey": "gpt-4o|openai",
"embeddingModelKey": "text-embedding-3-small|openai",
"temperature": 0.1,
"maxTokens": 1000,
"contextTurns": 15,
"userSystemPrompt": "",
"openAIProxyBaseUrl": "",
"openAIEmbeddingProxyBaseUrl": "",
"stream": true,
"defaultSaveFolder": "copilot-conversations",
"defaultConversationTag": "copilot-conversation",
"autosaveChat": false,
"defaultOpenArea": "view",
"customPromptsFolder": "copilot-custom-prompts",
"indexVaultToVectorStore": "ON MODE SWITCH",
"qaExclusions": "",
"qaInclusions": "",
"chatNoteContextPath": "",
"chatNoteContextTags": [],
"enableIndexSync": true,
"debug": false,
"enableEncryption": false,
"maxSourceChunks": 3,
"groqApiKey": "",
"mistralApiKey": "",
"activeModels": [
{
"name": "copilot-plus-flash",
"provider": "copilot-plus",
"enabled": true,
"isBuiltIn": true,
"core": true,
"capabilities": [
"vision"
]
},
{
"name": "gpt-4o",
"provider": "openai",
"enabled": true,
"isBuiltIn": true,
"core": true,
"capabilities": [
"vision"
]
},
{
"name": "gpt-4o-mini",
"provider": "openai",
"enabled": true,
"isBuiltIn": true,
"core": true,
"capabilities": [
"vision"
]
},
{
"name": "claude-3-5-sonnet-latest",
"provider": "anthropic",
"enabled": true,
"isBuiltIn": true,
"core": true,
"capabilities": [
"vision"
]
},
{
"name": "o1-mini",
"provider": "openai",
"enabled": true,
"isBuiltIn": true,
"capabilities": [
"reasoning"
]
},
{
"name": "o3-mini",
"provider": "openai",
"enabled": true,
"isBuiltIn": true,
"capabilities": [
"reasoning"
]
},
{
"name": "claude-3-5-haiku-latest",
"provider": "anthropic",
"enabled": true,
"isBuiltIn": true
},
{
"name": "command-r",
"provider": "cohereai",
"enabled": true,
"isBuiltIn": true
},
{
"name": "command-r-plus",
"provider": "cohereai",
"enabled": true,
"isBuiltIn": true
},
{
"name": "gemini-2.0-pro-exp",
"provider": "google",
"enabled": true,
"isBuiltIn": true,
"capabilities": [
"vision"
]
},
{
"name": "gemini-2.0-flash",
"provider": "google",
"enabled": true,
"isBuiltIn": true,
"capabilities": [
"vision"
]
},
{
"name": "azure-openai",
"provider": "azure openai",
"enabled": true,
"isBuiltIn": true
}
],
"activeEmbeddingModels": [
{
"name": "copilot-plus-small",
"provider": "copilot-plus",
"enabled": true,
"isBuiltIn": true,
"isEmbeddingModel": true,
"core": true
},
{
"name": "copilot-plus-large",
"provider": "copilot-plus-jina",
"enabled": true,
"isBuiltIn": true,
"isEmbeddingModel": true,
"core": true,
"believerExclusive": true,
"dimensions": 1024
},
{
"name": "copilot-plus-multilingual",
"provider": "copilot-plus-jina",
"enabled": true,
"isBuiltIn": true,
"isEmbeddingModel": true,
"core": true,
"dimensions": 512
},
{
"name": "text-embedding-3-small",
"provider": "openai",
"enabled": true,
"isBuiltIn": true,
"isEmbeddingModel": true,
"core": true
},
{
"name": "text-embedding-3-large",
"provider": "openai",
"enabled": true,
"isBuiltIn": true,
"isEmbeddingModel": true
},
{
"name": "embed-multilingual-light-v3.0",
"provider": "cohereai",
"enabled": true,
"isBuiltIn": true,
"isEmbeddingModel": true
},
{
"name": "text-embedding-004",
"provider": "google",
"enabled": true,
"isBuiltIn": true,
"isEmbeddingModel": true
},
{
"name": "azure-openai",
"provider": "azure openai",
"enabled": true,
"isBuiltIn": true,
"isEmbeddingModel": true
}
],
"embeddingRequestsPerMin": 90,
"embeddingBatchSize": 16,
"disableIndexOnMobile": true,
"showSuggestedPrompts": true,
"showRelevantNotes": true,
"numPartitions": 1,
"enabledCommands": {},
"promptUsageTimestamps": {},
"defaultConversationNoteName": "{$topic}@{$date}_{$time}"
}
+1408
View File
File diff suppressed because one or more lines are too long
+13
View File
@@ -0,0 +1,13 @@
{
"id": "copilot",
"name": "Copilot",
"version": "2.8.6",
"minAppVersion": "0.15.0",
"description": "An AI Copilot in Obsidian.",
"author": "Logan Yang",
"authorUrl": "https://twitter.com/logancyang",
"fundingUrl": {
"Buy Me a Coffee": "https://www.buymeacoffee.com/logancyang",
"GitHub Sponsor": "https://github.com/sponsors/logancyang"
}
}
File diff suppressed because one or more lines are too long
+11
View File
@@ -0,0 +1,11 @@
{
"welcomeComplete": true,
"theme": {
"dark": false,
"layout": "full"
},
"drawing": {
"sketch": true
},
"cssSnippets": []
}
File diff suppressed because one or more lines are too long
+10
View File
@@ -0,0 +1,10 @@
{
"id": "drawio-obsidian",
"name": "Diagrams",
"version": "1.5.4",
"minAppVersion": "0.9.12",
"description": "Draw.io diagrams for Obsidian. This plugin introduces diagrams that can be included within notes or as stand-alone files. Diagrams are created as SVG files (although .drawio extensions are also supported).",
"author": "Sam Greenhalgh",
"authorUrl": "https://www.radicalresearch.co.uk/",
"isDesktopOnly": true
}
+28
View File
@@ -0,0 +1,28 @@
.progress-bar-line {
width: 100%;
left: 0;
}
.progress-bar-indicator {
width: 90%;
margin: 0 10%;
}
.diagram-view svg {
max-width: 100%;
max-height: 100%;
display: block;
}
.diagram-view svg a:link,
.diagram-view svg a:visited {
color: var(--interactive-accent, #00f);
filter: drop-shadow(
0 0 3px rgba(var(--interactive-accent-rgb, "0, 0, 255"), 0.5)
);
}
.diagram-view svg a:hover {
color: var(--interactive-accent-hover, #00f);
filter: drop-shadow(0 0 3px var(--interactive-accent-hover, #00f));
}
+26
View File
@@ -0,0 +1,26 @@
{
"defaultVolume": 100,
"devices": [],
"defaultMxLinkClick": {
"click": "split",
"alt": "window"
},
"linkHandler": {
"mx-embed": [],
"mx-url-audio": [],
"mx-url-video": [],
"mx-webpage": []
},
"speedStep": 0.1,
"loadStrategy": "eager",
"timestampTemplate": "\n- {{TIMESTAMP}} \n",
"screenshotTemplate": "\n- {{TIMESTAMP}} \n!{{SCREENSHOT}}\n",
"screenshotEmbedTemplate": "{{DURATION}}|540",
"insertBefore": false,
"timestampOffset": 0,
"biliDefaultQuality": 80,
"screenshotFormat": "image/webp",
"enableSubtitle": false,
"defaultLanguage": "zh-Hans",
"urlMappingData": []
}
File diff suppressed because one or more lines are too long
+10
View File
@@ -0,0 +1,10 @@
{
"id": "media-extended",
"name": "Media Extended",
"version": "3.2.6",
"minAppVersion": "1.5.7",
"description": "Media(Video/Audio) Playback Enhancement for Obsidian.md",
"author": "AidenLx",
"authorUrl": "https://github.com/AidenLx/",
"isDesktopOnly": true
}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,12 @@
{
"id": "obsidian-excalidraw-plugin",
"name": "Excalidraw",
"version": "2.5.2",
"minAppVersion": "1.1.6",
"description": "An Obsidian plugin to edit and view Excalidraw drawings",
"author": "Zsolt Viczian",
"authorUrl": "https://www.zsolt.blog",
"fundingUrl": "https://ko-fi.com/zsolt",
"helpUrl": "https://github.com/zsviczian/obsidian-excalidraw-plugin#readme",
"isDesktopOnly": false
}
File diff suppressed because one or more lines are too long
@@ -0,0 +1,15 @@
{
"uploadByClipSwitch": true,
"uploader": "PicGo",
"uploadServer": "http://127.0.0.1:36677/upload",
"deleteServer": "http://127.0.0.1:36677/delete",
"imageSizeSuffix": "|540",
"picgoCorePath": "",
"workOnNetWork": false,
"fixPath": false,
"applyImage": true,
"newWorkBlackDomains": "",
"deleteSource": false,
"imageDesc": "origin",
"remoteServerMode": false
}
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,10 @@
{
"id": "obsidian-image-auto-upload-plugin",
"name": "Image auto upload Plugin",
"version": "3.7.0",
"minAppVersion": "0.10.7",
"description": "This plugin uploads images from your clipboard by PicGo",
"author": "renmu",
"authorUrl": "https://github.com/renmu123/obsidian-image-auto-upload-plugin",
"isDesktopOnly": true
}
+4
View File
@@ -0,0 +1,4 @@
{
"show-checkboxes": false,
"new-note-folder": "2.待处理/1.TODO"
}
File diff suppressed because one or more lines are too long
+11
View File
@@ -0,0 +1,11 @@
{
"id": "obsidian-kanban",
"name": "Kanban",
"version": "2.0.51",
"minAppVersion": "1.0.0",
"description": "Create markdown-backed Kanban boards in Obsidian.",
"author": "mgmeyers",
"authorUrl": "https://github.com/mgmeyers/obsidian-kanban",
"helpUrl": "https://publish.obsidian.md/kanban/Obsidian+Kanban+Plugin",
"isDesktopOnly": false
}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+11
View File
@@ -0,0 +1,11 @@
{
"id": "obsidian-latex-suite",
"name": "Latex Suite",
"version": "1.9.8",
"minAppVersion": "1.0.0",
"description": "Make typesetting LaTeX math as fast as handwriting through snippets, text expansion, and editor enhancements",
"author": "artisticat",
"authorUrl": "https://github.com/artisticat1",
"fundingUrl": "https://ko-fi.com/artisticat",
"isDesktopOnly": false
}
+235
View File
@@ -0,0 +1,235 @@
/* Settings panel */
.setting-item.hidden {
display: none;
}
.setting-item.setting-item-heading .latex-suite-settings-icon {
margin-right: var(--size-4-2);
display: inline-flex;
}
.setting-item.setting-item-heading:has(.latex-suite-settings-icon) {
border-bottom: 1px solid var(--background-modifier-border);
}
.setting-item.setting-item-heading:has(.latex-suite-settings-icon) + .setting-item {
border-top: none;
}
.setting-item.setting-item-heading:has(.latex-suite-settings-icon) ~ .setting-item:not(.setting-item-heading), .latex-suite-snippet-variables-setting + .setting-item-control {
width: calc(100% - 26px);
margin-left: 26px;
}
.latex-suite-snippet-variables-setting .setting-item-control {
height: 120px;
}
.latex-suite-snippet-variables-setting .setting-item-control textarea {
width: 100%;
height: 100%;
}
.snippets-text-area, .latex-suite-snippet-variables-setting {
display: inline-block;
}
.snippets-text-area .setting-item-info, .latex-suite-snippet-variables-setting .setting-item-info {
margin-bottom: 0.75rem;
}
.snippets-text-area .setting-item-control {
flex-direction: column;
align-items: flex-end;
}
.snippets-editor-wrapper {
width: 100%;
margin-bottom: 0.75rem;
}
.snippets-editor-wrapper .cm-editor {
border: 1px solid var(--background-modifier-border);
border-radius: 4px;
font-size: var(--font-inputs);
height: 20em;
outline: none !important;
text-align: left;
}
.snippets-editor-wrapper .cm-line, .snippets-editor-wrapper .cm-lineNumbers {
font-family: var(--font-monospace);
}
.snippets-footer {
width: 100%;
display: flex;
align-items: center;
justify-content: space-between;
}
.snippets-editor-validity {
display: flex;
align-items: center;
}
.snippets-editor-validity-indicator {
color: white;
display: inline-block;
border-radius: 1em;
margin-right: 10px;
cursor: default;
visibility: hidden;
}
.snippets-editor-validity-indicator svg {
width: 16px !important;
height: 16px !important;
}
.snippets-editor-validity-indicator:hover {
color: white;
}
.snippets-editor-validity-indicator.valid {
background-color: var(--color-green);
visibility: visible;
}
.snippets-editor-validity-indicator.invalid {
background-color: var(--color-red);
visibility: visible;
}
.snippets-editor-buttons {
display: flex;
flex-direction: row;
}
.latex-suite-confirmation-modal .setting-item {
border: none;
}
.search-input-container input.latex-suite-location-input-el {
width: initial;
}
/*
Snippet color classes.
*/
/* These extra selectors enforce their color on all children, because CodeMirror does weird nesting of spans when
nesting multiple decorations. */
.latex-suite-snippet-placeholder {
border-radius: 2px;
background-color: var(--placeholder-bg);
outline: var(--placeholder-outline) solid 1px;
}
.latex-suite-snippet-placeholder-0, span.latex-suite-snippet-placeholder-0 span {
--placeholder-bg: #87cefa2e;
--placeholder-outline: #87cefa6e;
}
.theme-dark .latex-suite-snippet-placeholder-0, span.latex-suite-snippet-placeholder-0 span {
--placeholder-outline: #87cefa43;
}
.latex-suite-snippet-placeholder-1, span.latex-suite-snippet-placeholder-1 span {
--placeholder-bg: #ffa50033;
--placeholder-outline: #ffa5006b;
}
.theme-dark .latex-suite-snippet-placeholder-1, span.latex-suite-snippet-placeholder-1 span {
--placeholder-outline: #ffa5004d;
}
.latex-suite-snippet-placeholder-2, span.latex-suite-snippet-placeholder-2 span {
--placeholder-bg: #00ff0022;
--placeholder-outline: #00ff0060;
}
.theme-dark .latex-suite-snippet-placeholder-2, span.latex-suite-snippet-placeholder-2 span {
--placeholder-outline: #00ff003d;
}
/* Conceal */
span.cm-math.cm-concealed-bold {
font-weight: bold;
}
span.cm-math.cm-concealed-underline {
text-decoration: underline;
}
span.cm-math.cm-concealed-mathrm, sub.cm-math.cm-concealed-mathrm {
font-style: normal;
}
/* Conceal superscripts without changing line height */
sup.cm-math {
line-height: 0;
}
sup.cm-math, sub.cm-math {
font-style: italic;
}
/* Inline math tooltip styling */
.theme-light .cm-tooltip.cm-tooltip-cursor {
box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.028), 0px 3.4px 6.7px rgba(0, 0, 0, .042), 0px 5px 20px rgba(0, 0, 0, .07);
}
.theme-dark .cm-tooltip.cm-tooltip-cursor {
box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.1),
0px 3.4px 6.7px rgba(0, 0, 0, 0.15),
0px 0px 30px rgba(0, 0, 0, 0.27);
}
/* Highlight brackets */
.theme-light .latex-suite-highlighted-bracket, .theme-light .latex-suite-highlighted-bracket [class^="latex-suite-color-bracket-"] {
background-color: hsl(var(--accent-h), var(--accent-s), 40%, 0.3);
}
.theme-dark .latex-suite-highlighted-bracket, .theme-dark .latex-suite-highlighted-bracket [class^="latex-suite-color-bracket-"] {
background-color: hsl(var(--accent-h), var(--accent-s), 70%, 0.6);
}
/* Color matching brackets */
.theme-light .latex-suite-color-bracket-0, .theme-light .latex-suite-color-bracket-0 .cm-bracket {
color: #527aff;
}
.theme-dark .latex-suite-color-bracket-0, .theme-dark .latex-suite-color-bracket-0 .cm-bracket {
color: #47b8ff;
}
.theme-light .latex-suite-color-bracket-1, .theme-light .latex-suite-color-bracket-1 .cm-bracket {
color: #ff50b7;
}
.theme-dark .latex-suite-color-bracket-1, .theme-dark .latex-suite-color-bracket-1 .cm-bracket {
color: #ff55cd;
}
.theme-light .latex-suite-color-bracket-2, .theme-light .latex-suite-color-bracket-2 .cm-bracket {
color: #69ba00;
}
.theme-dark .latex-suite-color-bracket-2, .theme-dark .latex-suite-color-bracket-2 .cm-bracket {
color: #73ff63;
}
/* .latex-suite-color-bracket-3 {
color: #8de15c;
} */
+206
View File
@@ -0,0 +1,206 @@
'use strict';
var obsidian = require('obsidian');
/*! *****************************************************************************
Copyright (c) Microsoft Corporation.
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
***************************************************************************** */
/* global Reflect, Promise */
var extendStatics = function(d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
return extendStatics(d, b);
};
function __extends(d, b) {
if (typeof b !== "function" && b !== null)
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
}
function __awaiter(thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
}
function __generator(thisArg, body) {
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
function verb(n) { return function (v) { return step([n, v]); }; }
function step(op) {
if (f) throw new TypeError("Generator is already executing.");
while (_) try {
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
if (y = 0, t) op = [op[0] & 2, t.value];
switch (op[0]) {
case 0: case 1: t = op; break;
case 4: _.label++; return { value: op[1], done: false };
case 5: _.label++; y = op[1]; op = [0]; continue;
case 7: op = _.ops.pop(); _.trys.pop(); continue;
default:
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
if (t[2]) _.ops.pop();
_.trys.pop(); continue;
}
op = body.call(thisArg, _);
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
}
}
var DEFAULT_SETTINGS = {
preamblePath: "preamble.sty",
};
var JaxPlugin = /** @class */ (function (_super) {
__extends(JaxPlugin, _super);
function JaxPlugin(app, manifest) {
var _this = _super.call(this, app, manifest) || this;
_this.app = app;
_this.settings = DEFAULT_SETTINGS;
return _this;
}
JaxPlugin.prototype.loadPreamble = function () {
return __awaiter(this, void 0, void 0, function () {
var preamble;
return __generator(this, function (_a) {
switch (_a.label) {
case 0: return [4 /*yield*/, this.app.vault.adapter.read(this.settings.preamblePath)];
case 1:
preamble = _a.sent();
if (MathJax.tex2chtml == undefined) {
MathJax.startup.ready = function () {
MathJax.startup.defaultReady();
MathJax.tex2chtml(preamble);
};
}
else {
MathJax.tex2chtml(preamble);
}
return [2 /*return*/];
}
});
});
};
JaxPlugin.prototype.loadSettings = function () {
return __awaiter(this, void 0, void 0, function () {
var _a, _b, _c, _d;
return __generator(this, function (_e) {
switch (_e.label) {
case 0:
_a = this;
_c = (_b = Object).assign;
_d = [{}, DEFAULT_SETTINGS];
return [4 /*yield*/, this.loadData()];
case 1:
_a.settings = _c.apply(_b, _d.concat([_e.sent()]));
return [2 /*return*/];
}
});
});
};
JaxPlugin.prototype.saveSettings = function () {
return __awaiter(this, void 0, void 0, function () {
return __generator(this, function (_a) {
switch (_a.label) {
case 0: return [4 /*yield*/, this.saveData(this.settings)];
case 1:
_a.sent();
return [2 /*return*/];
}
});
});
};
JaxPlugin.prototype.onload = function () {
return __awaiter(this, void 0, void 0, function () {
return __generator(this, function (_a) {
switch (_a.label) {
case 0: return [4 /*yield*/, this.loadSettings()];
case 1:
_a.sent();
this.addSettingTab(new JaxPluginSettingTab(this.app, this));
// Load MathJax so that we can modify it
// Otherwise, it would not be loaded when this plugin is loaded
return [4 /*yield*/, obsidian.loadMathJax()];
case 2:
// Load MathJax so that we can modify it
// Otherwise, it would not be loaded when this plugin is loaded
_a.sent();
if (!MathJax) {
console.warn("MathJax was not defined despite loading it.");
return [2 /*return*/];
}
return [4 /*yield*/, this.loadPreamble()];
case 3:
_a.sent();
return [2 /*return*/];
}
});
});
};
JaxPlugin.prototype.onunload = function () {
// TODO: Is it possible to remove our definitions?
console.log('Unloading Extended MathJax');
};
return JaxPlugin;
}(obsidian.Plugin));
var JaxPluginSettingTab = /** @class */ (function (_super) {
__extends(JaxPluginSettingTab, _super);
function JaxPluginSettingTab(app, plugin) {
var _this = _super.call(this, app, plugin) || this;
_this.plugin = plugin;
return _this;
}
JaxPluginSettingTab.prototype.display = function () {
var _this = this;
var containerEl = this.containerEl;
containerEl.empty();
new obsidian.Setting(containerEl)
.setName('Preamble path')
.setDesc('Path to global preamble. (Requires reload!)')
.addText(function (text) {
return text
.setValue(_this.plugin.settings.preamblePath)
.onChange(function (value) { return __awaiter(_this, void 0, void 0, function () {
return __generator(this, function (_a) {
switch (_a.label) {
case 0:
this.plugin.settings.preamblePath = value;
return [4 /*yield*/, this.plugin.saveSettings()];
case 1:
_a.sent();
return [2 /*return*/];
}
});
}); });
});
};
return JaxPluginSettingTab;
}(obsidian.PluginSettingTab));
module.exports = JaxPlugin;
/* nosourcemap */
+10
View File
@@ -0,0 +1,10 @@
{
"id": "obsidian-latex",
"name": "Extended MathJax",
"version": "0.4.1",
"minAppVersion": "0.12.16",
"description": "Adds support for a MathJax preamble and enables additional MathJax extensions for specific domains (chemistry, proofs).",
"author": "Xavier Denis & Ng Wei En",
"authorUrl": "https://github.com/wei2912/obsidian-latex",
"isDesktopOnly": false
}
+12
View File
@@ -0,0 +1,12 @@
{
"styleLists": true,
"debug": false,
"stickCursor": "never",
"betterEnter": true,
"betterTab": true,
"selectAll": true,
"listLines": false,
"listLineAction": "toggle-folding",
"dnd": true,
"previousRelease": null
}
File diff suppressed because it is too large Load Diff
+10
View File
@@ -0,0 +1,10 @@
{
"id": "obsidian-outliner",
"name": "Outliner",
"version": "4.8.1",
"minAppVersion": "1.5.11",
"description": "Work with your lists like in Workflowy or RoamResearch.",
"author": "Viacheslav Slinko",
"authorUrl": "https://github.com/vslinko",
"isDesktopOnly": false
}
+105
View File
@@ -0,0 +1,105 @@
/* lists and bullets */
.outliner-plugin-better-lists .cm-s-obsidian .HyperMD-list-line {
padding-top: 0.4em;
}
.outliner-plugin-better-lists .cm-formatting-list-ul {
margin-right: 0.3em;
}
.outliner-plugin-better-lists .list-bullet::after {
width: 0.4em;
height: 0.4em;
background-color: var(--text-muted);
}
/* lines */
.outliner-plugin-list-lines-scroller {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
padding: var(--file-margins);
padding-left: 0;
pointer-events: none;
overflow: hidden;
}
.outliner-plugin-list-lines-content-container {
position: relative;
}
.outliner-plugin-list-line {
pointer-events: auto;
position: absolute;
width: 5px;
margin-left: 0.5ch;
margin-top: 1em;
z-index: 1;
cursor: pointer;
background: transparent;
background-image: linear-gradient(
to right,
var(--text-faint) 1px,
transparent 1px
);
background-position-x: 2px;
background-repeat: no-repeat;
}
.outliner-plugin-better-bullets .outliner-plugin-list-line {
margin-top: 1.4em;
}
.markdown-source-view.mod-cm6.is-readable-line-width
.outliner-plugin-list-lines-content-container {
max-width: 700px;
margin: auto;
}
.outliner-plugin-list-line:hover {
background: var(--text-faint);
}
.outliner-plugin-vertical-lines
.markdown-source-view.mod-cm6
.cm-hmd-list-indent
.cm-indent::before {
content: none;
}
/* drag-n-drop */
.outliner-plugin-dropping-line {
background-color: hsla(var(--interactive-accent-hsl), 0.4);
}
.outliner-plugin-dragging-line {
opacity: 0.5;
background-color: hsla(var(--interactive-accent-hsl), 0.2);
}
.outliner-plugin-drop-zone {
width: 300px;
height: 4px;
background: var(--color-accent);
z-index: 999;
position: absolute;
pointer-events: none;
}
.outliner-plugin-drop-zone-padding {
position: absolute;
height: 4px;
}
body.outliner-plugin-dnd:not(.outliner-plugin-dragging) .cm-formatting-list,
body.outliner-plugin-dnd:not(.outliner-plugin-dragging)
.cm-fold-indicator
.collapse-indicator {
cursor: grab !important;
}
html body.outliner-plugin-dnd.outliner-plugin-dragging {
cursor: grabbing !important;
}
+75
View File
@@ -0,0 +1,75 @@
{
"globalQuery": "",
"globalFilter": "",
"removeGlobalFilter": false,
"taskFormat": "tasksPluginEmoji",
"setCreatedDate": true,
"setDoneDate": true,
"setCancelledDate": true,
"autoSuggestInEditor": true,
"autoSuggestMinMatch": 0,
"autoSuggestMaxItems": 20,
"provideAccessKeys": true,
"useFilenameAsScheduledDate": false,
"filenameAsScheduledDateFormat": "",
"filenameAsDateFolders": [],
"recurrenceOnNextLine": false,
"statusSettings": {
"coreStatuses": [
{
"symbol": " ",
"name": "Todo",
"nextStatusSymbol": "x",
"availableAsCommand": true,
"type": "TODO"
},
{
"symbol": "x",
"name": "Done",
"nextStatusSymbol": " ",
"availableAsCommand": true,
"type": "DONE"
}
],
"customStatuses": [
{
"symbol": "/",
"name": "In Progress",
"nextStatusSymbol": "x",
"availableAsCommand": true,
"type": "IN_PROGRESS"
},
{
"symbol": "-",
"name": "Cancelled",
"nextStatusSymbol": " ",
"availableAsCommand": true,
"type": "CANCELLED"
}
]
},
"features": {
"INTERNAL_TESTING_ENABLED_BY_DEFAULT": true
},
"generalSettings": {},
"headingOpened": {
"Core Statuses": true,
"Custom Statuses": true
},
"debugSettings": {
"ignoreSortInstructions": false,
"showTaskHiddenData": false,
"recordTimings": false
},
"loggingOptions": {
"minLevels": {
"": "info",
"tasks": "info",
"tasks.Cache": "info",
"tasks.Events": "info",
"tasks.File": "info",
"tasks.Query": "info",
"tasks.Task": "info"
}
}
}
File diff suppressed because one or more lines are too long
+12
View File
@@ -0,0 +1,12 @@
{
"id": "obsidian-tasks-plugin",
"name": "Tasks",
"version": "7.14.0",
"minAppVersion": "1.1.1",
"description": "Track tasks across your vault. Supports due dates, recurring tasks, done dates, sub-set of checklist items, and filtering.",
"helpUrl": "https://publish.obsidian.md/tasks/",
"author": "Clare Macrae and Ilyas Landikov (created by Martin Schenck)",
"authorUrl": "https://github.com/obsidian-tasks-group",
"fundingUrl": "https://github.com/sponsors/claremacrae",
"isDesktopOnly": false
}
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff
+10
View File
@@ -0,0 +1,10 @@
{
"id": "quick-latex",
"name": "Quick Latex",
"version": "2.6.5",
"minAppVersion": "0.9.12",
"description": "Speedup latex math typing with auto fraction, custom shorthand, align block shortcut, matrix shortcut...etc",
"author": "joeyuping",
"authorUrl": "https://github.com/joeyuping/quick_latex_obsidian",
"isDesktopOnly": false
}
+13
View File
@@ -0,0 +1,13 @@
.text-snippets-class > * > textarea{
width:40em;
height: 100%;
}
.text-snippets-class > * {
height: 100%;
width: 60em;
}
.text-snippets-class {
height: 70%;
}
@@ -0,0 +1 @@
data.json
File diff suppressed because one or more lines are too long
+11
View File
@@ -0,0 +1,11 @@
{
"id": "remotely-save",
"name": "Remotely Save",
"version": "0.5.25",
"minAppVersion": "0.13.21",
"description": "Yet another unofficial plugin allowing users to synchronize notes between local device and the cloud service.",
"author": "fyears",
"authorUrl": "https://github.com/fyears",
"isDesktopOnly": false,
"fundingUrl": "https://remotelysave.com"
}
+244
View File
@@ -0,0 +1,244 @@
/* set the styles */
.password-second-confirm {
font-weight: bold;
}
.password-disclaimer {
font-weight: bold;
}
.encryptionmethod-second-confirm {
font-weight: bold;
}
.settings-auth-related {
border-top: 1px solid var(--background-modifier-border);
padding-top: 18px;
}
.settings-percentage-custom-hide {
display: none;
}
.settings-encryption-method-hide {
display: none;
}
.s3-disclaimer {
font-weight: bold;
}
.s3-hide {
display: none;
}
.dropbox-disclaimer {
font-weight: bold;
}
.dropbox-hide {
display: none;
}
.dropbox-auth-button-hide {
display: none;
}
.dropbox-revoke-auth-button-hide {
display: none;
}
.onedrive-disclaimer {
font-weight: bold;
}
.onedrive-hide {
display: none;
}
.onedrive-auth-button-hide {
display: none;
}
.onedrive-revoke-auth-button-hide {
display: none;
}
.onedrivefull-allow-to-use-hide {
display: none;
}
.onedrivefull-disclaimer {
font-weight: bold;
}
.onedrivefull-hide {
display: none;
}
.onedrivefull-auth-button-hide {
display: none;
}
.onedrivefull-revoke-auth-button-hide {
display: none;
}
.webdav-disclaimer {
font-weight: bold;
}
.webdav-hide {
display: none;
}
.webdav-customheaders-textarea {
font-family: monospace;
}
.webdis-disclaimer {
font-weight: bold;
}
.webdis-hide {
display: none;
}
.googledrive-disclaimer {
font-weight: bold;
}
.googledrive-hide {
display: none;
}
.googledrive-allow-to-use-hide {
display: none;
}
.googledrive-auth-button-hide {
display: none;
}
.googledrive-revoke-auth-button-hide {
display: none;
}
.box-disclaimer {
font-weight: bold;
}
.box-hide {
display: none;
}
.box-allow-to-use-hide {
display: none;
}
.box-auth-button-hide {
display: none;
}
.box-revoke-auth-button-hide {
display: none;
}
.pcloud-disclaimer {
font-weight: bold;
}
.pcloud-hide {
display: none;
}
.pcloud-allow-to-use-hide {
display: none;
}
.pcloud-auth-button-hide {
display: none;
}
.pcloud-revoke-auth-button-hide {
display: none;
}
.yandexdisk-disclaimer {
font-weight: bold;
}
.yandexdisk-hide {
display: none;
}
.yandexdisk-allow-to-use-hide {
display: none;
}
.yandexdisk-auth-button-hide {
display: none;
}
.yandexdisk-revoke-auth-button-hide {
display: none;
}
.koofr-disclaimer {
font-weight: bold;
}
.koofr-hide {
display: none;
}
.koofr-allow-to-use-hide {
display: none;
}
.koofr-auth-button-hide {
display: none;
}
.koofr-revoke-auth-button-hide {
display: none;
}
.azureblobstorage-disclaimer {
font-weight: bold;
}
.azureblobstorage-hide {
display: none;
}
.azureblobstorage-allow-to-use-hide {
display: none;
}
.qrcode-img {
width: 350px;
height: 350px;
}
.ignorepaths-textarea {
font-family: monospace;
}
.onlyallowpaths-textarea {
font-family: monospace;
}
.logtohttpserver-warning {
color: red;
font-weight: bolder;
}
.setting-need-wrapping .setting-item-control {
/* flex-wrap: wrap; */
display: grid;
}
.pro-disclaimer {
font-weight: bold;
}
.pro-hide {
display: none;
}
.pro-auth-button-hide {
display: none;
}
.pro-revoke-auth-button-hide {
display: none;
}
File diff suppressed because one or more lines are too long
+11
View File
@@ -0,0 +1,11 @@
{
"id": "templater-obsidian",
"name": "Templater",
"version": "2.8.3",
"description": "Create and use templates",
"minAppVersion": "1.5.0",
"author": "SilentVoid",
"authorUrl": "https://github.com/SilentVoid13",
"helpUrl": "https://silentvoid13.github.io/Templater/",
"isDesktopOnly": false
}
+220
View File
@@ -0,0 +1,220 @@
.templater_search {
width: calc(100% - 20px);
}
.templater_div {
border-top: 1px solid var(--background-modifier-border);
}
.templater_div > .setting-item {
border-top: none !important;
align-self: center;
}
.templater_div > .setting-item > .setting-item-control {
justify-content: space-around;
padding: 0;
width: 100%;
}
.templater_div
> .setting-item
> .setting-item-control
> .setting-editor-extra-setting-button {
align-self: center;
}
.templater_donating {
margin: 10px;
}
.templater_title {
margin: 0;
padding: 0;
margin-top: 5px;
text-align: center;
}
.templater_template {
align-self: center;
margin-left: 5px;
margin-right: 5px;
width: 70%;
}
.templater_cmd {
margin-left: 5px;
margin-right: 5px;
font-size: 14px;
width: 100%;
}
.templater_div2 > .setting-item {
align-content: center;
justify-content: center;
}
.templater-prompt-div {
display: flex;
}
.templater-prompt-form {
display: flex;
flex-grow: 1;
}
.templater-prompt-input {
flex-grow: 1;
}
.templater-button-div {
display: flex;
flex-direction: column;
align-items: center;
margin-top: 1rem;
}
textarea.templater-prompt-input {
height: 10rem;
}
textarea.templater-prompt-input:focus {
border-color: var(--interactive-accent);
}
.cm-s-obsidian .templater-command-bg {
left: 0px;
right: 0px;
background-color: var(--background-primary-alt);
}
.cm-s-obsidian .cm-templater-command {
font-size: 0.85em;
font-family: var(--font-monospace);
line-height: 1.3;
}
.cm-s-obsidian .templater-inline .cm-templater-command {
background-color: var(--background-primary-alt);
}
.cm-s-obsidian .cm-templater-command.cm-templater-opening-tag {
font-weight: bold;
}
.cm-s-obsidian .cm-templater-command.cm-templater-closing-tag {
font-weight: bold;
}
.cm-s-obsidian .cm-templater-command.cm-templater-interpolation-tag {
color: var(--code-property, #008bff);
}
.cm-s-obsidian .cm-templater-command.cm-templater-execution-tag {
color: var(--code-function, #c0d700);
}
.cm-s-obsidian .cm-templater-command.cm-keyword {
color: var(--code-keyword, #00a7aa);
font-weight: normal;
}
.cm-s-obsidian .cm-templater-command.cm-atom {
color: var(--code-normal, #f39b35);
}
.cm-s-obsidian .cm-templater-command.cm-value,
.cm-s-obsidian .cm-templater-command.cm-number,
.cm-s-obsidian .cm-templater-command.cm-type {
color: var(--code-value, #a06fca);
}
.cm-s-obsidian .cm-templater-command.cm-def,
.cm-s-obsidian .cm-templater-command.cm-type.cm-def {
color: var(--code-normal, var(--text-normal));
}
.cm-s-obsidian .cm-templater-command.cm-property,
.cm-s-obsidian .cm-templater-command.cm-property.cm-def,
.cm-s-obsidian .cm-templater-command.cm-attribute {
color: var(--code-function, #98e342);
}
.cm-s-obsidian .cm-templater-command.cm-variable,
.cm-s-obsidian .cm-templater-command.cm-variable-2,
.cm-s-obsidian .cm-templater-command.cm-variable-3,
.cm-s-obsidian .cm-templater-command.cm-meta {
color: var(--code-property, #d4d4d4);
}
.cm-s-obsidian .cm-templater-command.cm-callee,
.cm-s-obsidian .cm-templater-command.cm-operator,
.cm-s-obsidian .cm-templater-command.cm-qualifier,
.cm-s-obsidian .cm-templater-command.cm-builtin {
color: var(--code-operator, #fc4384);
}
.cm-s-obsidian .cm-templater-command.cm-tag {
color: var(--code-tag, #fc4384);
}
.cm-s-obsidian .cm-templater-command.cm-comment,
.cm-s-obsidian .cm-templater-command.cm-comment.cm-tag,
.cm-s-obsidian .cm-templater-command.cm-comment.cm-attribute {
color: var(--code-comment, #696d70);
}
.cm-s-obsidian .cm-templater-command.cm-string,
.cm-s-obsidian .cm-templater-command.cm-string-2 {
color: var(--code-string, #e6db74);
}
.cm-s-obsidian .cm-templater-command.cm-header,
.cm-s-obsidian .cm-templater-command.cm-hr {
color: var(--code-keyword, #da7dae);
}
.cm-s-obsidian .cm-templater-command.cm-link {
color: var(--code-normal, #696d70);
}
.cm-s-obsidian .cm-templater-command.cm-error {
border-bottom: 1px solid #c42412;
}
.CodeMirror-hints {
position: absolute;
z-index: 10;
overflow: hidden;
list-style: none;
margin: 0;
padding: 2px;
-webkit-box-shadow: 2px 3px 5px rgba(0, 0, 0, 0.2);
-moz-box-shadow: 2px 3px 5px rgba(0, 0, 0, 0.2);
box-shadow: 2px 3px 5px rgba(0, 0, 0, 0.2);
border-radius: 3px;
border: 1px solid silver;
background: white;
font-size: 90%;
font-family: monospace;
max-height: 20em;
overflow-y: auto;
}
.CodeMirror-hint {
margin: 0;
padding: 0 4px;
border-radius: 2px;
white-space: pre;
color: black;
cursor: pointer;
}
li.CodeMirror-hint-active {
background: #08f;
color: white;
}
@@ -0,0 +1,287 @@
{
"main": {
"id": "2070dbc958b97839",
"type": "split",
"children": [
{
"id": "ed2ae7a51cd605ec",
"type": "tabs",
"children": [
{
"id": "9e6ebb9937bb8a17",
"type": "leaf",
"state": {
"type": "markdown",
"state": {
"file": "2.工作区/记录/未命名 1.md",
"mode": "source",
"source": false
},
"icon": "lucide-file",
"title": "未命名 1"
}
},
{
"id": "8b997442fc18ec3a",
"type": "leaf",
"state": {
"type": "markdown",
"state": {
"file": "2.工作区/记录/ClaudeCode- 服务器开发技能.md",
"mode": "source",
"source": false
},
"icon": "lucide-file",
"title": "ClaudeCode- 服务器开发技能"
}
},
{
"id": "42e872580ad683e2",
"type": "leaf",
"state": {
"type": "markdown",
"state": {
"file": "2.工作区/记录/OpenClaw基础功能.md",
"mode": "source",
"source": false
},
"icon": "lucide-file",
"title": "OpenClaw基础功能"
}
},
{
"id": "e19ae4eccb321e50",
"type": "leaf",
"state": {
"type": "release-notes",
"state": {
"currentVersion": "1.11.7"
},
"icon": "lucide-book-up",
"title": "版本说明 1.11.7"
}
}
],
"currentTab": 1
}
],
"direction": "vertical"
},
"left": {
"id": "360e6f8ced6a5b3b",
"type": "split",
"children": [],
"direction": "horizontal",
"width": 372.5,
"collapsed": true
},
"right": {
"id": "57956a92a01e8e77",
"type": "split",
"children": [
{
"id": "b3ad5ecbe601930d",
"type": "tabs",
"children": [
{
"id": "4d2371bc9db77ae4",
"type": "leaf",
"state": {
"type": "file-explorer",
"state": {
"sortOrder": "alphabetical",
"autoReveal": true
},
"icon": "lucide-folder-closed",
"title": "文件列表"
}
},
{
"id": "5b333a5dd4aec5ef",
"type": "leaf",
"state": {
"type": "search",
"state": {
"query": "",
"matchingCase": false,
"explainSearch": false,
"collapseAll": false,
"extraContext": false,
"sortOrder": "alphabetical"
},
"icon": "lucide-search",
"title": "搜索"
}
},
{
"id": "54efffd973293418",
"type": "leaf",
"state": {
"type": "bookmarks",
"state": {},
"icon": "lucide-bookmark",
"title": "书签"
}
},
{
"id": "1bd0e1e8ff227f2b",
"type": "leaf",
"state": {
"type": "outline",
"state": {
"followCursor": false,
"showSearch": false,
"searchQuery": ""
},
"icon": "lucide-list",
"title": "大纲"
}
},
{
"id": "24afebdb5e6c1a29",
"type": "leaf",
"state": {
"type": "all-properties",
"state": {
"sortOrder": "frequency",
"showSearch": false,
"searchQuery": ""
},
"icon": "lucide-ghost",
"title": "all-properties"
}
},
{
"id": "e3fb0015dab36a4c",
"type": "leaf",
"state": {
"type": "tag",
"state": {
"sortOrder": "frequency",
"useHierarchy": true,
"showSearch": false,
"searchQuery": ""
},
"icon": "lucide-tags",
"title": "标签"
}
},
{
"id": "b8043c28198c5b73",
"type": "leaf",
"state": {
"type": "backlink",
"state": {
"file": "2.工作区/育儿/上学/初中/北京/北大附中西三旗学校.md",
"collapseAll": false,
"extraContext": false,
"sortOrder": "alphabetical",
"showSearch": false,
"searchQuery": "",
"backlinkCollapsed": false,
"unlinkedCollapsed": true
},
"icon": "links-coming-in",
"title": "北大附中西三旗学校 的反向链接列表"
}
},
{
"id": "d3c0be687f4a9268",
"type": "leaf",
"state": {
"type": "outgoing-link",
"state": {
"file": "1.收集箱/1.1随手记/Untitled.md",
"linksCollapsed": false,
"unlinkedCollapsed": true
},
"icon": "links-going-out",
"title": "Outgoing links from Untitled"
}
},
{
"id": "3d51384a0ed657e4",
"type": "leaf",
"state": {
"type": "copilot-chat-view",
"state": {},
"icon": "lucide-ghost",
"title": "copilot-chat-view"
}
}
]
}
],
"direction": "horizontal",
"width": 578.5
},
"left-ribbon": {
"hiddenItems": {
"workspaces:管理工作区布局": false,
"publish:发布更改": false,
"copilot:Open Copilot Chat": false,
"remotely-save:Remotely Save": false,
"bases:新建数据库": false,
"switcher:打开快速切换": false,
"graph:查看关系图谱": false,
"canvas:新建白板": false,
"daily-notes:打开/创建今天的日记": false,
"templates:插入模板": false,
"command-palette:打开命令面板": false,
"obsidian-kanban:创建新看板": false,
"media-extended:Open media": false
}
},
"active": "8b997442fc18ec3a",
"lastOpenFiles": [
"2.工作区/记录/OpenClaw基础功能.md",
"2.工作区/记录/Claude使用问题速记.md",
"2.工作区/记录/周记.md",
"2.工作区/记录/未命名.md",
"2.工作区/记录/灵感-AI能干的事儿.md",
"2.工作区/记录/啦啦啦.md",
"2.工作区/记录/QQ开放平台AppSec.md",
"2.工作区/记录/工欲善其事 必先利其器(二):ClaudeCode 插件.md",
"2.工作区/记录/Claude学习.md",
"2.工作区/记录/ClaudeCode- 服务器开发技能.md",
"2.工作区/记录/Delta-扩展git diff.md",
"2.工作区/学习/UE引擎/着色器/计算着色器.md",
"2.工作区/记录/工欲善其事 必先利其器(三):ClaudeCode Hook.md",
"1.待处理(日查)/工作看板.md",
"1.待处理(日查)/个人看板.md",
"2.备忘录(月初查)/生活.md",
"2.备忘录(月初查)/工作.md",
"2.工作区/学习/研究目录/AI_代理工具深度对比报告_Manus_vs_Moltbot_vs_Claude_Cowork.md",
"2.工作区/学习/研究目录/Moltbot_AI_研究报告.md",
"2.工作区/学习/研究目录/Manus_AI_研究报告.md",
"2.工作区/记录/工欲善其事 必先利其器(一):Claude Code安装与基础设置.md",
"2.工作区/记录/2026.1.28 速记.md",
"2.工作区/记录/2025-9月10月11月.md",
"2.工作区/学习/研究目录/Claude_Cowork_研究报告.md",
"2.工作区/学习/研究目录",
"2.备忘录(月初查)/定期备忘.md",
"2.工作区/记录/Claude常用.md",
"5.附件/oh-my-opencode.json",
"2.工作区/学习/UE引擎/光照与氛围/【图表】LightMass光照贴图烘焙流程.svg",
"2.工作区/学习/UE引擎/动画/【图表】SkeletalMeshComponent初始化流程.svg",
"2.工作区/学习/UE引擎/动画/【图表】SkeletalMeshComponent动画初始化流程.svg",
"2.工作区/学习/UE引擎/性能与调试",
"2.工作区/学习/美术",
"2.工作区/学习/打铁基础",
"2.工作区/学习/打铁基础知识",
"2.备忘录(月初查)",
"1.待处理(日查)",
"2.备忘录",
"2.工作区/记录",
"未命名.canvas",
"Pasted image 20241018172535.png",
"Pasted image 20241018171952.png",
"Untitled.canvas",
"1.收集箱/1.1随手记/Untitled.canvas",
"你奶奶都能听懂的教程!MAYA《走路循环》幼儿园级 保姆教程PT11M8.618S.webp",
"你奶奶都能听懂的教程!MAYA《走路循环》幼儿园级 保姆教程PT17.429S.webp",
"你奶奶都能听懂的教程!MAYA《走路循环》幼儿园级 保姆教程PT9M56.289S.webp",
"你奶奶都能听懂的教程!MAYA《走路循环》幼儿园级 保姆教程PT2M48.705S.webp",
"你奶奶都能听懂的教程!MAYA《走路循环》幼儿园级 保姆教程PT1M46.661S.webp"
]
}
@@ -0,0 +1,276 @@
{
"main": {
"id": "2070dbc958b97839",
"type": "split",
"children": [
{
"id": "ed2ae7a51cd605ec",
"type": "tabs",
"children": [
{
"id": "9e6ebb9937bb8a17",
"type": "leaf",
"state": {
"type": "markdown",
"state": {
"file": "2.工作区/记录/未命名 1.md",
"mode": "source",
"source": false
},
"icon": "lucide-file",
"title": "未命名 1"
}
},
{
"id": "8b997442fc18ec3a",
"type": "leaf",
"state": {
"type": "markdown",
"state": {
"file": "2.工作区/记录/QQ开放平台AppSec.md",
"mode": "source",
"source": false
},
"icon": "lucide-file",
"title": "QQ开放平台AppSec"
}
},
{
"id": "42e872580ad683e2",
"type": "leaf",
"state": {
"type": "markdown",
"state": {
"file": "3.归档/3.博客文章/4.3.1.2网络服务搭建/部署一个云服务器为内网nas做穿透.md",
"mode": "source",
"source": false
},
"icon": "lucide-file",
"title": "部署一个云服务器为内网nas做穿透"
}
}
],
"currentTab": 2
}
],
"direction": "vertical"
},
"left": {
"id": "360e6f8ced6a5b3b",
"type": "split",
"children": [],
"direction": "horizontal",
"width": 372.5,
"collapsed": true
},
"right": {
"id": "57956a92a01e8e77",
"type": "split",
"children": [
{
"id": "b3ad5ecbe601930d",
"type": "tabs",
"children": [
{
"id": "4d2371bc9db77ae4",
"type": "leaf",
"state": {
"type": "file-explorer",
"state": {
"sortOrder": "alphabetical",
"autoReveal": true
},
"icon": "lucide-folder-closed",
"title": "文件列表"
}
},
{
"id": "5b333a5dd4aec5ef",
"type": "leaf",
"state": {
"type": "search",
"state": {
"query": "nas",
"matchingCase": false,
"explainSearch": false,
"collapseAll": false,
"extraContext": false,
"sortOrder": "alphabetical"
},
"icon": "lucide-search",
"title": "搜索"
}
},
{
"id": "54efffd973293418",
"type": "leaf",
"state": {
"type": "bookmarks",
"state": {},
"icon": "lucide-bookmark",
"title": "书签"
}
},
{
"id": "1bd0e1e8ff227f2b",
"type": "leaf",
"state": {
"type": "outline",
"state": {
"followCursor": false,
"showSearch": false,
"searchQuery": ""
},
"icon": "lucide-list",
"title": "大纲"
}
},
{
"id": "24afebdb5e6c1a29",
"type": "leaf",
"state": {
"type": "all-properties",
"state": {
"sortOrder": "frequency",
"showSearch": false,
"searchQuery": ""
},
"icon": "lucide-ghost",
"title": "all-properties"
}
},
{
"id": "e3fb0015dab36a4c",
"type": "leaf",
"state": {
"type": "tag",
"state": {
"sortOrder": "frequency",
"useHierarchy": true,
"showSearch": false,
"searchQuery": ""
},
"icon": "lucide-tags",
"title": "标签"
}
},
{
"id": "b8043c28198c5b73",
"type": "leaf",
"state": {
"type": "backlink",
"state": {
"file": "2.工作区/育儿/上学/初中/北京/北大附中西三旗学校.md",
"collapseAll": false,
"extraContext": false,
"sortOrder": "alphabetical",
"showSearch": false,
"searchQuery": "",
"backlinkCollapsed": false,
"unlinkedCollapsed": true
},
"icon": "links-coming-in",
"title": "北大附中西三旗学校 的反向链接列表"
}
},
{
"id": "d3c0be687f4a9268",
"type": "leaf",
"state": {
"type": "outgoing-link",
"state": {
"file": "1.收集箱/1.1随手记/Untitled.md",
"linksCollapsed": false,
"unlinkedCollapsed": true
},
"icon": "links-going-out",
"title": "Outgoing links from Untitled"
}
},
{
"id": "3d51384a0ed657e4",
"type": "leaf",
"state": {
"type": "copilot-chat-view",
"state": {},
"icon": "lucide-ghost",
"title": "copilot-chat-view"
}
}
],
"currentTab": 1
}
],
"direction": "horizontal",
"width": 578.5
},
"left-ribbon": {
"hiddenItems": {
"workspaces:管理工作区布局": false,
"publish:发布更改": false,
"copilot:Open Copilot Chat": false,
"remotely-save:Remotely Save": false,
"bases:新建数据库": false,
"switcher:打开快速切换": false,
"graph:查看关系图谱": false,
"canvas:新建白板": false,
"daily-notes:打开/创建今天的日记": false,
"templates:插入模板": false,
"command-palette:打开命令面板": false,
"obsidian-kanban:创建新看板": false,
"media-extended:Open media": false
}
},
"active": "5b333a5dd4aec5ef",
"lastOpenFiles": [
"2.工作区/记录/未命名 1.md",
"2.工作区/记录/啦啦啦.md",
"2.工作区/记录/QQ开放平台AppSec.md",
"2.工作区/记录/工欲善其事 必先利其器(二):ClaudeCode 插件.md",
"2.工作区/记录/Claude学习.md",
"2.工作区/记录/Claude使用问题速记.md",
"2.工作区/记录/周记.md",
"2.工作区/记录/未命名.md",
"2.工作区/记录/ClaudeCode- 服务器开发技能.md",
"2.工作区/记录/Delta-扩展git diff.md",
"2.工作区/学习/UE引擎/着色器/计算着色器.md",
"2.工作区/记录/工欲善其事 必先利其器(三):ClaudeCode Hook.md",
"1.待处理(日查)/工作看板.md",
"1.待处理(日查)/个人看板.md",
"2.工作区/记录/灵感-AI能干的事儿.md",
"2.备忘录(月初查)/生活.md",
"2.备忘录(月初查)/工作.md",
"2.工作区/学习/研究目录/AI_代理工具深度对比报告_Manus_vs_Moltbot_vs_Claude_Cowork.md",
"2.工作区/学习/研究目录/Moltbot_AI_研究报告.md",
"2.工作区/学习/研究目录/Manus_AI_研究报告.md",
"2.工作区/记录/工欲善其事 必先利其器(一):Claude Code安装与基础设置.md",
"2.工作区/记录/2026.1.28 速记.md",
"2.工作区/记录/2025-9月10月11月.md",
"2.工作区/学习/研究目录/Claude_Cowork_研究报告.md",
"2.工作区/学习/研究目录",
"2.备忘录(月初查)/定期备忘.md",
"2.工作区/记录/Claude常用.md",
"5.附件/oh-my-opencode.json",
"2.工作区/学习/UE引擎/光照与氛围/【图表】LightMass光照贴图烘焙流程.svg",
"2.工作区/学习/UE引擎/动画/【图表】SkeletalMeshComponent初始化流程.svg",
"2.工作区/学习/UE引擎/动画/【图表】SkeletalMeshComponent动画初始化流程.svg",
"2.工作区/学习/UE引擎/性能与调试",
"2.工作区/学习/美术",
"2.工作区/学习/打铁基础",
"2.工作区/学习/打铁基础知识",
"2.备忘录(月初查)",
"1.待处理(日查)",
"2.备忘录",
"2.工作区/记录",
"未命名.canvas",
"Pasted image 20241018172535.png",
"Pasted image 20241018171952.png",
"Untitled.canvas",
"1.收集箱/1.1随手记/Untitled.canvas",
"你奶奶都能听懂的教程!MAYA《走路循环》幼儿园级 保姆教程PT11M8.618S.webp",
"你奶奶都能听懂的教程!MAYA《走路循环》幼儿园级 保姆教程PT17.429S.webp",
"你奶奶都能听懂的教程!MAYA《走路循环》幼儿园级 保姆教程PT9M56.289S.webp",
"你奶奶都能听懂的教程!MAYA《走路循环》幼儿园级 保姆教程PT2M48.705S.webp",
"你奶奶都能听懂的教程!MAYA《走路循环》幼儿园级 保姆教程PT1M46.661S.webp"
]
}
+430
View File
@@ -0,0 +1,430 @@
{
"workspaces": {
"视频学习": {
"main": {
"id": "2070dbc958b97839",
"type": "split",
"children": [
{
"id": "5e3aaa3e6c4d9e7b",
"type": "split",
"children": [
{
"id": "ed2ae7a51cd605ec",
"type": "tabs",
"dimension": 32.28542914171656,
"children": [
{
"id": "f463a0d91f149f9b",
"type": "leaf",
"state": {
"type": "markdown",
"state": {
"file": "1.待处理/1.TODO/虚幻引擎-全局光照-Lightmass使用.md",
"mode": "source",
"source": false
},
"icon": "lucide-file",
"title": "虚幻引擎-全局光照-Lightmass使用"
}
}
]
},
{
"id": "710197d6fecca3cd",
"type": "tabs",
"dimension": 67.71457085828342,
"children": [
{
"id": "bd4f26dc44770e11",
"type": "leaf",
"state": {
"type": "webviewer",
"state": {
"url": "https://www.bilibili.com/video/BV1ep4y1d7Ew/?spm_id_from=333.788.videopod.sections&vd_source=1deaab00c5de8885422a7a7690170eba",
"title": "26 虚幻引擎-lightmass固定光照方案_哔哩哔哩_bilibili",
"mode": "webview"
},
"icon": "globe-2",
"title": "26 虚幻引擎-lightmass固定光照方案_哔哩哔哩_bilibili"
}
}
]
}
],
"direction": "vertical"
}
],
"direction": "vertical"
},
"left": {
"id": "360e6f8ced6a5b3b",
"type": "split",
"children": [],
"direction": "horizontal",
"width": 372.5
},
"right": {
"id": "57956a92a01e8e77",
"type": "split",
"children": [
{
"id": "b3ad5ecbe601930d",
"type": "tabs",
"children": [
{
"id": "4d2371bc9db77ae4",
"type": "leaf",
"state": {
"type": "file-explorer",
"state": {
"sortOrder": "alphabetical",
"autoReveal": false
},
"icon": "lucide-folder-closed",
"title": "文件列表"
}
},
{
"id": "5b333a5dd4aec5ef",
"type": "leaf",
"state": {
"type": "search",
"state": {
"query": "",
"matchingCase": false,
"explainSearch": false,
"collapseAll": false,
"extraContext": false,
"sortOrder": "alphabetical"
},
"icon": "lucide-search",
"title": "搜索"
}
},
{
"id": "54efffd973293418",
"type": "leaf",
"state": {
"type": "bookmarks",
"state": {},
"icon": "lucide-bookmark",
"title": "书签"
}
},
{
"id": "24afebdb5e6c1a29",
"type": "leaf",
"state": {
"type": "all-properties",
"state": {
"sortOrder": "frequency",
"showSearch": false,
"searchQuery": ""
},
"icon": "lucide-archive",
"title": "添加笔记属性"
}
},
{
"id": "e3fb0015dab36a4c",
"type": "leaf",
"state": {
"type": "tag",
"state": {
"sortOrder": "frequency",
"useHierarchy": true,
"showSearch": false,
"searchQuery": ""
},
"icon": "lucide-tags",
"title": "标签"
}
},
{
"id": "b8043c28198c5b73",
"type": "leaf",
"state": {
"type": "backlink",
"state": {
"file": "2.工作区/育儿/上学/初中/北京/北大附中西三旗学校.md",
"collapseAll": false,
"extraContext": false,
"sortOrder": "alphabetical",
"showSearch": false,
"searchQuery": "",
"backlinkCollapsed": false,
"unlinkedCollapsed": true
},
"icon": "links-coming-in",
"title": "北大附中西三旗学校 的反向链接列表"
}
},
{
"id": "d3c0be687f4a9268",
"type": "leaf",
"state": {
"type": "outgoing-link",
"state": {
"file": "1.收集箱/1.1随手记/Untitled.md",
"linksCollapsed": false,
"unlinkedCollapsed": true
},
"icon": "links-going-out",
"title": "Outgoing links from Untitled"
}
},
{
"id": "1bd0e1e8ff227f2b",
"type": "leaf",
"state": {
"type": "outline",
"state": {
"file": "1.待处理/1.TODO/虚幻引擎-全局光照-Lightmass使用.md",
"followCursor": false,
"showSearch": false,
"searchQuery": ""
},
"icon": "lucide-list",
"title": "虚幻引擎-全局光照-Lightmass使用 的大纲"
}
},
{
"id": "06a30db3cb0cea99",
"type": "leaf",
"state": {
"type": "copilot-chat-view",
"state": {},
"icon": "message-square",
"title": "Copilot"
}
}
],
"currentTab": 8
}
],
"direction": "horizontal",
"width": 370.5
},
"left-ribbon": {
"hiddenItems": {
"copilot:Open Copilot Chat": false,
"switcher:打开快速切换": false,
"graph:查看关系图谱": false,
"canvas:新建白板": false,
"daily-notes:打开/创建今天的日记": false,
"templates:插入模板": false,
"command-palette:打开命令面板": false,
"workspaces:管理工作区布局": false,
"obsidian-kanban:创建新看板": false,
"media-extended:Open media": false
}
},
"active": "bd4f26dc44770e11",
"mtime": "2025-02-28T23:41:25+08:00"
},
"看板": {
"main": {
"id": "2070dbc958b97839",
"type": "split",
"children": [
{
"id": "ed2ae7a51cd605ec",
"type": "tabs",
"children": [
{
"id": "f463a0d91f149f9b",
"type": "leaf",
"state": {
"type": "kanban",
"state": {
"file": "1.待处理/1.TODO/工作看板.md",
"kanbanViewState": {
"kanban-plugin": "board",
"list-collapse": [
false,
false,
false,
false,
false
]
}
},
"icon": "lucide-trello",
"title": "工作看板"
}
}
]
}
],
"direction": "vertical"
},
"left": {
"id": "360e6f8ced6a5b3b",
"type": "split",
"children": [],
"direction": "horizontal",
"width": 372.5,
"collapsed": true
},
"right": {
"id": "57956a92a01e8e77",
"type": "split",
"children": [
{
"id": "b3ad5ecbe601930d",
"type": "tabs",
"children": [
{
"id": "4d2371bc9db77ae4",
"type": "leaf",
"state": {
"type": "file-explorer",
"state": {
"sortOrder": "alphabetical",
"autoReveal": false
},
"icon": "lucide-folder-closed",
"title": "文件列表"
}
},
{
"id": "5b333a5dd4aec5ef",
"type": "leaf",
"state": {
"type": "search",
"state": {
"query": "",
"matchingCase": false,
"explainSearch": false,
"collapseAll": false,
"extraContext": false,
"sortOrder": "alphabetical"
},
"icon": "lucide-search",
"title": "搜索"
}
},
{
"id": "54efffd973293418",
"type": "leaf",
"state": {
"type": "bookmarks",
"state": {},
"icon": "lucide-bookmark",
"title": "书签"
}
},
{
"id": "24afebdb5e6c1a29",
"type": "leaf",
"state": {
"type": "all-properties",
"state": {
"sortOrder": "frequency",
"showSearch": false,
"searchQuery": ""
},
"icon": "lucide-archive",
"title": "添加笔记属性"
}
},
{
"id": "e3fb0015dab36a4c",
"type": "leaf",
"state": {
"type": "tag",
"state": {
"sortOrder": "frequency",
"useHierarchy": true,
"showSearch": false,
"searchQuery": ""
},
"icon": "lucide-tags",
"title": "标签"
}
},
{
"id": "b8043c28198c5b73",
"type": "leaf",
"state": {
"type": "backlink",
"state": {
"file": "2.工作区/育儿/上学/初中/北京/北大附中西三旗学校.md",
"collapseAll": false,
"extraContext": false,
"sortOrder": "alphabetical",
"showSearch": false,
"searchQuery": "",
"backlinkCollapsed": false,
"unlinkedCollapsed": true
},
"icon": "links-coming-in",
"title": "北大附中西三旗学校 的反向链接列表"
}
},
{
"id": "d3c0be687f4a9268",
"type": "leaf",
"state": {
"type": "outgoing-link",
"state": {
"file": "1.收集箱/1.1随手记/Untitled.md",
"linksCollapsed": false,
"unlinkedCollapsed": true
},
"icon": "links-going-out",
"title": "Outgoing links from Untitled"
}
},
{
"id": "1bd0e1e8ff227f2b",
"type": "leaf",
"state": {
"type": "outline",
"state": {
"file": "1.待处理/1.TODO/虚幻引擎-全局光照-Lightmass使用.md",
"followCursor": false,
"showSearch": false,
"searchQuery": ""
},
"icon": "lucide-list",
"title": "虚幻引擎-全局光照-Lightmass使用 的大纲"
}
},
{
"id": "06a30db3cb0cea99",
"type": "leaf",
"state": {
"type": "copilot-chat-view",
"state": {},
"icon": "message-square",
"title": "Copilot"
}
}
]
}
],
"direction": "horizontal",
"width": 370.5
},
"left-ribbon": {
"hiddenItems": {
"copilot:Open Copilot Chat": false,
"switcher:打开快速切换": false,
"graph:查看关系图谱": false,
"canvas:新建白板": false,
"daily-notes:打开/创建今天的日记": false,
"templates:插入模板": false,
"command-palette:打开命令面板": false,
"workspaces:管理工作区布局": false,
"obsidian-kanban:创建新看板": false,
"media-extended:Open media": false
}
},
"active": "f463a0d91f149f9b",
"mtime": "2025-02-28T23:42:16+08:00"
}
},
"active": "看板"
}
+38
View File
@@ -0,0 +1,38 @@
# 工作流程
## 随时随地
记录东西到收件箱。
## 每天早上(厘清)
- 厘清00-收件箱内容并放到合适目录。
- 今天就要做->01-待办
- 不是今天做,属于某个项目,并且有明确的完成定义->10-项目/xxx/README
- 是长期持续要做的事情->20-领域/XXX/README
- 短期内不会开始,随时可以启动或者放下->30-资源/XXX/
- 不用了/过时了/完成了->40-归档/XXX/
- 参考资料/兴趣主题->30-资源/XXX/
## 每天晚上(回顾)
- 检查完成的待办项目
- 已完成->挪到今日任务记录.md的已完成项中。
- 未完成,明天继续搞->留在待办
- 未完成,不需要搞了或者暂停了->挪到今日任务记录.md的已取消项中。
- 回顾当天工作内容,快速总结经验,记录关键事项。(快速总结经验可以写到待办中)
- 今日任务记录.md->40-归档/回顾/2026-xx-xx
## 每周回顾
- 检查各项目和领域目录中的README,查看正在进行和将要进行的事情有哪些,挑选放入收件箱。
## 写作
写作应该分两部分来看:
- 写作XXX文章->这是一个任务,不涉及文章内容,按上面工作流走。
- 文章具体内容->这是一个文档,直接放在项目/领域/资源目录下,尽量不挪动。可以通过项目下的子目录来区分未完成的草稿。
- 如果是临时记录想法,每确定用途,先放收件箱。
## 项目/领域/资源的区分
- 项目-有明确的完成状态,比如开发某个游戏
- 领域-没有明确的完成状态,只要想就能一直做下去,比如
- 健康管理
- 财务管理
- 生活管理
- 育儿
- 自我成长
- 持续收集秦朝历史资料
- 持续收集火炮资料
# 收件箱(新内容都丢这里)
+8
View File
@@ -0,0 +1,8 @@
# 墨犬
- [x] PCG道路生成-山路使用山路铺装路面 ✅ 2026-03-03
- [ ] PCG道路生成-衔接随机地图工具中的路面宽度等参数
- [x] 宽度对接-待测试 ✅ 2026-03-03
- [ ] 地面材质对接-蓝图中自己拼
- [ ] 地形曲线编辑层对接-构造地形时添加
- [ ] PCG道路生成-河路路灯添加随机坏路灯和无路灯逻辑,调整间隔
- [ ] PCG道路生成-河路路灯添加随机坏护栏和无护栏,调整护栏高度和材质
+35
View File
@@ -0,0 +1,35 @@
# 工作流程
- 记录墨犬公司游戏开发项目的内容
- 每日厘清阶段
- 从收件箱厘清内容进入待办池
- 从待办池挑选今日要处理的条目进入当前重点
- 每日回顾阶段
- 从当前终点将已经完成的条目挪到已完成
- 如果有心得需要记录,记录到笔记项。
- 如果有未完成的工作,放回待办池。
## 当前重点
- [x] PCG道路生成-山路使用山路铺装路面 ✅ 2026-03-03
- [ ] PCG道路生成-衔接随机地图工具中的路面宽度等参数
- [ ] 地面材质对接
- [ ] 宽度对接
- [ ] 地形曲线编辑层对接
- [ ] PCG道路生成-河路路灯添加随机坏路灯和无路灯逻辑,调整间隔
- [ ] PCG道路生成-河路路灯添加随机坏护栏和无护栏,调整护栏高度和材质
## 待办池
- [ ] 研究UE移动端移植相关的内容
## 已完成
- [x] PCG道路生成-修正铺装路面地形贴合BUG ✅ 2026-03-02
- [x] PCG道路生成-修复丢失的铺装路面模型材质 ✅ 2026-03-02
- [x] PCG道路生成-区分山路/河路/野路三种模板 ✅ 2026-03-02
## 笔记
- 2026-03-02:
- 三种道路调整地形的方式
- LandscapeSplineActor+ ALandscape->UpdateLandscapeSplines
- ControlPoint EndFallOff需要为0,否则每一段Segment会起波浪
- ALandscapeProxy->EditorApplySpline 在曲线层调整地形和调整地形材质。
- ULandscapeInfo->ApplySplines 关卡编辑器中地形编辑时对曲线同样的操作,但是直接用会崩溃。
@@ -0,0 +1,33 @@
# 工作流程
- 记录AI辅助开发工作流优化相关的内容
- 每日厘清阶段
- 从收件箱厘清内容进入待办池
- 从待办池挑选今日要处理的条目进入当前重点
- 每日回顾阶段
- 从当前终点将已经完成的条目挪到已完成
- 如果有心得需要记录,记录到笔记项。
- 如果有未完成的工作,放回待办池。
## 当前重点
## 待办池
### OpenClaw
- [ ] 为OpenClaw搭建部署多Agent协作开发功能
- [ ] OpenClaw:安装两个自我进化技能
- [ ] OpenClaw:gitea上kb-web仓库的部署流程调整
- [ ] OpenClaw:gitea knowledge-base仓库的部署流程调整
- [ ] OpenClaw:调整知识库结构
### Claude
- [ ] claude:开发代码Review和代码重做钩子
- [ ] claude:设置合理的自动执行权限
- [ ] claude:开发需要交互时Windows通知的钩子
- [ ] claude && OpenClaw:开发一个去只读的小Skill
### 其他多模态AI
- [ ] 研究一下如何使用seedance和vidu
## 已完成
- [x] 为OpenClaw搭建外网环境-OK,使用wget+boostNet备用在1.200路由上。 ✅ 2026-03-03
- [x] 为OpenClaw安装浏览器和Browser-use技能-OK,已安装技能和浏览器,可以访问知乎。 ✅ 2026-03-03
## 笔记
@@ -0,0 +1,384 @@
# Ubuntu 24
用云服务器直接安装
# OpenClaw
用一键安装脚本
```curl -fsSL https://openclaw.ai/install.sh | bash```
# 后台启动
如果提示systemctl。如下执行:
```
# 更新systemd
sudo apt update
sudo apt install dbus-user-session
sudo apt install --reinstall libpam-systemd
#启用Root用户的lingering
sudo loginctl enable-linger root
#验证
loginctl show-user root | grep Linger
#启动dbus服务
systemctl --user start dbus.service
#验证服务状态
systemctl --user status
#安装gateway
openclaw gateway install
#启动
openclaw gateway start
#成功
```
# 搞模型
## Minimax CodingPlan
sk-cp-8PugyKE2xsG0S4x4KzDuuIV6Z9bT1NFwkpfrOSG05djFVExAgYEPpp7iUaTcugT6_P4uBYIN9S75l3ij-Yd2Ct8f6CxdKWdgFahESfn_jla-SlU6oGUCBjk
自定义的时候,不要用minimax的provider,用mm替代。
## Kimi CodingPlan
sk-kimi-4ogncmlAcNCJaPQWaGDvRpHO7rTGokMfddnoSZ8u5pNaXgg2aK4Tb4CCBbEIuv40
## 智谱GLM CodingPlan
80ec82f2b14047d9a0399682a042378b.E8rv2nPSyuIsGoDr
## 阿里百炼通义千问CodingPlan(不通)
安装插件
sk-sp-9b5f973d23f84526b99132d0edf3b411
```
"auth": {
"profiles": {
"alibaba-cloud:default": {
"provider": "alibaba-cloud",
"mode": "api_key"
}
}
},
"models": {
    "mode": "merge",
    "providers": {
      "alibaba-cloud": {
        "baseUrl": "https://dashscope.aliyuncs.com/compatible-mode/v1",
        "api": "openai-completions",
        "models": [
          {
            "id": "qwen3-max-2026-01-23",
            "name": "qwen3-max-thinking",
            "reasoning": false,
            "input": [
              "text"
            ],
            "cost": {
              "input": 0,
              "output": 0,
              "cacheRead": 0,
              "cacheWrite": 0
            },
            "contextWindow": 262144,
            "maxTokens": 65536
          }
        ]
      },
      "mm": {
        "baseUrl": "https://api.minimaxi.com/anthropic",
        "apiKey": "sk-cp-8PugyKE2xsG0S4x4KzDuuIV6Z9bT1NFwkpfrOSG05djFVExAgYEPpp7iUaTcugT6_P4uBYIN9S75l3ij-Yd2Ct8f6CxdKWdgFahESfn_jla-SlU6oGUCBjk",
        "api": "anthropic-messages",
        "authHeader": true,
        "models": [
          {
            "id": "MiniMax-M2.1",
            "name": "MiniMax M2.1",
            "reasoning": false,
            "input": [
              "text"
            ],
            "cost": {
              "input": 15,
              "output": 60,
              "cacheRead": 2,
              "cacheWrite": 10
            },
            "contextWindow": 200000,
            "maxTokens": 8192
          }
        ]
      },
      "zhipu": {
        "baseUrl": "https://open.bigmodel.cn/api/coding/paas/v4",
        "apiKey": "80ec82f2b14047d9a0399682a042378b.E8rv2nPSyuIsGoDr",
        "api": "openai-completions",
        "models": [
          {
            "id": "glm-4.7",
            "name": "glm 4.7",
            "reasoning": false,
            "input": [
              "text"
            ],
            "cost": {
              "input": 0,
              "output": 0,
              "cacheRead": 0,
              "cacheWrite": 0
            },
            "contextWindow": 200000,
            "maxTokens": 8192
          },
          {
            "id": "glm-4.7-FlashX",
            "name": "glm 4.7 FlashX",
            "reasoning": false,
            "input": [
              "text"
            ],
            "cost": {
              "input": 0,
              "output": 0,
              "cacheRead": 0,
              "cacheWrite": 0
            },
            "contextWindow": 200000,
            "maxTokens": 8192
          }
        ]
      }
    }
},
"agents": {
    "defaults": {
      "model": {
        "primary": "m21",
        "fallbacks": [
          "g47f",
          "g47",
          "qmax",
          "k2p5"
        ]
      },
      "models": {
        "zhipu/glm-4.7": {"alias":"g47"},
        "zhipu/glm-4.7-FlashX": {"alias":"g47f"},
"mm/MiniMax-M2.1":{"alias":"m21"},
        "alibaba-cloud/qwen3-max-2026-01-23": {"alias":"qmax"},
        "kimi-coding/k2p5": {
          "alias": "k2p5"
        }
      },
     
"plugins": {
"entries": {
"alibaba-cloud-auth": {
"enabled": true
}
}
},
```
```
//通用模型设置方法
openclaw config set 'models.providers.zhipu' --json '{
  "baseUrl": "https://open.bigmodel.cn/api/coding/paas/v4",
  "apiKey": "80ec82f2b14047d9a0399682a042378b.E8rv2nPSyuIsGoDr",
  "api": "openai-completions",
  "models": [
    { "id": "glm-4.7", "name": "glm 4.7" }
  ]
}'
openclaw config set models.mode merge
openclaw models set zhipu/glm-4.7
```
# 搞外网访问和网络搜索api
```
"gateway": {
"port": 18789,
"mode": "local",
"bind": "lan",
"controlUi": {
"allowInsecureAuth": true
},
"auth": {
"mode": "token",
"token": "xinlongcheng1903"
},
"tailscale": {
"mode": "off",
"resetOnExit": false
},
"http": {
"endpoints": {
"responses": {
"enabled": true
}
}
}
},
"plugins": {
"entries": {
"alibaba-cloud-auth": {
"enabled": true
},
"alibaba-cloud-international-auth": {
"enabled": true
},
"alibaba-cloud-us-auth": {
"enabled": true
}
}
},
"tools": {
"web": {
"search": {
"enabled": true,
"provider": "brave",
"apiKey": "BSAjOnKoRQhsGaUEWY57A3GZiXEgzzQ"
}
}
}
```
## 宝塔面板
```
阿里云
https://47.82.1.197:12180/2ccc33f3
t6ql9ypx
004f8467
站点:
micecola.cn
ftp:
micecola_cn
JHZFcX8bdzpAa94c
数据库:
micecola_cn
QMxWCbrhnMztDwiZ
http://47.82.1.197:18789/?token=eeaf68e4545727133f94bca0523cd0b3c72049c6d80aad59
```
# 搞聊天窗口
## 飞书
**遗留问题:群聊没调通。**
**飞书机器人有每月10000次的限制**
https://open.feishu.cn/
创建应用和机器人
cli_a9f74dc9a3f8dbce
QtnvzRUhhFoNTTorxJuAwgSJ3ocPv0p1
添加权限
设置事件与回调方式
OpenClaw安装环境并配置
```
openclaw plugins install @m1heng-clawd/feishu
openclaw channels add
openclaw config set channels.feishu.appId "cli_a9f74dc9a3f8dbce"
openclaw config set channels.feishu.appSecret "QtnvzRUhhFoNTTorxJuAwgSJ3ocPv0p1"
openclaw config set channels.feishu.enabled true
# 推荐使用 websocket
openclaw config set channels.feishu.connectionMode websocket
openclaw config set channels.feishu.dmPolicy pairing
openclaw config set channels.feishu.groupPolicy allowlist
openclaw config set channels.feishu.requireMention true
```
```
"feishu": {
"appId": "cli_a9f74dc9a3f8dbce",
"appSecret": "QtnvzRUhhFoNTTorxJuAwgSJ3ocPv0p1",
"enabled": true,
"connectionMode": "websocket",
"dmPolicy": "pairing",
"groupPolicy": "allowlist",
"requireMention": true
},
```
## whatsapp
**需要科学上网**
**如果不给openclaw单独备一个号码,自己跟自己聊天收不到通知**
```
"whatsapp": {
"dmPolicy": "allowlist",
"selfChatMode": true,
"allowFrom": [
"+8617611420192"
],
"groupPolicy": "allowlist",
"mediaMaxMb": 50,
"debounceMs": 0
},
```
通过openclaw configure配置,扫码配对,输入自己的手机号码,以后自己跟自己聊天即可。自己跟自己聊天没有提示。
也可以另外准备一个手机号码,绑定给openclaw,然后用自己的whatsapp加这个备用号码,跟备用号码聊天,这样有提示。
## IMessage
需要Mac本地部署,待研究
## 企业微信
**企业微信要用应用不要用机器人,:**
```
机器人有下面的问题:
- **每次先回1,再刷内容,收不到通知**
应用还有好处:
- 可以自建应用菜单,整合一些命令的快捷操作进去。
```
### 网上流传的机器人搞法
https://work.weixin.qq.com/
企业微信后台管理工具,创建智能机器人,选择API模式,输入回调URL,生成token和key
然后回openclaw安装
```
openclaw plugins install https://github.com/xl370869-art/wecom.git
```
配置
```
"wecom": {
"enabled": true,
"bot": {
"token": "X8ySyqpZ",
"encodingAESKey": "SjHvepG9uF38EDPyNmHjv22n2Ric8BVCA31imJidYxY",
"receiveId": "",
"dm": {
"policy": "pairing"
}
}
}
```
http://47.82.1.197:18789/wecom/bot
X8ySyqpZ
SjHvepG9uF38EDPyNmHjv22n2Ric8BVCA31imJidYxY
### 企业微信应用搞法
- 后台->我的企业->企业信息->企业ID
- 后台->应用管理->应用->创建应用->查看应用ID
- 查看应用Secret
- 设置企业可信IP中添加服务器IP
- 设置接收消息
- URL是http://47.82.1.197:18789/wecom/agent
- 随机一个Token
- 随机一个EncodingAESKey
- openclaw配置
```
"channels": {
"wecom": {
"enabled": true,
"agent": {
"corpId":"wwe98fa68a53dbf51d",
"corpSecret":"C5rwbH55fKEB8mwVgyMcwzMs-4KgR9DcIXsyMGbxfwg",
"agentId":"1000002",
"token": "vjgcDzgRcqeFOG5X8lpdAk87gsw7i",
"encodingAESKey": "bAx5QMjhHIZqnd33VgVcs4exD5JRLNn9zc1gmICiIS2",
"dm": {
"policy": "open",
"allowFrom": []
}
}
}
},
```
- 后台自定义菜单可以新建菜单,使用发送消息方式快捷发送/new等各种预定义命令。发布后菜单会出现在会话窗口工具栏。
# 技能
## 内置技能
/home/admin/.npm-global/lib/node_modules/openclaw/skills/
- github 管理github的issue,pr,ci等。不往github提代码就用不到。(需要brew)
- helthcheck 安全巡检,可以要求启动一个定时任务做安全巡检。
- clawhub:openclaw的在线技能仓库。安装好之后就可以用clawhub安装热门的技能,clawhub install 即可。但是谨慎筛选(有一些技能带毒)
- skill-creator 创建技能
- mcporter 调用mcp工具
- coding-agent 调用claudecode,codex,opencode等工具。需要安装这些工具
- blogwatcher RSS订阅,任何有RSS/Atom输出的网站都能监控
- sessionlogger 所有会话日志
- video-frames 将视频截帧生成图片。ffmpeg
- 语音TTS
- nano pdf 简单编辑pdf文字
- himalaya 邮件处理
## 其他技能
- bilibili-analyzer https://skills.sh/aidotnet/moyucode/bilibili-analyzer 分析bilibili视频,截帧获取内容。
-
@@ -0,0 +1,19 @@
搭建一套完整的开发流程:
1.多Agent(编排工作,需求细化,架构设计,拆分开发工作,开发代理进行开发并提交,审查员审查并合并)
2.使用Temux+ClaudeCode开发,避免占用前台。
[https://github.com/happycastle114/oh-my-openclaw](https://github.com/happycastle114/oh-my-openclaw)
3.使用Spec开发流程,提高开发质量
4.完善自动化工作流:搭建CI/CD流程,每次开发提交之后,先跑语法测试和单元测试,成功之后创建PR,审查员进行审查,审查成功之后,合并到对应分支,再次部署测试。
5.定时由PM统一汇报工作结果。
6.文档全部归档到会议纪要或者项目开发日志。包括聊天记录
7.搭建一个私人的DockerHub仓库,用来存放跑ci/cd时候的自制镜像。
搭建一套多模态AI接口。(2D,3D,音乐,视频)
待试用技能
capability-evolver ai 自我进化
self-improving-agent ai 自我进化2
gog
agent-browser
summarize 智能文本摘要
github
@@ -0,0 +1,366 @@
# Ubuntu 24
用云服务器直接安装
# OpenClaw
用一键安装脚本
```curl -fsSL https://openclaw.ai/install.sh | bash```
# 后台启动
如果提示systemctl。如下执行:
```
# 更新systemd
sudo apt update
sudo apt install dbus-user-session
sudo apt install --reinstall libpam-systemd
#启用Root用户的lingering
sudo loginctl enable-linger root
#验证
loginctl show-user root | grep Linger
#启动dbus服务
systemctl --user start dbus.service
#验证服务状态
systemctl --user status
#安装gateway
openclaw gateway install
#启动
openclaw gateway start
#成功
```
# 搞模型
## Minimax CodingPlan(不通)
sk-cp-8PugyKE2xsG0S4x4KzDuuIV6Z9bT1NFwkpfrOSG05djFVExAgYEPpp7iUaTcugT6_P4uBYIN9S75l3ij-Yd2Ct8f6CxdKWdgFahESfn_jla-SlU6oGUCBjk
## Kimi CodingPlan
sk-kimi-4ogncmlAcNCJaPQWaGDvRpHO7rTGokMfddnoSZ8u5pNaXgg2aK4Tb4CCBbEIuv40
## 智谱GLM CodingPlan
80ec82f2b14047d9a0399682a042378b.E8rv2nPSyuIsGoDr
## 阿里百炼通义千问CodingPlan(不通)
安装插件
sk-sp-9b5f973d23f84526b99132d0edf3b411
```
"auth": {
"profiles": {
"alibaba-cloud:default": {
"provider": "alibaba-cloud",
"mode": "api_key"
}
}
},
"agents": {
"defaults": {
"model": {
"fallbacks": [
"zhipu/glm-4.7",
"zhipu/glm-4.7-FlashX",
"minimax/MiniMax-M2.1",
"minimax/MiniMax-M2.1-lightning"
],
"primary": "kimi-coding/k2p5"
},
"models": {
"zhipu/glm-4.7": {},
"zhipu/glm-4.7-FlashX": {},
"minimax/MiniMax-M2.1": {},
"minimax/MiniMax-M2.1-lightning": {},
"alibaba-cloud/qwen3-max-2026-01-23": {},
"kimi-coding/k2p5": {
"alias": "Kimi K2.5"
}
},
"workspace": "/root/.openclaw/workspace",
"compaction": {
"mode": "safeguard"
},
"maxConcurrent": 8,
"subagents": {
"maxConcurrent": 16
}
},
"models": {
"mode": "merge",
"providers": {
"alibaba-cloud": {
"baseUrl": "https://dashscope.aliyuncs.com/compatible-mode/v1",
"api": "openai-completions",
"models": [
{
"id": "qwen3-max-2026-01-23",
"name": "qwen3-max-thinking",
"reasoning": false,
"input": [
"text"
],
"cost": {
"input": 0,
"output": 0,
"cacheRead": 0,
"cacheWrite": 0
},
"contextWindow": 262144,
"maxTokens": 65536
}
]
}
},
"minimax": {
"baseUrl": "https://api.minimaxi.com/anthropic",
"apiKey": "sk-cp-8PugyKE2xsG0S4x4KzDuuIV6Z9bT1NFwkpfrOSG05djFVExAgYEPpp7iUaTcugT6_P4uBYIN9S75l3ij-Yd2Ct8f6CxdKWdgFahESfn_jla-SlU6oGUCBjk",
"api": "anthropic-messages",
"authHeader": true,
"models": [
{
"id": "MiniMax-M2.1",
"name": "MiniMax M2.1",
"reasoning": false,
"input": [
"text"
],
"cost": {
"input": 15,
"output": 60,
"cacheRead": 2,
"cacheWrite": 10
},
"contextWindow": 200000,
"maxTokens": 8192
},
{
"id": "MiniMax-M2.1-lightning",
"name": "MiniMax M2.1 Lightning",
"reasoning": false,
"input": [
"text"
],
"cost": {
"input": 15,
"output": 60,
"cacheRead": 2,
"cacheWrite": 10
},
"contextWindow": 200000,
"maxTokens": 8192
}
]
},
"zhipu": {
"baseUrl": "https://open.bigmodel.cn/api/coding/paas/v4",
"apiKey": "80ec82f2b14047d9a0399682a042378b.E8rv2nPSyuIsGoDr",
"api": "openai-completions",
"models": [
{
"id": "{glm-4.7}",
"name": "{glm 4.7}",
"reasoning": false,
"input": [
"text"
],
"cost": {
"input": 0,
"output": 0,
"cacheRead": 0,
"cacheWrite": 0
},
"contextWindow": 200000,
"maxTokens": 8192
},
{
"id": "glm-4.7-FlashX",
"name": "glm 4.7 FlashX",
"reasoning": false,
"input": [
"text"
],
"cost": {
"input": 0,
"output": 0,
"cacheRead": 0,
"cacheWrite": 0
},
"contextWindow": 200000,
"maxTokens": 8192
}
]
}
},
"plugins": {
"entries": {
"alibaba-cloud-auth": {
"enabled": true
}
}
},
```
```
//通用模型设置方法
openclaw config set 'models.providers.zhipu' --json '{
  "baseUrl": "https://open.bigmodel.cn/api/coding/paas/v4",
  "apiKey": "80ec82f2b14047d9a0399682a042378b.E8rv2nPSyuIsGoDr",
  "api": "openai-completions",
  "models": [
    { "id": "glm-4.7", "name": "glm 4.7" }
  ]
}'
openclaw config set models.mode merge
openclaw models set zhipu/glm-4.7
```
# 搞外网访问和网络搜索api
```
"gateway": {
"port": 18789,
"mode": "local",
"bind": "lan",
"controlUi": {
"allowInsecureAuth": true
},
"auth": {
"mode": "token",
"token": "bef8134f5927f3321a3df17cde922b4a"
},
"tailscale": {
"mode": "off",
"resetOnExit": false
},
"http": {
"endpoints": {
"responses": {
"enabled": true
}
}
}
},
"plugins": {
"entries": {
"alibaba-cloud-auth": {
"enabled": true
},
"alibaba-cloud-international-auth": {
"enabled": true
},
"alibaba-cloud-us-auth": {
"enabled": true
}
}
},
"tools": {
"web": {
"search": {
"enabled": true,
"provider": "brave",
"apiKey": "BSAjOnKoRQhsGaUEWY57A3GZiXEgzzQ"
}
}
}
```
## 宝塔面板
```
阿里云
https://47.82.1.197:12180/2ccc33f3
t6ql9ypx
004f8467
站点:
micecola.cn
ftp:
micecola_cn
JHZFcX8bdzpAa94c
数据库:
micecola_cn
QMxWCbrhnMztDwiZ
http://47.82.1.197:18789/?token=eeaf68e4545727133f94bca0523cd0b3c72049c6d80aad59
```
# 搞聊天窗口
## 飞书
**遗留问题:群聊没调通。**
**飞书机器人有每月10000次的限制**
https://open.feishu.cn/
创建应用和机器人
cli_a9f74dc9a3f8dbce
QtnvzRUhhFoNTTorxJuAwgSJ3ocPv0p1
添加权限
设置事件与回调方式
OpenClaw安装环境并配置
```
openclaw plugins install @m1heng-clawd/feishu
openclaw channels add
openclaw config set channels.feishu.appId "cli_a9f74dc9a3f8dbce"
openclaw config set channels.feishu.appSecret "QtnvzRUhhFoNTTorxJuAwgSJ3ocPv0p1"
openclaw config set channels.feishu.enabled true
# 推荐使用 websocket
openclaw config set channels.feishu.connectionMode websocket
openclaw config set channels.feishu.dmPolicy pairing
openclaw config set channels.feishu.groupPolicy allowlist
openclaw config set channels.feishu.requireMention true
```
```
"feishu": {
"appId": "cli_a9f74dc9a3f8dbce",
"appSecret": "QtnvzRUhhFoNTTorxJuAwgSJ3ocPv0p1",
"enabled": true,
"connectionMode": "websocket",
"dmPolicy": "pairing",
"groupPolicy": "allowlist",
"requireMention": true
},
```
## whatsapp
**需要科学上网**
```
"whatsapp": {
"dmPolicy": "allowlist",
"selfChatMode": true,
"allowFrom": [
"+8617611420192"
],
"groupPolicy": "allowlist",
"mediaMaxMb": 50,
"debounceMs": 0
},
```
通过openclaw configure配置,扫码配对,输入自己的手机号码,以后自己跟自己聊天即可。自己跟自己聊天没有提示。
也可以另外准备一个手机号码,绑定给openclaw,然后用自己的whatsapp加这个备用号码,跟备用号码聊天,这样有提示。
## IMessage
需要Mac本地部署,待研究
## 企业微信
https://work.weixin.qq.com/
企业微信后台管理工具,创建智能机器人,选择API模式,输入回调URL,生成token和key
然后回openclaw安装
```
openclaw plugins install https://github.com/xl370869-art/wecom.git
```
配置
```
"wecom": {
"enabled": true,
"bot": {
"token": "X8ySyqpZ",
"encodingAESKey": "SjHvepG9uF38EDPyNmHjv22n2Ric8BVCA31imJidYxY",
"receiveId": "",
"dm": {
"policy": "pairing"
}
}
}
```
http://47.82.1.197:18789/wecom/bot
X8ySyqpZ
SjHvepG9uF38EDPyNmHjv22n2Ric8BVCA31imJidYxY
# 技能
## 内置技能
/home/admin/.npm-global/lib/node_modules/openclaw/skills/
- github 管理github的issue,pr,ci等。不往github提代码就用不到。(需要brew)
- helthcheck 安全巡检,可以要求启动一个定时任务做安全巡检。
- clawhub:openclaw的在线技能仓库。安装好之后就可以用clawhub安装热门的技能,clawhub install 即可。但是谨慎筛选(有一些技能带毒)
- skill-creator 创建技能
- mcporter 调用mcp工具
- coding-agent 调用claudecode,codex,opencode等工具。需要安装这些工具
- blogwatcher RSS订阅,任何有RSS/Atom输出的网站都能监控
- sessionlogger 所有会话日志
- video-frames 将视频截帧生成图片。ffmpeg
- 语音TTS
- nano pdf 简单编辑pdf文字
- himalaya 邮件处理
## 其他技能
- bilibili-analyzer https://skills.sh/aidotnet/moyucode/bilibili-analyzer 分析bilibili视频,截帧获取内容。
-
@@ -0,0 +1,37 @@
1.ClaudeCode每次使用某个工具或者某个技能的时候都要向我确认是否使用,是不是可以直接permission。(看起来在settings.json中可以配置,类似如下:)
```
{
  "permissions": {
    "allow": [
      "Bash(python3:*)",
      "mcp__plugin_episodic-memory_episodic-memory__search",
      "Bash(git add:*)",
      "Bash(git commit:*)",
      "Bash(git push)"
    ],
    "deny": [],
    "ask": []
  }
}
```
包括:
- 使用技能Skill(*)
- 使用网络搜索WebSearch
- 创建文件
2.Hook
```
"hooks": {
    "SessionStart": [
      {
        "matcher": "startup",
        "hooks":[
          {
            "type": "command",
            "command":"python -c 'print('Hello')'"
          }
        ]
      }
    ]
  },
```
@@ -0,0 +1,11 @@
1.多开
2.Plan
3.Claude.md
4.自己写技能
5.让AI审查或者找逻辑漏洞
6.清空上下文,用同一个需求,多次迭代
7.需求要详细
8.使用子智能体以尽可能保持主智能体上下文干净。
9.用它进行学习时可以调成explainary模式
10.可以让他做PPT和画ASCII图
11.学习时可以你给他讲你的理解,让他追问你。
@@ -0,0 +1,25 @@
- [x] 思考过程经常不输出,看看有没有什么配置默认输出中间思考过程。 ✅ 2026-01-29
- config中打开verbose_output就有输出了,但是一堆杂乱东西,还是不要输出了。
- [ ] 没有直接显示当前context使用情况。需要使用/context命令
- 尝试做一个Hook,每次查询计算一下百分比并且显示在最后。
- [ ] 运行中间需要我授权的时候没有给个明显的提示
- [知乎文章](https://zhuanlan.zhihu.com/p/1997058858770793003)(试验成功,但是有点bug)
- [ ] 很多操作需要频繁授权,设置好授权白名单
- [ ] 不会自动检查去只读(可以通过一个Skill或者MCP解决?)
- [ ] 遇到复杂功能问题,经常要做的TODO没做完就退出了。
- 阶段0:手动提要求复查(5次差不多挑不出毛病了)
- 阶段1:需要代码review并且打回。
- 阶段2:需要agent框架支持整套流程。(例如superpowers)
- [ ] 代码DIFF起来不太方便
- [ ]
@@ -0,0 +1,102 @@
# 基本目录结构
| | | | |
| --------------------- | --- | ----- | ------------------ |
| 目录/文件 | 作用域 | 角色类比 | 典型内容 |
| ~/.claude/config.json | 全局 | 内核参数 | MCP 服务器注册、API 密钥 |
| ~/.claude/agents/ | 全局 | 员工花名册 | 通用智能体定义(如 Planner) |
| ~/.claude/rules/ | 全局 | 公司宪法 | 安全红线、编码规范 |
| ./.claude/CLAUDE.md | 项目 | 项目白皮书 | 架构栈、特定业务逻辑 |
| ./.claude/skills/ | 项目 | 部门SOP | 专有 API 的使用方法 |
# Agent角色
.claude/agents/xxx.md
1.规划师,决定做什么,通过反复对话沟通整理需求
2.架构师,决定怎么做,对整理好的需求,做系统设计,做数据结构,定义接口。
3.TDD专家,写实现,先写用例,因为代码还没写,必然失败,然后再写最简单的实现,使其能够通过用例,最后再对内容重构,同时保持测试依然通过。(游戏开发适用吗?)
4.代码审查,做CodeReview,检查代码风格,检查漏洞,检查性能,检查代码规范
5.提交
# 技能
.claude/skills/xxx/SKILL.md
1触发条件
2.步骤序列
3.正确和错误的示例
# [技能名称]
## 触发条件
- 关键词:xxx、xxx、xxx
- 场景:当用户需要 xxx 时
## 核心规范
### 规范1:xxx (详细说明 + 代码示例)
### 规范2:xxx (详细说明 + 代码示例)
## 禁止事项
- ❌ 禁止 xxx
- ❌ 禁止 xxx
## 参考代码
- 文件路径:`xxx/xxx.java`
- 文件路径:`xxx/xxx.vue`
## 检查清单
- [ ] 是否遵循 xxx
- [ ] 是否使用 xxx
# 命令
.claude/commands
# 勾子
.claude/hooks
## 勾子时机
- UserPromptSubmit 每次用户提交问题时,Claude处理之前
- SessionStart 每次启动Claude会话时,可以用来整理展示当前项目状态
- PreToolUse 使用工具之前,拦截危险命令,警告敏感操作,阻止运行未经授权的脚本
- PostToolUse 使用工具后
- Stop AI完成回答后
- Notification 发送通知时
- SubagentStop 子代理任务完成时
- PreCompact 压缩上下文之前
- SessionEnd 会话结束之前
## 创建方法
`{ "hooks": { "UserPromptSubmit": [{ "matcher": "", "hooks": [{ "type": "command", "command": "node .claude/hooks/skill-forced-eval.js" }] }] } }`
- matcher:匹配工具名称的模式,区分大小写
- 支持字符串匹配, 例如:Write匹配写入工具,Bash匹配Shell命令
- 支持正则表达式,例如:Edit|Write 或者 Notebook.*
- 使用 * 匹配所有工具,也可以不配置或者使用 ""
- hooks:模式匹配时要执行的命令数组
- type:目前仅支持command
- command:要执行的Shell命令(可以使用 $CLAUDE_PROJECT_DIR 等环境变量)
- timeout:(可选)在取消该特定命令之前,命令应运行多长时间(以秒为单位)
### Matcher
PreToolUse、PostToolUse常见匹配器:
- Task:子代理任务
- Bash: Shell 命令
- Glob: 文件模式匹配
- Grep:内容搜索
- Read:文件读取
- Edit:编辑
- MultiEdit:多重编辑
- Write:文件写入
- WebFetch:Web拉取
- WebSearch:Web搜索
PreCompact常见匹配器:
- manual:从 /compact 调用
- auto:从自动压缩调用(由于完整上下文窗口)
SessionStart常见匹配器:
- startup:从启动调用
- resume:从 --resume、--continue 或 /resume 调用
- clear:从 /clear 调用
- compact:从自动或手动压缩调用
SessionEnd常见匹配器:
- clear:使用 /clear 命令清除会话
- logout:用户注销
- prompt_input_exit:用户在提示输入可见时退出
- other:其他退出原因
## 勾子工具
hookify插件
## MCP工具
@@ -0,0 +1,71 @@
# 安装NPM
官网下载并安装,最好勾选Add to PATH。
# 安装CC
# 安装CC插件Superpowers
```text
/plugin marketplace add obra/superpowers-marketplace
```
```text
/plugin install superpowers@superpowers-marketplace
```
# 安装 opencode
```
npm install -g opencode-ai
```
# 安装opencode-antigravity-auth
(主要是提供了深度思考模型的思考预算参数,感觉没啥用,用了这个插件之后启动还变慢了,不推荐)
随便找个免费的AI,输入给他
```
Install the opencode-antigravity-auth plugin and add the Antigravity model definitions to ~/.config/opencode/opencode.json by following: https://raw.githubusercontent.com/NoeFabris/opencode-antigravity-auth/dev/README.md
```
# 坑
Windows环境下默认的C:\Users\Administrator\AppData\Roaming\opencode目录中放opencode.json不管用,只能暂时放在opencode执行的项目根目录中。
# 配置中介API
以jiekou.ai举例。
jiekou.ai api 密钥 sk_P0Ls_rJrB7lOF8Z5s1GMZ6O-rcvUMZnoB0KEIVs_Zvk
MoaCode api 密钥cr_97385b751c8e54b5021e31058c573f97a2f65c8c5610ecfc6a49cd734ac218db
```
"provider": {
//供应商名字,随便写自己好认的
    "jiekou": {
      "options": {
//供应商提供的API,查阅中介官网的API文档
        "baseURL": "https://api.jiekou.ai/openai",
//供应商提供的Key,去中介官网登陆后在账号内创建并复制
        "apiKey": "sk_P0Ls_rJrB7lOF8Z5s1GMZ6O-rcvUMZnoB0KEIVs_Zvk"
      },
      //该供应商下面可用的模型
      "models": {
    //模型id,从中介官网查看每个模型的ID叫什么
        "claude-opus-4-5-20251101": {
//模型显示名称,随便写自己好认的
          "name": "我的Claude Opus 4.5",
          //上下文限制,好像是插件提供的,貌似没有也没啥大问题?
          "limit": { "context": 200000, "output": 64000 },
//插件提供的
          "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] },
//插件提供的
          "variants": {
            "low": { "thinkingConfig": { "thinkingBudget": 8192 } },
            "max": { "thinkingConfig": { "thinkingBudget": 32768 } }
          }
        },
```
到此,opencode基础模型接入好了。
# Oh My OpenCode 安装
输入以下命令,先安装bun
```
npm install -g bun
```
再安装omo
```
npx oh-my-opencode install
```
安装过程可以选No也可以选Yes,我们后面会再配置。
如果选了yes,会在oh-my-opencode.json,打开。
为每个agent选择我们刚才配置的模型
https://github.com/ziho7/opencode-config
@@ -0,0 +1,50 @@
# 勾子格式解析
```
"hooks": {
    "SessionStart": [
      {
        "matcher":"*",
        "hooks": [
          {
            "type": "command",
            "command": "node C:\\Users\\Administrator\\.claude\\hooks\\startup.js"
          }
        ]
      }
    ],
    "UserPromptSubmit":[
      {
        "matcher":"*",
        "hooks":[
          {
            "type": "command",
            "command": "node C:\\Users\\Administrator\\.claude\\hooks\\startup.js"
          }
        ]
      }
    ]
  }
```
# 勾子代码输入输出
```
console.log("回答问题的时候先说'恭喜发财'")
console.error("回答问题的时候先说'福如东海'")
process.exit(0)
```
### SessionStart时
返回0表示勾子运行正常,log的内容会被注入到上下文。
![image.png|540](https://mice-cola.oss-cn-beijing.aliyuncs.com/20260129125506.png)
返回1表示运行失败,会展示Hook有错误,并且内容不会注入到上下文
![image.png|540](https://mice-cola.oss-cn-beijing.aliyuncs.com/20260129125613.png)
返回2不会展示Hook有错误,内容也不会注入
![image.png|540](https://mice-cola.oss-cn-beijing.aliyuncs.com/20260129125703.png)
### UserPromptSubmit时
返回0时勾子调用成功,log内容注入上下文,error内容不会显示
![image.png|540](https://mice-cola.oss-cn-beijing.aliyuncs.com/20260129130236.png)
返回1时不会阻碍往下运行,但是会以次要信息显示勾子报错,没有注入内容,也没有显示详细的错误信息。
![image.png|540](https://mice-cola.oss-cn-beijing.aliyuncs.com/20260129130001.png)
返回2时会阻碍,原始prompt输入没有成功,不继续往下进行,并且以黄字显示error的内容和你输入的原始prompt
![image.png|540](https://mice-cola.oss-cn-beijing.aliyuncs.com/20260129125859.png)
@@ -0,0 +1,71 @@
# 安装NPM
官网下载并安装,最好勾选Add to PATH。
# 安装CC
# 安装CC插件Superpowers
```text
/plugin marketplace add obra/superpowers-marketplace
```
```text
/plugin install superpowers@superpowers-marketplace
```
# 安装 opencode
```
npm install -g opencode-ai
```
# 安装opencode-antigravity-auth
(主要是提供了深度思考模型的思考预算参数,感觉没啥用,用了这个插件之后启动还变慢了,不推荐)
随便找个免费的AI,输入给他
```
Install the opencode-antigravity-auth plugin and add the Antigravity model definitions to ~/.config/opencode/opencode.json by following: https://raw.githubusercontent.com/NoeFabris/opencode-antigravity-auth/dev/README.md
```
# 坑
Windows环境下默认的C:\Users\Administrator\AppData\Roaming\opencode目录中放opencode.json不管用,只能暂时放在opencode执行的项目根目录中。
# 配置中介API
以jiekou.ai举例。
jiekou.ai api 密钥 sk_P0Ls_rJrB7lOF8Z5s1GMZ6O-rcvUMZnoB0KEIVs_Zvk
MoaCode api 密钥cr_97385b751c8e54b5021e31058c573f97a2f65c8c5610ecfc6a49cd734ac218db
```
"provider": {
//供应商名字,随便写自己好认的
    "jiekou": {
      "options": {
//供应商提供的API,查阅中介官网的API文档
        "baseURL": "https://api.jiekou.ai/openai",
//供应商提供的Key,去中介官网登陆后在账号内创建并复制
        "apiKey": "sk_P0Ls_rJrB7lOF8Z5s1GMZ6O-rcvUMZnoB0KEIVs_Zvk"
      },
      //该供应商下面可用的模型
      "models": {
    //模型id,从中介官网查看每个模型的ID叫什么
        "claude-opus-4-5-20251101": {
//模型显示名称,随便写自己好认的
          "name": "我的Claude Opus 4.5",
          //上下文限制,好像是插件提供的,貌似没有也没啥大问题?
          "limit": { "context": 200000, "output": 64000 },
//插件提供的
          "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] },
//插件提供的
          "variants": {
            "low": { "thinkingConfig": { "thinkingBudget": 8192 } },
            "max": { "thinkingConfig": { "thinkingBudget": 32768 } }
          }
        },
```
到此,opencode基础模型接入好了。
# Oh My OpenCode 安装
输入以下命令,先安装bun
```
npm install -g bun
```
再安装omo
```
npx oh-my-opencode install
```
安装过程可以选No也可以选Yes,我们后面会再配置。
如果选了yes,会在oh-my-opencode.json,打开。
为每个agent选择我们刚才配置的模型
https://github.com/ziho7/opencode-config
@@ -0,0 +1,105 @@
# **大形象抽卡**
使用SD文生图生成角色,并直接摆出APose造型
提示词主要描述头发,衣服,裤子,鞋子和其他装备等,带上(simple background:1.2),(white background:1.2),
![image.png|540](https://mice-cola.oss-cn-beijing.aliyuncs.com/20250515133352.png)
采样方法用默认DPM++ 2M Karras
迭代步数用默认20
宽高默认512
引导词默认7
![image.png|540](https://mice-cola.oss-cn-beijing.aliyuncs.com/20250515133406.png)
开启OpenPose,上传APose姿势,启用完美像素,控制权重0,起始步数0,完结步数1。
control mode启用 让ControlNet自由发挥。
其中起始步数和ControlMode最重要,一定是0及Controlnet控制,否则无法生成需要的姿势。
![image.png|540](https://mice-cola.oss-cn-beijing.aliyuncs.com/20250515133430.png)
批量生成,这一步主要为了抽卡得到一个大概合适的外形以及相对干净的背景做底图。不用在意脸部及手部细节。只要头发,衣服,身材
**备注:**颜色词太多的时候,SD会把颜色和部位搞错,应该有个Lora还是什么插件可以匹配颜色和部位来着?
备注:进一步研究如何控制胖瘦
### **修复图像**
抽卡得到的图,发送到图生图
**TiledDiffusion放大+细化**
MultiDiffusion方法
放大算法 R-ESRGAN_4x+
重绘幅度0.75,放大倍率2,开启全面增强。
**利用重绘修复细节**
可以用图生图局部重绘脸部+补充提示词,来进一步细化眼睛颜色。
可以用图生图局部重绘手部 + ControlNet+Depth,提供APose深度图来修复手部。
这一步出的图可以拿去建模了。
### 扩三视图(可选)
CharTurner+OpenPose 姿势 + 面部不同朝向表情(Lora)
4.补充挂件,形成完整的角色概念设计图。
备注:用Eagle-管理原画
### 拆图(可选)
将角色拆成不同的部位进行建模
### AI建高模
混元2.5建模
已测试,基本效果还不错,有以下问题:
1.都是三角形面片。
2.面数太高。
3.部分细节还是有瑕疵。比如部分结构有粘连,有额外的毛刺和结构不正确等。
4.整个是一个模型。
5.部分细节粘连。
Connector-管理3D模型,贴图,材质,动作。
### 修复瑕疵(可选)
1.用 substance painter 或者ZBrush 修复高模上的毛刺。
如果能正常转低模,可以低模处理。
### 修复面
在Blender中使用3DPrint ToolBox修复非流形边。
### 拓扑低模
AI建模都是三角面,需要重新拓扑。
使用Blender Quad Remesher插件拓扑低模。
https://www.bilibili.com/opus/1004395359390138388
### 修复低模(可选)
修复低模上的瑕疵。如果有少量漏洞,补好。
## 风格化?(待研究)
Substance Painter?
### 展UV与烘焙贴图
拓扑之后需要重新展UV,展好UV之后贴图可以从高模烘焙出来。
https://styly.cc/ja/tips/retopology_bake/
通过在着色界面调整输出的内容,以及低模上输出的贴图,来决定烘焙哪个贴图。
### 拼合部件
### 绑定
Blender
人物类使用AutoRigPro
输出之前确保是TPose,高度单位正确,蒙皮绑定正确。
使用ARP Export输出,UnrealEngine,Humanoid,仅选中物体,Units x 100
![image.png|540](https://mice-cola.oss-cn-beijing.aliyuncs.com/20250521001054.png)
### 动作
mixamo,UE官方动作,ControlRig(非生物)
# 3D场景
### 原画
SD
### 建模??
程序化生成???
https://dev.epicgames.com/documentation/zh-cn/unreal-engine/procedural-content-generation-in-electric-dreams
### 打光??
# 3D建筑/道具
### 原画
SD 45度角散点透视???
### 建模
不需要拓扑,理论上可以直接用。
也可以像人物一样拓扑成低模。
# 音乐
# 音效
# 特效
# UI
# 玩法
核心循环
数值
手感
@@ -0,0 +1,36 @@
# 调研对象
- 混元3D
- Tripo3D
- MeshyAI
# 角色建模
![2025051318340198_33a343055d820b456cf73d7f078e20fd.png|540](https://mice-cola.oss-cn-beijing.aliyuncs.com/2025051318340198_33a343055d820b456cf73d7f078e20fd.png)
## 混元3D
![image.png|540](https://mice-cola.oss-cn-beijing.aliyuncs.com/20250513233253.png)
![image.png|540](https://mice-cola.oss-cn-beijing.aliyuncs.com/20250513233551.png)
![image.png|540](https://mice-cola.oss-cn-beijing.aliyuncs.com/20250513233630.png)
白模干净平整,整体结构清楚,手脚清晰,部分地方细节有小瑕疵。
比如胡子和尾巴,能生成PBR材质。
## Tripo3D
![image.png|540](https://mice-cola.oss-cn-beijing.aliyuncs.com/20250513234049.png)
![image.png|540](https://mice-cola.oss-cn-beijing.aliyuncs.com/20250513234140.png)
![image.png|540](https://mice-cola.oss-cn-beijing.aliyuncs.com/20250513234359.png)
![image.png|540](https://mice-cola.oss-cn-beijing.aliyuncs.com/20250513234442.png)
表面结构基本平整,手部略有瑕疵,手指粘连,贴图上有一些奇怪的结构和线条。
## Meshy
![image.png|540](https://mice-cola.oss-cn-beijing.aliyuncs.com/20250513233101.png)
![image.png|540](https://mice-cola.oss-cn-beijing.aliyuncs.com/20250513234722.png)
模型结构不够准确,肢体经常错误,比如手指不清晰,耳朵穿到帽子外面去。对原画还原度较低。
# 机械
![2025050813152878_843df1f3e794f9a9a3e7bcaba3502b77.png|540](https://mice-cola.oss-cn-beijing.aliyuncs.com/2025050813152878_843df1f3e794f9a9a3e7bcaba3502b77.png)
## 混元
![image.png|540](https://mice-cola.oss-cn-beijing.aliyuncs.com/20250513235205.png)
![image.png|540](https://mice-cola.oss-cn-beijing.aliyuncs.com/20250513235312.png)
表面平整,结构清晰,部分复杂结构略有瑕疵。贴图数字部分略有瑕疵
## Tripo3D
![image.png|540](https://mice-cola.oss-cn-beijing.aliyuncs.com/20250513235519.png)
![image.png|540](https://mice-cola.oss-cn-beijing.aliyuncs.com/20250513235620.png)
表面基本平整,但是瑕疵较多,履带断裂,轮子不圆,印花变成了模型结构等。
贴图边角总是带着较脏的黑色
@@ -0,0 +1,75 @@
### **1. Vega AI(原Vega)**
- **核心优势**:
- 支持**角色三视图生成**(需用ControlNet骨骼绑定+线稿控制),可生成同一角色的正、侧、背面。
- 提供**分层输出**功能(如角色部件分离),适合Spine动画的骨骼绑定需求。
- 内置游戏风格模型(赛博朋克、像素风、二次元)。
- **访问**:[rightbrain.art](https://rightbrain.art)
---
### **2. 触手AI(二次元专用)**
- **核心优势**:
- 专攻二次元角色,提供**角色动作模板**(如站立、攻击、行走等姿势)。
- 支持生成**透明背景PNG**,可直接导入Spine或游戏引擎。
- 社区有大量游戏角色训练模型(如《原神》《崩坏》风格)。
- **访问**:[chushou.ai](https://chushou.ai)
---
### **3. LiblibAI(在线Stable Diffusion)**
- **核心优势**:
- 使用ControlNet插件生成**角色多角度视图**(如八方向行走图)。
- 支持**批量生成动作帧**(通过调整骨骼线稿+提示词微调动作)。
- 可搭配LoRA模型训练专属游戏角色风格。
- **访问**:[liblib.ai](https://liblib.ai)
---
### **4. 稿定AI(UI+场景设计)**
- **核心优势**:
- 内置游戏UI模板(按钮、图标、血条等),支持生成**矢量图**。
- 可生成无缝贴图(如地面、墙壁纹理)和场景原画(写实/奇幻风格)。
- 直接对接设计工具,导出PSD/SVG文件。
- **访问**:[js.design/ai](https://js.design/ai)
---
### **5. 盗梦师(快速出设定稿)**
- **核心优势**:
- 输入“游戏设定图”“场景概念图”等提示词,快速生成高质量草图。
- 适合初期脑暴阶段,批量生成灵感方案。
- **访问**:微信小程序搜索“盗梦师”。
---
### **6. 像素生成工具(2D像素风专用)**
- **推荐工具**:
- **Pixeling.ai**(海外需代理,但生成效果极佳):生成像素角色、场景、动作帧。
- **AI像素转换器**:将普通图片转为像素风(如[Upscale.media](https://www.upscale.media/zh/pixel-art-converter))。
---
### **工作流建议**:
1. **角色设计**:
- 用Vega AI或LiblibAI生成角色三视图 → 导出PNG分层文件 → 在Spine中绑定骨骼。
2. **精灵动画**:
- 在触手AI中生成基础动作(如站立、攻击)→ 使用工具批量生成八方向变体(如[Spine官方插件](https://zh.esotericsoftware.com/))。
3. **游戏UI**:
- 稿定AI生成图标/按钮 → 导出SVG → 在Figma/PS中调整。
4. **场景设定**:
- 盗梦师生成概念草图 → Vega AI细化细节 → 导出无缝贴图。
---
### **注意事项**:
- AI生成的角色动作帧可能需要手动补帧(如中间过渡动作)。
- Spine动画需保持角色部件分层,建议生成时提示“透明背景+部件分离”。
- 使用LoRA模型训练游戏专属画风(如LiblibAI支持在线训练)。
@@ -0,0 +1,11 @@
1.git clone https://github.com/Stability-AI/stablediffusion.git
2.安装Python3.10.6
3.安装CUDA
4.webui-user.bat
5.可能需要手动下载xformer,并且在启动时加入--xformer参数。 https://zhuanlan.zhihu.com/p/672431724
6.汉化
7.安装sdxl模型
8.安装controlnet
9.安装openpose
10.其他优化 https://zhuanlan.zhihu.com/p/693413188
11.AMD显卡 https://zhuanlan.zhihu.com/p/656480759
@@ -0,0 +1,24 @@
# SD1.5
### AWPainting1.4
https://civitai.com/models/84476?modelVersionId=624939
![image.png|540](https://mice-cola.oss-cn-beijing.aliyuncs.com/20250509233400.png)
本次迭代主要在于提升场景多样性以及画面张力,画面细节以及色彩饱和度相较1.3均有一定提升,人物面部种类更加多样化。**使用类似Top view, perspective composition的词汇控制镜头可以获得相较于1.3有更好的理解力和画面效果。**
推荐分辨率: 512*768, 576*864, 640*960
在低分辨率生成下可使用hire高清修复增加分辨率,推荐算法ESRGAN_4x。
### CounterFeit
https://civitai.com/models/4468?modelVersionId=57618
![image.png|540](https://mice-cola.oss-cn-beijing.aliyuncs.com/20250509233504.png)
# DreamLike
https://civitai.com/models/1274/dreamlike-diffusion-10
![image.png|540](https://mice-cola.oss-cn-beijing.aliyuncs.com/20250509233620.png)
### DreamShaper
https://civitai.com/models/4384/dreamshaper
# SDXL
### AnythingXL
https://civitai.com/models/9409/or-anything-xl
@@ -0,0 +1,17 @@
# CharTurner
基于SD1.5
触发词:charturnerv2
作用:在一副画面中构建多个角度的角色,并且保持他们服装一致。
使用技巧:
- 可以配合ControlNet一起使用,由OpenPose控制人物转向姿势,由CharTurner控制一致性。
- 可以配合PlanIt使用,为角色设计概念图中的一些物件添加注释说明
- 提示词:
- 开头写 a character turnaround of a (girl) wearing (red dress)
- 紧跟 (CharTurnerV2:1.2)
- 紧跟 (multiple views of the same character in the same outfit:1.2)
# PlanIt
基于SD1.5
触发词:PLANIT
作用:
使用技巧:
@@ -0,0 +1,33 @@
# 内容提示词
### 人物及主体特征
- 服装穿搭
- 发型发色
- 五官特点
- 面部表情
- 肢体动作
### 场景特征
- 室内、室外
- 大场景(森林,城市,街道,沙漠)
- 小细节(树,石头,花,房子)
### 环境光照
- 白天、晚上
- 特定时间
- 光线环境
- 天空
### 画幅
- 距离(近距离,远距离)
- 人物比例(全身,半身,特写)
- 视角(正面,背面)
- 镜头类型(景深,广角,长焦)
# 画质提示词
### 高画质
best quality,ultra-detailed,masterpiece,hires,8k
### 高分辨率
extremely detailed CG,unreal engine rendered
# 画风提示词
- 插画风 illustration,painting,paintbrush
- 二次元 anime,comic,game cg
- 写实 realistic,photograph
# 负面提示词
- 低质量 wrost quality,low quality,normal quality,lowres
- 手 bad hands,extra limbs,mutant hands
@@ -0,0 +1,13 @@
1.汉化Bilingual ok
2.Config-Preset保存常用参数,作为预设 ok
3.promt-all-in-one 提示词助手,自动翻译,收藏,常用提示词,小模型提示词等。ok
4.stable diffusion webui civitai helper 自动从civitai网站上获得lora模型,embeding的缩略图 及一些meta信息。ok
5.openPose编辑器,手动编辑openpose中的人物骨骼以及画面位置。ok
6.wildcards,随机替换prompt中的颜色等,方便批量生成不同的搭配。ok
7.adetailer 面部修复,比官方的效果好。ok
8.Cutoff 提示词中有多个颜色的时候,固定颜色的位置。
9.Tiled diffusion 爆显存的时候用。
10.Inpaint anything ok
11.Latent Couple + composable Lora 绘制多个特定人物。
12.图库sd-webui-infinite-image-browsing-main ok
13.提示词反推,DeepBoru
@@ -0,0 +1,26 @@
# 高清重绘(Hi-ResFix)
主要用于放大分辨率
重绘算法选择R-ESRGAN 4x+
动画类的选R-ESRGAN 4x+(Anime6B)
各个大模型可能不一样
重绘幅度0.3-0.5
# 图生图
输入原图
调整分辨率
调整重绘幅度(0.3-0.5)
设置中可以调整图生图重绘方法。
## SD Upscale
脚本选择SD Upscale。
这个方法会将图片划分成4块,重画4遍,然后拼到一起。因此需要设置像素重叠,一般起步64,并且在原始图片的大小上加上这个数值。
放大倍数不要太大。重要细节不要放在分割线上。
# 附加功能放大
可以用两种不同算法进行放大,基本上就是单纯放大加过渡,不重绘。
# 局部重绘
画个蒙版,对蒙版区域重绘或者非蒙版区域重绘。
重点:如果画面中只有一部分内容,其他部分是透明的。ai生成不对,一定要套个有色的底,比如白底。
# 涂鸦重绘
画个带颜色的蒙版,用涂鸦部分的颜色帮助重绘。比如可以在人物练上涂个蓝色区域,上面画上红色爱心,描述为戴着带爱心的口罩。这样ai就能给重绘出带蓝色口罩。
@@ -0,0 +1,8 @@
1.计算Shader
2.切换镜头与不同模式的输入
3.WPO
4.碰撞获取UV
5.EmissiveColor必须是正的,FLinearColor范围0~1
6.延迟贴花
7.代码创建Component
8.Blender细分面、展UV、着色器等基础操作。
@@ -0,0 +1,18 @@
方案一:
思路:
开启复杂碰撞
开启碰撞UV
使用一个用于计算形变的材质,直接使用碰撞得到的UV+在UV上取一个范围,在这个范围内计算形变量,输出给EmissiveColor。
将计算材质写入RT,将RT设置给形变材质用作WPO。
问题:
1.对UV布局有较高要求并且UV接缝不好处理。(尝试三投影法)-1.需要无缝贴图-2.不适合处理独特细节。
2.对于转角面不好处理(因为从纯UV很难判断哪里是转角,转角过去之后的那一面也应该被挤压形变)
3.受击后铁块整体体积应该保持不变,纯UV方案如何精准计算体积不变问题?
方案二:
1.使用ComputeShader,根据受击位置,计算顶点变形偏移量,将顶点偏移量以顶点ID为索引输出给RT。
问题:顶点索引RT如何将每个顶点数据作用到材质上?
方案三:
使用GeometryScript制作。
@@ -0,0 +1,2 @@
# 核心需求
模拟真实打铁过程,通过设计,加热,捶打,切割,打磨,安装配件等过程将基础金属材料打造成一把目标武器。该武器会根据制造过程中的细节拥有不同的属性。并将用在之后的测试中。
+7
View File
@@ -0,0 +1,7 @@
## 当前重点
## 待办池
- [ ] 处理研究生学位证书在学信网上查不到问题
## 已完成
## 笔记
+23
View File
@@ -0,0 +1,23 @@
# 工作流程
- 记录个人财务投资相关的内容
- 每日厘清阶段
- 从收件箱厘清内容进入待办池
- 从待办池挑选今日要处理的条目进入当前重点
- 每日回顾阶段
- 从当前终点将已经完成的条目挪到已完成
- 如果有心得需要记录,记录到笔记项。
- 如果有未完成的工作,放回待办池。
## 当前重点
## 待办池
- [ ] 138手机卡装上,方便后续操作
- [ ] 天天基金银行卡换掉,方便后续操作
- [ ] 设置剩余易方达20%盈利目标,5%止盈
- [ ] 设置前海开源25%止损目标,到25%先卖出一半。
- [ ] 设置前海开源剩余半仓最低35%止损目标,及最高20%割肉止损上限
- [ ] 资金回笼后挪到雪球
- [ ] 制定后续雪球投资计划
- [ ] 重点关注沪深300ETF,科创50ETF和人工智能ETF
- [ ] 先设置模拟仓,待每次下跌10%左右的时候分批建仓
## 已完成
## 笔记

Some files were not shown because too many files have changed in this diff Show More