♻️ refactor(vscode): 续聊里的原型段落搬进模板文件

那段正文原先拼在 prompts.ts 里,设置面板看不到也改不了。现在落到
prompts/brainstorm-continue-prototype.md,面板「提示词」组多一项「续聊·原型段落」,
占位符 {prototypeFile} / {issueNumber} / {prototypeSessionId};取值为空的整行会被
删掉,免得留下半句没有值的说明。

同时把措辞收紧:原型改动只能 ListAgents + SendMessage 给已开着的原型会话,
点名禁止派子代理 / fork 分身 / 自己动插件代码。

Claude-Session: https://claude.ai/code/session_01Kgmb1LvrPmFX3NoUDB4zZC
This commit is contained in:
cruldra committed 2026-09-15 00:28:58 +08:00
1 parent f9537abf97
commit 43a0bf6bad
10 files changed
+84 -17

No files matched your search

@@ -22,6 +22,7 @@ interface SubmitValues {
webhookSecret: string
brainstormPrompt: string
brainstormContinuePrompt: string
prototypeRefPrompt: string
implementPlanPrompt: string
autoReview: boolean
reviewPrompt: string
@@ -78,6 +79,7 @@ export interface SettingsModalProps {
initialWebhookSecret: string
initialBrainstormPrompt: string
initialBrainstormContinuePrompt: string
initialPrototypeRefPrompt: string
initialImplementPlanPrompt: string
initialAutoReview: boolean
initialReviewPrompt: string
@@ -170,6 +172,7 @@ export function SettingsModal({
initialWebhookSecret,
initialBrainstormPrompt,
initialBrainstormContinuePrompt,
initialPrototypeRefPrompt,
initialImplementPlanPrompt,
initialAutoReview,
initialReviewPrompt,
@@ -214,6 +217,7 @@ export function SettingsModal({
const [webhookSecret, setWebhookSecret] = useState(initialWebhookSecret)
const [brainstormPrompt, setBrainstormPrompt] = useState(initialBrainstormPrompt)
const [brainstormContinuePrompt, setBrainstormContinuePrompt] = useState(initialBrainstormContinuePrompt)
const [prototypeRefPrompt, setPrototypeRefPrompt] = useState(initialPrototypeRefPrompt)
const [implementPlanPrompt, setImplementPlanPrompt] = useState(initialImplementPlanPrompt)
const [autoReview, setAutoReview] = useState(initialAutoReview)
const [reviewPrompt, setReviewPrompt] = useState(initialReviewPrompt)
@@ -260,6 +264,7 @@ export function SettingsModal({
setWebhookSecret(initialWebhookSecret)
setBrainstormPrompt(initialBrainstormPrompt)
setBrainstormContinuePrompt(initialBrainstormContinuePrompt)
setPrototypeRefPrompt(initialPrototypeRefPrompt)
setImplementPlanPrompt(initialImplementPlanPrompt)
setAutoReview(initialAutoReview)
setReviewPrompt(initialReviewPrompt)
@@ -354,6 +359,7 @@ export function SettingsModal({
webhookSecret: webhookSecret.trim(),
brainstormPrompt,
brainstormContinuePrompt,
prototypeRefPrompt,
implementPlanPrompt,
autoReview,
reviewPrompt,
@@ -1010,6 +1016,30 @@ export function SettingsModal({
/>
</Field>
<Field
label="续聊·原型段落"
hint={(
<>
工单挂了原型插件时,这段会填进续聊提示词的
<code>{'{prototypeRef}'}</code>
处。可用占位符:
<code>{'{prototypeFile}'}</code>
、
<code>{'{issueNumber}'}</code>
、
<code>{'{prototypeSessionId}'}</code>
(取值为空时,含该占位符的整行会被删掉)
</>
)}
>
<textarea
rows={8}
value={prototypeRefPrompt}
onChange={e => setPrototypeRefPrompt(e.target.value)}
className={`${inputClass} resize-y font-mono`}
/>
</Field>
<Field
label="实施提示词"
hint={(