This repository has been archived on 2026-08-07. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
kb-skills/.planning/codebase/STACK.md

109 lines
3.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Technology Stack
**Analysis Date:** 2026-03-13
## Languages
**Primary:**
- Python 3.12 - 主要用于 kb-* 技能模块(内容采集、语音识别、AI分析等)
- JavaScript/Node.js >=16.7.0 - 用于 gsd (Get-Shit-Done) 元提示系统
**Secondary:**
- Shell/Bash - 用于部署脚本和工具链(ffmpeg, yt-dlp)
## Runtime
**Environment:**
- Python 3.12.3
- Node.js v22.22.0
**Package Manager:**
- pip/uv (Python) - gsd-openclaw 使用 uv.lock
- npm (Node.js) - gsd 使用 npm
**Lockfile:**
- `uv.lock` (gsd-openclaw)
- `package-lock.json` (gsd)
## Frameworks
**Core:**
- 无传统 Web 框架 - 这是一个 CLI 技能集合,非 Web 应用
**Testing:**
- pytest >=7.0.0 - Python 单元测试 (gsd-openclaw)
- Node.js 内置测试 - gsd 使用自定义 `scripts/run-tests.cjs`
**Build/Dev:**
- esbuild ^0.24.0 - gsd hooks 构建
- c8 ^11.0.0 - 测试覆盖率工具
## Key Dependencies
**Python 核心依赖:**
- `requests` - HTTP 客户端,用于 AI API 调用
- `httpx` - 异步 HTTP 客户端(Bilibili 元数据提取)
- `playwright` / `undetected_playwright` - 浏览器自动化(反爬虫)
- `easyocr>=1.7.0` - OCR 文字识别
- `pytesseract>=0.3.10` - Tesseract OCR 接口
- `Pillow>=9.0.0` - 图像处理
- `torch>=2.0.0` - PyTorch 深度学习框架
- `pyannote.audio>=1.0.0` - 说话者分离
- `funasr` / `modelscope` - 阿里 FunASR 语音识别
- `libtmux>=0.55.0` - tmux 会话管理 (gsd-openclaw)
**Node.js 核心依赖:**
- 无外部运行时依赖 - gsd 是纯 CommonJS 工具集
## Configuration
**环境变量配置:**
- 配置文件: `~/.kb_env` - 知识库专用环境变量
- `.env.example` - 各技能目录下提供示例配置
**关键配置文件:**
- `pyproject.toml` - gsd-openclaw 项目配置
- `requirements.txt` - Python 技能依赖声明
- `package.json` - gsd Node.js 项目配置
**构建配置:**
- `scripts/build-hooks.js` - gsd hooks 构建
- `tool.setuptools` - gsd-openclaw 打包配置
## Platform Requirements
**Development:**
- ffmpeg - 音视频格式转换
- yt-dlp - 视频下载工具
- whisper.cpp - 本地语音识别(或 GPU 版 PyTorch)
- tesseract - OCR 引擎(可选)
- tmux - 会话管理
**Production:**
- 自托管 Gitea Actions runner
- 部署目标: `~/.openclaw/skills/` 目录
- rsync 同步部署
## Project Structure
**Monorepo 结构:**
```
kb-skills/
├── gsd/ # Get-Shit-Done 元提示系统 (Node.js)
├── gsd-openclaw/ # GSD-OpenClaw 桥接技能 (Python)
├── kb-workflow/ # 知识库工作流编排入口
├── kb-link-parser/ # 多平台 URL 解析
├── kb-bilibili-*/ # B站内容采集技能
├── kb-zhihu-*/ # 知乎内容采集技能
├── kb-whisper/ # Whisper 语音识别
├── kb-whisper-diarization/ # 说话者分离
├── kb-funasr/ # 阿里 FunASR 语音识别
├── kb-ocr-processor/ # OCR 文字提取
├── kb-deep-analyzer/ # AI 深度内容分析
└── todo-manager/ # 待办管理技能
```
---
*Stack analysis: 2026-03-13*