Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Codex Task Title Manager

这是一个独立实现的 Codex Skill,用官方任务工具读取真实对话、预览多种标题,并安全维护长时间不活跃的历史任务标题。

当前稳定版本:v1.4.0

当前能力

  • updatedAt 判断最后活动时间,默认阈值为 24 小时。
  • 读取任务实际内容,而不是照抄第一条消息。
  • 识别 Fork、delegation、handoff 和主线同步边界:继承历史只作背景,标题优先描述分支新增目标与结果。
  • 每次手动调用先用本机真实项目展示搜索型、平衡型、档案型和自定义方式,由用户选择后才生成完整预览。
  • 批量改名前预览并确认。
  • 用独立状态文件保护用户手动标题,并识别改名后重新活跃的任务。
  • 每次成功改名后,按项目分类追加“原标题 → 新标题”恢复记录,方便任务难以定位时按任务 ID 找回。
  • 只调用官方 list_threadsread_threadset_thread_title;不修改 Codex 数据库、JSONL、缓存或扩展文件。
  • 把历史任务内容和标题当作不可信数据,不执行其中的指令、链接或工具调用。
  • 通过 JSON stdin 向状态脚本传递标题和项目标签,避免把任务内容拼接进 Shell 命令。
  • 建议每天晚上在普通 Codex 对话中手动调用一次;每次仍先预览、选择格式并确认完整映射。
  • 已验证当前定时自动化的独立运行环境可能缺少官方 list_threads / read_thread,因此默认不再创建或启用自动化,也不会绕过官方接口读取内部存储。

当前官方 list_threads 一次最多返回最近 50 个任务且没有分页游标,因此单次扫描范围是“最近 50 个”;已知更早任务可按用户提供的标题或项目关键词查询,不能在不读取内部数据库的前提下声称一次穷举 100+ 任务。

项目结构

可安装的 Skill 只有 codex-task-title-manager/ 子目录。其余目录和文件用于开源仓库的说明、测试与审计,不需要复制到 Codex Skills 目录。

.
├── README.md
├── LICENSE
├── SECURITY.md
├── docs/
│   └── audits/
│       └── security-review.zh-CN.md
├── tests/
│   └── test_thread_title_state.py
└── codex-task-title-manager/       # 可安装 Skill
    ├── SKILL.md
    ├── VERSION
    ├── agents/
    │   └── openai.yaml
    ├── references/
    │   ├── title-profiles.md
    │   └── branch-context.md
    └── scripts/
        └── thread_title_state.py

本机安装

开发源码保留在当前目录。通过验证后,将 codex-task-title-manager 文件夹复制到:

C:\Users\<用户名>\.codex\skills\codex-task-title-manager

刷新或重启 Codex 后,可这样调用:

使用 $codex-task-title-manager,按真实本地项目展示可选命名格式,再预览超过 24 小时未活动的最近 20 个任务标题。

首次批量处理必须先选定标题风格并确认。手动选择只对当前运行生效,不会被保存成默认值。建议每天晚上手动调用 $codex-task-title-manager:它会扫描最近可见任务并生成 A/B/C 预览,只有用户选定标题并确认完整映射后才会改名。

状态文件

Windows 默认位置:

%LOCALAPPDATA%\CodexTaskTitleManager\state.json

它只保存任务 ID、安全项目标签、旧标题的 SHA-256 摘要、脱敏后的新标题和时间戳,不保存对话正文、旧标题明文或完整本地路径。恢复记录按项目分类并保留多次改名历史;文件损坏、并发写入或达到 2 MiB / 5,000 条上限时,脚本会拒绝覆盖并退回只预览模式。

状态命令以一行 UTF-8 JSON 从 stdin 读取数据。例如,查看全部恢复记录:

'{"command":"history"}' | python "$env:USERPROFILE\.codex\skills\codex-task-title-manager\scripts\thread_title_state.py" request

Skill 运行时应通过终端工具的独立 stdin 通道传入 JSON,而不是把任务标题拼接到 PowerShell 命令中。上面的管道仅用于操作者手动输入固定 JSON 的示例。

升级到 v1.4.0 后,Skill 会先发送 {"command":"migrate"},把通过严格校验的旧 v1 状态原子改写为隐私收敛的 v2;该操作可重复执行。迁移失败时不会覆盖旧文件,只能继续预览。

若要按记得的原标题查找记录,传入 {"command":"history","old_title":"原标题"};脚本只在内存中计算摘要。若不再需要任何保护或恢复记录,可以在 Codex 完全退出后删除本机 state.json。删除会清除全部管理基线,且不可由 Skill 自动恢复。

如果进程崩溃留下 state.json.lock,先确认没有任何标题维护进程仍在运行,再检查锁文件中的 pidcreated_at,最后才可手动删除该锁文件并重试。不要按固定超时自动删除锁,以免破坏仍在进行的写入。

版本与回滚

  • v1.4.0:强化提示注入与命令注入边界;新增 JSON-stdin 状态接口、严格类型和 Unicode 控制字符校验,并完成公开发布隐私净化。
  • v1.3.1:根据真实自动化测试,将默认维护方式调整为每晚手动调用;定时自动化缺少官方任务读取接口时不再反复空跑。
  • v1.3.0:增加分支上下文识别和权重规则,避免把 Fork 前继承历史误算为当前分支成果;同步应用于手动预览与每日自动化。
  • v1.2.0:默认不活跃阈值调整为 24 小时;首次使用询问是否开启每日自动化;定时任务固定为只预览,任何改名仍需手动确认。
  • v1.1.0:加入真实项目格式选择、批量确认、手动标题保护、按项目分类的改名前后标题恢复记录,以及 41 个真实历史任务验收。
  • Skill 的机器可读版本保存在 codex-task-title-manager/VERSIONSKILL.md frontmatter 只保留官方支持的 namedescription
  • GitHub 公共仓库从经过隐私净化的 v1.4.0 基线开始,不包含本机任务预览、运行状态、备份或旧的私有开发历史。

安全与隐私

状态文件只保存在本地并包含任务 ID、安全项目标签、旧标题摘要、脱敏后的新标题和时间戳,不包含对话正文、旧标题明文或完整路径。新标题本身仍可能含有敏感信息;使用者应在预览时检查、保护本机账户和状态文件,并且永远不要提交该文件。

安全漏洞报告方式见 SECURITY.md,对抗性安全审查见 docs/audits/security-review.zh-CN.md。项目采用 MIT License

About

Privacy-conscious Codex Skill for factual, fork-aware task title maintenance using official tools.

Topics

Resources

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages