[建议 / Feature] 任务分组支持自动归类:新会话按标题/首条输入自动进入已有分组
Nobody has claimed this yet.
- Dominant language
- No language data
- Stars
- 22
- Forks
- 1
- PR merge metrics
- No merged PRs in 30d
Description
提交前确认 · Pre-submission checklist
- 我已搜索过现有 issue,确认这不是重复提议(中英文关键词"分组 / 自动归类 / auto group / session grouping"均查过)
- 我已阅读 CONTRIBUTING.md
问题类别 · Category
UI / 界面体验 · UI / UX(侧栏任务/会话分组)
涉及的 Agent 框架 · Agent framework
ZCode Agent(自研)
使用场景 · Use case
侧栏"分组"视图目前完全靠手动维护:只有从某个分组头部的+创建会话才会带上组归属,用通用入口(⌘N / 侧栏顶部"新建任务")创建的会话不带组,散落在列表顶部,需要事后手动拖入。
会话量上来之后这成了持续的手工活:我当前 15 个活跃会话、5 个自定义分组,其中 2 个组因为"想不起来归进去"长期空置,单一分组又攒了 11 条——分组的导航价值被手动维护成本吃掉了。
建议方案 · Proposal
新会话在创建时(或标题自动生成完成时)自动归类到已有分组:
- 复用现有标题生成链路:标题生成已经在判断会话主题了,顺带从用户已有分组列表中选一个归属即可(都不匹配则留空,保持现行为)。
- 提供设置开关 + 手动纠正:自动分组可整体关闭;手动拖动纠正仍然可用,纠正行为本身就是归类质量的反馈信号。
- 低成本起步方案:若智能归类暂不做,可先落规则版——按标题/首条输入的关键词规则映射到分组,规则在设置页可编辑。
预期价值 · Expected value
分组从"需要持续维护的收藏夹"变成"零维护的自动视图";会话量到几十上百时侧栏仍可导航;也避免用户建了组却因手动成本弃用(空置组反而增加视觉噪音)。
你认为的优先级 · Your perceived priority
中 · Medium
你使用的 ZCode 版本 / 环境 · ZCode version / environment
v3.10.2 / macOS 桌面版 (arm64)
补充材料 · Additional context
客户端实现侧的几点观察(基于 v3.10.2 macOS 包逆向,供评估参考):
writeRecord对普通任务目前没有任何自动入组逻辑,仅两条系统规则:cron 自动化任务 → 系统 cron 组;闲时任务 → "闲时任务"系统组。- 客户端里已存在一套"按工作区自动建组"的一次性 bootstrap(组名 = 工作区目录名),说明自动建组的基础设施是现成的,缺的只是语义归类这一层。
- "项目"视图(按工作区分组)是目前唯一免维护的自动分组轴,但多数用户的会话集中在默认工作区,该轴区分度有限。
- 分组关系存储在本地
tasks-index.sqlite的task_group_members(每会话限属一组),数据模型可直接承载自动写入。 - 会话标题已有
first_input/generated两级自动生成机制,是"生成标题时顺带分组"的现成挂点。
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
The issue names no repository source files or tests; begin by locating the client’s writeRecord path and the title-generation flow using first_input/generated. Inspect how task_group_members is written and how existing cron, idle-task, and workspace grouping behave. Done should be defined for unmatched sessions, the opt-out setting, manual correction, and the proposed rule-based or semantic grouping scope.
Written by the indexing model from the issue text.
Assessment
- Domain
- desktop, frontend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100