{"id":48842557,"url":"https://github.com/honwhy/deeptalk","last_synced_at":"2026-04-23T02:01:10.254Z","repository":{"id":351434273,"uuid":"1210965499","full_name":"honwhy/DeepTalk","owner":"honwhy","description":"Markdown 转 HTML 工具 + 微信公众号文章生成与发布系统","archived":false,"fork":false,"pushed_at":"2026-04-22T15:23:29.000Z","size":478,"stargazers_count":8,"open_issues_count":0,"forks_count":4,"subscribers_count":0,"default_branch":"dev","last_synced_at":"2026-04-22T17:31:37.114Z","etag":null,"topics":["llm","wechat"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/honwhy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-04-15T00:04:19.000Z","updated_at":"2026-04-22T15:23:42.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/honwhy/DeepTalk","commit_stats":null,"previous_names":["honwhy/deeptalk"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/honwhy/DeepTalk","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/honwhy%2FDeepTalk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/honwhy%2FDeepTalk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/honwhy%2FDeepTalk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/honwhy%2FDeepTalk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/honwhy","download_url":"https://codeload.github.com/honwhy/DeepTalk/tar.gz/refs/heads/dev","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/honwhy%2FDeepTalk/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32162611,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-22T17:06:48.269Z","status":"online","status_checked_at":"2026-04-23T02:00:06.710Z","response_time":53,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["llm","wechat"],"created_at":"2026-04-15T03:02:19.578Z","updated_at":"2026-04-23T02:01:10.245Z","avatar_url":"https://github.com/honwhy.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"public/logo.svg\" alt=\"DeepTalk Logo\" width=\"120\" height=\"120\"\u003e\n\u003c/p\u003e\n\n\u003ch1 align=\"center\"\u003eDeepTalk 深言\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003eMarkdown 转 HTML 工具 + 微信公众号文章生成与发布系统\u003c/p\u003e\n\n支持与 qoder CLI、opencode、claude、codex、gemini 等 AI CLI 工具配合使用。\n\n## 功能特性\n\n### 1. Markdown 编辑与管理\n- Web 界面编辑器 (`/editor`) 支持创建、编辑、保存 Markdown 文件\n- 文件自动保存到 `markdowns/` 目录\n- 支持 Ctrl+S 快捷键保存\n- 文件列表侧边栏，快速切换编辑\n- 支持直接抓取微信公众号文章到编辑器\n\n### 2. Markdown 转 HTML\n- 命令行一键转换，支持多种主题\n- 代码高亮、响应式设计\n- 实时预览\n\n### 3. 公众号格式渲染\n- 内联 CSS 样式（公众号兼容）\n- 三种主题：科技风、商务风、简约风\n- 可直接复制到公众号编辑器\n\n### 4. 公众号 API 发布\n- 一键发布到草稿箱\n- 支持封面图片上传\n- 草稿管理功能\n\n### 5. 微信公众号文章抓取\n- 通过 URL 抓取公众号文章\n- 自动转换为 Markdown 格式\n- 提取标题、作者、发布日期等信息\n- 支持 CLI 和 Web 界面两种方式\n\n### 6. 大模型文章生成\n- 通过 OpenAI/DeepSeek 生成专业文章\n- 支持技术、AI、投资三大领域\n\n## 快速开始\n\n### 安装\n\n```bash\nnpm install\n```\n\n### 配置\n\n```bash\ncp .env.example .env\n# 编辑 .env，配置必要的 API Key\n```\n\n### 基础使用\n\n```bash\n# Markdown 转 HTML\nnpm run md2html -- -i article.md\n\n# 转换为公众号格式\nnpm run wechat -- -i article.md --copy\n\n# 预览\nnpm run preview-md -- -i article.md\n```\n\n### 发布到公众号\n\n```bash\n# 发布到草稿箱\nnpm run publish -- -i article.md --title \"文章标题\"\n\n# 查看草稿列表\nnpm run drafts\n```\n\n### 抓取公众号文章\n\n```bash\n# 抓取文章并保存为 Markdown\nnpm run fetch-wechat -- -u \"https://mp.weixin.qq.com/s/xxx\"\n\n# 指定输出目录\nnpm run fetch-wechat -- -u \"https://mp.weixin.qq.com/s/xxx\" -o ./markdowns\n\n# 同时保存原始 HTML\nnpm run fetch-wechat -- -u \"https://mp.weixin.qq.com/s/xxx\" --html\n```\n\n## 命令详解\n\n### md2html - Markdown 转 HTML\n\n```bash\nnpm run md2html -- [options]\n  -i, --input \u003cfile\u003e     Markdown 文件路径\n  -o, --output \u003cdir\u003e     输出目录\n  -t, --theme \u003ctheme\u003e    主题：tech|minimal|business\n  --open                 转换后自动打开浏览器\n```\n\n### wechat - 公众号格式转换\n\n```bash\nnpm run wechat -- [options]\n  -i, --input \u003cfile\u003e     Markdown 文件路径\n  -o, --output \u003cfile\u003e    输出文件路径\n  -t, --theme \u003ctheme\u003e    主题：tech|business|minimal\n  --title \u003ctitle\u003e        文章标题\n  --author \u003cauthor\u003e      作者名称\n  --copy                 生成可复制片段（无 HTML/HEAD 标签）\n  --open                 自动打开浏览器\n```\n\n### publish - 发布到公众号\n\n```bash\nnpm run publish -- [options]\n  -i, --input \u003cfile\u003e     Markdown 或 HTML 文件路径\n  --title \u003ctitle\u003e        文章标题\n  --author \u003cauthor\u003e      作者名称\n  --digest \u003cdigest\u003e      摘要\n  --thumb \u003cfile\u003e         封面图片路径\n  --theme \u003ctheme\u003e        主题\n  --publish              直接发布（不保存为草稿）\n```\n\n### drafts - 草稿管理\n\n```bash\nnpm run drafts -- [options]\n  --offset \u003coffset\u003e      偏移量\n  --count \u003ccount\u003e        数量\n```\n\n### generate - 大模型文章生成\n\n```bash\nnpm run generate -- [options]\n  -t, --topic \u003ctopic\u003e     主题（必需）\n  -c, --category \u003ccat\u003e    领域：tech|ai|invest\n  --contents              保存到 contents 目录\n```\n\n**示例：**\n```bash\n# 生成技术文章\nnpm run generate -- -t \"React Hooks 最佳实践\" -c tech\n\n# 生成 AI 领域文章并保存到 contents\nnpm run generate -- -t \"大模型推理优化\" -c ai --contents\n```\n\n### fetch-wechat - 抓取公众号文章\n\n```bash\nnpm run fetch-wechat -- [options]\n  -u, --url \u003curl\u003e        文章URL (必需)\n  -o, --output \u003cdir\u003e     输出目录 (默认: ./markdowns)\n  --html                 同时保存原始HTML\n```\n\n### preview-md - Markdown 预览\n\n```bash\nnpm run preview-md -- [options]\n  -i, --input \u003cfile\u003e     Markdown 文件路径\n  -t, --theme \u003ctheme\u003e    主题\n  -p, --port \u003cport\u003e      端口号\n```\n\n### preview-html - HTML 预览\n\n```bash\nnpm run preview-html -- [options]\n  -i, --input \u003cdir\u003e      HTML 文件目录 (默认: ./contents)\n  -p, --port \u003cport\u003e      端口号\n```\n\n### web - Web 管理界面\n\n```bash\nnpm run web -- [options]\n  -p, --port \u003cport\u003e      端口号\n  -d, --dir \u003cdir\u003e        内容目录\n```\n\n**Web 界面功能：**\n- `/` - 文章列表页，展示 contents/ 目录下的所有文件，支持复制公众号格式\n- `/editor` - Markdown 编辑器，支持：\n  - 创建、编辑、保存 Markdown 文件到 `markdowns/` 目录\n  - 侧边栏文件列表，点击切换编辑\n  - 实时 HTML 预览（支持主题切换）\n  - Ctrl+S 快捷键保存\n  - 下载为 HTML 文件\n  - 抓取微信公众号文章（直接粘贴 URL）\n\n## 开发命令\n\n```bash\n# 开发模式（直接运行 TypeScript）\nnpm run dev -- [command]\n\n# 构建项目\nnpm run build\n\n# 代码检查\nnpm run lint\n```\n\n## 主题说明\n\n| 主题 | 说明 | 适用场景 |\n|------|------|----------|\n| tech | 科技风，蓝色主色调 | 技术博客、代码教程 |\n| business | 商务风，深蓝主色调 | 商业分析、行业报告 |\n| minimal | 简约风，黑白灰配色 | 通用文章、公众号 |\n\n\u003e **获取更多主题**：访问 [https://getdesign.md/](https://getdesign.md/) 可下载更多精美主题，将主题文件放置到 `.agents/skills/wechat-article/design-system/references/` 目录下即可使用。\n\n## Skills\n\n本项目提供 5 个 Skills，用于与 AI CLI 工具协作：\n\n### wechat-article\n\n生成符合微信公众号格式的 HTML 文章。\n\n**功能：**\n- Markdown 转 HTML（内联 CSS）\n- 智能主题选择（tech / business / claude / minimal）\n- 智能配图（Unsplash API）\n- 多种文章模板（tutorial / analysis / news / story / listicle / review）\n\n**用法示例：**\n```\n生成微信公众号文章，主题为 tech，内容如下：\n# React Hooks 入门指南\n...\n```\n\n### wechat-fetcher\n\n抓取微信公众号文章并转换为 Markdown 格式。\n\n**功能：**\n- 模拟微信客户端请求头绕过反爬\n- 自动重试机制（指数退避）\n- 提取标题、作者、发布时间\n- HTML 转 Markdown\n\n### wechat-publisher\n\n将 HTML 文章发布到微信公众号草稿箱。\n\n**功能：**\n- 自动处理封面图片上传\n- 多种封面图模式（extract / unsplash / generate / url / none）\n- 获取 media_id 并创建草稿\n\n**用法示例：**\n```\n发布以下文章到微信公众号草稿箱：\n标题：深入理解 React Hooks\nHTML：\u003csection\u003e...\u003c/section\u003e\n```\n\n### humanizer-zh\n\n去除文本中的 AI 生成痕迹，使文章更自然。\n\n**功能：**\n- 检测并修复 AI 写作模式\n- 处理过度强调意义、宣传性语言、三段式法则等\n- 注入个性化表达\n\n**用法示例：**\n```\n使用 humanizer-zh 处理以下文本，去除 AI 痕迹：\n...\n```\n\n### cloudinary-image-host\n\n将本地图片上传到 Cloudinary，获取永久 HTTP 链接，用于替换文章中的本地图片引用。\n\n**功能：**\n- 支持单张图片、文章提取、目录扫描三种模式\n- 自动替换 Markdown/HTML 中的本地图片引用为 Cloudinary 链接\n- 图片优化和压缩\n- 配额管理和错误处理\n\n**用法示例：**\n```\n# 上传单张图片\n使用 cloudinary-image-host 技能 --image \"./contents/images/ev-battery.png\"\n\n# 从文章提取并替换图片\n使用 cloudinary-image-host 技能 --article \"./markdowns/春节后新能源汽车观察.md\" --replace\n\n# 扫描目录批量上传\n使用 cloudinary-image-host 技能 --directory \"./contents/images/\" --max-uploads 5\n```\n\n## 环境变量\n\n```env\n# LLM API（文章生成）\nOPENAI_API_KEY=your-key\n# 或\nDEEPSEEK_API_KEY=your-key\n\n# 微信公众号（发布功能）\nWECHAT_APP_ID=wx...\nWECHAT_APP_SECRET=...\n\n# Unsplash 图片服务（预留功能）\n# 获取：https://unsplash.com/developers\n# 限制：免费版 50次/小时，5000次/天\nUNSPLASH_ACCESS_KEY=your-key\n\n# Cloudinary 图片托管（cloudinary-image-host 技能）\n# 获取：https://cloudinary.com\n# 限制：免费版每月 25 credits（约 25000 次转换或 25000 MB 存储/带宽）\nCLOUDINARY_CLOUD_NAME=your-cloud-name\nCLOUDINARY_API_KEY=your-api-key\nCLOUDINARY_API_SECRET=your-api-secret\n```\n\n## 公众号 API 说明\n\n### 前置条件\n1. 拥有微信公众号（订阅号或服务号）\n2. 在后台获取 AppID 和 AppSecret\n3. 将服务器 IP 添加到白名单\n\n### 发布限制\n- 订阅号：每天可群发 1 次\n- 服务号：每月可群发 4 次\n- 草稿箱：无限制\n\n## 项目结构\n\n```\nDeepTalk/\n├── src/\n│   ├── index.ts           # CLI 入口\n│   ├── skills/            # 渲染器\n│   │   ├── htmlGenerator.ts\n│   │   └── wechatRenderer.ts\n│   ├── wechat/            # 公众号 API\n│   │   └── api.ts\n│   ├── web/               # Web 服务\n│   │   └── server.ts      # Express 服务器\n│   ├── utils/             # 工具函数\n│   │   └── fetcher.ts     # 公众号文章抓取\n│   └── ...\n├── .agents/skills/         # Skills 定义\n│   ├── wechat-article/    # 公众号文章生成\n│   ├── wechat-fetcher/    # 公众号文章抓取\n│   ├── wechat-publisher/  # 公众号文章发布\n│   ├── humanizer-zh/      # AI 痕迹去除\n│   └── cloudinary-image-host/ # Cloudinary 图片托管\n├── contents/              # HTML 内容存储\n├── output/                # LLM 生成输出目录\n└── markdowns/             # Markdown 源文件目录（可通过 /editor 编辑）\n```\n\n## 技术栈\n\n- TypeScript\n- Commander.js (CLI)\n- Express (Web 服务)\n- Marked (Markdown 解析)\n- Juice (CSS 内联化)\n- Axios (HTTP 客户端)\n\n## 文章示例\n\n使用 DeepTalk 生成的文章示例：\n\n| 文章 | 描述 |\n|------|------|\n| [阿里巴巴\"半条命\"论](https://mp.weixin.qq.com/s/kBI_ArHIVAJCRWR4tgET9g) | 看空机会是否存在？一份严谨的基本面分析 |\n| [群核科技明日上市：暗盘暴涨157%只是开始？](https://mp.weixin.qq.com/s/uvByLpCeAhBmdVP50UtLvg) | 暗盘涨157%、市值破340亿，群核科技明天正式挂牌大概率继续冲高。|\n\n## 相关资源\n\n- [微信公众号开发文档](https://developers.weixin.qq.com/doc/offiaccount/)\n- [doocs/md](https://github.com/doocs/md) - 公众号 Markdown 编辑器参考\n- [VoltAgent/awesome-design-md](https://github.com/VoltAgent/awesome-design-md) - 设计系统参考\n\n## 支持作者\n\n如果这个项目对你有帮助，欢迎请我喝杯咖啡 ☕\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"public/wechat-donate.jpg\" alt=\"微信支付\" width=\"300\"\u003e\n\u003c/p\u003e\n\n## License\n\nISC\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhonwhy%2Fdeeptalk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhonwhy%2Fdeeptalk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhonwhy%2Fdeeptalk/lists"}