Skip to content

描述性任务名最终用哪套来源规则 #281

Closed

Description

@Simon-AI-coding

Part of #273

Question

Session Name 的 task 半边(描述性任务名)最终用哪套来源规则?要在 grilling 里把下面几点定死:

  1. 来源优先级:照搬 Claude Code 自己的顺序(自定义名 > AI 生成标题 > 第一条提示节选 > 派生名),还是只用其中一部分;Codex 同构地用 Thread.name > Thread.preview 还是别的。
  2. 是否允许名字变化(节选 → 标题 → 用户改名),还是像地址一样一次冻结;变化时语音和 Telegram 怎么处理。
  3. 名字难看的情况怎么办:第一条提示是斜杠命令、以图片开头、超长、多行、含分隔符。
  4. 硬约束:不给用户或 session 在启动时增加任何动作,不引入会超时阻断流程的同步步骤(legacy 教训,见研究票结论)。

输入:#273 里的官方能力事实、研究票「Legacy 是怎么给 session 起任务名的」的结论。输出:一条能直接写进 adapters/agent/_naming.py 的规则和它的输入事实清单,作为 resolution comment。

Activity

  1. Simon-AI-coding commented on Sep 7, 2026

    @Simon-AI-coding
    OwnerAuthor

    结论(2026-09-07 grilling,Simon 决定)

    Q1 替换,不加新概念。 Session Name 的 task 半边就是描述性任务名,只留这一个字段。它的职责是让用户听懂这个 Session 在干嘛;寻址一律靠 Session id(地址),名字不参与任何寻址。CONTEXT.md 的 Session Name 词条改写,不新增词条。

    Q2 取值优先级。 任一时刻取「当前能拿到的最高一级」:

    • Claude:① 用户自定义名(登记表 nameSource 不是 derived)② AI 生成标题(转录里最新一条 ai-title)③ 第一条提示的节选(清洗后)④ 派生名 <dir>-<2hex>(兜底)
    • Codex:① daemon Thread.name,且不等于 preview ② Thread.preview(清洗后)③ 线程 id 前 8 位(兜底)
    • 兜底级永远存在,所以每个主 Session 永远有名字。Codex 0.150.0 names a thread from the user's first words; the name should follow its official source #113 的「临时标题剔除」被吸收为一条普通规则:name 等于 preview 就归第 ② 级。

    Q3 变化规则。 (a) 只升不降:拿到更高级就换,来源消失时保留上一次的值。(b) 同级内跟最新值:官方改了我们就改,不自己冻结。(c) 不播报:名字变化时语音和 Telegram 静默使用新名字。

    Q4 节选级清洗(选 A)。 剥掉斜杠命令包裹只留 <command-args> 正文(没有正文就留命令名),去掉 [Image #n] 标记,多行压一行,按配置的长度截断(长度不写死在函数里,由调用方从配置传入)。清洗后为空则跳到兜底级。

    Q5 删掉 @名字片段: 话 的 Telegram 写法(选 C)。 名字彻底不参与寻址,Telegram 只靠回复 Anchor 和菜单按位置选。这一条会动到 router 和 match_name。

    Q6 撞名沿用现状(选 A)。 roster 上读起来一样的两行仍加 (地址) 后缀;语音不做额外处理,靠状态和最新一句话区分。

    设计立场。 简洁、用户无感:启动不多一步,没有注册和自报,没有同步等待。全部判断收在 adapters/agent/_naming.py 一个纯函数里,输入是各级候选字串加上一次的结果,输出一个名字;adapter 只搬运事实,Core 只写入。

    实现细节(无需再问):project 半边不动;子进程(#79)仍不起名;「只升不降」的记忆放在 Core 已有的 Session 记录里,纯函数不存状态。

    文档落地:CONTEXT.md Session Name 词条改写、ADR 0024 记录本决定(推翻 #78 的「不用 ai-title、不用可变名字」)。

    后续:Simon 决定跳过原型票直接开发,spec 票由本 session 用 /to-spec 开出。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions