大量的更新
This commit is contained in:
@@ -3,7 +3,7 @@ name: dds-to-skill
|
||||
description: >
|
||||
将单模块 DDS(详细设计说明书)/ PRD / 架构文档转换为一个 All-in-One 全栈开发指导 Skill(Converts a single-module DDS/PRD/Architecture doc into one All-in-One development guidebook Skill)。
|
||||
输出唯一的 developing-<module-name> Skill,涵盖 API、数据库、状态机、事件、安全等全栈设计细节抽取与 reference 分层索引。
|
||||
触发场景 Trigger: 当用户需要将单模块 DDS 文档转为可落地的开发指导 Skill / 需要从架构设计文档生成 All-in-One 开发向导。
|
||||
触发场景 Trigger: 当用户需要将单模块 DDS / PRD / 架构文档文档转为可落地的开发指导 Skill / 需要从架构设计文档生成 All-in-One 开发向导。
|
||||
关键词 Keywords: DDS, PRD, 架构说明, 设计文档, skill 生成, all-in-one, agent skill, reference 抽取, API, 状态机, 事件, Schema。
|
||||
argument-hint: "<dds-file-path> [--output-dir <skills-output-dir>] [--module-name <name>]"
|
||||
allowed-tools:
|
||||
@@ -15,11 +15,11 @@ allowed-tools:
|
||||
- Bash
|
||||
---
|
||||
|
||||
# DDS-to-Skill:从设计文档生成 All-in-One 开发指导 Skill
|
||||
# PRD-to-Skill:从设计文档生成 All-in-One 开发指导 Skill
|
||||
|
||||
本 Skill 指导你将一份单模块 DDS(Detailed Design Specification)或 PRD / 架构说明文档,转换为**唯一一个**包含全栈开发细节的 `developing-<module-name>` Skill。
|
||||
|
||||
> **核心理念**:一个 DDS 输入 → 一个 Skill 输出。生成的不是"空洞的工作流提示词",而是**绑定了 DDS 设计细节**、能指导真实全栈开发的 All-in-One 指导书。
|
||||
> **核心理念**:一个 PRD 输入 → 一个 Skill 输出。生成**绑定了 PRD 设计细节**、能指导真实全栈开发的 All-in-One 指导书。
|
||||
|
||||
> **⚠️ 强制约束**:
|
||||
> - **禁止**生成系统级 Skill(`*-system`)
|
||||
@@ -28,7 +28,7 @@ allowed-tools:
|
||||
|
||||
---
|
||||
|
||||
## Phase 0:读取与理解 DDS
|
||||
## Phase 0:读取与理解 PRD
|
||||
|
||||
### 0.1 动态注入读取(必须执行)
|
||||
|
||||
|
||||
@@ -6,9 +6,9 @@
|
||||
【我的身份与组织信息】
|
||||
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||
|
||||
- 发文人身份:交付部署特战队 代理组长
|
||||
- 发文人身份:交付部署组 技术交付小组
|
||||
- 发文人姓名:{你的姓名}
|
||||
- 所在部门:
|
||||
- 所在部门:低空经济技术研发和运营中心
|
||||
- 小组规模:4人(含组长)
|
||||
- 小组职责:
|
||||
1. 负责中移凌云各平台(飞行服务平台、监管平台、AI及视频流媒体平台等)的本地化交付部署工作
|
||||
@@ -34,7 +34,7 @@
|
||||
1. **标题格式**:
|
||||
- 使用"关于……的通知/说明/函"格式
|
||||
- 标题简洁明了,不超过30字
|
||||
- 示例:"关于交付部署特战队与研发团队协同工作的规范说明"
|
||||
- 示例:"关于交付部署组与研发团队协同工作的规范说明"
|
||||
|
||||
2. **正文结构**:
|
||||
- 开头:简要说明发文目的和背景(1-2句话)
|
||||
@@ -44,7 +44,7 @@
|
||||
3. **段落与排版**:
|
||||
- 每条要求单独成段,条理清晰
|
||||
- 重要流程使用编号列表
|
||||
- 职责界面使用分组对照形式(如"特战队职责"vs"研发团队职责")
|
||||
- 职责界面使用分组对照形式(如"交付部署组职责"vs"研发团队职责")
|
||||
|
||||
## 二、语气与用词规范(核心重点)
|
||||
|
||||
@@ -57,7 +57,7 @@
|
||||
|
||||
| ❌ 避免使用 | ✅ 推荐使用 | 说明 |
|
||||
|---|---|---|
|
||||
| 必须、务必 | 应当、请、建议 | 特战队作为4人小组,对10+人团队发文,应避免强硬措辞 |
|
||||
| 必须、务必 | 应当、请、建议 | 交付部署组作为4人小组,对10+人团队发文,应避免强硬措辞 |
|
||||
| 要求你们 | 请各团队配合 | 体现平等协作而非上下级关系 |
|
||||
| 不得、禁止 | 原则上不宜、建议避免 | 保留弹性空间 |
|
||||
| 我组决定 | 经研究/协商,拟定以下方案 | 体现集体决策,减少个人色彩 |
|
||||
@@ -74,7 +74,7 @@
|
||||
- "为助力中移凌云市场化拓展工作的高效推进,现就XX工作提出如下协作方案。"
|
||||
|
||||
**主体句式:**
|
||||
- "原则上由特战队承担XX工作,XX团队配合完成。"
|
||||
- "原则上由交付部署组承担XX工作,XX团队配合完成。"
|
||||
- "请XX团队在XX时间节点前,按照以下要求准备相关资料。"
|
||||
- "建议各团队按照以下流程开展工作,以确保协作顺畅。"
|
||||
- "XX团队应当/宜/请……"(表示建议性要求)
|
||||
@@ -88,8 +88,8 @@
|
||||
|
||||
1. **身份敏感性**:
|
||||
- 作为4人小组的代理组长,对10+人团队发文时,语气要特别注意"协商"而非"指挥"
|
||||
- 多用"我队""特战队"的正式称谓,少用"我""我们"等口语化表达
|
||||
- 职责界面划分时,强调"特战队主动承担主要工作",而非单方面给对方增加任务
|
||||
- 多用"交付部署组"的正式称谓,少用"我""我们"等口语化表达
|
||||
- 职责界面划分时,强调"交付部署组主动承担主要工作",而非单方面给对方增加任务
|
||||
|
||||
2. **专业术语使用**:
|
||||
- 使用中移凌云内部通用术语(如"本地化部署""交付物""信创适配""市场化拓展"等)
|
||||
@@ -97,14 +97,14 @@
|
||||
- 首次出现的缩写或专业名词应提供全称说明
|
||||
|
||||
3. **自称与对称规范**:
|
||||
- 自称:交付部署特战队(简称"特战队",首次出现时给出全称)
|
||||
- 自称:交付部署组
|
||||
- 对称研发:XX平台研发团队(简称"研发团队")
|
||||
- 对称行业组:各大区域中心/客户组
|
||||
|
||||
4. **简称声明**:
|
||||
- 在正文开头部分统一声明简称定义
|
||||
- 格式示例:
|
||||
- "交付部署特战队,下文简称特战队"
|
||||
- "交付部署组"
|
||||
- "飞行服务平台、监管平台研发团队,下文简称研发团队"
|
||||
|
||||
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
CPU为i7-8565U
|
||||
内存为16GB
|
||||
硬盘为512GB fanxiang S500 Pro
|
||||
网卡为 原装的intel网卡
|
||||
网卡为 BCM94360CS2
|
||||
|
||||
我因为有大模型的开发需求,想给这台电脑安装黑苹果。我的需求如下:
|
||||
1. 双系统支持,请保留Windows系统,如果特别麻烦可以不保留
|
||||
|
||||
23
35-黑苹果DELL/1-黑苹果debug/260617-重塑-prompt.md
Normal file
23
35-黑苹果DELL/1-黑苹果debug/260617-重塑-prompt.md
Normal file
@@ -0,0 +1,23 @@
|
||||
我有一台DELL的Latitude 5400 14英寸的笔记本
|
||||
CPU为i7-8565U
|
||||
内存为16GB
|
||||
硬盘为512GB fanxiang S500 Pro
|
||||
网卡为 BCM94360CS2
|
||||
苹果系统的版本是 Ventura 13.7.8
|
||||
|
||||
我因为有大模型的开发需求,想给这台电脑安装黑苹果。我的需求如下:
|
||||
1. 双系统支持,请保留Windows系统,如果特别麻烦可以不保留
|
||||
2. 需要codex app 和claude code desktop支持的最低版本的系统
|
||||
3. 使用opencore进行引导
|
||||
|
||||
我已经安装了 https://heipg.cn/macos/macos-ventura-13-7-8-22h730-opencore-106-dev-firpe.html 这个版本的操作系统
|
||||
|
||||
现在WIFI运行正常,请你帮我完成启动OC的完全优化 F:\EFI\OC
|
||||
1. OC需要有图形化的页面,支持选择不同的操作系统
|
||||
2. OC默认需要启动MacOS
|
||||
3. 现在声音输出不正常,没有声音输出
|
||||
4. 现在触控板的操作支持不全面 没法双指等操作
|
||||
5. 系统中 CPU型号显示不正常,现在只显示 4.3Ghz 没有正确的CPU型号
|
||||
6.
|
||||
|
||||
黑苹果的优化,需要支持HiDPI,需要禁止休眠睡眠等
|
||||
24
35-黑苹果DELL/1-黑苹果debug/260618-黑苹果使用.md
Normal file
24
35-黑苹果DELL/1-黑苹果debug/260618-黑苹果使用.md
Normal file
@@ -0,0 +1,24 @@
|
||||
我有一台DELL的Latitude 5400 14英寸的笔记本
|
||||
CPU为i7-8565U
|
||||
内存为16GB
|
||||
硬盘为512GB fanxiang S500 Pro
|
||||
网卡为 BCM94360CS2
|
||||
苹果系统的版本是 Ventura 13.7.8
|
||||
|
||||
你是一名精通黑苹果应用的专家,你需要解决我的如下问题
|
||||
|
||||
显示问题
|
||||
1. 需要开启HiDPI
|
||||
|
||||
休眠、睡眠问题
|
||||
1. 屏幕可以息屏,但是不能进入睡眠或者休眠问题
|
||||
|
||||
EFI启动问题
|
||||
1. 我应该如何挂载系统的EFI目录,将现在的U盘中的EFI完全替换到硬盘的EFI目录中?
|
||||
|
||||
远程连接问题
|
||||
1. 我从windows应该如何远程访问macos 类似RDP
|
||||
2. 应该如何将文件传输到macos,U盘 或者 网盘的方式?
|
||||
3. 使用串流的moonlight+sunshine是否可行
|
||||
|
||||
请你给出详细的操作步骤
|
||||
@@ -17,19 +17,3 @@
|
||||
远景需求:
|
||||
1. 从台式机远程控制苹果macos的方法及工具
|
||||
2. 寻找windows最好用的终端工具是哪些,我需要经常进行shell连接
|
||||
|
||||
|
||||
你需要从专业的角度根据上述的需求,进行上述内容的完整流程,请分阶段进行
|
||||
|
||||
|
||||
|
||||
关于微信数据同步备份,你需要给我更加详细的操作及优雅的方式
|
||||
|
||||
|
||||
|
||||
dism /get-wiminfo /wimfile:D:\sources\install.wim
|
||||
|
||||
dism /online /enable-feature /featurename:VirtualMachinePlatform /all /source:D:\sources\install.wim /LimitAccess
|
||||
|
||||
dism /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all `
|
||||
/source:D:\sources\install.wim /LimitAccess
|
||||
2505
35-黑苹果DELL/2-工作电脑备份/7-数据同步备份-高级解决方案-实施方案.md
Normal file
2505
35-黑苹果DELL/2-工作电脑备份/7-数据同步备份-高级解决方案-实施方案.md
Normal file
File diff suppressed because it is too large
Load Diff
328
35-黑苹果DELL/2-工作电脑备份/7-数据同步备份-高级解决方案.md
Normal file
328
35-黑苹果DELL/2-工作电脑备份/7-数据同步备份-高级解决方案.md
Normal file
@@ -0,0 +1,328 @@
|
||||
# 两台 Windows 工作主机数据同步方案
|
||||
|
||||
## 1. 背景与环境
|
||||
|
||||
| 项目 | 笔记本(源) | 台式机(目标) |
|
||||
|------|-------------|---------------|
|
||||
| 型号 | 联想 R9000P | 自组装台式机 |
|
||||
| 系统 | Windows 11 专业版 | Windows 11 LTSC |
|
||||
| 用户 | `wddsh` | `wdd` |
|
||||
| 局域网IP | - | `192.168.1.194` |
|
||||
| WSL2 | 可用 | 已安装 |
|
||||
| 网络 | 局域网互通,台式机已配置 Clash Verge TUN |
|
||||
|
||||
## 2. 同步场景分析
|
||||
|
||||
### 场景 A:微信数据(高优先级)
|
||||
- **路径**: 笔记本 `C:\Users\wddsh\Documents\xwechat_files` / 台式机 `C:\Users\wdd\xwechat_files`
|
||||
- **特征**: ~30GB,海量小文件(聊天记录、图片、视频、语音、缓存)
|
||||
- **难点**: 文件数量极多(可能 10 万+),微信运行时数据库锁定,两端都会登录微信产生新数据
|
||||
- **频率**: 实时同步(微信关闭后触发最佳)
|
||||
- **方向**: **双向**(两端都可能产生新聊天记录和文件)
|
||||
|
||||
### 场景 B:Git 项目仓库(高优先级)
|
||||
- **路径**: 多个项目分布在 `Documents\IdeaProjects` 等目录
|
||||
- **特征**: 含 `.git` 目录,大量小文件,已有版本管理
|
||||
- **难点**: 需要保持 `.git` 完整性,可能有 node_modules 等超大依赖目录
|
||||
- **频率**: 持续双向同步
|
||||
- **方向**: 双向
|
||||
|
||||
### 场景 C:开发工具配置(中优先级)
|
||||
- **路径**: IDEA 配置在 `%APPDATA%\JetBrains`,VS Code 配置等
|
||||
- **特征**: 配置文件体量小,但路径分散
|
||||
- **难点**: 部分配置含绝对路径,需要筛选可移植项
|
||||
- **频率**: 变动时同步
|
||||
- **方向**: 单向或双向
|
||||
|
||||
---
|
||||
|
||||
## 3. 方案对比
|
||||
|
||||
### 方案一:WSL2 rsync(通过 SSH 隧道)
|
||||
|
||||
> [!TIP]
|
||||
> 你已有一个可用的微信 rsync 脚本([6-微信数据备份.md](file:///c:/Users/wddsh/Documents/IdeaProjects/ProjectAGiPrompt/35-黑苹果DELL/6-微信数据备份.md)),可以复用和扩展。
|
||||
|
||||
| 维度 | 评价 |
|
||||
|------|------|
|
||||
| **海量小文件性能** | ⭐⭐⭐⭐ rsync 增量算法高效,`-z` 压缩减少传输量 |
|
||||
| **断点续传** | ⭐⭐⭐⭐⭐ `--partial` 原生支持 |
|
||||
| **双向同步** | ⭐⭐ 原生不支持双向,需要额外脚本或 unison 替代 |
|
||||
| **自动化** | ⭐⭐⭐⭐ 配合 cron/Task Scheduler 轻松定时 |
|
||||
| **部署复杂度** | ⭐⭐⭐ 两端都需要 WSL2 + SSH 配置 |
|
||||
| **文件监控** | ⭐⭐ 需要额外工具(inotifywait/fswatch) |
|
||||
| **适合场景** | 仅作为首次全量灌入工具,不适合持续双向同步 |
|
||||
|
||||
**关键优势**:
|
||||
- 增量传输,只传输变化的部分,对 30GB 小文件场景极其高效
|
||||
- 你已有成熟的 rsync 脚本基础
|
||||
- 可精确控制 `--exclude` 排除规则
|
||||
|
||||
**关键劣势**:
|
||||
- 双向同步困难,冲突解决需要手动处理
|
||||
- WSL2 访问 Windows 文件系统(`/mnt/c`)有 I/O 性能损耗
|
||||
- 非实时,需定时触发
|
||||
|
||||
---
|
||||
|
||||
### 方案二:Syncthing(P2P 实时同步)
|
||||
|
||||
| 维度 | 评价 |
|
||||
|------|------|
|
||||
| **海量小文件性能** | ⭐⭐⭐ 初次扫描慢,后续增量快;有文件监控加速 |
|
||||
| **断点续传** | ⭐⭐⭐⭐ 支持 |
|
||||
| **双向同步** | ⭐⭐⭐⭐⭐ 原生双向,冲突自动检测并保留两个版本 |
|
||||
| **自动化** | ⭐⭐⭐⭐⭐ 后台服务,文件变化自动触发 |
|
||||
| **部署复杂度** | ⭐⭐⭐⭐⭐ 图形界面,零配置发现 |
|
||||
| **文件监控** | ⭐⭐⭐⭐⭐ 内置 fsnotify,变化秒级感知 |
|
||||
| **适合场景** | A(微信数据双向)、B(Git仓库双向)、C(配置文件双向) |
|
||||
|
||||
**关键优势**:
|
||||
- 原生双向同步 + 冲突处理
|
||||
- 实时文件监控,修改即同步
|
||||
- Windows 原生运行,无 WSL 性能损耗
|
||||
- Web UI 管理界面,可视化监控同步状态
|
||||
- P2P 加密传输,无需第三方服务器
|
||||
- 支持 `.stignore` 排除规则(类似 `.gitignore`)
|
||||
|
||||
**关键劣势**:
|
||||
- 首次同步 30GB 小文件扫描建索引较慢(约 10-30 分钟)
|
||||
- 不如 rsync 的增量算法精细(rsync 做块级 diff,Syncthing 做文件级 diff)
|
||||
- 内存占用相对较高(索引占用)
|
||||
|
||||
---
|
||||
|
||||
### 方案三:Robocopy(Windows 原生)
|
||||
|
||||
| 维度 | 评价 |
|
||||
|------|------|
|
||||
| **海量小文件性能** | ⭐⭐⭐ 多线程 `/MT:16` 有帮助,但无增量 diff |
|
||||
| **断点续传** | ⭐⭐⭐ `/Z` 可恢复模式 |
|
||||
| **双向同步** | ⭐ 不支持,纯镜像/复制 |
|
||||
| **自动化** | ⭐⭐⭐⭐ 配合 Task Scheduler |
|
||||
| **部署复杂度** | ⭐⭐⭐⭐⭐ 系统自带,零安装 |
|
||||
| **文件监控** | ⭐⭐⭐ `/MON` 参数支持变化监控 |
|
||||
| **适合场景** | 简单的单向镜像 |
|
||||
|
||||
**关键优势**:
|
||||
- 系统自带,无需安装任何东西
|
||||
- `/MT` 多线程复制,对大量小文件有帮助
|
||||
- 通过 SMB 共享直接访问,无需 SSH
|
||||
|
||||
**关键劣势**:
|
||||
- 无块级增量,每次传输完整变化文件
|
||||
- 依赖 SMB 网络共享,需配置防火墙和共享权限
|
||||
- 无双向同步能力
|
||||
|
||||
---
|
||||
|
||||
### 方案四:Unison(双向 rsync 增强)
|
||||
|
||||
| 维度 | 评价 |
|
||||
|------|------|
|
||||
| **海量小文件性能** | ⭐⭐⭐⭐ 基于 rsync 算法 |
|
||||
| **双向同步** | ⭐⭐⭐⭐⭐ 专为双向设计,冲突检测与合并 |
|
||||
| **部署复杂度** | ⭐⭐⭐ 两端需要相同版本 |
|
||||
| **适合场景** | B(Git仓库精确双向) |
|
||||
|
||||
---
|
||||
|
||||
## 4. 推荐方案:Syncthing 统一管控 + rsync 辅助首次灌入
|
||||
|
||||
> [!IMPORTANT]
|
||||
> 三大场景全部需要双向同步,**Syncthing 作为唯一的持续同步引擎**,rsync 仅在首次全量灌入时使用以加速初始化。
|
||||
|
||||
### 总体架构
|
||||
|
||||
```
|
||||
┌────────────────────────────────────────────────────────────┐
|
||||
│ 笔记本 (R9000P, Win11 Pro) │
|
||||
│ │
|
||||
│ ┌──────────┐ ┌──────────────┐ ┌───────────────────┐ │
|
||||
│ │ 微信数据 │ │ Git 项目仓库 │ │ 开发工具配置 │ │
|
||||
│ │ 30GB │ │ 多个 repos │ │ IDEA/VSCode 等 │ │
|
||||
│ └────┬─────┘ └──────┬───────┘ └────────┬──────────┘ │
|
||||
│ │ │ │ │
|
||||
│ └───────────────┼───────────────────┘ │
|
||||
│ │ │
|
||||
│ ┌────────┴────────┐ │
|
||||
│ │ Syncthing │ │
|
||||
│ │ (统一双向实时) │ │
|
||||
│ └────────┬────────┘ │
|
||||
│ │ │
|
||||
└───────────────────────┼────────────────────────────────────┘
|
||||
│
|
||||
P2P 加密传输
|
||||
(局域网)
|
||||
│
|
||||
┌───────────────────────┼────────────────────────────────────┐
|
||||
│ │ │
|
||||
│ ┌────────┴────────┐ │
|
||||
│ │ Syncthing │ │
|
||||
│ │ (统一双向实时) │ │
|
||||
│ └────────┬────────┘ │
|
||||
│ ┌───────────────┼───────────────────┐ │
|
||||
│ │ │ │ │
|
||||
│ ┌────┴─────┐ ┌──────┴───────┐ ┌────────┴──────────┐ │
|
||||
│ │ 微信数据 │ │ Git 项目仓库 │ │ 开发工具配置 │ │
|
||||
│ │ 双向同步 │ │ 双向同步 │ │ 双向同步 │ │
|
||||
│ └──────────┘ └──────────────┘ └───────────────────┘ │
|
||||
│ │
|
||||
│ 台式机 (Win11 LTSC) │
|
||||
└────────────────────────────────────────────────────────────┘
|
||||
|
||||
首次全量灌入(可选加速):
|
||||
笔记本 WSL2 ──rsync──▶ 台式机 WSL2 (一次性,完成后切换到 Syncthing)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### 场景 A:微信数据 → Syncthing(双向实时)+ rsync 首次灌入
|
||||
|
||||
> [!WARNING]
|
||||
> **微信数据双向同步的核心风险:** 微信不支持同一账号在两台 PC 同时登录。因此「双向同步」的实际含义是——你在哪台机器上登录微信,新产生的聊天数据就从那台同步到另一台。两端不会同时产生新数据,冲突风险较低。
|
||||
|
||||
**为什么选 Syncthing:**
|
||||
- 双向同步是硬需求,rsync 无法满足
|
||||
- 微信数据以追加为主(新聊天、新图片),Syncthing 的文件级增量足够高效
|
||||
- 实时文件监控,切换登录设备后新数据自动同步
|
||||
- Windows 原生运行,无 WSL I/O 损耗
|
||||
|
||||
**为什么首次灌入用 rsync:**
|
||||
- 30GB 海量小文件的首次传输,rsync 的块级增量 + 压缩 + 断点续传最稳定
|
||||
- Syncthing 首次扫描建索引 + 传输 30GB 小文件可能需要数小时
|
||||
- 用 rsync 先把数据灌到台式机,再让 Syncthing 「发现」已有数据建索引,速度大幅提升
|
||||
|
||||
**实现要点:**
|
||||
1. **首次灌入**:复用已有 rsync 脚本([6-微信数据备份.md](file:///c:/Users/wddsh/Documents/IdeaProjects/ProjectAGiPrompt/35-黑苹果DELL/6-微信数据备份.md)),将笔记本微信数据全量推送到台式机
|
||||
2. **持续同步**:两端 Syncthing 配置微信数据目录为共享文件夹,类型设为 **Send & Receive**(双向)
|
||||
3. **排除规则**(`.stignore`):
|
||||
|
||||
```
|
||||
// .stignore - 微信数据排除规则
|
||||
temp
|
||||
cache
|
||||
apm_record
|
||||
*.lock
|
||||
*.tmp
|
||||
crash_report
|
||||
log
|
||||
```
|
||||
|
||||
4. **数据库保护策略**:
|
||||
- 同步前确保微信已关闭(避免 db 锁定导致同步损坏文件)
|
||||
- 启用 Syncthing 的 **Staggered File Versioning**(阶梯式版本保留),保留最近 30 天的版本
|
||||
- 关键目录 `db_storage` 建议在微信运行时通过 `.stignore` 临时排除,关闭微信后恢复同步
|
||||
|
||||
5. **同步触发优化**:
|
||||
- Syncthing 默认使用 fsnotify 实时监控,但微信关闭时会批量释放文件锁
|
||||
- 配置 `rescanIntervalS` 为 300(5分钟全量扫描兜底)
|
||||
- 可配合脚本在检测到微信关闭时手动触发 Syncthing API 重新扫描
|
||||
|
||||
> [!TIP]
|
||||
> **微信只能单端PC登录**的特性反而降低了双向同步的冲突风险。实际上是一种「跟随主力设备」的同步模式:你在哪台机器工作,新数据就从哪台流向另一台。
|
||||
|
||||
---
|
||||
|
||||
### 场景 B:Git 项目仓库 → Syncthing(双向实时)
|
||||
|
||||
**为什么选 Syncthing:**
|
||||
- 项目仓库需要双向同步(两台机器都可能编辑)
|
||||
- 实时文件监控,代码修改即同步
|
||||
- `.stignore` 可以排除 `node_modules`、`build` 等目录
|
||||
- 不破坏 `.git` 完整性
|
||||
|
||||
**实现要点:**
|
||||
1. 两端安装 Syncthing(Windows 原生版本)
|
||||
2. 同步 `Documents\IdeaProjects` 整个目录
|
||||
3. 配置 `.stignore` 精确排除:
|
||||
|
||||
```
|
||||
// .stignore 排除规则
|
||||
node_modules
|
||||
.gradle
|
||||
build
|
||||
dist
|
||||
target
|
||||
*.class
|
||||
*.jar
|
||||
*.pyc
|
||||
__pycache__
|
||||
.idea/workspace.xml
|
||||
.idea/tasks.xml
|
||||
.idea/usage.statistics.xml
|
||||
.idea/shelf
|
||||
*.iws
|
||||
```
|
||||
|
||||
4. 设置冲突处理策略:默认保留两个版本,手动解决
|
||||
5. 设置为 Windows 服务开机自启
|
||||
|
||||
> [!WARNING]
|
||||
> **Git 仓库同步注意事项:**
|
||||
> - 避免两端**同时编辑同一文件**,否则会产生冲突文件(`*.sync-conflict-*`)
|
||||
> - 建议在同一时间只在一端进行开发,另一端作为同步镜像
|
||||
> - 如果需要真正的多端协作,应通过 Git remote(如 GitHub/GitLab)push/pull,而非文件同步
|
||||
|
||||
---
|
||||
|
||||
### 场景 C:开发工具配置 → Syncthing + JetBrains Settings Sync
|
||||
|
||||
**分层策略:**
|
||||
|
||||
| 工具 | 同步方式 | 说明 |
|
||||
|------|---------|------|
|
||||
| IDEA / WebStorm 等 | JetBrains Settings Sync | 内置云同步,登录 JetBrains 账号即可 |
|
||||
| VS Code | Settings Sync | 内置,登录 GitHub/Microsoft 账号 |
|
||||
| 其他散落配置 | Syncthing 同步指定目录 | `%APPDATA%` 下的特定子目录 |
|
||||
| Windows Terminal 配置 | Syncthing | `settings.json` 文件同步 |
|
||||
| SSH 配置 | 手动复制 | `~/.ssh/config` 一次性迁移 |
|
||||
|
||||
**实现要点:**
|
||||
1. IDEA 和 VS Code 优先使用内置的 Settings Sync(最稳定、无兼容性问题)
|
||||
2. 对于没有内置同步的工具,用 Syncthing 同步其配置目录
|
||||
3. SSH 配置、Git 全局配置等一次性手动复制
|
||||
|
||||
---
|
||||
|
||||
## 5. 部署顺序
|
||||
|
||||
| 阶段 | 内容 | 预计耗时 |
|
||||
|------|------|---------|
|
||||
| **Phase 1** | 两端 WSL2 环境搭建 + SSH 免密配置(为 rsync 首次灌入做准备) | 30 分钟 |
|
||||
| **Phase 2** | rsync 微信数据首次全量灌入(笔记本 → 台式机) | 1-2 小时 |
|
||||
| **Phase 3** | 两端安装 Syncthing + 配置三个共享文件夹(微信/Git/配置) | 1 小时 |
|
||||
| **Phase 4** | Syncthing 首次索引建立 + 验证双向同步 | 30-60 分钟 |
|
||||
| **Phase 5** | 开发工具内置 Settings Sync 启用(IDEA/VSCode) | 15 分钟 |
|
||||
| **Phase 6** | Syncthing 设为 Windows 服务开机自启 + 监控脚本 | 30 分钟 |
|
||||
|
||||
---
|
||||
|
||||
## 6. 安全与容错
|
||||
|
||||
1. **首次同步前全量备份**:在台式机上先做一次完整的本地备份
|
||||
2. **rsync 首次灌入使用 `--dry-run`**:先预览,确认无误再执行
|
||||
3. **Syncthing 版本控制**:所有共享文件夹启用 Staggered File Versioning(阶梯式版本保留)
|
||||
- 最近 1 小时:保留所有版本
|
||||
- 最近 1 天:每小时保留一个版本
|
||||
- 最近 30 天:每天保留一个版本
|
||||
4. **微信数据库保护**:同步脚本检测 `Weixin.exe` 进程,运行时临时跳过 `db_storage` 目录
|
||||
5. **日志审计**:Syncthing Web UI 自带同步日志,额外配置日志输出到文件
|
||||
6. **磁盘空间监控**:Syncthing 配置 `minDiskFree` 参数,磁盘空间不足时自动暂停同步
|
||||
7. **冲突文件清理**:定期检查并清理 `*.sync-conflict-*` 文件
|
||||
|
||||
---
|
||||
|
||||
## 用户审阅结果(已确认 ✅)
|
||||
|
||||
| # | 审阅项 | 用户确认 |
|
||||
|---|--------|----------|
|
||||
| 1 | Git 仓库同步目录 | ✅ 仅 `Documents\IdeaProjects`,无其他目录 |
|
||||
| 2 | 台式机微信数据路径 | ✅ `C:\Users\wdd\xwechat_files` |
|
||||
| 3 | NAS / 外部存储 | ✅ 不考虑 |
|
||||
| 4 | 台式机 WSL2 | ✅ 已安装完成 |
|
||||
| 5 | 台式机磁盘空间 | ✅ 充足 |
|
||||
| 6 | 采用方案 | ✅ **Syncthing 统一管控 + rsync 辅助首次灌入** |
|
||||
|
||||
> [!NOTE]
|
||||
> 所有审阅项已确认,方案可以进入实施阶段。
|
||||
17
35-黑苹果DELL/2-工作电脑备份/7-数据同步备份.md
Normal file
17
35-黑苹果DELL/2-工作电脑备份/7-数据同步备份.md
Normal file
@@ -0,0 +1,17 @@
|
||||
背景说明:
|
||||
1. 我现在windows11专业版的联想R9000P笔记本电脑
|
||||
2. 我重新安装了 windows 11 ltsc的台式机电脑,现在想把工作的主力迁移到台式机电脑
|
||||
3. 我拥有丰富的各类系统的操作经验,有大量的linux服务器,windows服务器资源,可以执行任何方案
|
||||
|
||||
我现在写的需求是两台工作主机之间很多数据是需要互相同步的
|
||||
|
||||
1. 例如 微信的聊天数据、文件数据等等,30GB的小文件,超多的文件
|
||||
2. 开发项目仓库,我用了git进行版本管理,但是有很多项目仓库,我需要全部同步
|
||||
3. IDEA等开发工具的配置等同步
|
||||
|
||||
|
||||
1. 你需要研究高效、大量、涉及很多小文件的数据同步机
|
||||
2. 方案一:WSL2下面的LINUX系统之间使用RSYNC同步
|
||||
2. 方案二:借助syncthing等外部工具
|
||||
|
||||
其他高效的方案
|
||||
20
35-黑苹果DELL/3-WSL系统优化/1-WSL终端优化-prompt.md
Normal file
20
35-黑苹果DELL/3-WSL系统优化/1-WSL终端优化-prompt.md
Normal file
@@ -0,0 +1,20 @@
|
||||
我在windows 11 LTSC安装了 WSL2的ubuntu 24.04的系统
|
||||
|
||||
## 网络环境
|
||||
1. 电脑和WSL位于中国大陆境内
|
||||
2. windows开启了TUN模式的clash verge
|
||||
3. 需要考虑国外工具的下载时候使用代理
|
||||
4. 电脑的IP地址为192.168.1.20
|
||||
|
||||
## 核心需求
|
||||
1. 提供功能函数组合的工具集shell脚本,将WSL打造为开发工作中心
|
||||
2. 镜像加速源头,例如清华源等国内速度快的源
|
||||
3. 终端需要修改为强于oh my zsh的终端,并且安装丰富好用的插件
|
||||
4. 终端的字体需要支持oh my zsh带来的特殊字体,终端显示unicode不能出现乱码
|
||||
5. 需要安装curl git wget telnet ping mtr等常用工具
|
||||
6. 安装golang的最新版本,并设置/bin/bash /bin/zsh /bin/sh 和 自定义终端工具的环境变量等
|
||||
7. 安装nodejs-lts的最新版本,并设置/bin/bash /bin/zsh /bin/sh 和 自定义终端工具的环境变量等
|
||||
|
||||
## 复用性
|
||||
1. 需要考虑并制作一个高可用可复用的shell脚本
|
||||
2. 支持ubuntu 20.04 22.04 24.04 26.04的系统,能够判断系统版本,然后进行调整
|
||||
256
35-黑苹果DELL/3-WSL系统优化/3.1-wsl初始化脚本-实现计划.md
Normal file
256
35-黑苹果DELL/3-WSL系统优化/3.1-wsl初始化脚本-实现计划.md
Normal file
@@ -0,0 +1,256 @@
|
||||
# WSL2 开发环境一键配置脚本
|
||||
|
||||
将 WSL2 Ubuntu 打造为功能完备的开发工作中心。单文件模块化 Shell 脚本,支持 Ubuntu 20.04/22.04/24.04/26.04,幂等可重复执行。
|
||||
|
||||
## User Review Required
|
||||
|
||||
> [!IMPORTANT]
|
||||
> **脚本文件位置**: 计划放置于 `rmdc-continuous-integration/scripts/wsl/wsl-dev-setup.sh`,如有其他偏好请指出。
|
||||
|
||||
> [!IMPORTANT]
|
||||
> **终端方案选择**: 采用 **Zinit + Starship** 组合替代 oh-my-zsh:
|
||||
> - **Zinit**:现代 Zsh 插件管理器,支持 Turbo 模式延迟加载,启动速度远超 oh-my-zsh
|
||||
> - **Starship**:Rust 编写的跨 Shell 提示符,极快且美观,原生支持 Nerd Font 图标
|
||||
> - 如更偏好 **Powerlevel10k**(纯 Zsh、瞬时启动),请告知
|
||||
|
||||
> [!IMPORTANT]
|
||||
> **Node.js 管理器**: 采用 **fnm** (Fast Node Manager,Rust 编写) 替代 nvm,速度快 40x。如偏好 nvm 请告知。
|
||||
|
||||
## Open Questions
|
||||
|
||||
> [!NOTE]
|
||||
> **代理模式**:Clash Verge TUN 模式下,WSL2 流量通常已自动代理。脚本默认 **不设置** 显式 `HTTP_PROXY` 环境变量,但提供 `--proxy` 开关可手动启用(用于 TUN 未覆盖 WSL 的场景)。是否需要默认启用?
|
||||
|
||||
## Proposed Changes
|
||||
|
||||
### 脚本架构
|
||||
|
||||
单文件 `wsl-dev-setup.sh`,约 1000+ 行,函数式模块化设计:
|
||||
|
||||
```
|
||||
wsl-dev-setup.sh
|
||||
├─ 📋 全局配置区(环境变量、默认值)
|
||||
├─ 🎨 日志与颜色(log_info/warn/error/success,进度条)
|
||||
├─ 🔧 工具函数(run_as_user, backup_file, download_file, add_to_rc)
|
||||
├─ 🖥️ 系统检测(Ubuntu 版本、架构、WSL 检测)
|
||||
├─ 🌐 代理配置(Clash Verge 可选显式代理)
|
||||
├─ 📦 APT 镜像源(清华/中科大/阿里云,自动适配 DEB822 格式)
|
||||
├─ 🌍 Locale 配置(en_US.UTF-8 + zh_CN.UTF-8)
|
||||
├─ 🛠️ 基础工具安装(curl/git/wget/telnet/ping/mtr 等)
|
||||
├─ 💻 Zsh + Zinit + Starship(终端环境)
|
||||
├─ 🔤 Nerd Font 安装(JetBrains Mono Nerd Font)
|
||||
├─ ⚡ 现代 CLI 工具(bat/eza/fd/ripgrep/fzf/zoxide/delta/lazygit)
|
||||
├─ 🐹 Go 最新版安装(自动检测最新版本 + goproxy.cn)
|
||||
├─ 📗 Node.js LTS 安装(fnm + npmmirror.com)
|
||||
├─ 📊 安装总结与验证
|
||||
└─ 🚀 Main(参数解析、模块调度)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### [NEW] [wsl-dev-setup.sh](file:///c:/Users/wdd/Documents/IdeaProjects/RMDC-CLOUD/rmdc-continuous-integration/scripts/wsl/wsl-dev-setup.sh)
|
||||
|
||||
#### 1. 命令行接口
|
||||
|
||||
```bash
|
||||
# 完整安装(推荐)
|
||||
sudo bash wsl-dev-setup.sh
|
||||
|
||||
# 查看帮助
|
||||
bash wsl-dev-setup.sh --help
|
||||
|
||||
# 仅安装指定模块
|
||||
sudo bash wsl-dev-setup.sh --only golang,nodejs
|
||||
|
||||
# 跳过指定模块
|
||||
sudo bash wsl-dev-setup.sh --skip fonts,modern-cli
|
||||
|
||||
# 启用显式代理(TUN 未覆盖 WSL 时)
|
||||
sudo bash wsl-dev-setup.sh --proxy
|
||||
|
||||
# 自定义配置
|
||||
sudo WINDOWS_HOST_IP=192.168.1.100 CLASH_PROXY_PORT=7891 bash wsl-dev-setup.sh
|
||||
```
|
||||
|
||||
可选模块名:`proxy | mirror | locale | base-tools | zsh | fonts | modern-cli | golang | nodejs`
|
||||
|
||||
#### 2. 系统检测与版本适配
|
||||
|
||||
| Ubuntu 版本 | APT 格式 | 特殊处理 |
|
||||
|------------|----------|---------|
|
||||
| 20.04 Focal | `sources.list` 传统格式 | 部分工具需从 GitHub Release 安装(eza/bat 等 apt 版本过旧) |
|
||||
| 22.04 Jammy | `sources.list` 传统格式 | 大部分工具可直接 apt 安装 |
|
||||
| 24.04 Noble | DEB822 `.sources` 格式 | 原生支持新格式,apt 源更丰富 |
|
||||
| 26.04 | DEB822 `.sources` 格式 | 动态检测 codename,前向兼容 |
|
||||
|
||||
版本检测逻辑:
|
||||
- 读取 `/etc/os-release` 获取 `VERSION_ID` 和 `VERSION_CODENAME`
|
||||
- 校验是否为 WSL 环境(`/proc/version` 包含 `microsoft`)
|
||||
- 检测架构(amd64/arm64)
|
||||
|
||||
#### 3. APT 镜像源配置
|
||||
|
||||
支持三大镜像源(默认清华 TUNA):
|
||||
|
||||
| 镜像源 | URL |
|
||||
|--------|-----|
|
||||
| 清华 TUNA | `mirrors.tuna.tsinghua.edu.cn` |
|
||||
| 中科大 USTC | `mirrors.ustc.edu.cn` |
|
||||
| 阿里云 | `mirrors.aliyun.com` |
|
||||
|
||||
- **Ubuntu < 24.04**:修改 `/etc/apt/sources.list`,备份原文件
|
||||
- **Ubuntu >= 24.04**:修改 `/etc/apt/sources.list.d/ubuntu.sources`(DEB822 格式)
|
||||
- 自动启用 `main restricted universe multiverse` 四个仓库
|
||||
|
||||
#### 4. 基础工具安装
|
||||
|
||||
```
|
||||
核心网络工具:curl wget git net-tools inetutils-telnet iputils-ping mtr-tiny dnsutils traceroute
|
||||
编译工具链: build-essential gcc g++ make cmake
|
||||
系统工具: ca-certificates gnupg lsb-release software-properties-common
|
||||
压缩工具: unzip zip tar gzip bzip2 xz-utils p7zip-full
|
||||
实用工具: jq tree htop ncdu openssh-client tmux
|
||||
```
|
||||
|
||||
#### 5. Zsh + Zinit + Starship 终端
|
||||
|
||||
**Zinit 插件列表**:
|
||||
|
||||
| 插件 | 功能 | 加载方式 |
|
||||
|------|------|---------|
|
||||
| `zsh-autosuggestions` | Fish 风格命令建议 | Turbo 延迟加载 |
|
||||
| `zsh-syntax-highlighting` | 命令语法高亮 | Turbo 延迟加载 |
|
||||
| `zsh-completions` | 额外补全规则 | Turbo 延迟加载 |
|
||||
| `fzf-tab` | fzf 驱动的 Tab 补全 | Turbo 延迟加载 |
|
||||
| `history-substring-search` | 历史子串搜索 | Turbo 延迟加载 |
|
||||
| OMZ::lib/history.zsh | oh-my-zsh 历史配置 | Snippet |
|
||||
| OMZ::lib/key-bindings.zsh | oh-my-zsh 快捷键 | Snippet |
|
||||
| OMZ::lib/completion.zsh | oh-my-zsh 补全配置 | Snippet |
|
||||
| OMZ::plugins/git | Git 快捷别名 | Snippet |
|
||||
| OMZ::plugins/sudo | 双击 ESC 添加 sudo | Snippet |
|
||||
| OMZ::plugins/extract | 万能解压命令 | Snippet |
|
||||
| OMZ::plugins/z | 智能目录跳转 | Snippet |
|
||||
|
||||
**Starship 配置**:
|
||||
- 预设美观主题(Nerd Font 图标丰富)
|
||||
- 显示:Git 分支/状态、Go 版本、Node.js 版本、执行时间、错误码
|
||||
- 自定义 `~/.config/starship.toml`
|
||||
|
||||
**Zsh 增强配置**:
|
||||
- 历史记录:50000 条,去重、共享
|
||||
- 补全:菜单选择、大小写不敏感、模糊匹配
|
||||
- 常用别名:`ll`, `la`, `..`, `...`, `cls`, `ports` 等
|
||||
|
||||
#### 6. Nerd Font 安装
|
||||
|
||||
- 下载 **JetBrains Mono Nerd Font**(从 GitHub Release)
|
||||
- 安装到 `~/.local/share/fonts/`(Linux 侧)
|
||||
- 同时复制到 `/mnt/c/Users/<user>/AppData/Local/Microsoft/Windows/Fonts/`(Windows 侧,供 Windows Terminal 使用)
|
||||
- 运行 `fc-cache -fv` 刷新字体缓存
|
||||
- 输出 Windows Terminal 字体配置提示
|
||||
|
||||
#### 7. 现代 CLI 工具
|
||||
|
||||
| 工具 | 替代 | 安装方式 |
|
||||
|------|------|---------|
|
||||
| `bat` | cat | apt (22.04+) / GitHub Release (20.04) |
|
||||
| `eza` | ls | apt (24.04+) / GitHub Release (旧版) |
|
||||
| `fd-find` | find | apt |
|
||||
| `ripgrep` | grep | apt |
|
||||
| `fzf` | — | apt / GitHub Release |
|
||||
| `zoxide` | cd/z | apt (24.04+) / GitHub Release |
|
||||
| `delta` | diff | GitHub Release |
|
||||
| `lazygit` | git TUI | GitHub Release |
|
||||
| `tldr` | man | npm (Node.js 安装后) |
|
||||
|
||||
#### 8. Go 最新版安装
|
||||
|
||||
- 自动从 `https://go.dev/dl/?mode=json` 检测最新稳定版
|
||||
- 下载 `go<version>.linux-<arch>.tar.gz` 并安装到 `/usr/local/go`
|
||||
- 创建 `$HOME/go/{bin,src,pkg}` 目录
|
||||
|
||||
**环境变量配置**(写入以下所有位置):
|
||||
|
||||
| 文件 | 说明 |
|
||||
|------|------|
|
||||
| `/etc/profile.d/golang.sh` | 系统级,所有用户生效 |
|
||||
| `~/.bashrc` | Bash 交互式 Shell |
|
||||
| `~/.zshrc` | Zsh 交互式 Shell |
|
||||
| `~/.profile` | 登录 Shell(sh/bash) |
|
||||
|
||||
```bash
|
||||
export GOROOT=/usr/local/go
|
||||
export GOPATH=$HOME/go
|
||||
export PATH=$GOROOT/bin:$GOPATH/bin:$PATH
|
||||
export GOPROXY=https://goproxy.cn,direct
|
||||
export GONOSUMDB=*
|
||||
```
|
||||
|
||||
#### 9. Node.js LTS 安装
|
||||
|
||||
- 安装 **fnm**(Fast Node Manager)从 GitHub Release
|
||||
- 安装 Node.js 最新 LTS 版本
|
||||
- 设置 npm 中国镜像:`registry.npmmirror.com`
|
||||
|
||||
**环境变量配置**(写入以下所有位置):
|
||||
|
||||
| 文件 | 说明 |
|
||||
|------|------|
|
||||
| `~/.bashrc` | `eval "$(fnm env --shell bash)"` |
|
||||
| `~/.zshrc` | `eval "$(fnm env --shell zsh)"` |
|
||||
| `~/.profile` | `eval "$(fnm env)"` |
|
||||
|
||||
#### 10. 代理配置(可选)
|
||||
|
||||
当 `--proxy` 启用时:
|
||||
|
||||
```bash
|
||||
export http_proxy="http://192.168.1.20:7890"
|
||||
export https_proxy="http://192.168.1.20:7890"
|
||||
export no_proxy="localhost,127.0.0.1,::1,192.168.0.0/16,10.0.0.0/8"
|
||||
```
|
||||
|
||||
- 写入 `~/.bashrc`、`~/.zshrc`、`~/.profile`
|
||||
- 配置 `git config --global http.proxy` 和 `https.proxy`
|
||||
- 提供 `proxy_on` / `proxy_off` 快捷函数
|
||||
|
||||
---
|
||||
|
||||
## 设计决策
|
||||
|
||||
| 决策点 | 选择 | 理由 |
|
||||
|--------|------|------|
|
||||
| 插件管理器 | Zinit | Turbo 延迟加载,启动 < 100ms,远快于 oh-my-zsh(通常 500ms+) |
|
||||
| 提示符 | Starship | Rust 编写极快,跨 Shell(bash/zsh 都能用),丰富图标 |
|
||||
| Node.js 管理 | fnm | Rust 编写,比 nvm 快 40x,支持 `.node-version` / `.nvmrc` |
|
||||
| 字体 | JetBrains Mono Nerd | 编程利器,包含 6000+ 图标,Ligature 支持 |
|
||||
| 镜像源 | 清华 TUNA(默认) | 国内速度最快最稳定的开源镜像之一 |
|
||||
| APT 格式 | 自动适配 | 24.04+ 用 DEB822,旧版用 sources.list |
|
||||
| Go 代理 | goproxy.cn | 国内最快的 Go 模块代理 |
|
||||
| npm 镜像 | npmmirror.com | 淘宝 npm 镜像,国内标配 |
|
||||
|
||||
## Verification Plan
|
||||
|
||||
### 脚本内置验证
|
||||
|
||||
脚本执行完毕后自动运行验证检查,输出安装总结表:
|
||||
|
||||
```
|
||||
✅ Ubuntu 24.04 (noble) - amd64
|
||||
✅ APT Mirror: mirrors.tuna.tsinghua.edu.cn
|
||||
✅ Locale: en_US.UTF-8
|
||||
✅ Base tools: curl git wget telnet ping mtr ✓
|
||||
✅ Zsh 5.9 + Zinit ✓
|
||||
✅ Starship v1.x.x ✓
|
||||
✅ JetBrains Mono Nerd Font ✓
|
||||
✅ Go 1.24.x ✓ (GOROOT=/usr/local/go)
|
||||
✅ Node.js v22.x.x ✓ (fnm)
|
||||
✅ npm registry: registry.npmmirror.com
|
||||
```
|
||||
|
||||
### Manual Verification
|
||||
|
||||
1. 重新打开 WSL 终端,确认 Zsh + Starship 启动正常
|
||||
2. Windows Terminal 中设置字体为 "JetBrainsMono Nerd Font"
|
||||
3. 验证 `go version`、`node --version`、`npm --version` 输出
|
||||
4. 验证 `bat`、`eza`、`fzf`、`rg` 等工具可用
|
||||
124
35-黑苹果DELL/3-WSL系统优化/3.2-wsl初始化脚本-实现内容.md
Normal file
124
35-黑苹果DELL/3-WSL系统优化/3.2-wsl初始化脚本-实现内容.md
Normal file
@@ -0,0 +1,124 @@
|
||||
# WSL2 Development Environment Setup
|
||||
|
||||
## 📁 Created Files
|
||||
|
||||
| File | Lines | Description |
|
||||
|------|-------|-------------|
|
||||
| [wsl-dev-setup.sh](file:///c:/Users/wdd/Documents/IdeaProjects/RMDC-CLOUD/rmdc-continuous-integration/scripts/wsl/wsl-dev-setup.sh) | 1541 | 一键配置脚本(单文件,模块化函数设计) |
|
||||
|
||||
## 🏗️ Script Architecture
|
||||
|
||||
```mermaid
|
||||
graph TD
|
||||
A["main()"] --> B["detect_system()"]
|
||||
B --> C{"Module Dispatcher"}
|
||||
C --> D["setup_proxy()"]
|
||||
C --> E["setup_apt_mirror()"]
|
||||
C --> F["setup_locale()"]
|
||||
C --> G["install_base_tools()"]
|
||||
C --> H["install_zsh_terminal()"]
|
||||
C --> I["install_nerd_fonts()"]
|
||||
C --> J["install_modern_cli()"]
|
||||
C --> K["install_golang()"]
|
||||
C --> L["install_nodejs()"]
|
||||
C --> M["print_summary()"]
|
||||
|
||||
H --> H1["_generate_zshrc()"]
|
||||
H --> H2["_generate_p10k()"]
|
||||
|
||||
J --> J1["bat · eza · fd · rg"]
|
||||
J --> J2["fzf · zoxide · delta · lazygit"]
|
||||
|
||||
K --> K1["_setup_go_env()"]
|
||||
L --> L1["_setup_fnm_env()"]
|
||||
```
|
||||
|
||||
## 📦 Module Details
|
||||
|
||||
### 1. Proxy (Clash Verge)
|
||||
- 设置 `http_proxy`, `https_proxy`, `all_proxy` 环境变量
|
||||
- 提供 `proxy_on` / `proxy_off` 快捷函数
|
||||
- 自动写入 `.bashrc`, `.zshrc`, `.profile`
|
||||
- 配置 Git 代理
|
||||
|
||||
### 2. APT Mirror
|
||||
- **< 24.04**: 传统 `sources.list` 格式
|
||||
- **≥ 24.04**: DEB822 `.sources` 格式
|
||||
- 支持: 清华 TUNA / 中科大 USTC / 阿里云
|
||||
|
||||
### 3. Terminal: Zsh + Zinit + Powerlevel10k
|
||||
- **Zinit** Turbo 延迟加载:启动 < 100ms
|
||||
- **Powerlevel10k** Rainbow 风格:Powerline 箭头分隔 + 彩色背景段
|
||||
- **Instant Prompt**: 终端瞬时响应
|
||||
- **Transient Prompt**: 历史命令显示简化
|
||||
- **插件**: fast-syntax-highlighting, autosuggestions, completions, fzf-tab, history-substring-search, OMZ git/sudo/extract snippets
|
||||
|
||||
### 4. Go + Node.js
|
||||
- Go: 自动检测最新版,`golang.google.cn` 镜像下载,`goproxy.cn` 模块代理
|
||||
- Node.js: **fnm** (Rust 编写,比 nvm 快 40x),npm 镜像 `npmmirror.com`
|
||||
- 环境变量写入: `/etc/profile.d/`, `.bashrc`, `.profile`, `.zshrc`
|
||||
|
||||
### 5. Modern CLI Tools
|
||||
|
||||
| Tool | Replaces | Source |
|
||||
|------|----------|--------|
|
||||
| bat | cat | apt (22.04+) / GitHub .deb |
|
||||
| eza | ls | apt (24.04+) / GitHub tar |
|
||||
| fd | find | apt / GitHub .deb |
|
||||
| ripgrep | grep | apt / GitHub .deb |
|
||||
| fzf | — | apt / git clone |
|
||||
| zoxide | cd | apt (24.04+) / GitHub .deb |
|
||||
| delta | diff | GitHub .deb + git config |
|
||||
| lazygit | git TUI | GitHub tar |
|
||||
|
||||
## 🚀 Usage
|
||||
|
||||
### Full Installation
|
||||
```bash
|
||||
sudo bash wsl-dev-setup.sh
|
||||
```
|
||||
|
||||
### Selective Modules
|
||||
```bash
|
||||
# Only install Go and Node.js
|
||||
sudo bash wsl-dev-setup.sh --only golang,nodejs
|
||||
|
||||
# Skip fonts and modern CLI
|
||||
sudo bash wsl-dev-setup.sh --skip fonts,modern-cli
|
||||
|
||||
# Use USTC mirror
|
||||
sudo bash wsl-dev-setup.sh --mirror ustc
|
||||
|
||||
# Disable proxy
|
||||
sudo bash wsl-dev-setup.sh --no-proxy
|
||||
|
||||
# Preview (dry run)
|
||||
bash wsl-dev-setup.sh --dry-run
|
||||
```
|
||||
|
||||
### Custom Configuration
|
||||
```bash
|
||||
# Environment variables
|
||||
sudo WINDOWS_HOST_IP=10.0.0.1 CLASH_PROXY_PORT=7891 bash wsl-dev-setup.sh
|
||||
sudo GO_VERSION=1.23.0 bash wsl-dev-setup.sh
|
||||
sudo NERD_FONT=FiraCode bash wsl-dev-setup.sh
|
||||
```
|
||||
|
||||
## ✅ Validation
|
||||
|
||||
- [x] Bash syntax check (`bash -n`): **PASSED**
|
||||
- [x] 1541 lines, modular function design
|
||||
- [x] Idempotent: safe to run multiple times
|
||||
- [x] Error isolation: module failures don't block other modules
|
||||
- [x] Supports: Ubuntu 20.04 / 22.04 / 24.04 / 26.04
|
||||
- [x] Supports: amd64 / arm64 architectures
|
||||
|
||||
## ⚠️ Post-Install Notes
|
||||
|
||||
> [!IMPORTANT]
|
||||
> **Windows Terminal 字体设置**: 安装完成后需在 Windows Terminal 中手动设置字体为 `JetBrainsMono Nerd Font`,否则终端图标会显示为方框。
|
||||
>
|
||||
> Settings → Profiles → Defaults → Appearance → Font face
|
||||
|
||||
> [!TIP]
|
||||
> 首次进入 Zsh 后,如对预设 Powerlevel10k 主题不满意,可运行 `p10k configure` 重新配置。
|
||||
1958
35-黑苹果DELL/3-WSL系统优化/wsl-dev-setup.sh
Normal file
1958
35-黑苹果DELL/3-WSL系统优化/wsl-dev-setup.sh
Normal file
File diff suppressed because it is too large
Load Diff
@@ -1,3 +0,0 @@
|
||||
windows的WSL2的系统,能否 原生的运行Codex和ClaudeCodeDesktop
|
||||
|
||||
WSL2有无原生的桌面,windows可以直接访问操作的那种,类似于两套系统同时运行
|
||||
15
35-黑苹果DELL/3-windows的终端工具.md
Normal file
15
35-黑苹果DELL/3-windows的终端工具.md
Normal file
@@ -0,0 +1,15 @@
|
||||
我现在经常使用mobaxterm作为windows的终端,请你寻找更多好用的终端工具
|
||||
|
||||
需求如下:
|
||||
1. 可以被破解
|
||||
2. 开源项目 需要活跃的开发
|
||||
3. 具有账号管理能力,能够管理很多的终端账号
|
||||
4. 具有现代化的设计及丰富的终端能力
|
||||
5. 寻找最新的mobaxterm的可用破解版
|
||||
|
||||
不可取
|
||||
1. 不要FinalShell
|
||||
2. 不要SecurityCRT
|
||||
3. 不要Xshell
|
||||
|
||||
请你基于上述的需求,执行分析调研 给我可选的结果
|
||||
19
35-黑苹果DELL/4-windows协同MacOS/1-Codex使用分析-prompt.md
Normal file
19
35-黑苹果DELL/4-windows协同MacOS/1-Codex使用分析-prompt.md
Normal file
@@ -0,0 +1,19 @@
|
||||
你是一名精通利用大模型Agent开发的工程师,你熟练的使用各类的Agent工具,如ClaudeCode Codex Reasonix OpenCode等
|
||||
|
||||
你更加偏向于使用桌面客户端的形式
|
||||
|
||||
你熟练使用windows和macos系统,你熟悉这两个系统的文件管理方式,文件权限管理方式,系统服务管理方式,网络配置管理方式
|
||||
|
||||
我有MacOS和Windows两台电脑,我的工作主力是Windows,我能否将MacOS设置为Agent执行的中枢,永不停机
|
||||
|
||||
现在的方案是
|
||||
1. 在windows上制作一个一键脚本,脚本需要通用,适合很多不同的项目
|
||||
2. 脚本的能力如下
|
||||
1. windows将代码特定分支提交到Git仓库
|
||||
2. windows通过ssh远程MacOS 执行命令行的拉取特定分支代码
|
||||
3. Windows通过本机的Codex远程操作MacOS的Codex进行Agent运行
|
||||
4. 任务完成之后,Windows获得通知
|
||||
5. Windows通过脚本能力,SSH到远程MacOS,将代码特定分支提交到Git仓库
|
||||
6. windows本地拉取特定分支代码,实现完整的开发流程
|
||||
|
||||
请你帮我分析上述方案是否合理,是否有更加合理的方案,如果有 请给出优化和改进的措施
|
||||
3
35-黑苹果DELL/5-windows番茄工作法工具.md
Normal file
3
35-黑苹果DELL/5-windows番茄工作法工具.md
Normal file
@@ -0,0 +1,3 @@
|
||||
请你帮我分析windows下面能够支持番茄工作法的工具,能够强制开启休息 中断手头工作的那种
|
||||
|
||||
我现在使用的
|
||||
@@ -1,80 +0,0 @@
|
||||
# 替换 desktop_user 和台式机 IP
|
||||
ssh-copy-id -i C:\Users\wddsh\.ssh\id_ed25519.pub wdd@192.168.1.194
|
||||
|
||||
# 或手动追加(ssh-copy-id 若不可用)
|
||||
cat C:\Users\wddsh\.ssh\id_ed25519.pub | ssh wdd@192.168.1.194 \
|
||||
"mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
|
||||
|
||||
# 验证免密登录
|
||||
ssh -i C:\Users\wddsh\.ssh\id_ed25519 wdd@192.168.1.194 "echo SSH OK"
|
||||
|
||||
|
||||
cat >> C:\Users\wddsh\.ssh\config << 'EOF'
|
||||
Host wdd-pink-station
|
||||
HostName 192.168.1.194
|
||||
User wdd
|
||||
IdentityFile C:\Users\wddsh\.ssh\id_ed25519
|
||||
ServerAliveInterval 60
|
||||
ServerAliveCountMax 3
|
||||
EOF
|
||||
chmod 600 ~/.ssh/config
|
||||
|
||||
# 验证简写连接
|
||||
ssh wdd-pink-station "echo Connected"
|
||||
|
||||
|
||||
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
# ── 配置区 ────────────────────────────────────────────────
|
||||
SRC="/c/Users/wddsh/Documents/xwechat_files"
|
||||
REMOTE_HOST="wdd-pink-station" # 对应 ~/.ssh/config 中的 Host
|
||||
REMOTE_DST="/c/Users/wdd/wechat_files/xwechat_files"
|
||||
LOG_DIR="/c/Users/wddsh/wechat_backup/logs"
|
||||
LOG_FILE="${LOG_DIR}/wechat_sync_$(date +%Y%m%d).log"
|
||||
# ─────────────────────────────────────────────────────────
|
||||
|
||||
mkdir -p "$LOG_DIR"
|
||||
|
||||
log() {
|
||||
echo "[$(date '+%Y-%m-%d %H:%M:%S')] $*" | tee -a "$LOG_FILE"
|
||||
}
|
||||
|
||||
log "======== 微信数据同步开始 ========"
|
||||
|
||||
# ── 检测微信是否运行 ──────────────────────────────────────
|
||||
if tasklist.exe 2>/dev/null | grep -qi "Weixin.exe"; then
|
||||
log "警告:微信正在运行,跳过 db_storage(数据库锁定中)"
|
||||
EXCLUDE_DB="--exclude=db_storage/"
|
||||
else
|
||||
log "微信未运行,全量同步数据库"
|
||||
EXCLUDE_DB=""
|
||||
fi
|
||||
|
||||
# ── rsync 同步 ────────────────────────────────────────────
|
||||
rsync -avz \
|
||||
--progress \
|
||||
--partial \
|
||||
--delete \
|
||||
--exclude="temp/" \
|
||||
--exclude="cache/" \
|
||||
--exclude="apm_record/" \
|
||||
--exclude="*.lock" \
|
||||
${EXCLUDE_DB} \
|
||||
-e "ssh -F ~/.ssh/config" \
|
||||
"${SRC}/" \
|
||||
"${REMOTE_HOST}:${REMOTE_DST}/" \
|
||||
2>&1 | tee -a "$LOG_FILE"
|
||||
|
||||
EXIT_CODE=${PIPESTATUS[0]}
|
||||
if [ $EXIT_CODE -eq 0 ]; then
|
||||
log "同步成功完成 ✓"
|
||||
else
|
||||
log "同步失败,rsync 退出码: $EXIT_CODE"
|
||||
fi
|
||||
|
||||
# ── 清理 30 天前日志 ──────────────────────────────────────
|
||||
find "$LOG_DIR" -name "wechat_sync_*.log" -mtime +30 -delete 2>/dev/null
|
||||
|
||||
log "======== 同步结束 ========"
|
||||
BIN
35-黑苹果DELL/EFI-DELL-Latitude5400-15.7.7-可运行-WIFI无法使用.7z
Normal file
BIN
35-黑苹果DELL/EFI-DELL-Latitude5400-15.7.7-可运行-WIFI无法使用.7z
Normal file
Binary file not shown.
35
99-项目模板/4-系统架构师/3-需求文档优化师.md
Normal file
35
99-项目模板/4-系统架构师/3-需求文档优化师.md
Normal file
@@ -0,0 +1,35 @@
|
||||
你是一名资深系统架构师,擅长设计简洁、可靠、可演进且避免过度设计的微服务系统。
|
||||
|
||||
设计原则:
|
||||
1. 以第一性原理为基础,优先解决真实业务需求和核心工程问题。
|
||||
2. 不机械遵循设计文档;在充分理解约束的前提下,可提出更合理、更简洁、更可维护的替代方案。
|
||||
3. 充分发挥资深架构师经验,对系统进行必要优化,但避免炫技式设计和不必要的复杂化。
|
||||
4. 关注系统的可维护性、可扩展性、可观测性、稳定性、安全性和工程落地成本。
|
||||
5. 结合现代云原生架构实践,合理使用微服务、容器化、Kubernetes、Docker 等技术。
|
||||
|
||||
项目技术栈:
|
||||
- 后端:Golang、Gin、GORM
|
||||
- 数据库:PostgreSQL
|
||||
- 缓存:Redis
|
||||
- 前端:Vue 3、Vuetify 3、TypeScript
|
||||
- 架构与基础设施:微服务架构、Docker、Kubernetes、云原生相关技术
|
||||
|
||||
禁止内容:
|
||||
1. 禁止丢失原始的需求信息
|
||||
2. 禁止过度设计
|
||||
3. 禁止过度优化
|
||||
4. 禁止增加不切实际的复杂功能
|
||||
5. 禁止输出代码内容
|
||||
6. 禁止直接在原文档修改
|
||||
7. 禁止使用任何skill
|
||||
8. 禁止读取非本次上下文的其他文件
|
||||
|
||||
遵守规范:
|
||||
1. 应该先分析原始的需求文档,充分理解设计意图和原始的需求
|
||||
2. 需要说明优化点, 修改点, 新增点
|
||||
3. 不理解的地方, 关键设计点, 需要和用户确认
|
||||
4. 需要先设计然后充分确认之后, 再生成最终的定版的软件设计需求文档
|
||||
5. 生成文件应该创建新的文件,不要在原文档修改
|
||||
|
||||
|
||||
你的核心职责是基于用户原始需求设计文档,进行文档结构重塑、内容专业化和结构优化,补充不足,制定完善的定版的软件设计需求文档。请你基于附件生成标准规范的的原始需求文档
|
||||
40
99-项目模板/4-系统架构师/4-PRD转化大模型专家.md
Normal file
40
99-项目模板/4-系统架构师/4-PRD转化大模型专家.md
Normal file
@@ -0,0 +1,40 @@
|
||||
你是一名资深系统架构师,擅长设计简洁、可靠、可演进且避免过度设计的微服务系统。
|
||||
|
||||
你的核心职责是根据规范的PRD充当系统架构师、研发项目经理的角色,将PRD拆解为其他大模型可以参考和依赖的系统简要设计和实现的大纲(简称大纲),此大纲会作为goal目标设定给其他的大模型Agent进行持久化任务
|
||||
|
||||
设计原则:
|
||||
1. 以第一性原理为基础,优先解决真实业务需求和核心工程问题。
|
||||
2. 不机械遵循设计文档;在充分理解约束的前提下,可提出更合理、更简洁、更可维护的替代方案。
|
||||
3. 充分发挥资深架构师经验,对系统进行必要优化,但避免炫技式设计和不必要的复杂化。
|
||||
4. 关注系统的可维护性、可扩展性、可观测性、稳定性、安全性和工程落地成本。
|
||||
5. 结合现代云原生架构实践,合理使用微服务、容器化、Kubernetes、Docker 等技术。
|
||||
|
||||
项目技术栈:
|
||||
- 后端:Golang、Gin、GORM
|
||||
- 数据库:PostgreSQL
|
||||
- 缓存:Redis
|
||||
- 前端:Vue 3、Vuetify 3、TypeScript
|
||||
- 架构与基础设施:微服务架构、Docker、Kubernetes、云原生相关技术
|
||||
|
||||
禁止内容
|
||||
1. 禁止丢失原始的需求信息
|
||||
2. 禁止过度设计
|
||||
3. 禁止直接在原文档修改
|
||||
4. 禁止使用任何skill
|
||||
5. 禁止读取非本次上下文的其他文件
|
||||
6. 禁止输出代码规范和大面积的代码实现,由其他AgentSkill实现
|
||||
7. 禁止替其他Agent实现过多内容,需要把控核心需求和达成条件
|
||||
|
||||
核心原则
|
||||
1. 充分理解PRD的设计意图,设计层次递进的大纲文件
|
||||
2. 大纲文件应该是很多份的,分阶段,分文件输出多个简要设计实现大纲
|
||||
3. 大纲应该包含严格的阶段性开发基础条件要求,阶段性设计目标,需要包含严格的阶段性实现达成条件
|
||||
4. 大纲不应该包含具体的实现代码,除非是非常核心的设计实现
|
||||
5. 考虑实现可以并行,如果有可以并行实现的大纲,应该说明
|
||||
6. 不理解的地方, 关键设计点, 需要和用户确认
|
||||
|
||||
基本要求
|
||||
1. 应该建立新的目录,将所有的大纲文件统一输入
|
||||
|
||||
|
||||
请基于下面的文档,按照上述的要求拆分大纲
|
||||
Reference in New Issue
Block a user