npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

taskode

v0.4.4

Published

Taskode - Symphony-aligned Node orchestrator for AI issue execution

Downloads

514

Readme

🚀 Taskode — 任务即代码

把任务变成代码,让 AI 为你开发。


✨ 什么是 Taskode?

Taskode 是一个本地优先(local-first)的 AI 开发操作系统, 同时也是一个 对齐 Symphony 设计理念的 Node.js 编排器实现

只需一条命令:

taskode

你就可以在当前项目中获得一个完整的 AI 开发环境:

  • 🧠 内置任务 / Issue 管理系统
  • 🤖 AI 自动执行任务(生成代码、修改代码、补充测试)
  • 📊 实时可视化 AI 工作过程
  • 🧩 支持多任务源(Local / Linear / GitHub)
  • ⚙️ 可配置 Agent、并发与执行策略

🧠 核心理念

任务即代码(Task = Code)

传统开发:

人 → 写代码 → 提交

Taskode:

任务 → AI执行 → 生成代码 → 人审核

开发者从“写代码的人”,变成“管理 AI 工程团队的人”。


🧩 核心能力

🗂️ 内置任务系统

  • 创建 / 编辑 / 管理任务(Todo / Issue)
  • 看板式流程(Todo / In Progress / Review / Done)
  • 支持任务依赖与拆解
  • 支持优先级与状态管理

🤖 AI 自动执行任务

每个任务由 AI 在隔离环境中执行,输出:

  • 代码修改(diff)
  • 新增文件
  • 测试代码
  • 执行日志
  • 任务总结

🧠 Agent 调度系统

  • 任务队列管理
  • 多 Agent 并发执行
  • 自动失败重试
  • 状态持久化与恢复

🔁 Retry Queue(持久化)

  • 支持失败任务自动重试
  • 状态持久化(支持重启恢复)
  • 最大重试次数可配置

🧩 Workspace 生命周期管理

每个任务运行在独立 workspace:

.taskode/workspaces/{task-id}

支持:

  • 自动创建 / 复用
  • after_create / before_run / after_run / before_remove hooks
  • workspace 路径安全校验
  • SSH worker 远程 workspace
  • 终态自动清理

📊 可视化控制台

启动后访问:

http://localhost:4317

可查看:

  • 任务状态
  • Agent 执行过程
  • 日志与输出
  • 代码变更(diff)
  • 系统运行状态

🔌 多任务源支持

支持:

  • Local(默认)
  • Linear(双向同步)
  • GitHub Issues(扩展)

🔗 Linear 双向闭环

  • 拉取任务
  • 评论同步
  • 状态迁移
  • 动态工具 linear_graphql

🔍 Review / Apply 流程

  • 自动生成 diff / patch
  • Web 端审核运行结果
  • 审批后应用 workspace 变更回主项目
  • 可回写任务评论 / 状态

🧠 App-Server 会话模式

支持两种执行模式:

1️⃣ App-server 模式(推荐)

  • 多轮对话(turn-based)
  • token 使用可观测
  • JSON-RPC thread / turn 会话
  • 支持动态工具调用
  • 更接近真实 AI 编程

2️⃣ Shell 模式

  • 单次命令执行
  • 简单、快速

🔐 安全与策略控制

  • API Token 鉴权
  • 命令 allow / deny 策略
  • 审计日志(Audit Log)
  • 工作区路径逃逸防护
  • 默认 workspace-write turn sandbox policy

♻️ WORKFLOW 热重载

  • 运行中自动检测 WORKFLOW.md 变化
  • 重载失败保留 last-known-good 配置
  • 支持更严格的前置配置校验

🧪 测试门禁

支持:

  • Unit Test
  • Integration Test
  • E2E Test

可作为 AI 执行的质量门禁。


🚀 快速开始

1️⃣ 安装

npm install -g taskode

2️⃣ 初始化项目

taskode init

3️⃣ 启动系统

npm run start

或:

taskode

4️⃣ 打开控制台

http://localhost:4317

⚙️ 配置

创建:

taskode.config.ts

示例:

export default {
  project: {
    name: "my-project",
    root: ".",
  },

  web: {
    port: 4317,
  },

  database: {
    provider: "sqlite",
    url: "./.taskode/data.db",
  },

  tracker: {
    type: "local", // local | linear | github
  },

  agent: {
    provider: "codex",
    concurrency: 2,
  },

  git: {
    baseBranch: "main",
    workspaceDir: "./.taskode/workspaces",
  },
};

🧩 WORKFLOW.md(核心运行配置)

tracker:
  kind: local # or linear

agent:
  poll_interval_ms: 3000
  max_concurrent_agents: 2
  max_retry_attempts: 5
  max_turns: 20

codex:
  mode: app-server # shell mode also supported
  command: "codex app-server"
  timeout_ms: 120000
  approval_policy: never

policy:
  allow_commands: ["*"]
  deny_commands: []

auth:
  token: $TASKODE_API_TOKEN

hooks:
  after_create: |
    echo "workspace created"

  before_remove: |
    echo "cleanup start"

  after_remove: |
    echo "cleanup done"

📁 项目目录结构

.taskode/
  ├── data.db
  ├── logs/
  ├── workspaces/
  ├── runs/
  └── config.json

🔌 API

Public

  • GET /api/health

Protected(需要 token)

  • GET /api/tasks
  • POST /api/tasks
  • PATCH /api/tasks/:id
  • GET /api/runs
  • GET /api/logs
  • GET /api/audit
  • GET /api/v1/state
  • GET /api/v1/:issueIdentifier
  • POST /api/v1/refresh

🧪 Testing

npm run test:unit
npm run test:integration
npm run test:e2e
npm test

📌 Notes

  • Linear 模式需要 LINEAR_API_KEY
  • App-server 模式需要可运行的 agent 服务
  • 未配置 auth token 时 API 默认开放

🧠 设计原则

  • Local-first(本地优先)
  • 可观测(AI行为透明)
  • 可控(人类最终决策)
  • 可扩展(任务源 / agent / workflow)

🤝 贡献

欢迎 PR。


📄 License

MIT


🧠 最后一句

不要写代码。 让 AI 写代码。