@namewta/speculo 2.0.5 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (283) hide show
  1. package/README.md +3 -0
  2. package/THIRD-PARTY-NOTICES.md +4 -0
  3. package/dist/src/agent-skills.d.ts +5 -0
  4. package/dist/src/agent-skills.js +10 -7
  5. package/dist/src/agent-skills.js.map +1 -1
  6. package/dist/src/cli.js +17 -4
  7. package/dist/src/cli.js.map +1 -1
  8. package/dist/src/coordination.d.ts +3 -3
  9. package/dist/src/coordination.js +21 -4
  10. package/dist/src/coordination.js.map +1 -1
  11. package/dist/src/doctor.js +8 -1
  12. package/dist/src/doctor.js.map +1 -1
  13. package/dist/src/external-files.d.ts +4 -2
  14. package/dist/src/external-files.js +4 -4
  15. package/dist/src/external-files.js.map +1 -1
  16. package/dist/src/hub-catalog.d.ts +11 -0
  17. package/dist/src/hub-catalog.js +91 -0
  18. package/dist/src/hub-catalog.js.map +1 -0
  19. package/dist/src/hub-resources.json +1 -0
  20. package/dist/src/hub-skills.d.ts +53 -0
  21. package/dist/src/hub-skills.js +157 -0
  22. package/dist/src/hub-skills.js.map +1 -0
  23. package/dist/src/index.d.ts +6 -0
  24. package/dist/src/index.js +48 -47
  25. package/dist/src/index.js.map +1 -1
  26. package/dist/src/install-ui.d.ts +16 -0
  27. package/dist/src/install-ui.js +67 -11
  28. package/dist/src/install-ui.js.map +1 -1
  29. package/dist/src/manifest.d.ts +2 -0
  30. package/dist/src/manifest.js +2 -0
  31. package/dist/src/manifest.js.map +1 -1
  32. package/dist/src/refresh.d.ts +1 -0
  33. package/dist/src/refresh.js +13 -10
  34. package/dist/src/refresh.js.map +1 -1
  35. package/dist/src/retained-workflows.d.ts +10 -0
  36. package/dist/src/retained-workflows.js +25 -0
  37. package/dist/src/retained-workflows.js.map +1 -0
  38. package/dist/src/runtime-entry.d.ts +1 -0
  39. package/dist/src/runtime-entry.js +1 -0
  40. package/dist/src/runtime-entry.js.map +1 -1
  41. package/dist/src/skill-trees.d.ts +27 -0
  42. package/dist/src/skill-trees.js +118 -0
  43. package/dist/src/skill-trees.js.map +1 -0
  44. package/dist/src/transaction.d.ts +3 -14
  45. package/dist/src/transaction.js +20 -36
  46. package/dist/src/transaction.js.map +1 -1
  47. package/dist/src/workflow-install.d.ts +15 -0
  48. package/dist/src/workflow-install.js +104 -0
  49. package/dist/src/workflow-install.js.map +1 -0
  50. package/package.json +4 -2
  51. package/skills-hub/automation/grok-bot-team-steward/CHEATSHEET.md +17 -0
  52. package/skills-hub/automation/grok-bot-team-steward/INSTALL.md +23 -0
  53. package/skills-hub/automation/grok-bot-team-steward/LICENSE +21 -0
  54. package/skills-hub/automation/grok-bot-team-steward/README.md +9 -0
  55. package/skills-hub/automation/grok-bot-team-steward/SKILL.md +52 -0
  56. package/skills-hub/automation/grok-bot-team-steward/agents/openai.yaml +4 -0
  57. package/skills-hub/automation/grok-bot-team-steward/references/00-hard-rules.md +50 -0
  58. package/skills-hub/automation/grok-bot-team-steward/references/01-snapshot-schema.md +84 -0
  59. package/skills-hub/automation/grok-bot-team-steward/references/02-export-protocol.md +57 -0
  60. package/skills-hub/automation/grok-bot-team-steward/references/03-restore-protocol.md +64 -0
  61. package/skills-hub/automation/grok-bot-team-steward/references/04-inventory.md +37 -0
  62. package/skills-hub/automation/grok-bot-team-steward/references/05-conversations.md +71 -0
  63. package/skills-hub/automation/grok-bot-team-steward/references/06-sanitizer.md +39 -0
  64. package/skills-hub/automation/grok-bot-team-steward/references/07-prompts.md +87 -0
  65. package/skills-hub/automation/grok-bot-team-steward/references/08-verification.md +30 -0
  66. package/skills-hub/automation/grok-bot-team-steward/references/09-sources.md +31 -0
  67. package/skills-hub/automation/grok-bot-team-steward/scripts/scrub.sh +17 -0
  68. package/skills-hub/automation/grok-bot-team-steward/scripts/snapshot-name.sh +18 -0
  69. package/skills-hub/automation/grok-bot-team-steward/scripts/validate-snapshot.sh +62 -0
  70. package/skills-hub/automation/grok-bot-team-steward/steward/ACTIVATE.md +58 -0
  71. package/skills-hub/automation/grok-bot-team-steward/steward/SETUP-INSTRUCTIONS.md +33 -0
  72. package/skills-hub/automation/grok-bot-team-steward/steward/STEWARD-PROFILE.md +28 -0
  73. package/skills-hub/automation/grok-bot-team-steward/templates/snapshot/CHANGELOG.md +3 -0
  74. package/skills-hub/automation/grok-bot-team-steward/templates/snapshot/CHARTER.md +27 -0
  75. package/skills-hub/automation/grok-bot-team-steward/templates/snapshot/DROP-LIST.md +10 -0
  76. package/skills-hub/automation/grok-bot-team-steward/templates/snapshot/GAPS.md +6 -0
  77. package/skills-hub/automation/grok-bot-team-steward/templates/snapshot/INIT.md +14 -0
  78. package/skills-hub/automation/grok-bot-team-steward/templates/snapshot/MANIFEST.md +30 -0
  79. package/skills-hub/automation/grok-bot-team-steward/templates/snapshot/MANIFEST.yaml +20 -0
  80. package/skills-hub/automation/grok-bot-team-steward/templates/snapshot/ORG.md +15 -0
  81. package/skills-hub/automation/grok-bot-team-steward/templates/snapshot/README.md +8 -0
  82. package/skills-hub/automation/grok-bot-team-steward/templates/snapshot/RESTORE.md +13 -0
  83. package/skills-hub/automation/grok-bot-team-steward/templates/snapshot/ROSTER.md +11 -0
  84. package/skills-hub/automation/grok-bot-team-steward/templates/snapshot/bots/_SLUG/GAPS.md +7 -0
  85. package/skills-hub/automation/grok-bot-team-steward/templates/snapshot/bots/_SLUG/MEMORY.md +9 -0
  86. package/skills-hub/automation/grok-bot-team-steward/templates/snapshot/bots/_SLUG/PROFILE.md +27 -0
  87. package/skills-hub/automation/grok-bot-team-steward/templates/snapshot/bots/_SLUG/agent-spec.md +9 -0
  88. package/skills-hub/automation/grok-bot-team-steward/templates/snapshot/bots/_SLUG/conversations/INDEX.md +5 -0
  89. package/skills-hub/automation/grok-bot-team-steward/templates/snapshot/bots/_SLUG/conversations/main.md +9 -0
  90. package/skills-hub/automation/grok-bot-team-steward/templates/snapshot/bots/_SLUG/routines.md +5 -0
  91. package/skills-hub/automation/grok-bot-team-steward/templates/snapshot/bots/_SLUG/skills.md +5 -0
  92. package/skills-hub/automation/grok-bot-team-steward/templates/snapshot/connectors.md +7 -0
  93. package/skills-hub/automation/grok-bot-team-steward/templates/snapshot/meta/COMPLETED.md +6 -0
  94. package/skills-hub/automation/grok-bot-team-steward/templates/snapshot/meta/CREATED.md +6 -0
  95. package/skills-hub/automation/grok-bot-team-steward/templates/snapshot/meta/RESTORE-NOTES.md +13 -0
  96. package/skills-hub/automation/grok-bot-team-steward/templates/snapshot/meta/SANITIZER.md +7 -0
  97. package/skills-hub/automation/grok-bot-team-steward/templates/snapshot/meta/SOURCE.md +8 -0
  98. package/skills-hub/automation/grok-bot-team-steward/templates/snapshot/rooms/_ROOM.md +8 -0
  99. package/skills-hub/automation/grok-bot-team-steward/templates/snapshot/routines/_ROUTINE.md +12 -0
  100. package/skills-hub/automation/grok-bot-team-steward/templates/snapshot/shared/shared-memory.md +5 -0
  101. package/skills-hub/automation/grok-bot-team-steward/templates/snapshot/shared/workspace-map.md +5 -0
  102. package/skills-hub/automation/grok-bot-team-steward/templates/snapshot/skills/_SKILL/SKILL.md +18 -0
  103. package/skills-hub/automation/herdr/SKILL.md +246 -0
  104. package/skills-hub/automation/orca/SKILL.md +328 -0
  105. package/skills-hub/coding/gitea-repo/LICENSE +21 -0
  106. package/skills-hub/coding/gitea-repo/SKILL.md +50 -0
  107. package/skills-hub/coding/gitea-repo/agents/openai.yaml +4 -0
  108. package/skills-hub/coding/gitea-repo/references/auth-and-scopes.md +58 -0
  109. package/skills-hub/coding/gitea-repo/references/endpoint-map.md +80 -0
  110. package/skills-hub/coding/gitea-repo/references/pagination-and-errors.md +34 -0
  111. package/skills-hub/coding/gitea-repo/scripts/gitea_api.py +814 -0
  112. package/skills-hub/coding/github-repo-steward/LICENSE +21 -0
  113. package/skills-hub/coding/github-repo-steward/SKILL.md +48 -0
  114. package/skills-hub/coding/github-repo-steward/agents/openai.yaml +4 -0
  115. package/skills-hub/coding/github-repo-steward/references/00-auth-and-tokens.md +73 -0
  116. package/skills-hub/coding/github-repo-steward/references/01-inventory.md +55 -0
  117. package/skills-hub/coding/github-repo-steward/references/02-lifecycle.md +57 -0
  118. package/skills-hub/coding/github-repo-steward/references/03-stars.md +42 -0
  119. package/skills-hub/coding/github-repo-steward/references/04-hygiene.md +40 -0
  120. package/skills-hub/coding/github-repo-steward/references/05-sources.md +42 -0
  121. package/skills-hub/coding/github-repo-steward/scripts/inventory.sh +64 -0
  122. package/skills-hub/coding/vscode-fullstack/LICENSE +21 -0
  123. package/skills-hub/coding/vscode-fullstack/SKILL.md +47 -0
  124. package/skills-hub/coding/vscode-fullstack/agents/openai.yaml +4 -0
  125. package/skills-hub/coding/vscode-fullstack/references/extensions-and-settings.md +181 -0
  126. package/skills-hub/coding/vscode-fullstack/references/profiles-and-validation.md +62 -0
  127. package/skills-hub/coding/vscode-fullstack/references/runtime-reuse.md +52 -0
  128. package/skills-hub/design/photo-retouch/LICENSE +21 -0
  129. package/skills-hub/design/photo-retouch/SKILL.md +50 -0
  130. package/skills-hub/design/photo-retouch/agents/openai.yaml +4 -0
  131. package/skills-hub/design/photo-retouch/references/basic-retouch.md +58 -0
  132. package/skills-hub/design/photo-retouch/references/formal-portrait.md +57 -0
  133. package/skills-hub/design/photo-retouch/references/object-and-canvas.md +82 -0
  134. package/skills-hub/design/photo-retouch/references/product-photo.md +41 -0
  135. package/skills-hub/design/photo-retouch/references/repair-and-look.md +61 -0
  136. package/skills-hub/design/photo-retouch/references/social-effects.md +55 -0
  137. package/skills-hub/design/photo-retouch/references/travel-creative.md +79 -0
  138. package/skills-hub/system/clash-client-profile/LICENSE +21 -0
  139. package/skills-hub/system/clash-client-profile/SKILL.md +79 -0
  140. package/skills-hub/system/clash-client-profile/agents/openai.yaml +4 -0
  141. package/skills-hub/system/clash-client-profile/references/acceptance.md +81 -0
  142. package/skills-hub/system/clash-client-profile/references/browser-privacy.md +35 -0
  143. package/skills-hub/system/clash-client-profile/references/clash-verge.md +40 -0
  144. package/skills-hub/system/clash-client-profile/references/dns-workflow.md +147 -0
  145. package/skills-hub/system/clash-client-profile/references/flclash.md +24 -0
  146. package/skills-hub/system/clash-client-profile/references/network-performance.md +25 -0
  147. package/skills-hub/system/clash-client-profile/references/platform-dns.md +109 -0
  148. package/skills-hub/system/clash-client-profile/references/sources.md +46 -0
  149. package/skills-hub/system/clash-client-profile/references/troubleshooting.md +82 -0
  150. package/skills-hub/system/clash-client-profile/scripts/dns_guard.py +650 -0
  151. package/skills-hub/system/clash-client-profile/scripts/proxy_doctor.py +213 -0
  152. package/skills-hub/system/clash-client-profile/scripts/render_rules.py +34 -0
  153. package/skills-hub/system/clash-client-profile/templates/ai-rules.yaml +18 -0
  154. package/skills-hub/system/clash-client-profile/templates/dns-request.example.json +9 -0
  155. package/skills-hub/system/clash-client-profile/templates/dns.yaml +8 -0
  156. package/skills-hub/system/linux-dev-disk-cleanup/LICENSE +21 -0
  157. package/skills-hub/system/linux-dev-disk-cleanup/SKILL.md +42 -0
  158. package/skills-hub/system/linux-dev-disk-cleanup/agents/openai.yaml +4 -0
  159. package/skills-hub/system/linux-dev-disk-cleanup/references/linux-cleanup-workflow.md +145 -0
  160. package/skills-hub/system/optimize-codex-config/LICENSE +21 -0
  161. package/skills-hub/system/optimize-codex-config/SKILL.md +101 -0
  162. package/skills-hub/system/optimize-codex-config/agents/openai.yaml +4 -0
  163. package/skills-hub/system/optimize-codex-config/assets/capabilities.example.json +22 -0
  164. package/skills-hub/system/optimize-codex-config/references/cli.md +35 -0
  165. package/skills-hub/system/optimize-codex-config/references/configuration-contract.md +33 -0
  166. package/skills-hub/system/optimize-codex-config/references/optimization-method.md +38 -0
  167. package/skills-hub/system/optimize-codex-config/references/privacy.md +41 -0
  168. package/skills-hub/system/optimize-codex-config/references/sources.md +24 -0
  169. package/skills-hub/system/optimize-codex-config/references/statusline.md +31 -0
  170. package/skills-hub/system/optimize-codex-config/references/transactions.md +32 -0
  171. package/skills-hub/system/optimize-codex-config/references/troubleshooting.md +95 -0
  172. package/skills-hub/system/optimize-codex-config/scripts/adapters/claude.mjs +24 -0
  173. package/skills-hub/system/optimize-codex-config/scripts/adapters/codex.mjs +10 -0
  174. package/skills-hub/system/optimize-codex-config/scripts/ai-cli-config.mjs +67 -0
  175. package/skills-hub/system/optimize-codex-config/scripts/audit-codex-config.mjs +762 -0
  176. package/skills-hub/system/optimize-codex-config/scripts/lib/document.mjs +166 -0
  177. package/skills-hub/system/optimize-codex-config/scripts/lib/inspect.mjs +211 -0
  178. package/skills-hub/system/optimize-codex-config/scripts/lib/io.mjs +104 -0
  179. package/skills-hub/system/optimize-codex-config/scripts/lib/plan.mjs +79 -0
  180. package/skills-hub/system/optimize-codex-config/scripts/lib/transaction.mjs +205 -0
  181. package/skills-hub/system/optimize-codex-config/scripts/lib/writers.mjs +46 -0
  182. package/skills-hub/system/optimize-codex-config/scripts/statusline/claude-statusline.mjs +94 -0
  183. package/skills-hub/system/optimize-codex-config/scripts/vendor/THIRD-PARTY-NOTICES.txt +250 -0
  184. package/skills-hub/system/optimize-codex-config/scripts/vendor/build-package-lock.json +488 -0
  185. package/skills-hub/system/optimize-codex-config/scripts/vendor/manifest.json +14 -0
  186. package/skills-hub/system/optimize-codex-config/scripts/vendor/parsers.mjs +16 -0
  187. package/skills-hub/system/proxy-region-locale/LICENSE +21 -0
  188. package/skills-hub/system/proxy-region-locale/SKILL.md +42 -0
  189. package/skills-hub/system/proxy-region-locale/agents/openai.yaml +4 -0
  190. package/skills-hub/system/proxy-region-locale/references/linux.md +35 -0
  191. package/skills-hub/system/proxy-region-locale/references/macos.md +31 -0
  192. package/skills-hub/system/proxy-region-locale/references/windows.md +45 -0
  193. package/skills-hub/system/system-health-audit/LICENSE +21 -0
  194. package/skills-hub/system/system-health-audit/SKILL.md +41 -0
  195. package/skills-hub/system/system-health-audit/agents/openai.yaml +4 -0
  196. package/skills-hub/system/system-health-audit/references/platforms.md +37 -0
  197. package/skills-hub/system/system-health-audit/scripts/system_audit.py +41 -0
  198. package/skills-hub/system/windows-dev-disk-cleanup/LICENSE +21 -0
  199. package/skills-hub/system/windows-dev-disk-cleanup/SKILL.md +40 -0
  200. package/skills-hub/system/windows-dev-disk-cleanup/agents/openai.yaml +4 -0
  201. package/skills-hub/system/windows-dev-disk-cleanup/references/windows-cleanup-workflow.md +121 -0
  202. package/skills-hub/writing/.gitkeep +0 -0
  203. package/skills-hub/writing/job-application/LICENSE +21 -0
  204. package/skills-hub/writing/job-application/SKILL.md +160 -0
  205. package/skills-hub/writing/job-application/agents/openai.yaml +4 -0
  206. package/skills-hub/writing/job-application/assets/resume.css +10 -0
  207. package/skills-hub/writing/job-application/config.example.json +9 -0
  208. package/skills-hub/writing/job-application/references/company-research.md +7 -0
  209. package/skills-hub/writing/job-application/references/corpus-schema.md +33 -0
  210. package/skills-hub/writing/job-application/references/honesty-gate.md +29 -0
  211. package/skills-hub/writing/job-application/references/improvement-plan.md +15 -0
  212. package/skills-hub/writing/job-application/references/ingest-protocol.md +18 -0
  213. package/skills-hub/writing/job-application/references/interview-speech.md +16 -0
  214. package/skills-hub/writing/job-application/references/jd-parse.md +18 -0
  215. package/skills-hub/writing/job-application/references/persist-paths.md +34 -0
  216. package/skills-hub/writing/job-application/references/question-bank.md +19 -0
  217. package/skills-hub/writing/job-application/references/rendering.md +9 -0
  218. package/skills-hub/writing/job-application/references/resume-playbook.md +30 -0
  219. package/skills-hub/writing/job-application/scripts/README.md +12 -0
  220. package/skills-hub/writing/job-application/scripts/ingest_kb.py +188 -0
  221. package/skills-hub/writing/job-application/scripts/render_resume.py +144 -0
  222. package/skills-hub/writing/job-application/scripts/validate_claims.py +52 -0
  223. package/skills-hub/writing/job-application/scripts/write_config.py +72 -0
  224. package/skills-hub/writing/job-application/templates/application-index.md +10 -0
  225. package/skills-hub/writing/job-application/templates/brief.md +16 -0
  226. package/skills-hub/writing/job-application/templates/changelog.md +6 -0
  227. package/skills-hub/writing/job-application/templates/company-research.md +15 -0
  228. package/skills-hub/writing/job-application/templates/corpus.md +11 -0
  229. package/skills-hub/writing/job-application/templates/evidence-map.md +5 -0
  230. package/skills-hub/writing/job-application/templates/framings.md +6 -0
  231. package/skills-hub/writing/job-application/templates/improvement-plan.md +16 -0
  232. package/skills-hub/writing/job-application/templates/ingest-log.md +4 -0
  233. package/skills-hub/writing/job-application/templates/known-gaps.md +4 -0
  234. package/skills-hub/writing/job-application/templates/match-report.md +21 -0
  235. package/skills-hub/writing/job-application/templates/methodology-cache.md +10 -0
  236. package/skills-hub/writing/job-application/templates/persist-index.md +11 -0
  237. package/skills-hub/writing/job-application/templates/profile.md +21 -0
  238. package/skills-hub/writing/job-application/templates/questions.md +22 -0
  239. package/skills-hub/writing/job-application/templates/resume-original.md +10 -0
  240. package/skills-hub/writing/job-application/templates/resume-tailored.md +21 -0
  241. package/skills-hub/writing/job-application/templates/sources-index.md +6 -0
  242. package/skills-hub/writing/job-application/templates/speech.md +19 -0
  243. package/skills-hub/writing/job-application/templates/stories.md +9 -0
  244. package/skills-hub/writing/job-application/templates/story-bank.md +11 -0
  245. package/skills-hub/writing/job-application/templates/strengths.md +4 -0
  246. package/skills-hub/writing/job-application/templates/style-memory.md +7 -0
  247. package/skills-hub/writing/ste-zh/LICENSE +21 -0
  248. package/skills-hub/writing/ste-zh/NOTICE.md +9 -0
  249. package/skills-hub/writing/ste-zh/SKILL.md +130 -0
  250. package/skills-hub/writing/ste-zh/agents/openai.yaml +6 -0
  251. package/skills-hub/writing/ste-zh/examples/zh-report.md +23 -0
  252. package/skills-hub/writing/ste-zh/references/english-modes.md +13 -0
  253. package/skills-hub/writing/ste-zh/references/terminology.md +13 -0
  254. package/skills-hub/writing/ste-zh/references/zh-rules.md +29 -0
  255. package/template/.speculo/refresh-contract.json +2 -0
  256. package/template/canonical/canonical-specdev-goal-plan.md +170 -101
  257. package/template/canonical/canonical-specdev-grill-with-docs.md +346 -277
  258. package/template/canonical/canonical-specdev-spec.md +346 -277
  259. package/template/canonical/canonical-specdev-tickets.md +346 -277
  260. package/template/canonical/canonical-specdev-wayfinder.md +346 -277
  261. package/template/lib/speculo-runtime.mjs +183 -8
  262. package/template/references/coordination/coordination-contract.md +12 -4
  263. package/template/references/coordination/modes/cli.md +3 -3
  264. package/template/references/coordination/modes/herdr.md +11 -11
  265. package/template/references/coordination/modes/orca.md +14 -14
  266. package/template/references/coordination/project-facts.schema.json +1 -0
  267. package/template/references/coordination/report-template.md +18 -0
  268. package/template/references/coordination/result-and-recovery.md +3 -3
  269. package/template/references/coordination/session-files.md +49 -56
  270. package/template/references/coordination/task-brief.md +3 -3
  271. package/template/references/coordination/task-template.md +25 -0
  272. package/template/workflows/specdev/common/rules/path-reference-contract.md +1 -1
  273. package/template/workflows/specdev/common/rules/workflow-state-and-lifecycle.md +1 -1
  274. package/template/workflows/specdev/common/schemas/session-locator.schema.json +15 -0
  275. package/template/workflows/specdev/common/skills/code-review/references/review-evidence.md +1 -1
  276. package/template/workflows/specdev/common/tools/README.md +6 -0
  277. package/template/workflows/specdev/common/tools/delivery-artifacts.mjs +1 -1
  278. package/template/workflows/specdev/common/tools/validate-handoff.mjs +108 -0
  279. package/template/workflows/specdev/specdev-i-implement/assets/evidence-template.md +2 -2
  280. package/template/workflows/specdev/specdev-i-implement/references/implementation-procedure.md +1 -1
  281. package/template/workflows/specdev/specdev-i-init-setup/SKILL.md +7 -6
  282. package/template/workflows/specdev/specdev-i-init-setup/references/first-setup.md +30 -1
  283. package/template/workflows/specdev/specdev-p-goal-plan/references/lead-orchestration.md +1 -1
@@ -0,0 +1,181 @@
1
+ # 扩展与设置
2
+
3
+ 这份清单是候选参考,不是无条件安装白名单。仅选择本次所需语言和功能;执行时核对官方 Marketplace 的发布者、当前支持版本及弃用信息。已有用户选择优先,不把本清单当成永久最新事实。
4
+
5
+ ## 缺失才安装
6
+
7
+ 按缺失能力选择扩展,先查已安装版本的 `extensionDependencies`、`extensionPack`、`engines.vscode` 和目标平台。必要依赖与可选扩展包成员分别处理;Python、Java 扩展安装时也可能拉取或升级其他成员,不能只检查顶层 ID。不要为了补齐去升级已经能用的扩展。
8
+
9
+ | ID | 作用 |
10
+ | --- | --- |
11
+ | `redhat.java` | Java 语言服务,JDK 要求以安装版本为准 |
12
+ | `vscjava.vscode-java-debug` | Java 调试 |
13
+ | `vscjava.vscode-maven` | Maven 入口与项目支持,复用已有 Maven |
14
+ | `vscjava.vscode-java-test`、`vscjava.vscode-java-dependency` | 需要测试/项目管理时补充 |
15
+ | `ms-python.python` | Python 解释器、调试、测试 |
16
+ | `charliermarsh.ruff` | Python 格式化、导入排序、lint。Pylance 继续负责补全和类型 |
17
+ | `Vue.volar` | Vue - Official;按项目 Vue 版本与扩展支持选择语言服务 |
18
+ | `sdras.vue-vscode-snippets` | Vue SFC 片段 |
19
+ | `formulahendry.auto-rename-tag` | Vue 模板和 JSX 的成对标签重命名 |
20
+ | `bradlc.vscode-tailwindcss` | Tailwind 类名补全。项目不用 Tailwind 时不介入 |
21
+ | `dsznajder.es7-react-js-snippets` | React 片段(如 `rafce`)。JS/TS 语言服务用编辑器内置 |
22
+ | `dbaeumer.vscode-eslint` | JS / TS / Vue 诊断 |
23
+ | `esbenp.prettier-vscode` | JS / TS / Vue / JSON / HTML / CSS 格式化 |
24
+ | `golang.go` | Go 官方扩展,语言服务是 gopls |
25
+ | `ms-vscode-remote.remote-ssh` | 需要 SSH 的客户端安装,不能用远端已装代替 |
26
+ | `usernamehw.errorlens` | 行内错误 |
27
+ | `EditorConfig.EditorConfig` | 尊重仓库 `.editorconfig` |
28
+ | `tamasfe.even-better-toml` | `pyproject.toml` 高亮和校验 |
29
+
30
+ 下面这些只有用户点名才装:`eamodio.gitlens`(已有 Git Graph 时不要主动加)、`ms-azuretools.vscode-docker`、`humao.rest-client`、`redhat.vscode-yaml`、`ms-toolsai.jupyter`、`yoavbls.pretty-ts-errors`。
31
+
32
+ Node 的 JS/TS 语言服务与 Node 调试通常由 VS Code 内置提供,先核对是否被禁用;不为“支持 Node”额外装第三方语言服务。Java 扩展包 `vscjava.vscode-java-pack` 只是成员集合,不是必须全装的运行时。
33
+
34
+ ## 避免重复与真实冲突
35
+
36
+ 不主动补旧的 `Vue.vscode-typescript-vue-plugin` 或另一套 TypeScript 自动导入/语言服务。Vue 2/Vetur 的已有项目按真实兼容性处理,不将现代 Vue 配置覆盖到旧项目;同一工作区不盲目同时启用 Vetur 与 Vue - Official。
37
+
38
+ 已经选择 Ruff 时不再主动补 Black/isort/flake8/pylint;用户选择其他工具时保留,不能把重复能力当成必须卸载的冲突。不主动增加 `wix.vscode-import-cost` 等非任务必需项。
39
+
40
+ `rvest.vs-code-prettier-eslint`、`pmneo.tsimporter` 等只在真实配置冲突且移除已获本次授权时处理;不能仅因为清单里出现就卸载。检查旧扩展包成员,避免补装包时重新带入已经排除的 TypeScript Hero、tsimporter 等。
41
+
42
+ Java 扩展、Copilot 的启用/禁用选择、Git Graph、Path Intellisense、npm Intellisense,以及用户自己的扩展,均保留,除非它们正是本次具名处理的对象。
43
+
44
+ ## 可控安装与读回
45
+
46
+ 先核对目标 CLI 与 Profile,生命周期限制见 [Profile 工作流](profiles-and-validation.md#创建选择和同步是不同步骤)。下列模板只用于已存在、已验证的本机 Profile;Remote 则使用实际支持的远程安装接口或连接后的 Extensions UI:
47
+
48
+ ```bash
49
+ code --profile "<已确认的 Profile>" --list-extensions --show-versions
50
+ code --profile "<已确认的 Profile>" --install-extension "<缺失 ID>@<兼容版本>"
51
+ ```
52
+
53
+ 两端兼容时可复用经过验证的版本基线,不要求不同 OS/客户端强制相同版本。精确版本安装也不能保证传递依赖不更新;若必须控制包成员,优先逐个安装所需成员。只有当前版本明确支持时才使用跳过包成员的选项,且不能跳过必要依赖或签名验证。
54
+
55
+ 复用已有 VSIX 缓存时核对压缩包内 publisher/name/version、目标平台、完整性与来源,然后仍通过受支持安装接口注册。不要复制解压目录或手工写扩展清单。不存在可核验缓存时按授权下载或报告缺失。
56
+
57
+ 设置有限重试和超时;超时后确认本任务安装进程树已退出再开始下一次,避免残留子进程并发写入。只结束本任务的进程,不全局 `pkill code`。读回安装日志、目标 Profile 清单及启用状态,检查意外升级/新增并按已记录差异处理,不能对所有扩展自动卸载重装。
58
+
59
+ 2026-10-14 亲自读取 [VS Code 命令行](https://code.visualstudio.com/docs/configure/command-line);执行时仍以目标 CLI 的实际能力为准,不将文档中的窗口启动行为推及所有安装子命令。
60
+
61
+ ## 设置片段
62
+
63
+ 只从下面的候选片段选择本次语言需要的键;它们不是全量推荐或统一基线。按当前扩展 schema 和用户偏好决定,已有键保留,授权修复的冲突另列差异。`eslint.validate` 去重合并,`emmet.includeLanguages` 按键合并但不覆盖已有冲突。运行时入口另见 [运行时复用](runtime-reuse.md)。
64
+
65
+ ```json
66
+ {
67
+ "python.languageServer": "Pylance",
68
+ "python.analysis.typeCheckingMode": "basic",
69
+ "python.analysis.autoImportCompletions": true,
70
+ "go.useLanguageServer": true,
71
+ "go.formatTool": "default",
72
+ "gopls": {
73
+ "ui.semanticTokens": true,
74
+ "ui.diagnostic.staticcheck": true
75
+ },
76
+ "eslint.validate": [
77
+ "javascript",
78
+ "javascriptreact",
79
+ "typescript",
80
+ "typescriptreact",
81
+ "vue"
82
+ ],
83
+ "javascript.updateImportsOnFileMove.enabled": "always",
84
+ "typescript.updateImportsOnFileMove.enabled": "always",
85
+ "emmet.includeLanguages": {
86
+ "javascript": "javascriptreact",
87
+ "typescript": "typescriptreact",
88
+ "vue": "html"
89
+ },
90
+ "emmet.triggerExpansionOnTab": true,
91
+ "editor.linkedEditing": true,
92
+ "editor.bracketPairColorization.enabled": true,
93
+ "[python]": {
94
+ "editor.defaultFormatter": "charliermarsh.ruff",
95
+ "editor.formatOnSave": true,
96
+ "editor.tabSize": 4,
97
+ "editor.codeActionsOnSave": {
98
+ "source.fixAll.ruff": "explicit",
99
+ "source.organizeImports.ruff": "explicit"
100
+ }
101
+ },
102
+ "[javascript]": {
103
+ "editor.defaultFormatter": "esbenp.prettier-vscode",
104
+ "editor.formatOnSave": true,
105
+ "editor.tabSize": 2,
106
+ "editor.codeActionsOnSave": { "source.fixAll.eslint": "explicit" }
107
+ },
108
+ "[javascriptreact]": {
109
+ "editor.defaultFormatter": "esbenp.prettier-vscode",
110
+ "editor.formatOnSave": true,
111
+ "editor.tabSize": 2,
112
+ "editor.codeActionsOnSave": { "source.fixAll.eslint": "explicit" }
113
+ },
114
+ "[typescript]": {
115
+ "editor.defaultFormatter": "esbenp.prettier-vscode",
116
+ "editor.formatOnSave": true,
117
+ "editor.tabSize": 2,
118
+ "editor.codeActionsOnSave": { "source.fixAll.eslint": "explicit" }
119
+ },
120
+ "[typescriptreact]": {
121
+ "editor.defaultFormatter": "esbenp.prettier-vscode",
122
+ "editor.formatOnSave": true,
123
+ "editor.tabSize": 2,
124
+ "editor.codeActionsOnSave": { "source.fixAll.eslint": "explicit" }
125
+ },
126
+ "[vue]": {
127
+ "editor.defaultFormatter": "esbenp.prettier-vscode",
128
+ "editor.formatOnSave": true,
129
+ "editor.tabSize": 2,
130
+ "editor.codeActionsOnSave": { "source.fixAll.eslint": "explicit" }
131
+ },
132
+ "[json]": {
133
+ "editor.defaultFormatter": "esbenp.prettier-vscode",
134
+ "editor.formatOnSave": true,
135
+ "editor.tabSize": 2
136
+ },
137
+ "[jsonc]": {
138
+ "editor.defaultFormatter": "esbenp.prettier-vscode",
139
+ "editor.formatOnSave": true,
140
+ "editor.tabSize": 2
141
+ },
142
+ "[html]": {
143
+ "editor.defaultFormatter": "esbenp.prettier-vscode",
144
+ "editor.formatOnSave": true,
145
+ "editor.tabSize": 2
146
+ },
147
+ "[css]": {
148
+ "editor.defaultFormatter": "esbenp.prettier-vscode",
149
+ "editor.formatOnSave": true,
150
+ "editor.tabSize": 2
151
+ },
152
+ "[scss]": {
153
+ "editor.defaultFormatter": "esbenp.prettier-vscode",
154
+ "editor.formatOnSave": true,
155
+ "editor.tabSize": 2
156
+ },
157
+ "[go]": {
158
+ "editor.defaultFormatter": "golang.go",
159
+ "editor.formatOnSave": true,
160
+ "editor.insertSpaces": false,
161
+ "editor.tabSize": 4,
162
+ "editor.codeActionsOnSave": { "source.organizeImports": "explicit" }
163
+ },
164
+ "[go.mod]": {
165
+ "editor.formatOnSave": true
166
+ }
167
+ }
168
+ ```
169
+
170
+ 某个语言块已经存在时,只补缺的键,不要覆盖用户已经改过的 `editor.tabSize` 或 `editor.defaultFormatter`。
171
+
172
+ Vue + TypeScript 的项目如果需要工作区 TypeScript,写在**该仓库**的 `.vscode/settings.json`,不要写进用户 Profile:
173
+
174
+ ```json
175
+ {
176
+ "typescript.tsdk": "node_modules/typescript/lib",
177
+ "typescript.enablePromptUseWorkspaceTsdk": true
178
+ }
179
+ ```
180
+
181
+ ESLint 修复与 Prettier 可能都改动代码;实际冲突取决于项目规则。项目采用 `eslint-config-prettier` 等方案时尊重现状,不把 Profile 配置任务扩展成项目 lint 依赖改造。
@@ -0,0 +1,62 @@
1
+ # Profile、作用域与验收
2
+
3
+ 用于本机/远程统一、多个 Profile 整理、默认窗口切换,以及需要完整备份和多端验收的任务。
4
+
5
+ ## 先划清落点
6
+
7
+ | 对象 | 设置与扩展的落点 | 不能据此推断 |
8
+ | --- | --- | --- |
9
+ | 开发机的桌面 VS Code | 该产品、该用户、目标 Profile 的设置与本机扩展 | Remote Server 同时已配置 |
10
+ | Windows 等 SSH 客户端 | 客户端 Profile、界面偏好及 Remote - SSH 扩展 | 客户端具备 Linux 路径或项目运行时 |
11
+ | SSH/WSL/Container 内的代码 | 活动远程主机的 Remote Settings 和对应工作区扩展 | 远程同名 Profile 就是客户端选中的 Profile |
12
+ | 业务项目 | Workspace/Folder 设置与构建声明 | 应被主机统一配置覆盖 |
13
+
14
+ 通常 User → Remote → Workspace/Folder 的后者覆盖前者;语言专用设置和组织策略另有优先级,按有效值检查。先核对扩展 schema 的作用域:可跨机的偏好放客户端 Profile;主机绝对路径放该桌面设置或对应 Remote Settings;项目版本特例留在原项目范围。不复制整份 Linux 配置到 Windows。
15
+
16
+ 通过 `Preferences: Open Remote Settings (JSON)` 和活动 Server 确认远程文件,常见位置是 Server 数据目录的 `Machine/settings.json`,不硬编码 Server 根目录。远程 `User/profiles` 中存在文件不证明客户端选用它;Remote Settings 可能影响同一远程用户的多个窗口,修改前清楚列出影响范围。
17
+
18
+ 默认 Profile 常用 `User/settings.json`,不要求存在 `userDataProfiles`。常见桌面根目录:Linux `$XDG_CONFIG_HOME/Code/User`(默认 `~/.config/Code/User`)、Windows `%APPDATA%\Code\User`、macOS `~/Library/Application Support/Code/User`。命名 Profile、便携版、Insiders 和自定义 `--user-data-dir` 必须从实际实例定位;未创建 settings 文件不等于没有 Profile。
19
+
20
+ ## 创建、选择和同步是不同步骤
21
+
22
+ - 优先使用 Profiles UI 或目标产品支持的 CLI。用 `--profile` 打开窗口的行为,不能直接推断为 `--install-extension --profile` 会创建不存在的 Profile;先创建/打开,再读回实际 Profile,随后安装。
23
+ - 桌面与 Remote CLI 不能互相代用;不同客户端可能留下多个 Server 版本。Ubuntu 桌面与 Windows 所需 Server 版本不同本身不构成故障,让连接客户端管理匹配的 Server,不为统一而删除旧 Server。
24
+ - 扩展文件、目标 Profile 注册、启用状态、实际宿主激活分开核验。不编辑内部数据库、UUID/location 清单或 `extensions.json` 来补注册,也不让桌面和 Server 共用扩展目录。
25
+ - 新窗口默认 Profile 与已有文件夹/工作区关联分开处理。用户要求统一时,通过正常 Profiles 工作流逐项迁移授权范围内的关联,并重开验证;临时 Profile 或 extension development host 的成功不能证明日常窗口关联已保存。
26
+ - Settings Sync 可以搬运 Profile 的可同步内容,不能据此宣称已安装 Remote 扩展。`machine`/`machine-overridable` 设置默认不随同步搬运;不要为了路径一致强制同步所有机器设置。
27
+ - 没有 Windows 客户端访问权时,给出客户端选择/导入 Profile、安装 Remote - SSH、连接目标、检查 Local/SSH 扩展和有效设置的步骤。`remote.SSH.defaultExtensions` 会影响连接到的其他主机,只在用户需要该广泛策略时采用;不要强制 `remote.extensionKind` 代替正确安装。
28
+
29
+ ## 备份与回滚
30
+
31
+ 本轮唯一备份目录使用 POSIX `0700` 或 Windows 等效私有 ACL,不存进待提交的项目。记录每个目标的原内容、是否原先不存在、权限/所有权或 ACL、摘要;同时记录扩展 ID/版本/启用状态、Profile 和工作区关联。按需通过官方导出保存 Profile,避免将完整内部数据库或含秘密配置作为公开报告。
32
+
33
+ 每项修改有旧值、新值、理由和作用域。写前重新比较基线,解析失败或文件已被编辑则先停止该文件写入并重新合并;保留权限,采用平台适合的原子替换,读回后记录本轮结果摘要。重复生成差异应为空。
34
+
35
+ 回滚按层次提供:
36
+
37
+ 1. **设置文件**:校验备份完整性和当前文件仍等于本轮写入结果,再恢复原内容/权限;原先不存在的文件仅在未被后续修改时移除。不覆盖用户后续编辑。
38
+ 2. **扩展与工具**:只撤销本轮新增或变更,保留原有用户内容;恢复版本需要对应可信安装包及受支持安装接口,不能承诺配置备份即可还原二进制。
39
+ 3. **Profile 与关联**:用受支持 UI/CLI 恢复,不直接回写内部注册数据库。先处理关联再删除本轮创建的 Profile;恢复操作同样不得抹掉后续用户工作。
40
+
41
+ 最少验证备份摘要和回滚预览;复杂批量修改再在临时副本演练恢复、原先不存在、损坏备份及后续编辑拒绝覆盖。明确“已演练”与“已在真实环境回滚”的区别,不为证明可回滚而破坏已完成配置。
42
+
43
+ ## 验收分层
44
+
45
+ | 层次 | 最小证据 | 结论范围 |
46
+ | --- | --- | --- |
47
+ | 配置 | JSONC 解析、增量差异、无关键保留、重复执行无差异;目标 Profile 扩展清单与启用状态 | 配置和注册正确,不等于功能激活 |
48
+ | 运行时 | 目标环境的版本/实际入口;必要语言的最小编译运行、默认目录和项目特例 | 该环境和样例的工具可用 |
49
+ | 编辑器 | 实际目标宿主的生效设置、补全/跳转、诊断、格式化;需要调试时断点停止、继续和退出 | 该编辑器、Profile 和样例通过 |
50
+ | 客户端 | 本机日常窗口与真实远程连接分别打开样例,检查扩展位置、终端版本及相关功能 | 仅已连接且实测的客户端通过 |
51
+
52
+ 按本次所需语言选最小隔离样例,不为简单设置变更搭建大型测试框架。Java/Go 可验证编译和补全,Python/TS 验证预期诊断,Vue 验证跳转,格式化器使用确实未格式化的输入;调试只运行已知样例。业务构建和依赖下载须另有任务需要及授权。
53
+
54
+ 测试遇阻先检查正常启动引导、工作区信任、扩展启用/激活、测试输入和等待条件。只对确认可信的最小目录通过正常 UI 授予信任;无 GUI 就报告阻碍,不能关闭 Workspace Trust 或信任整个项目父目录。避免把“已格式化所以无 edits”、提供者尚未激活、调试器子会话未被采集误判为故障。
55
+
56
+ 保留失败和复测记录,清理本任务临时样例及进程,不终止用户正在工作的 VS Code/SSH 会话。旧日志必须结合时间、进程和新复现判断,不能单凭旧异常清缓存或调大内存。虚拟显示/开发扩展宿主的验证要单列,不能冒充物理桌面、业务项目或 Windows Remote 的真人验收。
57
+
58
+ ## 交付清单与资料依据
59
+
60
+ 报告主机/产品版本/Profile、工具入口和项目特例、已存在/新增/保留冲突、备份位置与回滚限制;各层分别列通过、失败、待验证和下一步。客户端不可达时生成可审阅的设置片段与操作步骤,避免包含另一系统的绝对路径。
61
+
62
+ 2026-10-14 亲自读取:[Profiles 与工作区关联](https://code.visualstudio.com/docs/configure/profiles)、[Remote SSH 的扩展位置与主机设置](https://code.visualstudio.com/docs/remote/ssh)、[Settings Sync 的范围](https://code.visualstudio.com/docs/configure/settings-sync)、[设置优先级](https://code.visualstudio.com/docs/configure/settings)。资料用于产品语义;本次 CLI 支持情况和生效结果仍需在实际版本验证。
@@ -0,0 +1,52 @@
1
+ # 复用已有运行时
2
+
3
+ 用于“工具已经安装,但 VS Code 找不到、另行下载或选错版本”。先解释差异来自哪里,再选择设置;不要整段复制路径模板。
4
+
5
+ ## 盘点入口与环境
6
+
7
+ 记录所需工具的入口、解析后位置、版本、架构、选择机制及适用项目。POSIX 使用 `command -v` / `type -a`,PowerShell 使用 `Get-Command -All`;版本命令也要在目标环境执行。不要输出完整环境变量或配置文件中的秘密。
8
+
9
+ | 环境 | 核对内容 |
10
+ | --- | --- |
11
+ | 普通 shell / SSH shell | 交互、登录与非交互启动行为;已有 PATH、版本管理器和包装脚本 |
12
+ | 桌面 / Remote 扩展宿主 | 启动时的环境及扩展专用路径设置;GUI 启动不保证等同 shell |
13
+ | 集成终端 | 默认 shell、启动参数、`terminal.integrated.env.<平台>` 的覆盖及 PATH 顺序 |
14
+ | 构建 / 语言服务 / 调试器 | 实际工具入口、工作目录及各自环境覆盖;终端正确不代表这些进程正确 |
15
+
16
+ 保留已存在的项目感知包装脚本和版本管理器。检查 `.sdkmanrc`、`.nvmrc`、`.node-version`、`package.json` 的版本声明、Go 的 `go.mod`/`go.work`、Java 构建配置等实际使用的机制;读取声明不等于允许执行项目脚本。先在普通目录和一个已知特例目录比较结果,再考虑显式路径。
17
+
18
+ 最小修复应落在造成差异的作用域。不要为 VS Code 问题改系统 alternatives、全局 PATH 或包管理器配置。集成终端 PATH 不用于假装修复扩展宿主;确需重启/重连时说明影响,避免强杀用户会话。
19
+
20
+ ## Java:语言服务器与项目 JDK 分开
21
+
22
+ - 从**已安装版本**的 `redhat.java` 清单、发行说明和运行日志确定语言服务器要求。官网默认分支可能已升级要求,不能把当前官网的最低 JDK 套到所有旧版本,也不能固定为某个 JDK 大版本。
23
+ - 需要显式复用已有兼容 JDK 时,核对 `java.jdt.ls.java.home` 支持情况,填 JDK 根目录,不填 `bin/java`。扩展自带 JRE 是语言服务运行时,不是项目 JDK;不删除其内部文件来“去重”。
24
+ - `java.configuration.runtimes` 按执行环境名称合并已有映射,保留多版本;只在确需默认 JDK 时设置一个 `default`。该默认项主要用于无构建工具的文件夹,不能覆盖 Maven/Gradle 项目约定。
25
+ - 版本存在后再验证最小 `javac`/`java` 样例与扩展补全。没有兼容 JDK 时报告差距,按用户范围选择兼容扩展或另行安排运行时安装,不自动升级系统 Java。
26
+
27
+ ## Maven:复用入口,保留项目策略
28
+
29
+ 检查 `maven.executable.path`、`maven.executable.preferMavenWrapper` 和现有 Maven/JDK 选择入口。用户明确要系统已有 Maven 时才按该策略配置;项目本来使用 Wrapper 时保留。Wrapper 本身、Maven 发行版和项目依赖下载是不同事情,不承诺“配置完成后绝不下载”。
30
+
31
+ 绝对路径若绕过项目感知的 `mvn` 包装脚本,可能导致特例项目选错 JDK。检查已安装扩展支持的 `maven.terminal.useJavaHome` / `maven.terminal.customEnv` 等覆盖,不让语言服务器的 JDK 无意变成所有项目的 `JAVA_HOME`。比较普通目录和特例目录的 `mvn -version`,再验证 VS Code 的 Maven 入口;不要为了验收运行未知 `verify`、发布目标或业务脚本。
32
+
33
+ ## Node、Python 与前端
34
+
35
+ Node 复用已有 Volta/nvm/asdf 等选择机制,检查 shim/包装脚本与真实二进制的 PATH 优先级;不要一律固定到最新 Node。核对实际 `node -v`、`process.execPath` 以及调试配置的 `runtimeExecutable`/`runtimeVersion`/工作目录。不要把 VS Code/扩展宿主自带的 Node 替换成项目 Node。依赖安装和生命周期脚本不属于自动配置 Profile 的默认步骤。
36
+
37
+ Python 保留工作区已选解释器和虚拟环境。`python.defaultInterpreterPath` 是候选默认入口,已有工作区选择不会因改这一键必然重置;通过解释器选择 UI 和实际 `sys.executable` 读回。项目里的 `.venv` 不写成跨主机通用的绝对路径。
38
+
39
+ Vue/React 复用内置 JS/TS 能力及项目已有依赖;`typescript.tsdk` 需要工作区 TypeScript 时放在对应项目作用域,不在所有 Profile 固定一个项目的 `node_modules`。不因补编辑器扩展擅自改 `package.json`、lint 规则或锁文件。
40
+
41
+ ## Go:区分运行时、语言服务与调试工具
42
+
43
+ 1. 核对 `go version`、`go env GOROOT GOPATH GOTOOLCHAIN`、`gopls version`;需要调试再检查 `dlv version`。路径存在不代表架构、执行权限或版本兼容。
44
+ 2. 检查当前扩展对 `go.alternateTools`、`go.goroot`、`go.toolsEnvVars` 的支持。需要时仅补相应工具入口,不无条件重置 GOROOT/GOPATH。
45
+ 3. 用户要求复用和避免隐式更新时,检查 `go.toolsManagement.autoUpdate` 与 `go.toolsManagement.checkForUpdates`。支持时可关闭自动更新并使用 `local` 检查本地最低要求;不以关闭所有检查掩盖不兼容。
46
+ 4. `GOTOOLCHAIN=local` 只在明确不允许自动下载 toolchain 的范围采用,例如扩展工具环境;项目要求更高 Go 时报告不兼容,不强设系统全局值或悄悄下载新 Go。
47
+ 5. 现代 gopls 已集成 staticcheck 分析;不默认再设置 `go.lintTool: staticcheck`。已有独立 lint 需求保留,仅在确认重复/缺失导致问题且在授权范围内时移除该键。
48
+ 6. 缺失 gopls/Delve 时先选支持现有 Go、OS、架构的版本,按已授权范围安装。`go install` 也可能下载或升级 toolchain,不能盲用 `@latest`。官方预编译包需核对来源、目标平台、可用的官方摘要/签名,再做版本及功能检查;网络失败不通过关闭 TLS 或修改全局代理解决。
49
+
50
+ ## 依据与时效
51
+
52
+ 2026-10-14 亲自读取的官方入口:[Java 项目 JDK 配置](https://code.visualstudio.com/docs/java/java-project)、[Java 扩展要求](https://github.com/redhat-developer/vscode-java#requirements)、[Maven 扩展](https://github.com/microsoft/vscode-maven)、[Go 扩展设置](https://github.com/golang/vscode-go/wiki/settings)、[Python 解释器设置](https://code.visualstudio.com/docs/python/settings-reference)、[Node 调试](https://code.visualstudio.com/docs/nodejs/nodejs-debugging)。这些页面会变化;现场记录扩展版本及其 `package.json` 的设置 schema,版本相关结论以该已安装版本为范围。
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Ting'an Wang
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,50 @@
1
+ ---
2
+ name: photo-retouch
3
+ description: 编辑已有照片或编写相应修图提示词:局部去杂物、自然人像、调色、证件照、商品图、背景替换、修复扩图和旅行创意。必须有可读原图才能实际编辑;不用于无原图生图、SVG 或代码绘图。
4
+ license: MIT
5
+ compatibility: Actual editing requires a readable source image and a host-provided image editor supporting reference images; prompt-only work needs no image execution tool.
6
+ metadata:
7
+ author: NAMEWTA
8
+ wta-format-reviewed: '2026-10-06'
9
+ ---
10
+ # 照片精准编辑
11
+
12
+ ## 输入与输出契约
13
+
14
+ 区分实际修图与仅写提示词;确认底图、人物/商品身份参考、修改区域、保留项与交付用途。无法读取的附件名称不是可编辑素材。
15
+
16
+ 实际编辑交付宿主要求的图片结果;仅提示词交付素材顺序、区域/动作/保留约束。尺寸、格式、身份保持和精确像素要求只按实际可检验结果陈述。
17
+
18
+ 示例:“只把我上传照片右后方的游客去掉,其他人物和构图保持不变。”应进入本技能;“没有参考图,画一座未来城市。”不应由本技能接管。
19
+
20
+ 先查看实际可用原图,确认底图、人物/宠物身份参考、风格参考的职责。文字占位、文件名或无法读取的附件不算原图。只要提示词时不出图;直接修图且素材齐备则使用宿主实际支持参考图的工具,不杜撰参数或模型版本。
21
+
22
+ 缺原图/身份参考才询问必要材料,不能把提示词说成成片。人物身份不能由纯风格图替代。没有编辑工具时交付提示词和素材顺序,明确未编辑。宿主关于图像输入、安全与结果展示的约定优先。
23
+
24
+ ## 范围与参考
25
+
26
+ 默认自然轻度修饰,保留人物辨识度、构图、姿态及皮肤细节;“变好看”不自动瘦脸、换背景或改身材。明确创意任务才改变对应构图/光色,避免同时要求全局变化和像素不变。
27
+
28
+ | 任务 | 按需参考 |
29
+ |---|---|
30
+ | 去游客、调光、美颜(01–03) | [基础](references/basic-retouch.md) |
31
+ | 公仔/明信片/贴纸/行李箱/海报(04–08) | [旅行](references/travel-creative.md) |
32
+ | 演唱会/美食/涂鸦/手绘(09–12) | [社媒](references/social-effects.md) |
33
+ | 证件照、职业头像、换背景 | [正式头像](references/formal-portrait.md) |
34
+ | 电商、商品换色 | [商品](references/product-photo.md) |
35
+ | 老照片、摄影、建筑 | [修复与调色](references/repair-and-look.md) |
36
+ | 物体、服装、文字、扩图 | [物体与画幅](references/object-and-canvas.md) |
37
+
38
+ 宠物按毛色/花纹/体态保留身份,不套人像美颜。未提供身份参考不替换为另一真人;用户已提供参考的创意合成按实际任务执行。正式证件的尺寸/背景/修饰要求需按具体用途核验,不能仅凭美观承诺可通过审查。
39
+
40
+ ## 执行与文件
41
+
42
+ 用可辨识位置指定编辑区,明确动作、强度、保留项、光影材质和支持的尺寸。模板变量替换成已观察事实,删除不适用句子;不相容的约束先解决。输入与输出分开,不覆盖原照片,不把“高清/4K”措辞当分辨率证据。
43
+
44
+ 本地文件处理注意 Windows/macOS/Linux 的路径、大小写和空格,保留原件/色彩配置供回退。分享前按用户意图检查是否保留 EXIF/GPS 等敏感元数据;不未经授权上传额外原件到第三方,不承诺工具自动清除了 metadata。
45
+
46
+ ## 检查与交付
47
+
48
+ 对照原图验证编辑命中、人物/商品件数和文字、结构、光影、边缘与未编辑区域。发现漂移回到原图或最近合格版本;同一缺陷两次修正无改善则保留最佳结果并说明限制,不无限重试。
49
+
50
+ 实际读取结果后再报告尺寸、格式或像素一致。精确像素不变需要工具支持蒙版/回贴并实测,视觉相似不是证据。遵循宿主输出图片的约定;纯提示词交付明确素材顺序,不能冒充图片。
@@ -0,0 +1,4 @@
1
+ interface:
2
+ display_name: "照片精准编辑"
3
+ short_description: "基于已有照片精准修饰或编写提示词,保留身份与未编辑区域"
4
+ default_prompt: "请使用 $photo-retouch:只把我上传照片右后方的游客去掉,其他人物和构图保持不变。"
@@ -0,0 +1,58 @@
1
+ # 基础修图:01–03
2
+
3
+ 用于保留原照片真实感的修复。先按 SKILL.md 确定编辑范围,再将模板变量替换为实际目标;只组合本次需要的动作。
4
+
5
+ ## 01 消除背景游客与杂物
6
+
7
+ 输入:底图;要保留的主角/同伴;需要去掉的人或物。人群中主角不明确时先定位,不把所有其他人都默认视为游客。
8
+
9
+ ```text
10
+ 以原照片为底图,仅移除背景中的{{具体游客、杂物及位置}},保留{{主角、同行者及必须保留的物件}}。
11
+ 根据邻近可见的地面、墙体、建筑、植被或天空自然补全空缺,延续纹理、透视、景深和光照;清理与被移除对象直接对应的残影、影子或倒影。
12
+ 不要改变保留人物的脸、发型、服装、姿态、位置与大小,也不要改变建筑轮廓、画幅、镜头视角或其余场景。填补边缘干净自然,无重复纹理与涂抹痕迹。
13
+ ```
14
+
15
+ 检查:交叉遮挡处的人物边缘、地砖接线、栏杆连续性、影子归属。被遮挡内容只能合理补全,不称为恢复了真实原貌。
16
+
17
+ ## 02 自动调光、调色与清晰度
18
+
19
+ 输入:底图;用户指出的曝光或色偏问题。没有明确风格时采用自然摄影色彩,不自动加入强滤镜。
20
+
21
+ ```text
22
+ 以专业摄影后期方式改善这张照片的{{可见问题,如背景高光过亮、主体偏暗或肤色偏冷}}。
23
+ 在现有信息允许的范围内压低刺眼高光、适度提亮暗部,调整白平衡与局部对比,让主体和背景曝光协调。保留自然肤色、真实材质与明暗层次,温和降噪并适度提升清晰度。
24
+ 保持人物、物体、构图、视角和几何结构不变;避免过度 HDR、锐化光晕、过饱和与塑料磨皮。不要凭空增加原图不可辨认的五官、文字或景物细节。
25
+ ```
26
+
27
+ 检查:高光是否仍有层次、肤色是否偏橙/灰、暗部是否出现脏色。严重过曝、失焦的细节不保证可恢复;提升清晰度与增大像素尺寸是不同任务。
28
+
29
+ ### 多区域精修:天空、白线、碎发
30
+
31
+ 用户已标注多个局部时,把每条意见绑定到对应区域。没有选区功能时使用清晰位置描述,不假定宿主存在「添加评论」按钮。
32
+
33
+ ```text
34
+ 以原照片为底图,执行以下三处局部调整:
35
+ 1. 天空区域:呈现自然的黄昏蓝调,保持原天际线、建筑边缘和前景轮廓;允许对天空附近的反光做轻微匹配,不整体改成夜景。
36
+ 2. {{木棒所在位置}}:去除木棒上缠绕的白线,补全木材自身纹理,保留木棒的粗细、走向和手部遮挡。
37
+ 3. 人物头发:整理外沿杂乱碎发,保留原发型、发量、发色与自然发丝质感。
38
+ 除此之外,保留人物脸部、服装、姿态、建筑和构图,不新增物体。
39
+ ```
40
+
41
+ 只保留实际请求的条目。如果天空重设需要明显改变全场光线,先按用户期望确定范围,不能一边要求全场改光,一边要求前景颜色完全不变。
42
+
43
+ ## 03 专业自然美颜
44
+
45
+ 输入:底图;若用户指定,加入发型、妆容或轮廓调整。默认是轻度修饰,不因模板自动削下颌、瘦脸、大眼或改变年龄。
46
+
47
+ ```text
48
+ 根据照片中人物原有脸型、五官与气质进行轻度、自然的美容修饰,保留原有五官比例、脸部轮廓、年龄感、表情和辨识度。
49
+ 整理杂乱碎发与眉毛边缘,保留原发型和眉形走势;适度提亮眼下、均匀肤色、淡化暂时性痘印,改善干燥唇纹。保留皮肤纹理及个人特征,肤色不一味漂白,修饰程度以像本人状态更好时为准。
50
+ {{仅在用户要求时加入的发型、分缝、蓬松度、妆容或轮廓调整}}
51
+ 其余人物、服装、姿态、背景、镜头与构图保持原样。避免蜡质皮肤、过度磨皮和面部重塑。
52
+ ```
53
+
54
+ 检查:眼距、鼻形、嘴角、牙齿、发际线是否漂移;痣、雀斑等辨识特征是否被误抹。多人合照限定被要求修饰的人,不能把所有人变成同一套五官。
55
+
56
+ ### 常见组合
57
+
58
+ 去游客 + 调光 + 轻度美颜可以合并执行,但要分别写明「背景删除区」「全局影调调整」「人物修饰区」。保留项写几何结构与身份,不要求所有像素颜色不变。后续变体优先从原图或已验证的高质量版本制作,避免反复重绘和压缩。
@@ -0,0 +1,57 @@
1
+ # 证件照、职业头像与人物换背景
2
+
3
+ 把已有人物照片改成正式头像,或只更换人物身后的环境。默认只处理背景、裁切、光线和用户点名的服装。面部修饰沿用基础修图的轻度规则,只有用户明确要求时才加入;这里不自动磨皮、美白、大眼或瘦脸。
4
+
5
+ ## 纯色证件照
6
+
7
+ 输入:人物底图;底色为白、蓝或红之一。未指定底色时先问,不自行挑选。表情、角度和服装未说明时,保留原表情与服装,采用正脸、头部到胸口的裁切。合照必须指定唯一人物。
8
+
9
+ ```text
10
+ 以人物照片为身份基准,制作一张{{白色、蓝色或红色}}底证件照。
11
+ 保留原有五官、脸型、年龄感、肤色、发型、发际线、不对称特征和未要求更换的服装。表情采用{{用户指定表情或原表情}},头部朝向为{{正脸,或用户指定的轻微侧角}}。
12
+ {{仅在用户要求时写入:换成哪一件服装,领口和肩线自然,不改变身体比例与手部}}
13
+ 背景换为均匀的{{底色}},没有纹理、渐变和投影。裁切为头部至胸口,人物居中,头顶与肩部留出空隙。
14
+ 使用柔和的正面光线,减弱眼下和鼻侧的生硬阴影,同时保留皮肤纹理。头发边缘干净,没有白边或抠图痕迹。
15
+ 不添加文字、证件号码、单位名称、新饰品或其他人物。
16
+ ```
17
+
18
+ 检查:底色是指定的一种纯色;痣和原有不对称还在;没有把脸修成另一套五官。
19
+
20
+ ## 职业头像
21
+
22
+ 输入:人物底图;背景为浅灰无缝棚或虚化办公环境,由用户指定。未指定时用浅灰棚,不猜测具体办公室。
23
+
24
+ ```text
25
+ 以人物照片为身份基准,制作一张胸像职业头像。
26
+ 保留五官、脸型、年龄感、肤色、发型、表情、未要求更换的服装和身体比例。背景改为{{浅灰无缝背景,或用户指定的虚化办公环境}},其中没有可读文字和无关人物。
27
+ 光线柔和,面部亮度均匀,保留自然肤质和原有的少量明暗。头发、眼镜与背景衔接自然,没有光晕。
28
+ {{仅在用户要求时写入的服装变更}}
29
+ 不添加姓名、职位或标志。除用户明确要求外,不改变身体朝向。
30
+ ```
31
+
32
+ 检查:背景没有压过面部;虚化办公室里没有假招牌或乱码;镜框和发丝没有被吃掉。
33
+
34
+ ## 风格只改光色
35
+
36
+ 没有指定风格时用标准均匀光,不要同时叠多种风格。风格只替换光线和色彩句,不改脸。
37
+
38
+ | 风格 | 写入模板的可见特征 |
39
+ |---|---|
40
+ | 标准均匀光 | 正面柔光,中性色彩,自然肤色,低对比 |
41
+ | 韩式低饱和清新 | 略暖而低饱和,明暗过渡柔和;仍保留脸型、年龄和皮肤纹理,不美白 |
42
+ | 美式灰调 | 浅灰背景,中性略冷,对比克制,表情保持松弛,不抹掉原有阴影结构 |
43
+
44
+ 用户另外要求轻度美颜时,只加入基础修图里对应的修饰句,并继续保留痣、雀斑和不对称。
45
+
46
+ ## 人物换到指定环境
47
+
48
+ 输入:人物底图;用户描述的新环境,或一张只提供环境与光线的参考图。参考图里的人不提供身份。未说明新环境时先问,不用证件照纯色底代替。
49
+
50
+ ```text
51
+ 以人物照片为身份和姿态基准,只把背景换成{{新环境}}。{{若有环境参考:环境的地点、光线和时间以该参考为准,不借用其中的人物。}}
52
+ 保留五官、年龄、肤色、发型、表情、身体比例、姿态,以及{{未要求更换的服装}}。人物在画面中的大小和机位与原照一致。
53
+ 新环境的光向、色温与人物受光一致,脚下或接触处有合理阴影。头发和衣物边缘自然,没有白边。景深与原照协调。
54
+ 不新增人物、文字或与该环境无关的地标。
55
+ ```
56
+
57
+ 检查:人物没有被重新摆姿势或换脸;阴影方向和背景光一致;指定服装以外的衣物没有被改掉。
@@ -0,0 +1,82 @@
1
+ # 物体、服装、文字与画幅
2
+
3
+ 一次只改用户点名的物体、衣服、表面、文字或画布外缘。去掉水印、署名或他人包装上的品牌不写成消除杂物;这种要求不在本文件的模板里完成。
4
+
5
+ 纯色背景的人物或商品分别使用证件照和商品主图,不在这里假装导出透明通道。
6
+
7
+ ## 添加物体
8
+
9
+ 输入:新物体的外观、大小和位置。画面里已有紧密接触的手或桌面时写明接触关系。
10
+
11
+ ```text
12
+ 在{{位置}}添加{{物体、大小与材质}}。新物体的透视、清晰度和光向与周围一致,并带上应有的接触阴影、遮挡和反射。
13
+ 不移动原有人物、商品和结构,不改身份、标签与构图。新物体不挡住脸或商品上的关键文字,除非用户要求它位于前方。
14
+ ```
15
+
16
+ 检查:手指或支撑面没有融在一起;影子方向与场景光源一致;没有多出第二个同类物体。
17
+
18
+ ## 替换一个物体
19
+
20
+ 输入:原物体的位置或名称,以及替代物。同类物体不止一个时必须写清是哪一个。
21
+
22
+ ```text
23
+ 只把{{原物体及位置}}替换为{{替代物的外观、颜色和大小}}。替代物占据原位置,透视和遮挡与原物体协调,阴影按场景光线重做。
24
+ 其他物体、人物、背景、文字和画幅保持原样。
25
+ ```
26
+
27
+ 检查:被替换的物体没有残留边缘;旁边相似的物体还在。
28
+
29
+ ## 服装换色
30
+
31
+ 输入:哪一件衣服;目标颜色。换色不改变版型和材质。
32
+
33
+ ```text
34
+ 只把{{人物及服装位置}}的颜色改为{{目标颜色}}。
35
+ 保留面料、缝线、高光、褶皱和剪裁,以及脸、发型、身体、手、姿态、其他衣物和背景。颜色变化停在这件衣服的边缘。
36
+ ```
37
+
38
+ 检查:肤色、头发和邻近衣物没有被染到。
39
+
40
+ ## 换装
41
+
42
+ 输入:要换上的服装。如果同时换色和换款,先换装,确认身份和手没有漂移后再处理颜色。不同时改服装、姿势和背景。
43
+
44
+ ```text
45
+ 只把{{人物}}的{{原服装}}换成{{新服装的款式、颜色和材质}}。新衣服跟随原来的身体体积和姿态;只改变这件衣服直接覆盖或露出的区域。
46
+ 保留五官、年龄、肤色、发型、身体比例、手、姿态、其他未点名的衣物和背景。
47
+ ```
48
+
49
+ 检查:手和脖子仍然连接自然;身体没有变瘦或变高;脸没有换成更理想化的五官。
50
+
51
+ ## 材质替换
52
+
53
+ 输入:哪一块表面;目标材质。形状保持不变。
54
+
55
+ ```text
56
+ 只把{{表面及位置}}的材质改为{{目标材质}}。保留这块表面的形状、边缘、透视和原有光向,让新纹理跟随原来的起伏。
57
+ 周围物体、文字和构图不变,不把整张照片改成渲染图。
58
+ ```
59
+
60
+ 检查:材质没有铺到相邻表面;直边和厚度还在。
61
+
62
+ ## 替换画面里的文字
63
+
64
+ 输入:能看清的原文字,以及用户给出的新文字。这不是用单词搭物体,也不是在空白处加手写注释。用户没有给出新句子时,不改包装、招牌或海报上的品牌文字。
65
+
66
+ ```text
67
+ 只把{{表面及位置}}上的「{{原文字}}」替换为「{{新文字}}」。
68
+ 保留原来的字体风格、颜色、大小、排列和透视,文字贴合该表面的起伏与光影。其他图形、人物、商品和背景不变。
69
+ ```
70
+
71
+ 检查:新文字逐字正确;没有改到旁边的另一行;弯曲表面上的字仍跟随表面。
72
+
73
+ ## 扩图
74
+
75
+ 输入:目标比例或需要延伸的边;新区域是延续原场景,还是只留出不含新主体的空白。未说明时按原场景延续,不借机重排构图。
76
+
77
+ ```text
78
+ 保持原照片里已有的人物、物体、建筑和构图留在原来的画面范围内,只向{{哪一条边或目标比例}}延伸。
79
+ 新区域{{延续相邻的地面、天空、墙面和光线,或只留出与边缘相连的空白}},衔接处没有硬边。不把主体移到新的位置,不在新区域添加人物、文字或另一个兴趣点。
80
+ ```
81
+
82
+ 检查:原主体的大小和位置没有因为改比例而被重画;新边缘的纹理和透视接得上。延伸不能恢复镜头外真实存在过的内容。
@@ -0,0 +1,41 @@
1
+ # 电商商品图
2
+
3
+ 底图是要出售或展示的商品照片。另一张图若只用于货架、桌面或光线,不提供商品的形状、包装和文字。不从单张照片承诺其他拍摄角度。
4
+
5
+ ## 白底或浅灰主图
6
+
7
+ 输入:商品底图;背景为纯白或浅灰。用户说主图但未指定背景时用纯白。先数清件数,并读出必须保留的标签文字。
8
+
9
+ ```text
10
+ 以商品照片为基准,整理成一张{{纯白或浅灰}}背景的电商主图。
11
+ 保留商品的轮廓、件数、颜色、材质、标签原文、logo 位置和包装结构,相机角度不变。
12
+ 清理灰尘、指纹和与商品无关的杂物,按周围包装或表面补全。在商品与背景接触处保留一条与原光向一致的浅接触阴影。
13
+ 不新增文案、道具、倒影中的新字或其他商品,不改标签上的任何一个字。
14
+ ```
15
+
16
+ 检查:标签逐字仍在;没有多出或少掉商品;边缘没有抠图白边。看不清的小字保持原样,不猜成新的句子。
17
+
18
+ ## 放入参考场景
19
+
20
+ 输入:图一是商品;图二是货架、台面或其他场景。用户指定摆放位置。没有图二时,不凭场景名称编造特定店铺。
21
+
22
+ ```text
23
+ 图一是要放置的商品,图二只提供{{货架、台面或场景}}的环境和光线。
24
+ 把图一的商品放到图二的{{具体位置}},件数、轮廓、颜色、材质、标签原文和 logo 都与图一一致。
25
+ 按图二的透视调整商品的朝向和接地,接触阴影与图二的光线一致。不改图二里未被遮挡的结构,不引入图二中的其他商品来替换图一。
26
+ 不新增包装文字或促销贴。
27
+ ```
28
+
29
+ 检查:商品没有被换成相似款;场景透视和阴影相符;图二里不该出现的人物或竞品没有被带入。
30
+
31
+ ## 单品换色
32
+
33
+ 输入:要改色的部件及其位置;目标颜色。未点名的部件保持原色。
34
+
35
+ ```text
36
+ 只把{{商品部件及位置}}的颜色改为{{目标颜色}}。
37
+ 保留该部件的材质、缝线、纹理、高光、折痕和形状,其他部件、标签文字、logo、背景、件数和机位不变。
38
+ 新颜色跟随原有明暗,不把材质换成另一种材料。
39
+ ```
40
+
41
+ 检查:换色没有溢到相邻部件或标签;这是同款换色,不是新的袋型、瓶型或配件。