96SEO 2026-06-13 08:07 4
Ke以kan见 Agent 并不是一开始就把文件内容交给 LLM,而是由 LLM 自行判断是否还缺失相关上下文。
OPENAI_API_KEY=your-key npm run dev -- --base-url your-model-base-url --model your-model-name
以购买 deepseek 为例,输入

其实我也Ke以用Gradio添加一个可视化的界面.文章浏览阅读1k次,点赞19次,收藏22次。Agent是用来干活儿的。所以,一切的出发点肯定是需求,越明确越好。我的需求hen简单,来自于我日常经常遇到的情况:当我在Obsidian里整理笔记或者写东西的时候,经常会需要去查点资料。搜到好多个网页之后,我需要创建一条新笔记,把里边有用的内容... 以后每次使用,我只需要把这一行修改了,也就是告诉Agent,让它帮我...
说实话,为什么百度不收录我的文章呢?害,我觉得可Neng是因为内容不够独特吧。
常见上下文来源包括:
main.tsx:
一个简单的循环Ke以写成这样:
对话层负责接收用户输入、展示模型输出,并维护消息历史。它kan起来Zui像普通 Chatbot,但在 Agent CLI 里对话层还需要支持流式输出、工具调用提示、权限确认、任务状态展示等Neng力。
Ru果要实现一个自己的 Agent CLI,Ke以先把它拆成几层。
这种方式Ke以构建出一个geng加健壮的系统,生产出来的东西质量也geng高,结果也geng可靠。.在进入编码部分之前,我们先对本文构建的系统的主要组件有一个清晰的理解。.
参考:github.com/CCZX/lumen/…
由于 Agent 要同时Zuo:流式 LLM 响应、Shell 执行、文件监听、用户输入、子 Agent 调度,属于 I/O 多路复用场景。所以 Node.js 的事件循环 + 非阻塞 I/O 非常适合用于开发 Agent
实现阶段 mvpsrc/├── main.tsx├── agent.ts│ └── agent.ts└── ui/ └── App.tsx
实现Zui简单的 MVP 版本,让 Agent Neng够成功调用 LLM
#!/usr/bin/env nodeimport { render } from "ink";import yargs from "yargs";import { hideBin } from "yargs/helpers";import { App } from "./ui/App.js";async function main { const argv = await yargs) .scriptName .usage .option .option .option .help .parse; if { console.error; console.error; process.exit; } render;}main.catch => { console.error; process.exit;});
咱就是说构建个人版Agent命令行界面其实挺有意思的,你懂的。
OPENAI_API_KEY=your-key npm run dev -- --base-url https://api.deepseek.com --model deepseek-v4-pro
成功启动Ke以kan到如下:
import type { FunctionParameters } from 'openai/resources/shared';export interface AgentTool { name: string; description: string; parameters: FunctionParameters; execute: => Promise<string>;}
import OpenAI from "openai";export interface AgentConfig { apiKey: string; baseURL?: string; model?: string;}export class Agent { private readonly client: OpenAI; private readonly model: string; constructor { this.client = new OpenAI; this.model = config.model ?? "gpt-4o-mini"; } async chat: Promise<string> {...
import type { ChatCompletionTool } from 'openai/resources/chat/completions';import { readFileTool } from '../builtin/file/index.js';import type { AgentTool } from '../types/index.js';const tools: AgentTool = ;export function getTools: AgentTool { return tools;}...
mvp 进阶版实现逻辑及关键代码解析
不对不对,应该是继续深入探讨。
工具层是 Agent 和真实环境互动的入口。没有工具,模型只Neng生成文本;有了工具,模型才Neng执行动作。
一个Zui小可用的 Agent CLI 通常需要这些工具:
src/tools/├── builtin/│ ├── file/│ ├── search/│ ├── shell/│ └── web/├── registry/└── types/
我们先实现Zui基本的 read 和 write 工具,让 Agent Neng够读写我们的文件
这样 Agent 就Ke以读取我们的本地文件了
在 src/tools/registry/index.ts 内获取 tool 的方法
在 src/tools/types/index.ts 内声明类型定义
在 src/tools/builtin/file/readFileTool.ts 实现读文件的 tool
其实我也Ke以用Gradio添加一个可视化的界面。不过我自己使用就不讲究那么多了。
模型不Neng一次性读完整个仓库,所以 Agent 必须主动选择上下文。上下文层的任务是帮助模型找到“此刻Zui相关的信息”。
好的上下文管理不是把所有内容dou塞给模型,而是逐步检索、逐步阅读、逐步收敛。
Code Agent 的体验好坏,hen大程度上取决于它Neng不Neng在有限上下文窗口里持续找到关键证据。
它的基本形态Ke以概括为:
import { useMemo, useState } from "react";import type { FC } from "react";import { Box, Text } from "ink";import Spinner from "ink-spinner";import TextInput from "ink-text-input";import { Agent } from "../agent/Agent.js";...
agent.ts 代码示例详略。
说实话,有时候会想,为什么同样的代码别人就Neng被百度收录,而我的就不行呢?你懂的,可Neng这就是缘分吧。
后续内容会持续geng新……
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback