autonomous-skill
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseAutonomous Skill - Long-Running Task Execution
Autonomous Skill - 长时间运行任务执行
Execute complex, long-running tasks across multiple sessions using a dual-agent pattern (Initializer + Executor) with automatic session continuation via Codex non-interactive mode.
通过Codex非交互模式实现自动会话续期,采用双Agent模式(Initializer + Executor)跨多会话执行复杂的长时间运行任务。
Quick Start
快速开始
Use the script to manage autonomous tasks:
run-session.shbash
undefined使用脚本管理自主任务:
run-session.shbash
undefinedStart a new autonomous task
启动新的自主任务
~/.codex/skills/autonomous-skill/scripts/run-session.sh "Build a REST API for todo app"
~/.codex/skills/autonomous-skill/scripts/run-session.sh "Build a REST API for todo app"
Continue an existing task
继续现有任务
~/.codex/skills/autonomous-skill/scripts/run-session.sh --task-name build-rest-api-todo --continue
~/.codex/skills/autonomous-skill/scripts/run-session.sh --task-name build-rest-api-todo --continue
List all tasks and their progress
列出所有任务及其进度
~/.codex/skills/autonomous-skill/scripts/run-session.sh --list
~/.codex/skills/autonomous-skill/scripts/run-session.sh --list
Show help
显示帮助
~/.codex/skills/autonomous-skill/scripts/run-session.sh --help
undefined~/.codex/skills/autonomous-skill/scripts/run-session.sh --help
undefinedDirectory Structure
目录结构
All task data is stored in under the project root:
.autonomous/<task-name>/text
project-root/
└── .autonomous/
├── build-rest-api/
│ ├── task_list.md # Master task checklist
│ ├── progress.md # Session-by-session notes
│ ├── session.id # Last Codex session ID for resumption
│ └── session.log # JSON Lines output from sessions
├── refactor-auth/
│ ├── task_list.md
│ ├── progress.md
│ └── session.id
└── ...This allows multiple autonomous tasks to run in parallel without conflicts.
所有任务数据存储在项目根目录下的中:
.autonomous/<task-name>/text
project-root/
└── .autonomous/
├── build-rest-api/
│ ├── task_list.md # 主任务清单
│ ├── progress.md # 逐会话进度记录
│ ├── session.id # 用于续期的最后一个Codex会话ID
│ └── session.log # Codex会话的JSON Lines格式输出
├── refactor-auth/
│ ├── task_list.md
│ ├── progress.md
│ └── session.id
└── ...这种结构允许多个自主任务并行运行而不产生冲突。
Script Options
脚本选项
text
Usage:
run-session.sh "task description" Start new task (auto-generates name)
run-session.sh --task-name <name> --continue Continue specific task
run-session.sh --list List all tasks
run-session.sh --help Show help
Options:
--task-name <name> Specify task name explicitly
--continue, -c Continue existing task
--no-auto-continue Don't auto-continue after session
--max-sessions N Limit to N sessions
--list List all existing tasks
--resume-last Resume the most recent Codex session
--network Enable network access (uses danger-full-access sandbox)text
用法:
run-session.sh "任务描述" 启动新任务(自动生成名称)
run-session.sh --task-name <名称> --continue 继续指定任务
run-session.sh --list 列出所有任务
run-session.sh --help 显示帮助
选项:
--task-name <名称> 显式指定任务名称
--continue, -c 继续现有任务
--no-auto-continue 会话结束后不自动续期
--max-sessions N 限制会话数量为N
--list 列出所有现有任务
--resume-last 恢复最近的Codex会话
--network 启用网络访问(使用danger-full-access沙箱)Workflow Overview
工作流程概述
text
User Request → Generate Task Name → Create .autonomous/<task-name>/ → Execute Codex Sessions
↓
┌───────────────┐
│ task_list.md │
│ exists? │
└───────┬───────┘
│
┌───────────────────────┴───────────────────────┐
│ NO YES │
▼ ▼
┌───────────────┐ ┌───────────────┐
│ INITIALIZER │ │ EXECUTOR │
│ - Analyze │ │ - Read state │
│ - Break down │ │ - Next task │
│ - Create │ │ - Implement │
│ task_list │ │ - Mark done │
└───────────────┘ └───────────────┘
│
▼
┌───────────────┐
│ All complete? │
└───────┬───────┘
│
┌───────────────┴───────────────┐
│ NO YES │
▼ ▼
Auto-continue Exit with success
(3 sec delay)text
用户请求 → 生成任务名称 → 创建.autonomous/<task-name>/目录 → 执行Codex会话
↓
┌───────────────┐
│ task_list.md是否存在? │
└───────┬───────┘
│
┌───────────────────────┴───────────────────────┐
│ 否 是 │
▼ ▼
┌───────────────┐ ┌───────────────┐
│ INITIALIZER │ │ EXECUTOR │
│ - 分析任务 │ │ - 读取状态 │
│ - 分解任务 │ │ - 处理下一个任务 │
│ - 创建task_list │ │ - 实现任务 │
│ 任务清单 │ │ - 标记完成 │
└───────────────┘ └───────────────┘
│
▼
┌───────────────┐
│ 全部完成? │
└───────┬───────┘
│
┌───────────────┴───────────────┐
│ 否 是 │
▼ ▼
自动续期(3秒延迟) 成功退出Usage Examples
使用示例
Example 1: Start New Task
示例1:启动新任务
bash
~/.codex/skills/autonomous-skill/scripts/run-session.sh "Build a REST API for todo app"Output:
text
ℹ Generated task name: build-rest-api-todo
==========================================
SESSION 1 - build-rest-api-todo
==========================================
==========================================
INITIALIZER SESSION
==========================================
Task: Build a REST API for todo app
Task Name: build-rest-api-todo
Task Directory: .autonomous/build-rest-api-todo
[Codex creates task_list.md with 25 tasks...]
✓ Initializer session complete
ℹ Session ID saved: 550e8400-e29b-41d4-a716-446655440000
=== Progress: 0/25 ===
Continuing in 3 seconds... (Press Ctrl+C to pause)bash
~/.codex/skills/autonomous-skill/scripts/run-session.sh "Build a REST API for todo app"输出:
text
ℹ 生成的任务名称: build-rest-api-todo
==========================================
会话1 - build-rest-api-todo
==========================================
==========================================
INITIALIZER会话
==========================================
任务: Build a REST API for todo app
任务名称: build-rest-api-todo
任务目录: .autonomous/build-rest-api-todo
[Codex创建包含25个任务的task_list.md...]
✓ Initializer会话完成
ℹ 会话ID已保存: 550e8400-e29b-41d4-a716-446655440000
=== 进度: 0/25 ===
3秒后自动续期...(按Ctrl+C暂停)Example 2: Continue Existing Task
示例2:继续现有任务
bash
~/.codex/skills/autonomous-skill/scripts/run-session.sh --task-name build-rest-api-todo --continuebash
~/.codex/skills/autonomous-skill/scripts/run-session.sh --task-name build-rest-api-todo --continueExample 3: Resume with Session Context
示例3:恢复会话上下文
bash
undefinedbash
undefinedResume the Codex session (preserves conversation context)
恢复Codex会话(保留对话上下文)
~/.codex/skills/autonomous-skill/scripts/run-session.sh --task-name build-rest-api-todo --continue --resume-last
undefined~/.codex/skills/autonomous-skill/scripts/run-session.sh --task-name build-rest-api-todo --continue --resume-last
undefinedExample 4: List All Tasks
示例4:列出所有任务
bash
~/.codex/skills/autonomous-skill/scripts/run-session.sh --listOutput:
text
==========================================
AUTONOMOUS TASKS
==========================================
✓ build-rest-api-todo (25/25 - 100% complete) [session: 550e8400...]
○ refactor-auth (12/30 - 40%) [session: 661f9511...]
? incomplete-task (no task_list.md)bash
~/.codex/skills/autonomous-skill/scripts/run-session.sh --list输出:
text
==========================================
自主任务列表
==========================================
✓ build-rest-api-todo (25/25 - 100%完成) [会话: 550e8400...]
○ refactor-auth (12/30 - 40%) [会话: 661f9511...]
? incomplete-task (无task_list.md)Example 5: With Network Access
示例5:启用网络访问
bash
undefinedbash
undefinedEnable network access for tasks that need API calls
为需要API调用的任务启用网络访问
~/.codex/skills/autonomous-skill/scripts/run-session.sh --network "Fetch data from GitHub API and analyze"
undefined~/.codex/skills/autonomous-skill/scripts/run-session.sh --network "Fetch data from GitHub API and analyze"
undefinedKey Files
关键文件
For each task in :
.autonomous/<task-name>/| File | Purpose |
|---|---|
| Master task list with checkbox progress |
| Session-by-session progress notes |
| Last Codex session ID for resumption |
| JSON Lines output from Codex sessions |
对于中的每个任务:
.autonomous/<task-name>/| 文件 | 用途 |
|---|---|
| 带有复选框进度的主任务列表 |
| 逐会话的进度记录 |
| 用于续期的最后一个Codex会话ID |
| Codex会话的JSON Lines格式输出 |
Important Notes
重要说明
- Task Isolation: Each task has its own directory, no conflicts
- Task Naming: Auto-generated from description (lowercase, hyphens, max 30 chars)
- Task List is Sacred: Never delete or modify task descriptions, only mark
[x] - One Task at a Time per Session: Focus on completing tasks thoroughly
- Auto-Continue: Sessions auto-continue with 3s delay; Ctrl+C to pause
- Session Resumption: Use to preserve Codex conversation context
--resume-last - Network Mode: uses
--network; only use in an isolated environment--dangerously-bypass-approvals-and-sandbox - Git Hygiene: Consider adding to
.autonomous/to avoid committing logs.gitignore
- 任务隔离:每个任务都有独立目录,不会产生冲突
- 任务命名:根据描述自动生成(小写、连字符分隔,最多30个字符)
- 任务清单不可修改:请勿删除或修改任务描述,仅可标记表示完成
[x] - 单会话单任务:专注于彻底完成每个任务
- 自动续期:会话会自动续期,延迟3秒;按Ctrl+C可暂停
- 会话恢复:使用保留Codex对话上下文
--resume-last - 网络模式:使用
--network;仅在隔离环境中使用--dangerously-bypass-approvals-and-sandbox - Git规范:建议将添加到
.autonomous/中,避免提交日志文件.gitignore
Codex CLI Reference
Codex CLI参考
The script uses these Codex commands internally:
bash
undefined脚本内部使用以下Codex命令:
bash
undefinedNon-interactive execution with file edits (fully autonomous)
支持文件编辑的非交互执行(完全自主)
--full-auto: autonomous execution with workspace-write sandbox
--full-auto: 借助workspace-write沙箱实现自主执行
codex exec --full-auto --json "prompt"
codex exec --full-auto --json "prompt"
Resume previous session
恢复之前的会话
codex exec --full-auto --json resume <SESSION_ID> "prompt"
codex exec --full-auto --json resume <SESSION_ID> "prompt"
Full access (file edits + network) - use with caution!
完全访问(文件编辑+网络)- 谨慎使用!
codex exec --dangerously-bypass-approvals-and-sandbox --json "prompt"
undefinedcodex exec --dangerously-bypass-approvals-and-sandbox --json "prompt"
undefinedTroubleshooting
故障排除
| Issue | Solution |
|---|---|
| Task not found | Run |
| Multiple tasks | Specify task name with |
| Session stuck | Check |
| Need to restart | Delete task directory and start fresh |
| Resume failed | Remove |
| Codex not found | Install Codex CLI: |
| 问题 | 解决方案 |
|---|---|
| 任务未找到 | 运行 |
| 存在多个任务 | 使用 |
| 会话卡住 | 查看任务目录中的 |
| 需要重启 | 删除任务目录并重新开始 |
| 恢复失败 | 删除 |
| 未找到Codex | 安装Codex CLI: |