zai-org / zai-org/feedback

[建议 / Feature] 任务分组支持自动归类:新会话按标题/首条输入自动进入已有分组

Open
#439 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

priority: P2
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

新会话在创建时(或标题自动生成完成时)自动归类到已有分组:

  1. 复用现有标题生成链路:标题生成已经在判断会话主题了,顺带从用户已有分组列表中选一个归属即可(都不匹配则留空,保持现行为)。
  2. 提供设置开关 + 手动纠正:自动分组可整体关闭;手动拖动纠正仍然可用,纠正行为本身就是归类质量的反馈信号。
  3. 低成本起步方案:若智能归类暂不做,可先落规则版——按标题/首条输入的关键词规则映射到分组,规则在设置页可编辑。
预期价值 · 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.sqlitetask_group_members(每会话限属一组),数据模型可直接承载自动写入。
  • 会话标题已有 first_input / generated 两级自动生成机制,是"生成标题时顺带分组"的现成挂点。

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.