乐于分享
好东西不私藏

我用 AI Agent 做了一个垂直 Newsletter

我用 AI Agent 做了一个垂直 Newsletter

如果你想知道一个真正可运行的 Agent 工作流长什么样,这篇文章是很实战的案例:作者用 Hermes Agent 和多角色配置,做出了一个细分 Newsletter 系统。

我用 AI Agent 做了一个垂直 Newsletter

了解我如何用 Hermes Agent 为新闻通讯工作流的每个阶段搭建专属配置文件。

每个人都在社交媒体上批评 AI 生成的帖子和文章,这种情绪其实很正常。

大多数 AI 生成的内容看起来都很空洞,过分讨好读者,缺乏鲜明观点,而且常常让人觉得千篇一律。更别提那些到处出现的 em dash,以及“巨大”“令人印象深刻”“杠杆”这些高频词。

XLinkedIn 和 Instagram 这类平台,几乎都被靠回复别人帖子刷互动的账号占满了。但像 Medium 和 Substack 这样的发布平台也没能幸免。我也在那儿见过不少 AI 生成的文章。

它们大多数都不好读。总体来说,我觉得这些平台在抑制这类内容上已经做得不错。不过,其中也确实有一些文章信息量很高。

它们未必在创意上取胜,但信息性仍然足够强。有时候,你并不想为了搞懂一个细分领域而去读五篇超长文章。你更想要的是一篇把要点总结清楚的内容,而这正是 AI 很擅长的地方。

基于这个前提,我决定用 AI agent 做一份 Newsletter,目的不是追求创意,也不是取代人类写作,而是把来自多个来源的信息总结出来。

在下面的文章里,我会解释我是如何使用 Nous Research[2] 的 Hermes Agent[3] 在加密生态里做出这份关于 AI 的细分通讯的。

关于人工智能和加密货币的时事通讯

想找 AI 和加密货币相关的内容并不难,但想找到专门把两者结合起来的频道就没那么容易了。这两者通常像是两个不同的世界。

我在多个博客和平台上搜了很久,才找到一篇把这些 SOTA(最先进)领域结合起来的文章。

于是我想做一份把 AI、加密货币和 Web3 连接起来的 Newsletter,让信息收集这件事少一点摩擦。我给它起名叫:代理区块[4]

在选择主题之前,我就知道自己需要组建一个 agent 团队,每个 agent 负责不同任务,尤其是:

  • 数据专家:负责从多个加密平台抓取数据,检查文章是否与 AI、agent 等主题相关,按这些字段过滤抓取结果,并把选中的文章上传到 Supabase[5]

  • 作家:负责撰写 Newsletter。它从 Supabase 读取最新文章,在生成 Markdown 文件前套用多条规则,并生成三张可选封面图。

  • 社交媒体经理:根据作者生成的文章创建 X 帖子。

  • 首席执行官:负责把任务分派给其他 agent,也是唯一可以访问完整仓库的 agent;其他 agent 都运行在沙盒里。

在本文中,我把它们分别称为:

  • Kourou:数据科学家和数据工程人员。

  • Cayenne:作者。

  • Dadhalfdev:首席执行官和主 agent。

社交媒体 agent 呢?它还没被招进来。我得先看看有没有人真的在读、在订阅这份 Newsletter。

目前,我只在 Substack[6] 上发布内容。除了把内容复制粘贴到平台之外,其余流程都已自动化。将来也可以把浏览器权限交给 agent,或者用 Playwright 写自动化脚本来完成这一步。不过在这个阶段,我还是想完全掌控它们产出的内容。

下图展示了整个 pipeline 的工作方式:

现在你对这个项目有了更清晰的了解,下面看看我选择的架构。

AI 编排策略

你已经了解这份 Newsletter 的三个基础组件,也就是三个 agent:主要是 Kourou(数据专家)和 Cayenne(作者)。

所以我的目标就是用这几个 agent 搭一个简单的组织。我在远程机器上安装了 OpenClaw[7] 和 Hermes Agent[8],接下来只需要决定到底用哪一个。

我不会在这里细讲它们的安装方式,不过我有两篇教程可以参考。

对于 Hermes Agent

相关链接:【Hermes:唯一真正能与OpenClaw竞争的AI代理】(https://ai.gopubby.com/hermes-the-only-ai-agent-that-truly-competes-with-openclaw-6982f48e8e48[9]) 了解如何设置 Hermes Agent、连接工具、创建配置文件以及管理子代理。

对于 OpenClaw

相关链接:【OpenClaw 让你的生活更轻松的 10 个技巧】(https://ai.gopubby.com/10-tips-to-make-your-life-easier-with-openclaw-f73b5c844406[10]) 了解最有用的命令、如何安装技能、创建子代理、使用仪表板等等。ai.gopubby.com

至于远程机器,我用的是德国 VPS 提供商 Contabo。我使用的实例是 Cloud VPS 30[11],配备 24GB RAM、8vCPU 核心和 400GB SSD,每月只要 11.20 欧元。

请注意,VPS 并不适合跑 Gemma 4 或 Qwen3.5 这类本地模型。不是它们不能跑,而是会慢得离谱。

回形针方法

OpenClaw 和 Hermes Agent 都可以接到 Paperclip[12] 上,这是一个开源的 agent 编排器,界面也很漂亮。

用 Paperclip,你实际上可以搭出一家零人公司。你只需要创建员工(agent),然后开始给他们派任务。

对于 Hermes Agent,你需要这个特定的连接器,才能让 Paperclip 正常工作:

相关链接:GitHub - NousResearch/hermes-paperclip-adapter:Hermes Agent 的回形针适配器 - 将 Hermes 运行为…[13] Hermes Agent 的 Paperclip 适配器 - 将 Hermes 作为 Paperclip 公司的托管员工运行…github.com

确实如此,直到某个时刻……

agent 不但开始做一些我没分配给它们的事,而且还缺少关键技能和工具。最后我几乎更多地在终端里操作,而不是用那个 GUI。

我看到很多人都在聊他们用 Paperclip 搭出来的惊艳项目,但这套方案并不适合我。我更希望能更细地控制自己在做什么,包括检查它生成的脚本——我的开发者脑子又开始冒出来了!

管理多个 Hermes 个人资料

OpenClaw 用 workspace 来管理多个 agent,每个 agent 都可以有自己的 memory、skills、tools 和 profile。

直到最近,Hermes 还没有这个能力,但新的更新补上了这一点。它们把它叫作 profile,而不是 workspace,本质上是隔离开的 Hermes 环境。

这是创建新 profile(agent)的方式:

hermes profile create kourou       # creates profile + command aliaskourou setup                       # configure API keys and modelkourou chat                        # start chatting

要查看所有 profile,可以运行:

hermes profile list

你还可以做克隆之类的操作。更多信息可以看 Hermes 文档页面[14]

缺点是 Hermes Agent 没有像 OpenClaw 那样的内置仪表板来可视化 agent。好处是,如果需要,你可以让主 agent 从头搭一个。这就是 vibe coding 的力量!

尽管如此,这个 GitHub 仓库还是值得关注:

相关链接:GitHub - outsourc-e/hermes-workspace:Hermes Agent 的本机 Web 工作区 - 聊天、终端…[15] Hermes Agent 的本机 Web 工作区 - 聊天、终端、内存、技能、检查器。 - outsource-e/hermes-workspacegithub.com

对于这份 Newsletter,我给 Kourou 创建了一个 profile,又给 Cayenne 创建了另一个。除此之外,我还调整了它们的性格、外观皮肤和技能。

每当我需要做一些通用修改,比如给它们都加上相同的技能,我只要让主 agent 去做就行。但如果需要定制调整,我会直接通过聊天或 Telegram 和 CayenneKourou 交流。

这种方式没有那么直观,但效率更高,也给了我更大的控制权。

下一节我会展示我是怎么定制它们的。

自定义 Hermes 配置文件

你的 profile 所具备的技能、工具、个性和整体配置,必须和它在组织里的主要角色一致。如果一个 agent 大多数时候只会用四种技能,就没必要给它二十种技能。降低每个 profile 的复杂度,可以让仓库更干净,也能避免为了理解提示而触发不必要的推理和 LLM 消耗。

选择合适的模型

管理多个 profile 时,最重要的决策之一就是:到底哪个 LLM 应该驱动每个 profile。

如果 API 成本不是问题,你完全可以给所有 agent 都配上最强的模型,比如 Gemini 3.1 Pro 或 Claude Opus 4.6。它们都很贵,但在大多数任务上都表现非常好,除非你更看重速度而不是推理深度和上下文处理。

我喜欢尽量优化 API 的使用,所以除非真有必要,我不会默认上最贵的 API。即便如此,我还是用 OpenRouter[16] 来统一管理所有模型,避免同时维护多个 provider。

不过,OpenRouter 的 API 请求在并发时有时会出问题,所以我给每个 agent 都单独建了 API key。

OpenRouter 上不断会有新模型冒出来,值得关注的免费模型里就有 Qwen3.6-plus。阿里云的这个模型可以处理文本、图像和视频等多种输入,而且基准表现和 Z.ai[17] 的 GLM-5V-Turbo 接近。它也针对 agent 和 vibe coding 做了优化。

如果你问我,大多数 agent 和任务我都用这套模型配置,只有在生成 Cayenne(作者)时才会切换:

model:default:anthropic/claude-opus-4.6provider:openrouterbase_url:https://openrouter.ai/api/v1auxiliary:vision:provider:openroutermodel:qwen/qwen3.6-plus:freetimeout:30web_extract:provider:openroutermodel:qwen/qwen3.6-plus:freecompression:provider:openroutermodel:qwen/qwen3.6-plus:freesession_search:provider:openroutermodel:qwen/qwen3.6-plus:freeskills_hub:provider:openroutermodel:qwen/qwen3.6-plus:freeapproval:provider:openroutermodel:qwen/qwen3.6-plus:freemcp:provider:openroutermodel:google/gemini-3.1-pro-previewflush_memories:provider:openroutermodel:qwen/qwen3.6-plus:free

之所以给它用 Claude Opus 4.6,是因为写这类创意 Newsletter 需要很强的推理能力。

电报聊天

和 agent 沟通,最好的方式还是聊天界面,至少在你不坐在电脑前的时候是这样。

我喜欢用 Telegram,因为它容易设置也容易管理。首先你需要通过 BotFather 创建一个 /newbot

  1. 打开 Telegram 并搜索 BotFather。

  2. 发送 /newbot

  3. 选择一个显示名称(例如“Hermes Agent”)。

  4. 选择一个用户名。这必须是唯一的,并且以 bot 结尾(例如 my_hermes_bot)。

  5. BotFather 会回复你的 API 令牌

现在你需要获取自己的用户 ID。最快的方式是搜索 @userinfobot

最后,你可以把你的用户 ID 和 Telegram API 令牌写进每个 agent 的 .env 文件:

TELEGRAM_BOT_TOKEN=8566...TELEGRAM_ALLOWED_USERS=835...TELEGRAM_HOME_CHANNEL=835...

重启 gateway 后,应该就可以开始聊天了:

systemctl --user restart hermes-gateway hermes-gateway-kourou hermes-gateway-cayenne

理想情况下,你会看到下面这样的效果:

你甚至可以把每个组织文件夹里的 agent 分开管理,或者把它们拉进群聊。

创建合适的技能

如前所述,你要确保每个 agent 都拿到执行任务所需的正确技能。技能可以从 Clawhub[18] 等来源导入,但要留意里面是否有恶意内容。

否则,也可以自己从头创建。Kourou 和 Cayenne 都有按照提示创建出来的技能,而且 Markdown 文件会指向 vibe coding 写出来的 Python 函数。

例如,Cayenne 的 writer 技能有很多约束,像下面这样:

---name: writerdescription: Cayenne's newsletter writing skill. Reads up to 2-day-old articles from Supabase, finds intersection themes across 2-5 articles, and writes The Agentic Block newsletter in Marco's voice.---# Newsletter Writer## Pipeline1.**Fetch**: Run `src/cayenne/fetch_supabase.py` (uses 48h `gte` filter on `date` column) to populate `data/cayenne/supabase_articles.json`.2.**Generate**: Use (or fix then run) the dedicated script `src/cayenne/generate_newsletter.py`. It calls `anthropic/claude-opus-4.6` via OpenRouter + openai SDK, injects prompt with full writing rules, and writes directly to `data/cayenne/newsletter.md`. May require patching the client initialization first (api_key line is sometimes corrupted as literal "os.env...EY").3. **Env Loading**: `source the_agentic_block/.env && python src/cayenne/generate_newsletter.py` often fails to propagate OPENROUTER_API_KEY into venv python. Debug with execute_code first or ensure .env is loaded at session level.4. **Style Reference (MANDATORY)**: Before writing any content, read all markdown files in `/home/dev/.hermes/profiles/cayenne/skills/writer/style/` (EXAMPLE_1.md, EXAMPLE_2.md, EXAMPLE_3.md). These are canonical style examples. Match their tone, structure, pacing, and voice when writing the newsletter.5.**Drafting & Rules**: Script enforces 1500+ words, Marco voice, no em-dashes/semicolons, proper headers, bolded/linked companies, ## sections, *** dividers, ## Conclusion, source list. Do not generate drafts in chat.6. **One-Article Mode**: If only 1 fresh article, proceed with it (as in Apr 2026 x402/Linux Foundation run). Still meets theme-finding intent.7. **Visuals**: Generate 3 minimalist pencil-sketch covers using image pipeline (Gemini flash model + base64 extraction). Check mtime after.8. **Cleanup**: Update `data/cayenne/used_articles.json` with new entry (title, url, date_used). Use robust json read with try/except JSONDecodeError fallback.## Article Content Retrieval- **Primary**: Use `web_extract` to pull full article content from URLs.- **Fallback (Firecrawl unavailable)**: Use `web_search` with article-specific queries (include title keywords, source, and year). The Perplexity backend returns comprehensive summaries with inline citations that are rich enough to write the full newsletter without needing the raw page content. Run all 4 searches in parallel.## Files- Data source: `/home/dev/projects/the_agentic_block/src/cayenne/fetch_supabase.py`- Used articles: `/home/dev/projects/the_agentic_block/data/cayenne/used_articles.json`- Output: `/home/dev/projects/the_agentic_block/data/cayenne/newsletter.md`- Cover images: `/home/dev/projects/the_agentic_block/data/cayenne/cover_1.png` to `/home/dev/projects/the_agentic_block/data/cayenne/cover_3.png`## Writing Rules- Style: Marco's voice (professional yet personal, casual, first-person). Write like chatting with a friend over coffee.- Crucial Editor Check: Do not generate drafts in chat. Write content to `data/cayenne/newsletter.md` and confirm file saved before proceeding.- Verification Rule: List titles and dates of selected articles. **Confirm with user BEFORE writing final content.**-**Tone Reference (MANDATORY)**: Read ALL markdown files in `/home/dev/.hermes/profiles/cayenne/skills/writer/style/` (EXAMPLE_1.md, EXAMPLE_2.md, EXAMPLE_3.md) before writing. These are the ground truth for voice, pacing, and structure. Match them closely.- 2026 Best Practices: Authenticity, conversational. Use short paragraphs (max 2-4 sentences). Descriptive headers using strong nouns/statements.- Title/Subtitle: Include Title (`#`) and Subtitle (`##`).- Subtitles: Do not start with "-ing" words. Use strong nouns/statements.- Structure: Title, Subtitle, Body Sections (##, no "Intro"), Conclusion (##).- Formatting: No em dashes (—), no hyphens for pauses, no semicolons. Sentences must end cleanly.- Header Formatting: All body sections and Conclusion must be `##`. Use `***` divider between all body sections.- Bolding/Links: Always bold company names. Preferably link to official websites: `[**CompanyName**](url)`.- Target length: Minimum 1500 words. Dive deep into mechanics.- No "The Agentic Block" as title.- No "this week"/"this day"/"last week".- Add `## Conclusion` with reflection and takeaway. - No Signature: Never sign the newsletter with a name (like Marco or Cayenne). Leave it unsigned, even when adopting Marco's first-person writing style.- List Sources: `- Date, Outlet: [Title](url)` at the end.- **No Signatures:** NEVER sign the newsletter with a name (e.g., Marco, Cayenne). Leave it completely unsigned at the end.## Image Generation- Style: Minimalist architectural pencil sketches or technical drawings. Monochromatic charcoal on cream paper. Ample negative space. NO text or letters.- Pipeline: 1. Hit OpenRouter API via Python in `execute_code` (use `google/gemini-3.1-flash-image-preview` model). **API key retrieval**: env vars from `.hermes/.env` are NOT in `os.environ` inside execute_code. Use `from dotenv import dotenv_values; vals = dotenv_values("/home/dev/.hermes/.env"); api_key = vals["OPENROUTER_API_KEY"]`. 2. Write the JSON payload to a temp file and use `curl -d @file` to avoid shell escaping issues. Save raw JSON response as failsafe. 3. **Extract images from `message['images']` array first** (Gemini returns images there, NOT in `content` which is `None`). The data URI is at `message['images'][0]['image_url']['url']`, split on comma to get base64. 4. Save as PNG.- Check timestamps of images (`mtime`) after generation to ensure they were updated. If not, the generation failed.## Update used_articles.json-**Critical Rule**: Before writing any newsletter, always load `used_articles.json` and strictly exclude any articles already listed there (check by URL). Never reuse used articles.- Append new entries (title, url, date_used) to the used list *only after* the piece is generated and confirmed with the user.**Error Handling**: ALWAYS use `try...except json.JSONDecodeError` (and optionally `ast.literal_eval`) as fallbacks when reading `used_articles.json`. Empty or malformed uninitialized files will crash standard `json.load()` operations.

您不需要阅读上面完整的 SKILL.md。它仅作为示例,以防您想在自己的项目中重用它。

此外,我还使用 Nano Banana 创建了三张封面图像,我选择了最喜欢的一张添加到 Substack 中。

当谈到 Kourou(数据专家)时,他使用了一种不同的技能,即调用 Python 函数从 Apify[19] 中抓取加密货币新闻,过滤抓取的数据,并将其上传到 Supabase。

我自己也做了这几个 scraper,你也可以免费试用:

相关链接:【CoinDesk Scraper·Apify】(https://www.apify.com/dadhalfdev/coindesk-scraper?fpr=ulosg[20]) 使用 CoinDesk 网络抓取工具获取最新的加密货币新闻。选择您最喜欢的部分或主题(最新、市场……www.apify.com[21]

相关链接:【解密爬虫·Apify】(https://www.apify.com/dadhalfdev/decrypt-scraper?fpr=ulosg[22]) 想要跟踪 Web3、人工智能和加密货币领域的最新突发新闻和叙事变化吗?这个解密使它变得超级......www.apify.com[23]

相关链接:【CryptoSlate Scraper·Apify】(https://www.apify.com/dadhalfdev/cryptoslate-scraper?fpr=ulosg[24]) 想要追踪加密货币领域的最新突发新闻吗?这个 CryptoSlate 刮刀让它变得超级简单。只需选择一个...www.apify.com[25]

结论

和纯工作流相比,这种方法最大的不同,是我可以通过 Telegram 随时调整,随着时间推进不断改进 agent,创建我想要的任意数量的 profile,并决定它们要不要自治运行。

并不是所有用例都需要 agent。事实上,大多数事情也许都可以用 n8n[26] 工作流或者 Python pipeline 来处理。不过,如果你想要更多定制、更强创造力和更高的整体自由度,agent 确实是个不错的选择。

当然,它们带来的潜在成本也不是人人都能接受。如果你是程序员,可以用更便宜的模型并手动打磨脚本。但如果你的目标是在尽可能少的人力介入下,大量进行 vibe coding,你就需要更贵的模型,最后每天花费超过 100 美元也并不奇怪。

agent 不是万能解,但它们值得探索,而我们才刚刚起步。你想和它们一起做什么?

如果你喜欢这篇文章,欢迎订阅我的 Substack[27] 或 Medium[28],并在我发布新内容时收到通知。

📢你想构建与人工智能数据科学数据分析自动化相关的东西吗?欢迎预约咨询:

相关链接:【Marco R. 20分钟咨询】(https://calendar.app.google/Ho5ynvPvTF41P44H9[29]) 日历.app.google


更多内容请参考:

作者:Marco Rodrigues

阅读时长:13 min|发布时间:2026-04-05

引用链接: [1] https://ai.gopubby.com/i-built-a-niche-newsletter-with-ai-agents-978b0524b4c3[30] [2] https://open.substack.com/pub/dadhalfdev/p/i-built-a-niche-newsletter-with-ai?utm_campaign=post-expanded-share&utm_medium=web[31]

引用链接

[1]这里: https://open.substack.com/pub/dadhalfdev/p/i-built-a-niche-newsletter-with-ai?utm_campaign=post-expanded-share&utm_medium=web

[2]Nous Research: https://chat.nousresearch.com/

[3]Hermes Agent: https://hermes-agent.nousresearch.com/

[4]代理区块: https://theagenticblock.substack.com/

[5]Supabase: https://supabase.com/

[6]Substack: https://theagenticblock.substack.com/

[7]OpenClaw: https://openclaw.ai/

[8]Hermes Agent: https://hermes-agent.nousresearch.com/

[9]https://ai.gopubby.com/hermes-the-only-ai-agent-that-truly-competes-with-openclaw-6982f48e8e48

[10]https://ai.gopubby.com/10-tips-to-make-your-life-easier-with-openclaw-f73b5c844406

[11]Cloud VPS 30: https://www.tkqlhce.com/click-101540368-13796474

[12]Paperclip: https://github.com/paperclipai/paperclip

[13]GitHub - NousResearch/hermes-paperclip-adapter:Hermes Agent 的回形针适配器 - 将 Hermes 运行为…: https://github.com/NousResearch/hermes-paperclip-adapter

[14]文档页面: https://hermes-agent.nousresearch.com/docs/user-guide/profiles

[15]GitHub - outsourc-e/hermes-workspace:Hermes Agent 的本机 Web 工作区 - 聊天、终端…: https://github.com/outsourc-e/hermes-workspace

[16]OpenRouter: https://openrouter.ai/

[17]Z.ai: https://chat.z.ai/

[18]Clawhub: https://clawhub.ai/

[19]Apify: https://www.apify.com?fpr=ulosg

[20]https://www.apify.com/dadhalfdev/coindesk-scraper?fpr=ulosg

[21]www.apify.com: http://www.apify.com

[22]https://www.apify.com/dadhalfdev/decrypt-scraper?fpr=ulosg

[23]www.apify.com: http://www.apify.com

[24]https://www.apify.com/dadhalfdev/cryptoslate-scraper?fpr=ulosg

[25]www.apify.com: http://www.apify.com

[26]n8n: https://n8n.partnerlinks.io/x7wwnbrdbecd

[27]Substack: https://blog.dadhalfdev.com/

[28]Medium: https://medium.com/@dadhalfdev

[29]https://calendar.app.google/Ho5ynvPvTF41P44H9

[30]https://ai.gopubby.com/i-built-a-niche-newsletter-with-ai-agents-978b0524b4c3

[31]https://open.substack.com/pub/dadhalfdev/p/i-built-a-niche-newsletter-with-ai?utm_campaign=post-expanded-share&utm_medium=web

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-04-15 06:27:13 HTTP/1.1 GET : https://www.yeyulingfeng.com/a/530743.html
  2. 运行时间 : 0.171695s [ 吞吐率:5.82req/s ] 内存消耗:4,916.94kb 文件加载:145
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=9f0fcaa796d8d66e77f139a419a489cb
  1. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/autoload_static.php ( 6.05 KB )
  7. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/ralouphie/getallheaders/src/getallheaders.php ( 1.60 KB )
  10. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  11. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  12. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  13. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  14. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  15. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  16. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  17. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  18. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  19. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/guzzlehttp/guzzle/src/functions_include.php ( 0.16 KB )
  21. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/guzzlehttp/guzzle/src/functions.php ( 5.54 KB )
  22. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  23. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  24. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  25. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/provider.php ( 0.19 KB )
  26. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  27. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  28. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  29. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/common.php ( 0.03 KB )
  30. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  32. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/alipay.php ( 3.59 KB )
  33. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  34. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/app.php ( 0.95 KB )
  35. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/cache.php ( 0.78 KB )
  36. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/console.php ( 0.23 KB )
  37. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/cookie.php ( 0.56 KB )
  38. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/database.php ( 2.48 KB )
  39. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/filesystem.php ( 0.61 KB )
  40. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/lang.php ( 0.91 KB )
  41. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/log.php ( 1.35 KB )
  42. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/middleware.php ( 0.19 KB )
  43. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/route.php ( 1.89 KB )
  44. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/session.php ( 0.57 KB )
  45. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/trace.php ( 0.34 KB )
  46. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/view.php ( 0.82 KB )
  47. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/event.php ( 0.25 KB )
  48. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  49. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/service.php ( 0.13 KB )
  50. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/AppService.php ( 0.26 KB )
  51. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  52. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  53. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  54. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  55. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  56. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/services.php ( 0.14 KB )
  57. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  58. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  59. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  60. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  61. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  62. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  63. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  64. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  65. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  66. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  67. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  68. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  69. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  70. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  71. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  72. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  73. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  74. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  75. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  76. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  77. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  78. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  79. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  80. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  81. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  82. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  83. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  84. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  85. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  86. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  87. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/Request.php ( 0.09 KB )
  88. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  89. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/middleware.php ( 0.25 KB )
  90. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  91. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  92. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  93. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  94. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  95. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  96. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  97. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  98. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  99. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  100. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  101. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  102. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  103. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/route/app.php ( 3.94 KB )
  104. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  105. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  106. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/controller/Index.php ( 9.87 KB )
  108. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/BaseController.php ( 2.05 KB )
  109. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  110. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  111. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  112. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  113. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  114. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  115. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  116. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  117. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  118. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  119. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  120. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  121. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  122. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  123. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  124. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  125. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  126. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  127. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  128. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  129. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  130. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  131. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  132. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  133. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  134. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  135. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/controller/Es.php ( 3.30 KB )
  136. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  137. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  138. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  139. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  140. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  141. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  142. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  143. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  144. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/runtime/temp/c935550e3e8a3a4c27dd94e439343fdf.php ( 31.80 KB )
  145. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000780s ] mysql:host=127.0.0.1;port=3306;dbname=wenku;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000793s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000375s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000284s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000534s ]
  6. SELECT * FROM `set` [ RunTime:0.000207s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000559s ]
  8. SELECT * FROM `article` WHERE `id` = 530743 LIMIT 1 [ RunTime:0.000531s ]
  9. UPDATE `article` SET `lasttime` = 1776205633 WHERE `id` = 530743 [ RunTime:0.005522s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.000262s ]
  11. SELECT * FROM `article` WHERE `id` < 530743 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000628s ]
  12. SELECT * FROM `article` WHERE `id` > 530743 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000446s ]
  13. SELECT * FROM `article` WHERE `id` < 530743 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.000860s ]
  14. SELECT * FROM `article` WHERE `id` < 530743 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.001807s ]
  15. SELECT * FROM `article` WHERE `id` < 530743 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.002254s ]
0.173456s