优化: AR-10 想法→灵感文案统一(13 文件)

用户可见文案 + 后端错误信息 + LLM 工具描述/系统提示词 + store toast + 注释统一改灵感:
i18n zh-CN(ideas/aiTool/projectDetail) + idea.rs 错误 + tool_registry/prompt LLM + stores/project toast + api/views 注释
en 版待定(用 Ideas/Idea)+ docs/crates 注释低优先本轮略;cargo check/vue-tsc 0 error
This commit is contained in:
2026-06-14 16:26:32 +08:00
parent d6cd2805be
commit 65c475b549
13 changed files with 50 additions and 50 deletions

View File

@@ -44,7 +44,7 @@ pub(crate) fn risk_from_str(s: &str) -> Option<RiskLevel> {
/// - delete_project/restore_project/purge_project → "删除/恢复/清除项目"+id
/// - update_project → "修改项目"+field
/// - bind_directory → "绑定目录"+path
/// - create_task → "创建任务"+titlecreate_project → "创建项目"+namecreate_idea → "捕获想法"+title
/// - create_task → "创建任务"+titlecreate_project → "创建项目"+namecreate_idea → "捕获灵感"+title
/// - run_workflow → "运行工作流"+name
/// args 无可读字段或工具未特化时fallback 原 risk 模板(含风险等级提示)。
fn build_approval_reason(tool_name: &str, args: &serde_json::Value, risk_level: RiskLevel) -> String {
@@ -80,7 +80,7 @@ fn build_approval_reason(tool_name: &str, args: &serde_json::Value, risk_level:
}
"create_idea" => {
let title = s("title");
if !title.is_empty() { format!("捕获想法{}", title) } else { String::new() }
if !title.is_empty() { format!("捕获灵感{}", title) } else { String::new() }
}
"run_workflow" => {
let name = s("name");

View File

@@ -49,11 +49,11 @@ fn system_prompt_parts(lang: &str) -> (&'static str, &'static str) {
"\n## Current Projects\n",
),
_ => (
"你是 DevFlow 的 AI 助手。你帮助用户管理项目、任务、想法和工作流。\n\
"你是 DevFlow 的 AI 助手。你帮助用户管理项目、任务、灵感和工作流。\n\
必须使用简体中文回复,禁止使用繁体中文字符。\n\n\
## 当前能力\n\
你可以通过工具调用执行以下操作:\n\
- 创建/查询项目、任务、想法\n\
- 创建/查询项目、任务、灵感\n\
- 运行工作流\n\
- 读取文件内容、列出目录、创建/写入文件\n\n\
## 行为准则\n\

View File

@@ -109,7 +109,7 @@ pub fn build_ai_tool_registry(db: &Arc<Database>) -> AiToolRegistry {
})},
);
registry.register(
"list_ideas", "列出所有想法",
"list_ideas", "列出所有灵感",
df_ai::ai_tools::object_schema(vec![]), RiskLevel::Low,
{ let db = db.clone(); Box::new(move |_args: serde_json::Value| {
let db = db.clone();
@@ -265,7 +265,7 @@ pub fn build_ai_tool_registry(db: &Arc<Database>) -> AiToolRegistry {
})},
);
registry.register(
"create_idea", "捕获一个新想法",
"create_idea", "捕获一个新灵感",
df_ai::ai_tools::object_schema(vec![("title", "string", true), ("description", "string", false), ("tags", "string", false), ("source", "string", false)]),
RiskLevel::Medium,
{ let db = db.clone(); Box::new(move |args: serde_json::Value| {