优化项目名称显示与命名链路 #248

Merged
kdletters merged 13 commits from feat/project-name into master 2026-09-03 15:50:56 +08:00
Member

优化项目名称显示与命名链路

关联:#245

按 Issue 中的需求文档实现:

  • 新增项目名称修改入口,保存到本地项目 .agent/manifest.json\
  • 项目页、当前项目上下文、窗口标题在重命名后同步刷新
  • 首页自动创建工作区时,根据用户输入用 LLM 提炼项目名
  • LLM 命名失败或返回非法内容时,回退现有默认名,不阻断创作流程
## 优化项目名称显示与命名链路 关联:#245 按 Issue 中的需求文档实现: - 新增项目名称修改入口,保存到本地项目 \.agent/manifest.json\ - 项目页、当前项目上下文、窗口标题在重命名后同步刷新 - 首页自动创建工作区时,根据用户输入用 LLM 提炼项目名 - LLM 命名失败或返回非法内容时,回退现有默认名,不阻断创作流程
suzmii added 1 commit 2026-09-02 15:25:57 +08:00
补充项目名称链路技术合同
Project CI / Repository checks (pull_request) Has been cancelled
Project CI / Frontend tests (pull_request) Has been cancelled
Project CI / Backend tests (pull_request) Has been cancelled
Project CI / Native shell tests (pull_request) Has been cancelled
41461584f9
- 增加项目名称重命名、LLM 自动提炼、失败回退与一致性边界
suzmii added 1 commit 2026-09-02 15:59:21 +08:00
实现项目名称修改与自动提炼
Project CI / Repository checks (pull_request) Failing after 12s
Project CI / Backend tests (pull_request) Failing after 9s
Project CI / Frontend tests (pull_request) Successful in 3m34s
Project CI / Native shell tests (pull_request) Successful in 21m10s
4a03e7bdb8
- 新增项目重命名 Tauri 命令、名称校验和 manifest 写入边界

- 项目页支持行内重命名并同步当前上下文、窗口标题和最近项目

- 首页自动建项前增加单次 LLM 命名提炼和失败回退

- 补充共享命令契约与 Rust、前端回归测试
suzmii added 1 commit 2026-09-02 16:00:06 +08:00
Merge branch 'master' into feat/project-name
Project CI / Frontend tests (pull_request) Successful in 5m25s
Project CI / Backend tests (pull_request) Successful in 7m15s
Project CI / Repository checks (pull_request) Successful in 8m9s
Project CI / Native shell tests (pull_request) Successful in 18m15s
b56fe94bad
suzmii self-assigned this 2026-09-02 16:54:18 +08:00
suzmii added 1 commit 2026-09-02 16:55:44 +08:00
修复自动命名路由并增加发送等待动画
Project CI / Repository checks (pull_request) Has been cancelled
Project CI / Frontend tests (pull_request) Has been cancelled
Project CI / Backend tests (pull_request) Has been cancelled
Project CI / Native shell tests (pull_request) Has been cancelled
2f3d20bd13
- codex_app_server 模式复用 DirectHome Codex 通道执行自动项目命名

- 首页开启创作与项目对话发送按钮忙碌时显示旋转动画
suzmii added 1 commit 2026-09-02 16:58:19 +08:00
Merge branch 'master' into feat/project-name
Project CI / Repository checks (pull_request) Successful in 3m17s
Project CI / Frontend tests (pull_request) Successful in 3m21s
Project CI / Backend tests (pull_request) Successful in 6m17s
Project CI / Native shell tests (pull_request) Successful in 18m58s
9a56499a26
suzmii marked the pull request as ready for review 2026-09-02 17:27:10 +08:00
suzmii requested review from kdletters 2026-09-02 17:27:15 +08:00
suzmii added 1 commit 2026-09-02 19:15:34 +08:00
合并最新主线
Project CI / Repository checks (pull_request) Successful in 2m33s
Project CI / Backend tests (pull_request) Successful in 7m36s
Project CI / Frontend tests (pull_request) Successful in 2m58s
Project CI / Native shell tests (pull_request) Successful in 19m42s
c030a2429b
同步 master 最新提交。

# Conflicts:
#	docs/technical/【技术方案】AI游戏创作智能体App实施计划-2026-06-24.md
kdletters requested changes 2026-09-02 20:01:30 +08:00
kdletters left a comment
Member

请先补齐自动项目名称的 fail-closed 校验:严格限制 2–16 个中文字符,并拒绝 Markdown、URL、路径、凭据、引号及解释文本;同时增加对应边界测试。当前实现会把非法模型输出写入 manifest,未满足 PR 的回退验收条件。

请先补齐自动项目名称的 fail-closed 校验:严格限制 2–16 个中文字符,并拒绝 Markdown、URL、路径、凭据、引号及解释文本;同时增加对应边界测试。当前实现会把非法模型输出写入 manifest,未满足 PR 的回退验收条件。
@@ -16,0 +26,4 @@
pub(crate) media_type: Option<String>,
}
pub(crate) fn normalize_suggested_project_name(value: &str) -> Option<String> {
Member

[P1] 这里仅校验单行、至少 2 字符和通用的 80 字符上限,但上面的命名契约要求输出为 2–16 个中文字符且拒绝 Markdown、URL、路径、凭据、引号和解释文本;例如 **foo**https://example.com 或 17–80 字符结果会被直接写入 manifest,非法模型输出不会回退默认名。请在 Rust 侧补齐严格的 fail-closed 校验,并为这些边界补测试。

[P1] 这里仅校验单行、至少 2 字符和通用的 80 字符上限,但上面的命名契约要求输出为 2–16 个中文字符且拒绝 Markdown、URL、路径、凭据、引号和解释文本;例如 `**foo**`、`https://example.com` 或 17–80 字符结果会被直接写入 manifest,非法模型输出不会回退默认名。请在 Rust 侧补齐严格的 fail-closed 校验,并为这些边界补测试。
suzmii marked this conversation as resolved
suzmii added 1 commit 2026-09-02 20:39:07 +08:00
严格校验自动项目名称
Project CI / Native shell tests (pull_request) Successful in 16m33s
Project CI / Repository checks (pull_request) Failing after 11s
Project CI / Backend tests (pull_request) Failing after 9s
Project CI / Frontend tests (pull_request) Successful in 3m53s
77746c63d2
自动命名仅接受二至十六个汉字。

补充格式、路径、凭据和长度边界回归测试。
suzmii added 1 commit 2026-09-02 20:42:17 +08:00
再次同步最新主线
Project CI / Native shell tests (pull_request) Successful in 16m47s
Project CI / Repository checks (pull_request) Successful in 2m54s
Project CI / Frontend tests (pull_request) Successful in 3m31s
Project CI / Backend tests (pull_request) Successful in 6m12s
dc5be4aedd
纳入 master 最新提交以满足 PR 基线门禁。
suzmii requested review from kdletters 2026-09-03 10:01:53 +08:00
kdletters approved these changes 2026-09-03 10:53:14 +08:00
Dismissed
@@ -16,0 +17,4 @@
const AUTOMATIC_PROJECT_NAME_MAX_ATTACHMENTS: usize = 20;
const AUTOMATIC_PROJECT_NAME_MAX_OUTPUT_TOKENS: u32 = 64;
const AUTOMATIC_PROJECT_NAME_SYSTEM_PROMPT: &str =
"你是项目命名助手。只根据用户输入提炼一个原创、简短、中文的项目名称;不要使用知名作品名、路径、URL、凭据、Markdown、引号或解释。输出必须有且只有一行纯文本,长度为 2 到 16 个字符。信息不足时输出:未命名游戏原型";
Member

提示词放到上级目录中的prompts文件夹里

提示词放到上级目录中的prompts文件夹里
suzmii marked this conversation as resolved
@@ -16,0 +21,4 @@
#[derive(Clone, Debug, Deserialize, Eq, PartialEq)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub(crate) struct AutomaticProjectNameAttachment {
Member

为什么要单独创建一个取名用的附件结构体

为什么要单独创建一个取名用的附件结构体
Author
Member

已去除附件结构体,只使用用户提示词(单个string)生成项目标题

已去除附件结构体,只使用用户提示词(单个string)生成项目标题
suzmii added 2 commits 2026-09-03 11:11:49 +08:00
将自动项目命名提示词迁移到 prompts 目录并由 Rust 编译期引入
说明取名附件采用独立窄 DTO 的输入边界原因
增加提示词关键约束回归测试
Merge remote-tracking branch 'origin/master' into feat/project-name
Project CI / Repository checks (pull_request) Successful in 5m56s
Project CI / Frontend tests (pull_request) Successful in 3m50s
Project CI / Backend tests (pull_request) Successful in 6m38s
Project CI / Native shell tests (pull_request) Successful in 18m53s
86867e9903
suzmii dismissed kdletters's review 2026-09-03 11:11:49 +08:00
Reason:

New commits pushed, approval review dismissed automatically according to repository settings

kdletters reviewed 2026-09-03 11:22:12 +08:00
kdletters left a comment
Member

审查 head sha:86867e9903a94d10ccd36a50a5a2f4ebfa780b7a

已检查自动项目创建、项目名称提炼与规范化、项目重命名、TypeScript/Rust 合约及相关测试。未发现明确问题。

验证:git diff --check、TypeScript typecheck、shared-contracts 定向测试通过;Tauri 测试构建通过。

审查 head sha:86867e9903a94d10ccd36a50a5a2f4ebfa780b7a 已检查自动项目创建、项目名称提炼与规范化、项目重命名、TypeScript/Rust 合约及相关测试。未发现明确问题。 验证:git diff --check、TypeScript typecheck、shared-contracts 定向测试通过;Tauri 测试构建通过。
Member

审查 head sha:86867e9903a94d10ccd36a50a5a2f4ebfa780b7a

结论:未发现明确问题。已检查自动项目创建、项目名称提炼与规范化、项目重命名、TypeScript/Rust 合约及相关测试。

验证:git diff --check、TypeScript typecheck、shared-contracts 定向测试通过;Tauri 测试构建通过。

审查 head sha:86867e9903a94d10ccd36a50a5a2f4ebfa780b7a 结论:未发现明确问题。已检查自动项目创建、项目名称提炼与规范化、项目重命名、TypeScript/Rust 合约及相关测试。 验证:git diff --check、TypeScript typecheck、shared-contracts 定向测试通过;Tauri 测试构建通过。
suzmii added 1 commit 2026-09-03 11:38:24 +08:00
自动命名仅使用用户需求
Project CI / Frontend tests (pull_request) Successful in 3m17s
Project CI / Backend tests (pull_request) Successful in 7m5s
Project CI / Native shell tests (pull_request) Successful in 17m47s
Project CI / Repository checks (pull_request) Successful in 2m25s
5ac29ee691
删除自动项目命名专用附件结构体和附件元数据拼接
前端取名请求只传用户需求
更新前后端回归测试以固定输入边界
suzmii requested review from kdletters 2026-09-03 11:42:05 +08:00
kdletters added 1 commit 2026-09-03 14:43:23 +08:00
Merge branch 'master' into feat/project-name
Project CI / Repository checks (pull_request) Failing after 52s
Project CI / Frontend tests (pull_request) Successful in 3m3s
Project CI / Backend tests (pull_request) Successful in 8m26s
Project CI / Native shell tests (pull_request) Failing after 20m3s
2cb6cbdf37
kdletters added 1 commit 2026-09-03 15:33:51 +08:00
Merge branch 'master' into feat/project-name
Project CI / Repository checks (pull_request) Successful in 2m39s
Project CI / Frontend tests (pull_request) Successful in 3m31s
Project CI / Backend tests (pull_request) Successful in 7m27s
Project CI / Native shell tests (pull_request) Successful in 19m12s
81030aab24
kdletters merged commit d5e05d79fe into master 2026-09-03 15:50:56 +08:00
kdletters deleted branch feat/project-name 2026-09-03 15:50:56 +08:00
Sign in to join this conversation.