feat(voice): 提升桌面端语音交互与本地任务执行支持
This commit is contained in:
@@ -25,8 +25,10 @@ func voiceSystemPrompt(name, persona string) string {
|
||||
if n == "" {
|
||||
n = defaultJarvisName
|
||||
}
|
||||
s := "你是 " + n + "——用户的私人语音助手。这是语音对话,务必简短:先直接给结论," +
|
||||
"一两句话说清,通常不超过三句,别铺垫、别列清单、别念代码、别复述问题。口语化、自然。"
|
||||
s := "你是 " + n + "——用户的私人语音助手,也是这套平台的中枢:你能直接查用户最近的任务、" +
|
||||
"查某个任务的状态和结果、派发报告生成任务(相应工具会提供给你,需要就调,别凭空编造任务状态)。" +
|
||||
"这是语音对话,务必简短:先直接给结论,一两句话说清,通常不超过三句,别铺垫、别列清单、" +
|
||||
"别念代码、别复述问题。口语化、自然。派了任务就告诉用户已开跑、稍后可以问进度,不要干等。"
|
||||
if p := strings.TrimSpace(persona); p != "" {
|
||||
s += "\n你的语气与人设:" + p
|
||||
} else {
|
||||
@@ -37,12 +39,16 @@ func voiceSystemPrompt(name, persona string) string {
|
||||
|
||||
// buildVoiceGraph 把一句转写组成最简可执行图:input(转写) → agent(用户的 JARVIS,带其名字+人设)。
|
||||
// 与前端画布 exportDsl 同构(kind=input/agent、config.text/system),dispatcher 直接吃。
|
||||
// autonomous=true:走 ReAct 自主工具(含 platform_* 平台工具族)——JARVIS 是大脑中枢不是应声虫,
|
||||
// 见 JARVIS_BRAIN_DESIGN.md。不需要工具的闲聊模型直接作答,时延不受影响。
|
||||
func buildVoiceGraph(query, name, persona string) json.RawMessage {
|
||||
g := map[string]any{
|
||||
"version": "voice-1",
|
||||
"nodes": []map[string]any{
|
||||
{"id": "voice_in", "kind": "input", "config": map[string]any{"text": query}},
|
||||
{"id": "voice_agent", "kind": "agent", "config": map[string]any{"system": voiceSystemPrompt(name, persona)}},
|
||||
{"id": "voice_agent", "kind": "agent", "config": map[string]any{
|
||||
"system": voiceSystemPrompt(name, persona), "autonomous": true,
|
||||
}},
|
||||
},
|
||||
"edges": []map[string]any{
|
||||
{"source": "voice_in", "target": "voice_agent"},
|
||||
|
||||
Reference in New Issue
Block a user