makecindy / makecindy/cindy

feat: 支持提示词创建项目及将日常对话无缝转入项目

Open
#2,397 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
2.7k
Forks
401
Avg merge
21h 48m
Merged PRs (30d)
776

Description

### 使用场景 / Use case

希望“项目”成为可由 AI 自动创建、也能从日常对话自然升级或归档的长期 Workspace,减少手动建目录、复制聊天记录和搬运 Context。

核心包含三个场景:

1. **通过“添加项目”创建新项目**
- 点击“添加项目”后弹出悬浮窗口。
- 用户输入自然语言提示词,例如:“创建一个 React + TypeScript 的个人记账应用。”
- 系统自动生成项目名称、简介、保存目录、技术方案、Workspace 结构和初始文件。
- 创建后自动加入项目列表并打开,用户可以立即继续开发或对话。

2. **将当前日常对话转化为长期项目**
- 用户未进入项目,只是在普通对话中交流。
- 当内容逐渐变大、需要长期推进时,用户可以直接说:“帮我转化成长期项目。”
- 系统自动提取当前对话中的目标、需求、结论、约束、附件和待办,创建新的项目文件夹与 Workspace。
- 创建完成后自动进入项目,继承有效 Context,无需用户复制聊天记录或重新解释背景。

3. **将当前日常对话并入已有项目**
- 用户发现当前讨论其实属于已有项目时,可以直接说:“帮我转进某某项目中。”
- 系统定位目标项目,将本次对话中的新增需求、结论、任务、附件和相关产物追加到项目 Context。
- 迁移完成后自动进入目标项目,从当前进度继续工作。

### 当前问题 / Current limitation

- 创建项目需要手动填写名称、选择文件夹并完成多项设置。
- 创建后的项目目录基本为空,仍需手动搭建结构和初始内容。
- 普通对话无法自然升级为长期项目。
- 对话内容无法便捷地并入已有项目。
- 用户需要手动复制 Context、附件和结论,并在切换后重新描述背景。
- 对话与项目之间缺少连续、可追溯的转换机制。

### 期望方案 / Proposed solution

#### 1. 提示词自动创建项目

系统根据提示词自动生成:

- 项目名称、简介和保存目录;
- 项目类型与推荐技术栈;
- 初始目录结构;
- README、需求说明、任务清单等基础文档;
- 必要的配置、代码或其他初始内容。

创建前可以展示简要预览,允许修改名称和保存位置;用户明确要求“直接创建”时,应尽量减少额外确认。创建出的项目不应只是空文件夹。

#### 2. 对话转为新项目

系统应从当前对话中结构化提取:

- 目标和背景;
- 已确认需求与结论;
- 关键决策和约束;
- 已完成事项与待办;
- 附件、文件及其他生成产物。

随后创建项目 Workspace 和初始文档,将当前对话与新项目关联,并自动切换到新项目继续交流。

#### 3. 对话并入已有项目

- 只有一个明确匹配项目时可以直接执行。
- 存在多个同名或相似项目时,必须让用户选择。
- 找不到目标项目时,可搜索其他项目、创建新项目或取消。
- 新 Context 采用追加、合并或关联方式写入,不得直接覆盖已有内容。

#### 4. 上下文迁移规则

- 优先沉淀结构化有效信息,而不是无差别复制整段聊天。
- 原日常对话始终保留。
- 项目中记录来源对话、迁移时间和内容摘要,支持双向追溯。
- 重复内容可合并;出现冲突时展示差异,不静默覆盖。
- 失败或取消不得损坏原对话、已有项目或遗留不可用的半成品项目。
- 创建和迁移过程需显示进度、成功结果与明确的失败原因。

#### 验收标准

- 点击“添加项目”后可输入提示词自动创建非空项目。
- 系统能生成合理的项目名称、目录、Workspace 和初始文件。
- 用户说“帮我转化成长期项目”后,可在无需复制 Context 的情况下创建项目并继续当前任务。
- 用户说“帮我转进某某项目”后,系统能定位目标项目并迁移有效上下文。
- 多个相似项目存在时不会擅自选错目标。
- 新增内容不会覆盖目标项目已有 Context。
- 创建或迁移后可以直接延续当前对话,无需重新介绍背景。
- 原日常对话始终保留,迁移记录可追溯。
- 取消或失败不会丢失、损坏已有内容。

#### 建议首期范围

1. “添加项目”提示词悬浮窗口;
2. 自动生成项目名称、简介、目录与基础文件;
3. 日常对话转化为新项目;
4. 日常对话并入已有项目;
5. Context 摘要、迁移与来源关联;
6. 进度反馈、失败回滚和原始数据保护。

自动安装依赖、自动运行项目、复杂冲突合并、跨项目引用等能力可以后续增强。

### 已考虑的替代方案 / Alternatives considered

- 继续由用户手动创建文件夹和空项目:步骤多,且不能利用已有对话生成初始内容。
- 由用户复制聊天记录到新项目:容易遗漏 Context,需要重复整理和解释背景。
- 只把完整聊天文本直接塞入项目:噪音较多,不利于长期维护,因此更适合“结构化摘要 + 原始对话关联”。

Contributor guide

Open the contributing guide

Research direction

The issue names no files, tests, or entry points. Start by mapping the existing project-creation flow, conversation persistence, workspace storage, and context-transfer paths before splitting the proposal into smaller changes. Done means prompt-based creation and both conversation migration paths preserve original data, avoid overwrites, report progress and failures, and remain traceable.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
developer-experience
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.