Skip to content

lichman0405/taskforge

Repository files navigation

TaskForge

智能任务拆解质量评估与自动优化系统

TypeScript License: ISC

TaskForge 使用大语言模型 (LLM) 自动将复杂任务拆解为结构化任务树,通过 6 个维度的质量指标进行评估,并自动迭代优化直到达到最优质量。


✨ 核心特性

🎯 智能任务生成

  • 从自然语言自动生成任务树
  • LLM 驱动的 2-3 层结构化拆解
  • 自动估计工时、优先级和依赖关系

📊 多维质量评估

  • 结构指标: 无环性、层级一致性、平衡性
  • 语义指标: 冗余度、粒度合理性、可执行性
  • TDQ 综合评分: 加权整合 6 个指标

🔄 自动优化循环

生成任务树 → 评估质量 → 识别问题 → LLM 改进 → 重新评估 → 循环优化

🌐 多 LLM 支持

  • OpenAI (GPT-4, GPT-4o)
  • Anthropic Claude (3.5 Sonnet)
  • Google Gemini (2.0 Flash)
  • Ollama (本地模型)
  • 自定义 (OpenAI 兼容 API)

� 本地 Embedding

  • Transformers.js 本地运行
  • 无需 API key,完全免费
  • 默认模型:Xenova/all-MiniLM-L6-v2 (23MB)

🚀 快速开始

安装

git clone https://github.com/lichman0405/taskforge.git
cd taskforge
npm install

配置

复制环境变量模板:

cp .env.example .env

编辑 .env 文件,配置您的 LLM provider:

# 示例: 使用 DeepSeek + 本地 Embedding
LLM_PROVIDER=custom
CUSTOM_API_KEY=sk-...
CUSTOM_BASE_URL=https://api.deepseek.com
CUSTOM_MODEL=deepseek-chat

EMBEDDING_PROVIDER=local
LOCAL_EMBEDDING_MODEL=Xenova/all-MiniLM-L6-v2

构建

npm run build

运行 Demo

# 1. 结构指标测试
npm run demo:structural

# 2. 语义指标测试
npm run demo:semantic

# 3. 自动优化 (完整流程)
npm run demo:optimize

📖 使用示例

基础用法

import { optimizeTaskDecomposition } from './dist/service/taskService.js';
import { createLLMClient, createEmbeddingClient } from './dist/llm/factory.js';
import { getLLMConfig, getEmbeddingConfig } from './dist/core/config.js';

const llmClient = createLLMClient(getLLMConfig());
const embeddingClient = createEmbeddingClient(getEmbeddingConfig());

// 自动优化任务拆解
const result = await optimizeTaskDecomposition(
  "创建一个在线教育平台,支持视频课程、在线测验和学生管理",
  llmClient,
  embeddingClient,
  {
    maxIterations: 5,
    targetTDQ: 0.75,
    verbose: true
  }
);

console.log(`最终 TDQ: ${result.finalTDQ.score}`);
console.log(`迭代次数: ${result.iterations}`);

导出结果

import { saveTaskTree } from './dist/core/export.js';

// 保存为 JSON
await saveTaskTree(result.finalTree, 'output.json', 'json');

// 保存为 Markdown (包含评估报告)
await saveTaskTree(result.finalTree, 'output.md', 'markdown', result.finalTDQ);

📊 评分指标

TaskForge 使用 6 个维度评估任务拆解质量:

指标 权重 说明
Acyclicity (A) 0.10 检测任务依赖是否存在循环
Hierarchy (H) 0.15 评估层级结构的一致性
Balance (B) 0.10 评估子任务分布的平衡性
Granularity (G) 0.20 评估任务粒度是否合理 (1-8h)
Redundancy (R) 0.10 检测重复任务 (基于 Embedding)
Executability (E) 0.25 评估任务描述的可执行性

TDQ 综合评分 = Σ(指标 × 权重)


🛠️ 技术栈

  • 语言: TypeScript (ES Modules)
  • 运行时: Node.js v24+
  • LLM SDK:
    • openai: OpenAI API
    • @anthropic-ai/sdk: Claude API
    • @google/generative-ai: Gemini API
    • ollama: Ollama 本地模型
  • Embedding: @xenova/transformers (本地)
  • 配置: dotenv

📁 项目结构

TaskForge/
├── src/
│   ├── core/           # 核心数据结构与配置
│   ├── metrics/        # 评估指标实现
│   ├── llm/            # LLM 抽象层
│   └── service/        # 任务生成与优化引擎
├── docs/               # 需求文档
├── tests/              # 单元测试
├── demo-*.mjs          # 示例脚本
├── .env.example        # 环境变量模板
└── README.md

💡 成本优化建议

推荐配置 (低成本)

# LLM: DeepSeek (¥0.001/1K tokens)
LLM_PROVIDER=custom
CUSTOM_BASE_URL=https://api.deepseek.com
CUSTOM_MODEL=deepseek-chat

# Embedding: 本地免费
EMBEDDING_PROVIDER=local

单次优化成本: ~¥0.02 (3 次迭代)


🤝 贡献

欢迎提交 Issue 和 Pull Request!


📄 许可证

ISC License


🙏 致谢


TaskForge - 让任务拆解更智能、更高效! 🚀

About

Intelligent task decomposition quality assessment and auto-optimization system powered by LLMs

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published