autonomous-skill

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Autonomous 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
run-session.sh
script to manage autonomous tasks:
bash
undefined
使用
run-session.sh
脚本管理自主任务:
bash
undefined

Start 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
undefined

Directory Structure

目录结构

All task data is stored in
.autonomous/<task-name>/
under the project root:
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 --continue
bash
~/.codex/skills/autonomous-skill/scripts/run-session.sh --task-name build-rest-api-todo --continue

Example 3: Resume with Session Context

示例3:恢复会话上下文

bash
undefined
bash
undefined

Resume 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
undefined

Example 4: List All Tasks

示例4:列出所有任务

bash
~/.codex/skills/autonomous-skill/scripts/run-session.sh --list
Output:
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
undefined
bash
undefined

Enable 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"
undefined

Key Files

关键文件

For each task in
.autonomous/<task-name>/
:
FilePurpose
task_list.md
Master task list with checkbox progress
progress.md
Session-by-session progress notes
session.id
Last Codex session ID for resumption
session.log
JSON Lines output from Codex sessions
对于
.autonomous/<task-name>/
中的每个任务:
文件用途
task_list.md
带有复选框进度的主任务列表
progress.md
逐会话的进度记录
session.id
用于续期的最后一个Codex会话ID
session.log
Codex会话的JSON Lines格式输出

Important Notes

重要说明

  1. Task Isolation: Each task has its own directory, no conflicts
  2. Task Naming: Auto-generated from description (lowercase, hyphens, max 30 chars)
  3. Task List is Sacred: Never delete or modify task descriptions, only mark
    [x]
  4. One Task at a Time per Session: Focus on completing tasks thoroughly
  5. Auto-Continue: Sessions auto-continue with 3s delay; Ctrl+C to pause
  6. Session Resumption: Use
    --resume-last
    to preserve Codex conversation context
  7. Network Mode:
    --network
    uses
    --dangerously-bypass-approvals-and-sandbox
    ; only use in an isolated environment
  8. Git Hygiene: Consider adding
    .autonomous/
    to
    .gitignore
    to avoid committing logs
  1. 任务隔离:每个任务都有独立目录,不会产生冲突
  2. 任务命名:根据描述自动生成(小写、连字符分隔,最多30个字符)
  3. 任务清单不可修改:请勿删除或修改任务描述,仅可标记
    [x]
    表示完成
  4. 单会话单任务:专注于彻底完成每个任务
  5. 自动续期:会话会自动续期,延迟3秒;按Ctrl+C可暂停
  6. 会话恢复:使用
    --resume-last
    保留Codex对话上下文
  7. 网络模式
    --network
    使用
    --dangerously-bypass-approvals-and-sandbox
    ;仅在隔离环境中使用
  8. Git规范:建议将
    .autonomous/
    添加到
    .gitignore
    中,避免提交日志文件

Codex CLI Reference

Codex CLI参考

The script uses these Codex commands internally:
bash
undefined
脚本内部使用以下Codex命令:
bash
undefined

Non-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"
undefined
codex exec --dangerously-bypass-approvals-and-sandbox --json "prompt"
undefined

Troubleshooting

故障排除

IssueSolution
Task not foundRun
--list
to see existing tasks
Multiple tasksSpecify task name with
--task-name
Session stuckCheck
session.log
in task directory
Need to restartDelete task directory and start fresh
Resume failedRemove
session.id
to start fresh session
Codex not foundInstall Codex CLI:
npm install -g @openai/codex
问题解决方案
任务未找到运行
--list
查看现有任务
存在多个任务使用
--task-name
指定任务名称
会话卡住查看任务目录中的
session.log
需要重启删除任务目录并重新开始
恢复失败删除
session.id
以启动新会话
未找到Codex安装Codex CLI:
npm install -g @openai/codex