✨ feat(vscode): 设置面板支持 brainstorm 续聊提示词并切换 grill-with-docs
This commit is contained in:
@@ -26,7 +26,7 @@ object DefaultPrompts {
|
|||||||
"工单 body 末尾必须包含 <!-- spx:nonce={nonce} -->。创建完工单立即停下汇报,不要擅自实施。"
|
"工单 body 末尾必须包含 <!-- spx:nonce={nonce} -->。创建完工单立即停下汇报,不要擅自实施。"
|
||||||
|
|
||||||
private const val FALLBACK_BRAINSTORM_CONTINUE =
|
private const val FALLBACK_BRAINSTORM_CONTINUE =
|
||||||
"/superpowers:brainstorming 讨论下 {issueNumber} 号工单。注意:不要 git checkout / 不要写代码 / 不要建 PR," +
|
"/grill-with-docs 讨论下 {issueNumber} 号工单。注意:不要 git checkout / 不要写代码 / 不要建 PR," +
|
||||||
"只讨论需求与 spec/plan,用 spx issue marker 更新 marker。"
|
"只讨论需求与 spec/plan,用 spx issue marker 更新 marker。"
|
||||||
|
|
||||||
private const val FALLBACK_IMPLEMENT_PLAN =
|
private const val FALLBACK_IMPLEMENT_PLAN =
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/superpowers:brainstorming 讨论下 {issueNumber} 号工单
|
/grill-with-docs 讨论下 {issueNumber} 号工单
|
||||||
|
|
||||||
用tea命令找工单
|
用tea命令找工单
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/superpowers:brainstorming 讨论下 {issueNumber} 号工单
|
/grill-with-docs 讨论下 {issueNumber} 号工单
|
||||||
|
|
||||||
用tea命令找工单
|
用tea命令找工单
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/superpowers:brainstorming 讨论下 {issueNumber} 号工单
|
/grill-with-docs 讨论下 {issueNumber} 号工单
|
||||||
|
|
||||||
用tea命令找工单
|
用tea命令找工单
|
||||||
|
|
||||||
|
|||||||
@@ -859,6 +859,7 @@ export class KanbanWebviewPanel {
|
|||||||
tokenSaved: false,
|
tokenSaved: false,
|
||||||
webhookPort: s.webhookPort,
|
webhookPort: s.webhookPort,
|
||||||
brainstormPrompt: s.brainstormPrompt,
|
brainstormPrompt: s.brainstormPrompt,
|
||||||
|
brainstormContinuePrompt: s.brainstormContinuePrompt,
|
||||||
implementPlanPrompt: s.implementPlanPrompt,
|
implementPlanPrompt: s.implementPlanPrompt,
|
||||||
autoReview: s.autoReview,
|
autoReview: s.autoReview,
|
||||||
reviewPrompt: s.reviewPrompt,
|
reviewPrompt: s.reviewPrompt,
|
||||||
@@ -926,6 +927,7 @@ export class KanbanWebviewPanel {
|
|||||||
tokenSaved: false,
|
tokenSaved: false,
|
||||||
webhookPort: s.webhookPort,
|
webhookPort: s.webhookPort,
|
||||||
brainstormPrompt: s.brainstormPrompt,
|
brainstormPrompt: s.brainstormPrompt,
|
||||||
|
brainstormContinuePrompt: s.brainstormContinuePrompt,
|
||||||
implementPlanPrompt: s.implementPlanPrompt,
|
implementPlanPrompt: s.implementPlanPrompt,
|
||||||
autoReview: s.autoReview,
|
autoReview: s.autoReview,
|
||||||
reviewPrompt: s.reviewPrompt,
|
reviewPrompt: s.reviewPrompt,
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ export async function handleSettingsSave(panel: KanbanWebviewPanel, payload: {
|
|||||||
token: string
|
token: string
|
||||||
webhookPort: number
|
webhookPort: number
|
||||||
brainstormPrompt: string
|
brainstormPrompt: string
|
||||||
|
brainstormContinuePrompt: string
|
||||||
implementPlanPrompt: string
|
implementPlanPrompt: string
|
||||||
autoReview: boolean
|
autoReview: boolean
|
||||||
reviewPrompt: string
|
reviewPrompt: string
|
||||||
@@ -89,6 +90,7 @@ export async function handleSettingsSave(panel: KanbanWebviewPanel, payload: {
|
|||||||
tokenSaved: !!oldToken,
|
tokenSaved: !!oldToken,
|
||||||
webhookPort: payload.webhookPort,
|
webhookPort: payload.webhookPort,
|
||||||
brainstormPrompt: payload.brainstormPrompt || prev.brainstormPrompt,
|
brainstormPrompt: payload.brainstormPrompt || prev.brainstormPrompt,
|
||||||
|
brainstormContinuePrompt: payload.brainstormContinuePrompt || prev.brainstormContinuePrompt,
|
||||||
implementPlanPrompt: payload.implementPlanPrompt || prev.implementPlanPrompt,
|
implementPlanPrompt: payload.implementPlanPrompt || prev.implementPlanPrompt,
|
||||||
autoReview: payload.autoReview,
|
autoReview: payload.autoReview,
|
||||||
reviewPrompt: payload.reviewPrompt || prev.reviewPrompt,
|
reviewPrompt: payload.reviewPrompt || prev.reviewPrompt,
|
||||||
@@ -112,6 +114,7 @@ export async function handleSettingsSave(panel: KanbanWebviewPanel, payload: {
|
|||||||
await saveSettings(panel.context, {
|
await saveSettings(panel.context, {
|
||||||
webhookPort: payload.webhookPort,
|
webhookPort: payload.webhookPort,
|
||||||
brainstormPrompt: payload.brainstormPrompt,
|
brainstormPrompt: payload.brainstormPrompt,
|
||||||
|
brainstormContinuePrompt: payload.brainstormContinuePrompt,
|
||||||
implementPlanPrompt: payload.implementPlanPrompt,
|
implementPlanPrompt: payload.implementPlanPrompt,
|
||||||
autoReview: payload.autoReview,
|
autoReview: payload.autoReview,
|
||||||
reviewPrompt: payload.reviewPrompt,
|
reviewPrompt: payload.reviewPrompt,
|
||||||
@@ -209,6 +212,7 @@ export async function handleEditSettingsRequest(panel: KanbanWebviewPanel): Prom
|
|||||||
tokenSaved,
|
tokenSaved,
|
||||||
webhookPort: s.webhookPort,
|
webhookPort: s.webhookPort,
|
||||||
brainstormPrompt: s.brainstormPrompt,
|
brainstormPrompt: s.brainstormPrompt,
|
||||||
|
brainstormContinuePrompt: s.brainstormContinuePrompt,
|
||||||
implementPlanPrompt: s.implementPlanPrompt,
|
implementPlanPrompt: s.implementPlanPrompt,
|
||||||
autoReview: s.autoReview,
|
autoReview: s.autoReview,
|
||||||
reviewPrompt: s.reviewPrompt,
|
reviewPrompt: s.reviewPrompt,
|
||||||
|
|||||||
@@ -54,6 +54,7 @@ export type ExtensionToWebview
|
|||||||
tokenSaved: boolean
|
tokenSaved: boolean
|
||||||
webhookPort: number
|
webhookPort: number
|
||||||
brainstormPrompt: string
|
brainstormPrompt: string
|
||||||
|
brainstormContinuePrompt: string
|
||||||
implementPlanPrompt: string
|
implementPlanPrompt: string
|
||||||
autoReview: boolean
|
autoReview: boolean
|
||||||
reviewPrompt: string
|
reviewPrompt: string
|
||||||
@@ -122,6 +123,7 @@ export type WebviewToExtension
|
|||||||
token: string
|
token: string
|
||||||
webhookPort: number
|
webhookPort: number
|
||||||
brainstormPrompt: string
|
brainstormPrompt: string
|
||||||
|
brainstormContinuePrompt: string
|
||||||
implementPlanPrompt: string
|
implementPlanPrompt: string
|
||||||
autoReview: boolean
|
autoReview: boolean
|
||||||
reviewPrompt: string
|
reviewPrompt: string
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ import { seedCommitProfilePath } from '../cc/commitProfile'
|
|||||||
*/
|
*/
|
||||||
const FALLBACK_BRAINSTORM_PROMPT = `/goal 我现在有这样一个需求 {userRequest},你用 spx 命令创建 gitea 工单。工单 body 末尾必须包含 <!-- spx:nonce={nonce} -->。创建完工单立即停下汇报,不要擅自实施。`
|
const FALLBACK_BRAINSTORM_PROMPT = `/goal 我现在有这样一个需求 {userRequest},你用 spx 命令创建 gitea 工单。工单 body 末尾必须包含 <!-- spx:nonce={nonce} -->。创建完工单立即停下汇报,不要擅自实施。`
|
||||||
|
|
||||||
const FALLBACK_BRAINSTORM_CONTINUE_PROMPT = `/superpowers:brainstorming 讨论下 {issueNumber} 号工单。注意:不要 git checkout / 不要写代码 / 不要建 PR,只讨论需求与 spec/plan,用 spx issue marker 更新 marker。`
|
const FALLBACK_BRAINSTORM_CONTINUE_PROMPT = `/grill-with-docs 讨论下 {issueNumber} 号工单。注意:不要 git checkout / 不要写代码 / 不要建 PR,只讨论需求与 spec/plan,用 spx issue marker 更新 marker。`
|
||||||
|
|
||||||
const FALLBACK_IMPLEMENT_PLAN_PROMPT = `/goal 使用子代理全程绿灯实施 @{planFile},发起 PR 时在 body 中包含 "Closes #{issueNumber}"。严禁合并 PR。`
|
const FALLBACK_IMPLEMENT_PLAN_PROMPT = `/goal 使用子代理全程绿灯实施 @{planFile},发起 PR 时在 body 中包含 "Closes #{issueNumber}"。严禁合并 PR。`
|
||||||
|
|
||||||
|
|||||||
@@ -453,6 +453,7 @@ export function App() {
|
|||||||
initialTokenSaved={settings?.tokenSaved ?? false}
|
initialTokenSaved={settings?.tokenSaved ?? false}
|
||||||
initialWebhookPort={settings?.webhookPort ?? 17421}
|
initialWebhookPort={settings?.webhookPort ?? 17421}
|
||||||
initialBrainstormPrompt={settings?.brainstormPrompt ?? ''}
|
initialBrainstormPrompt={settings?.brainstormPrompt ?? ''}
|
||||||
|
initialBrainstormContinuePrompt={settings?.brainstormContinuePrompt ?? ''}
|
||||||
initialImplementPlanPrompt={settings?.implementPlanPrompt ?? ''}
|
initialImplementPlanPrompt={settings?.implementPlanPrompt ?? ''}
|
||||||
initialAutoReview={settings?.autoReview ?? true}
|
initialAutoReview={settings?.autoReview ?? true}
|
||||||
initialReviewPrompt={settings?.reviewPrompt ?? ''}
|
initialReviewPrompt={settings?.reviewPrompt ?? ''}
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ interface SubmitValues {
|
|||||||
token: string
|
token: string
|
||||||
webhookPort: number
|
webhookPort: number
|
||||||
brainstormPrompt: string
|
brainstormPrompt: string
|
||||||
|
brainstormContinuePrompt: string
|
||||||
implementPlanPrompt: string
|
implementPlanPrompt: string
|
||||||
autoReview: boolean
|
autoReview: boolean
|
||||||
reviewPrompt: string
|
reviewPrompt: string
|
||||||
@@ -63,6 +64,7 @@ export interface SettingsModalProps {
|
|||||||
initialTokenSaved: boolean
|
initialTokenSaved: boolean
|
||||||
initialWebhookPort: number
|
initialWebhookPort: number
|
||||||
initialBrainstormPrompt: string
|
initialBrainstormPrompt: string
|
||||||
|
initialBrainstormContinuePrompt: string
|
||||||
initialImplementPlanPrompt: string
|
initialImplementPlanPrompt: string
|
||||||
initialAutoReview: boolean
|
initialAutoReview: boolean
|
||||||
initialReviewPrompt: string
|
initialReviewPrompt: string
|
||||||
@@ -141,6 +143,7 @@ export function SettingsModal({
|
|||||||
initialTokenSaved,
|
initialTokenSaved,
|
||||||
initialWebhookPort,
|
initialWebhookPort,
|
||||||
initialBrainstormPrompt,
|
initialBrainstormPrompt,
|
||||||
|
initialBrainstormContinuePrompt,
|
||||||
initialImplementPlanPrompt,
|
initialImplementPlanPrompt,
|
||||||
initialAutoReview,
|
initialAutoReview,
|
||||||
initialReviewPrompt,
|
initialReviewPrompt,
|
||||||
@@ -173,6 +176,7 @@ export function SettingsModal({
|
|||||||
const [token, setToken] = useState('')
|
const [token, setToken] = useState('')
|
||||||
const [webhookPort, setWebhookPort] = useState<string>(String(initialWebhookPort))
|
const [webhookPort, setWebhookPort] = useState<string>(String(initialWebhookPort))
|
||||||
const [brainstormPrompt, setBrainstormPrompt] = useState(initialBrainstormPrompt)
|
const [brainstormPrompt, setBrainstormPrompt] = useState(initialBrainstormPrompt)
|
||||||
|
const [brainstormContinuePrompt, setBrainstormContinuePrompt] = useState(initialBrainstormContinuePrompt)
|
||||||
const [implementPlanPrompt, setImplementPlanPrompt] = useState(initialImplementPlanPrompt)
|
const [implementPlanPrompt, setImplementPlanPrompt] = useState(initialImplementPlanPrompt)
|
||||||
const [autoReview, setAutoReview] = useState(initialAutoReview)
|
const [autoReview, setAutoReview] = useState(initialAutoReview)
|
||||||
const [reviewPrompt, setReviewPrompt] = useState(initialReviewPrompt)
|
const [reviewPrompt, setReviewPrompt] = useState(initialReviewPrompt)
|
||||||
@@ -207,6 +211,7 @@ export function SettingsModal({
|
|||||||
setToken('')
|
setToken('')
|
||||||
setWebhookPort(String(initialWebhookPort))
|
setWebhookPort(String(initialWebhookPort))
|
||||||
setBrainstormPrompt(initialBrainstormPrompt)
|
setBrainstormPrompt(initialBrainstormPrompt)
|
||||||
|
setBrainstormContinuePrompt(initialBrainstormContinuePrompt)
|
||||||
setImplementPlanPrompt(initialImplementPlanPrompt)
|
setImplementPlanPrompt(initialImplementPlanPrompt)
|
||||||
setAutoReview(initialAutoReview)
|
setAutoReview(initialAutoReview)
|
||||||
setReviewPrompt(initialReviewPrompt)
|
setReviewPrompt(initialReviewPrompt)
|
||||||
@@ -290,6 +295,7 @@ export function SettingsModal({
|
|||||||
token: trimmedToken,
|
token: trimmedToken,
|
||||||
webhookPort: portNum,
|
webhookPort: portNum,
|
||||||
brainstormPrompt,
|
brainstormPrompt,
|
||||||
|
brainstormContinuePrompt,
|
||||||
implementPlanPrompt,
|
implementPlanPrompt,
|
||||||
autoReview,
|
autoReview,
|
||||||
reviewPrompt,
|
reviewPrompt,
|
||||||
@@ -745,6 +751,25 @@ export function SettingsModal({
|
|||||||
/>
|
/>
|
||||||
</Field>
|
</Field>
|
||||||
|
|
||||||
|
<Field
|
||||||
|
label="头脑风暴续聊提示词"
|
||||||
|
hint={(
|
||||||
|
<>
|
||||||
|
可用占位符
|
||||||
|
{' '}
|
||||||
|
<code>{'{issueNumber}'}</code>
|
||||||
|
;用于对已有工单继续讨论 / 写 spec/plan 的会话初始指令。
|
||||||
|
</>
|
||||||
|
)}
|
||||||
|
>
|
||||||
|
<textarea
|
||||||
|
rows={8}
|
||||||
|
value={brainstormContinuePrompt}
|
||||||
|
onChange={e => setBrainstormContinuePrompt(e.target.value)}
|
||||||
|
className={`${inputClass} resize-y font-mono`}
|
||||||
|
/>
|
||||||
|
</Field>
|
||||||
|
|
||||||
<Field
|
<Field
|
||||||
label="实施提示词"
|
label="实施提示词"
|
||||||
hint={(
|
hint={(
|
||||||
|
|||||||
@@ -28,6 +28,7 @@ export interface SettingsValues {
|
|||||||
token: string
|
token: string
|
||||||
webhookPort: number
|
webhookPort: number
|
||||||
brainstormPrompt: string
|
brainstormPrompt: string
|
||||||
|
brainstormContinuePrompt: string
|
||||||
implementPlanPrompt: string
|
implementPlanPrompt: string
|
||||||
autoReview: boolean
|
autoReview: boolean
|
||||||
reviewPrompt: string
|
reviewPrompt: string
|
||||||
@@ -58,6 +59,7 @@ export interface SettingsOverlayState {
|
|||||||
tokenSaved: boolean
|
tokenSaved: boolean
|
||||||
webhookPort: number
|
webhookPort: number
|
||||||
brainstormPrompt: string
|
brainstormPrompt: string
|
||||||
|
brainstormContinuePrompt: string
|
||||||
implementPlanPrompt: string
|
implementPlanPrompt: string
|
||||||
autoReview: boolean
|
autoReview: boolean
|
||||||
reviewPrompt: string
|
reviewPrompt: string
|
||||||
@@ -279,6 +281,7 @@ export function useIssues(): UseIssuesResult {
|
|||||||
token: values.token,
|
token: values.token,
|
||||||
webhookPort: values.webhookPort,
|
webhookPort: values.webhookPort,
|
||||||
brainstormPrompt: values.brainstormPrompt,
|
brainstormPrompt: values.brainstormPrompt,
|
||||||
|
brainstormContinuePrompt: values.brainstormContinuePrompt,
|
||||||
implementPlanPrompt: values.implementPlanPrompt,
|
implementPlanPrompt: values.implementPlanPrompt,
|
||||||
autoReview: values.autoReview,
|
autoReview: values.autoReview,
|
||||||
reviewPrompt: values.reviewPrompt,
|
reviewPrompt: values.reviewPrompt,
|
||||||
@@ -626,6 +629,7 @@ export function useIssues(): UseIssuesResult {
|
|||||||
tokenSaved: msg.tokenSaved,
|
tokenSaved: msg.tokenSaved,
|
||||||
webhookPort: msg.webhookPort,
|
webhookPort: msg.webhookPort,
|
||||||
brainstormPrompt: msg.brainstormPrompt,
|
brainstormPrompt: msg.brainstormPrompt,
|
||||||
|
brainstormContinuePrompt: msg.brainstormContinuePrompt,
|
||||||
implementPlanPrompt: msg.implementPlanPrompt,
|
implementPlanPrompt: msg.implementPlanPrompt,
|
||||||
autoReview: msg.autoReview,
|
autoReview: msg.autoReview,
|
||||||
reviewPrompt: msg.reviewPrompt,
|
reviewPrompt: msg.reviewPrompt,
|
||||||
|
|||||||
@@ -69,6 +69,7 @@ export type ExtensionToWebview
|
|||||||
tokenSaved: boolean
|
tokenSaved: boolean
|
||||||
webhookPort: number
|
webhookPort: number
|
||||||
brainstormPrompt: string
|
brainstormPrompt: string
|
||||||
|
brainstormContinuePrompt: string
|
||||||
implementPlanPrompt: string
|
implementPlanPrompt: string
|
||||||
autoReview: boolean
|
autoReview: boolean
|
||||||
reviewPrompt: string
|
reviewPrompt: string
|
||||||
@@ -137,6 +138,7 @@ export type WebviewToExtension
|
|||||||
token: string
|
token: string
|
||||||
webhookPort: number
|
webhookPort: number
|
||||||
brainstormPrompt: string
|
brainstormPrompt: string
|
||||||
|
brainstormContinuePrompt: string
|
||||||
implementPlanPrompt: string
|
implementPlanPrompt: string
|
||||||
autoReview: boolean
|
autoReview: boolean
|
||||||
reviewPrompt: string
|
reviewPrompt: string
|
||||||
|
|||||||
Reference in New Issue
Block a user