# techinsight-capture **Repository Path**: haobinjun/techinsight-capture ## Basic Information - **Project Name**: techinsight-capture - **Description**: 内容捕获器 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-22 - **Last Updated**: 2026-03-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # TechInsight-Capture

让 AI 编程过程中的技术洞见自动转化为可发布的技术文章

功能特性快速开始使用方法配置说明项目结构

--- ## 功能特性 - 🎯 **自动捕获** - 在开发过程中自动识别有技术价值的内容 - 🤖 **AI 价值判断** - 使用 Claude 模型评估内容价值 - ✍️ **自动生成文章** - 将技术洞见转化为结构化的 Markdown 文章 - 📱 **多平台适配** - 生成的文章适合微信公众号、知乎、小红书等平台 - ⚙️ **高度可定制** - 支持自定义关键词、阈值、文章风格 - 🔐 **灵活的 API 配置** - 自动检测多种 API Key 来源 ## 快速开始 ### 安装 ```bash # 方式1: 从源码安装(推荐) git clone https://github.com/your-username/techinsight-capture.git cd techinsight-capture pip install -e . # 方式2: 仅安装核心依赖 pip install anthropic ``` ### 配置 API Key 支持多种配置方式(按优先级排序): **方式1: 环境变量** ```bash # Windows set ANTHROPIC_API_KEY=your_api_key # Unix/Mac export ANTHROPIC_API_KEY=your_api_key ``` **方式2: Claude Code settings.json** ```json // ~/.claude/settings.json { "env": { "ANTHROPIC_API_KEY": "your_api_key" } } ``` **方式3: .env 文件** ```bash # 在项目根目录创建 .env 文件 ANTHROPIC_API_KEY=your_api_key ``` **方式4: 使用智谱AI兼容API** ```json { "env": { "Z_AI_API_KEY": "your_key", "ANTHROPIC_BASE_URL": "https://open.bigmodel.cn/api/anthropic" } } ``` ### 配置 Claude Code Hooks 将 `.claude/settings.json` 的内容合并到你的 `~/.claude/settings.json`: ```json { "hooks": { "PostToolUse": [ { "matcher": "Write|Edit|Bash", "hooks": [ { "type": "command", "command": "python \"$CLAUDE_PROJECT_DIR\"/.claude/hooks/tech-capture.py", "async": true, "timeout": 60 } ] } ], "Stop": [ { "hooks": [ { "type": "command", "command": "python \"$CLAUDE_PROJECT_DIR\"/.claude/hooks/session-summary.py", "timeout": 30 } ] } ] } } ``` ### 启动后台服务 ```bash # 一次性处理 python -m techinsight process # 守护进程模式 python -m techinsight daemon # 或者使用命令别名 techinsight-processor --daemon ``` ## 使用方法 ### CLI 命令 ```bash # 初始化配置 python -m techinsight init # 查看状态 python -m techinsight status # 审核捕获内容 python -m techinsight review # 处理队列 python -m techinsight process # 管理配置 python -m techinsight config show python -m techinsight config enable python -m techinsight config disable python -m techinsight config add_keyword -k "关键词" python -m techinsight config set_threshold -v 7 ``` ### Skill 快捷指令 在 Claude Code 会话中: ``` /tech status # 查看状态 /tech review # 查看今日捕获 /tech pause # 暂停捕获 /tech resume # 恢复捕获 /tech process # 立即处理队列 /tech config # 查看配置 ``` ## 配置说明 ### .techrc.json ```json { "version": "2.0.0", "enabled": true, "silent_mode": true, "capture": { "tools": ["Write", "Edit", "Bash"], "keywords": { "high_priority": ["Redis", "架构", "性能", "并发", "安全"], "medium_priority": ["优化", "重构", "最佳实践"], "exclude": ["测试", "临时", "TODO"] }, "min_keyword_hits": 2, "min_content_length": 100 }, "analysis": { "model": "claude-sonnet-4-6-20250514", "value_threshold": 7 }, "article": { "style": "技术博客", "word_count": 1500, "include_code": true } } ``` ### 配置层级 优先级从高到低: 1. `.techrc.local.json` - 项目本地配置(gitignore) 2. `.techrc.json` - 项目配置 3. `~/.techrc.json` - 用户全局配置 4. 内置默认值 ## 项目结构 ``` techinsight-capture/ ├── .claude/ │ ├── settings.json # Hook 配置 │ ├── hooks/ │ │ ├── tech-capture.py # PostToolUse Hook │ │ └── session-summary.py # Stop Hook │ └── skills/ │ └── tech.md # 快捷指令 Skill ├── src/techinsight/ │ ├── __init__.py # 包入口 │ ├── __main__.py # CLI 入口 │ ├── processor.py # 后台处理服务 │ ├── cli.py # CLI 工具 │ └── runner.py # 后台运行器 ├── tests/ # 测试文件 ├── tech-insights/ # 数据目录 │ ├── articles/ # 生成的文章 │ ├── pending/ # 失败待重试的内容 │ ├── logs/ # 日志 │ └── .queue.jsonl # 处理队列 ├── .techrc.json # 项目配置 ├── pyproject.toml # 项目元数据 └── README.md ``` ## 工作流程 ``` ┌─────────────────────────────────────────────────────────────┐ │ 用户开发过程 │ │ │ │ Claude Code ──→ Write/Edit/Bash ──→ Hook 触发 │ │ │ │ └────────────────────────────────────────────│────────────────┘ │ ▼ ┌─────────────────────────────────────────────────────────────┐ │ Hook 处理流程 │ │ │ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ │ │ 关键词匹配 │───→│ 内容去重 │───→│ 推送到队列 │ │ │ │ │ │ │ │ │ │ │ └─────────────┘ └─────────────┘ └─────────────┘ │ │ │ │ └─────────────────────────────│───────────────────────────────┘ │ ▼ ┌─────────────────────────────────────────────────────────────┐ │ 后台处理服务 │ │ │ │ 队列 ──→ AI 价值分析 ──→ 主题去重 ──→ 生成文章 │ │ │ └─────────────────────────────────────────────────────────────┘ ``` ## 设计原则 1. **Fail Open** - 任何错误都不阻断开发流程 2. **异步处理** - 捕获和分析在后台进行,不影响 Claude Code 性能 3. **用户可控** - 通过配置和快捷指令完全控制行为 4. **智能去重** - 基于内容 hash 和主题标签双重去重 ## 文章模板 生成的文章结构: ```markdown --- title: 文章标题 date: 2026-03-21 category: 性能优化 score: 8.5 topic_tag: redis-cache keywords: Redis, 缓存, 性能 --- # 文章标题 ## 背景 ... ## 问题描述 ... ## 解决方案 ... ## 代码实现 ... ## 效果对比 ... ## 总结 > 金句总结 ``` ## 常见问题 ### Q: Hook 没有触发? 1. 检查 `~/.claude/settings.json` 配置是否正确 2. 运行 `claude --debug` 查看调试日志 3. 确认 Python 脚本有执行权限 ### Q: 文章没有生成? 1. 检查 API Key 配置 2. 查看队列文件 `.queue.jsonl` 是否有待处理内容 3. 运行 `python -m techinsight process` 手动处理 ### Q: 如何调整捕获灵敏度? 编辑 `.techrc.json`: - 降低 `min_keyword_hits` 捕获更多 - 降低 `value_threshold` 生成更多文章 - 添加更多关键词 ## 开发 ### 运行测试 ```bash pip install -e ".[dev]" pytest ``` ### 代码风格 ```bash black src/techinsight flake8 src/techinsight ``` ## 贡献 欢迎提交 Issue 和 Pull Request! ## 许可证 MIT License ---

Made with ❤️ for developers who love to share knowledge