Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/NanmiCoder/skills-agent-proto
/ functions
Functions
280 in github.com/NanmiCoder/skills-agent-proto
⨍
Functions
280
◇
Types & classes
38
↳
Endpoints
4
↓ 101 callers
Method
get
获取工具调用信息
src/langchain_skills/stream/tracker.py:125
↓ 32 callers
Method
update
更新工具调用信息(累积式) Args: tool_id: 工具调用 ID name: 工具名称 args: 工具参数 args_complete: 参数是否完整。区分"参数为空字典"和"
src/langchain_skills/stream/tracker.py:53
↓ 28 callers
Function
chatReducer
(state: ChatState, action: ChatAction)
web/src/state/chatReducer.ts:316
↓ 15 callers
Function
createInitialState
()
web/src/state/chatReducer.ts:129
↓ 15 callers
Function
format_tool_compact
格式化为 Claude Code 风格的紧凑格式:ToolName(arg1, arg2, ...) Args: name: 工具名称 args: 工具参数字典 Returns: 格式化的字符串,如 "Bash(git s
src/langchain_skills/stream/utils.py:151
↓ 13 callers
Method
handle_event
处理单个流式事件,更新内部状态 Args: event: 流式事件字典 Returns: 事件类型
src/langchain_skills/cli.py:84
↓ 12 callers
Function
resolve_path
解析文件路径,处理相对路径和 ~ 展开 Args: file_path: 文件路径(绝对或相对,支持 ~ 表示用户主目录) working_directory: 工作目录 Returns: 解析后的绝对路径
src/langchain_skills/stream/utils.py:115
↓ 10 callers
Method
detect_type
检测内容类型
src/langchain_skills/stream/formatter.py:47
↓ 9 callers
Method
append_json_delta
累积 input_json_delta 片段 LangChain 流式传输中,args 可能以 input_json_delta 形式分批到达。 index 用于处理并行工具调用的情况。
src/langchain_skills/stream/tracker.py:86
↓ 9 callers
Function
is_success
判断工具输出是否表示成功执行 基于 [OK]/[FAILED] 前缀判断。 Args: content: 工具输出内容 Returns: True 如果成功执行
src/langchain_skills/stream/utils.py:89
↓ 9 callers
Method
stream_events
事件级流式输出,支持 thinking 和 token 级流式 Args: message: 用户消息 thread_id: 会话 ID Yields: 事件字典,格式如下:
src/langchain_skills/agent.py:480
↓ 8 callers
Function
create_app
Create FastAPI app with injectable agent provider (for tests).
src/langchain_skills/web_api.py:70
↓ 8 callers
Method
is_ready
检查工具调用是否准备好发送(有 name 且未发送即可)
src/langchain_skills/stream/tracker.py:109
↓ 8 callers
Function
run_bash_command
直接执行 bash 命令的测试辅助函数(复制 tools.py 中的逻辑)
tests/test_tools.py:28
↓ 8 callers
Method
scan_skills
Level 1: 扫描所有 Skills 元数据 遍历 skill_paths,查找包含 SKILL.md 的目录, 解析 YAML frontmatter 提取 name 和 description。 Returns:
src/langchain_skills/skill_loader.py:108
↓ 7 callers
Function
_parse_cors_origins
Parse comma-separated origins from env.
src/langchain_skills/web_api.py:53
↓ 7 callers
Method
mark_emitted
标记已发送
src/langchain_skills/stream/tracker.py:120
↓ 6 callers
Method
is_success
判断内容是否表示成功执行
src/langchain_skills/stream/formatter.py:76
↓ 5 callers
Method
_truncate
截断内容
src/langchain_skills/stream/formatter.py:189
↓ 5 callers
Method
finalize_all
最终化所有工具调用:解析累积的 JSON 片段并标记参数完整
src/langchain_skills/stream/tracker.py:97
↓ 5 callers
Function
format_tool_result
智能格式化工具结果 Args: name: 工具名称 content: 工具输出内容 max_length: 最大显示长度 compact: 是否使用紧凑的树形格式(Claude Code 风格) Retu
src/langchain_skills/cli.py:252
↓ 5 callers
Function
getThread
(state: ChatState, threadId: string)
web/src/state/chatReducer.ts:146
↓ 5 callers
Function
replaceThread
( state: ChatState, threadId: string, thread: ThreadState, )
web/src/state/chatReducer.ts:150
↓ 5 callers
Method
tool_call
工具调用事件
src/langchain_skills/stream/emitter.py:32
↓ 4 callers
Function
_split_provider_prefixed_model
解析 provider:model 形式的模型字符串
src/langchain_skills/agent.py:98
↓ 4 callers
Function
count_lines
统计内容行数
src/langchain_skills/stream/utils.py:275
↓ 4 callers
Function
create_streaming_display
创建流式显示的布局 Args: thinking_text: 当前累积的 thinking 文本 response_text: 当前累积的响应文本 tool_calls: 工具调用列表 tool_results: 工
src/langchain_skills/cli.py:347
↓ 4 callers
Function
format_tree_output
将输出格式化为树形结构(Claude Code 风格) Args: lines: 输出行列表 max_lines: 最大显示行数 indent: 缩进字符 Returns: 格式化的树形输出字符串
src/langchain_skills/stream/utils.py:239
↓ 4 callers
Method
get_discovered_skills
获取发现的 Skills 列表 用于演示 Level 1 的 Skills 发现过程。
src/langchain_skills/agent.py:422
↓ 4 callers
Function
resolve_model_config
解析当前模型配置
src/langchain_skills/agent.py:216
↓ 3 callers
Function
_read_sse_text
(client: TestClient, url: str)
tests/test_web_api.py:39
↓ 3 callers
Function
_to_sse_frame
Encode one SSE frame.
src/langchain_skills/web_api.py:44
↓ 3 callers
Function
appendSystemMessage
(content: string, markdown = true)
web/src/App.tsx:96
↓ 3 callers
Method
build_system_prompt
构建包含 Skills 列表的 system prompt 这是 Level 1 的核心输出:将所有 Skills 的元数据 注入到 system prompt 中。 Args: base_prompt:
src/langchain_skills/skill_loader.py:245
↓ 3 callers
Function
check_api_credentials
检查是否配置了当前 provider 的 API 认证
src/langchain_skills/agent.py:231
↓ 3 callers
Function
create_streaming_display
创建流式显示的布局
examples/interactive_chat.py:57
↓ 3 callers
Method
get_all
获取所有工具调用(包括已发送的)
src/langchain_skills/stream/tracker.py:116
↓ 3 callers
Method
get_display_args
获取用于 create_streaming_display 的参数
src/langchain_skills/cli.py:155
↓ 3 callers
Method
get_pending
获取所有未发送的工具调用
src/langchain_skills/stream/tracker.py:129
↓ 3 callers
Function
has_args
检查 args 是否有内容 修复空字典 falsy 问题:空字典 {} 在 Python 中是 falsy, 但对于工具调用来说,空字典表示无参数,是合法的。 Args: args: 工具参数,可能是 None、{} 或包含参数的字典
src/langchain_skills/stream/utils.py:73
↓ 3 callers
Method
load_skill
Level 2: 加载 Skill 完整内容 读取 SKILL.md 的完整指令,以及其他 .md 文件和脚本列表。 这是 load_skill tool 的核心实现。 Args: skill_name:
src/langchain_skills/skill_loader.py:201
↓ 3 callers
Function
makeId
(prefix: string)
web/src/App.tsx:18
↓ 3 callers
Method
text
文本内容事件
src/langchain_skills/stream/emitter.py:27
↓ 3 callers
Method
thinking
思考内容事件
src/langchain_skills/stream/emitter.py:22
↓ 3 callers
Function
truncate
截断内容到指定长度 Args: content: 要截断的内容 max_length: 最大长度 suffix: 截断后添加的后缀 Returns: 截断后的内容
src/langchain_skills/stream/utils.py:132
↓ 3 callers
Function
truncate_with_line_hint
按行数截断内容,并返回剩余行数 Args: content: 要截断的内容 max_lines: 最大显示行数 Returns: (截断后的内容, 剩余行数)
src/langchain_skills/stream/utils.py:282
↓ 3 callers
Function
updateAssistantEntry
( thread: ThreadState, assistantEntryId: string, updater: (assistant: AssistantEntry) => AssistantEntry,
web/src/state/chatReducer.ts:171
↓ 2 callers
Method
_extract_body
提取状态标记后的内容体
src/langchain_skills/stream/formatter.py:101
↓ 2 callers
Function
_get_provider_credentials
获取 provider 对应的 API 认证信息 支持多种认证方式: 1. 通用配置:MODEL_API_KEY / MODEL_BASE_URL 2. Provider 专属配置 3. OpenAI 兼容代理场景下,允许复用 ANTHROPIC_AUTH
src/langchain_skills/agent.py:180
↓ 2 callers
Function
_infer_provider_from_model_name
根据模型名推断 provider
src/langchain_skills/agent.py:110
↓ 2 callers
Method
_is_json
检查是否是 JSON
src/langchain_skills/stream/formatter.py:106
↓ 2 callers
Function
_normalize_openai_base_url
规范化 OpenAI SDK base_url,避免传入完整 endpoint 后被重复拼接。
src/langchain_skills/agent.py:82
↓ 2 callers
Function
_normalize_provider
标准化 provider 名称
src/langchain_skills/agent.py:59
↓ 2 callers
Function
_resolve_requested_provider
解析当前请求应使用的 provider
src/langchain_skills/agent.py:126
↓ 2 callers
Function
cmd_interactive
交互式对话模式,支持流式输出和 thinking 显示 Args: enable_thinking: 是否启用 thinking 显示
src/langchain_skills/cli.py:594
↓ 2 callers
Function
cmd_list_skills
列出发现的 Skills
src/langchain_skills/cli.py:481
↓ 2 callers
Function
cmd_show_prompt
显示 system prompt(演示 Level 1)
src/langchain_skills/cli.py:515
↓ 2 callers
Function
display_final_results
显示最终结果(非流式) Args: state: 流式处理状态 thinking_max_length: thinking 最大显示长度 tool_result_max_length: 工具结果最大显示长度 args
src/langchain_skills/cli.py:168
↓ 2 callers
Method
done
完成事件
src/langchain_skills/stream/emitter.py:47
↓ 2 callers
Method
error
错误事件
src/langchain_skills/stream/emitter.py:52
↓ 2 callers
Method
format
格式化工具结果
src/langchain_skills/stream/formatter.py:80
↓ 2 callers
Function
format_tool_args
格式化工具参数显示 Args: args: 工具参数字典 max_length: 最大显示长度 Returns: Rich 可渲染元素列表
src/langchain_skills/cli.py:322
↓ 2 callers
Method
get_last_response
从结果中提取最后的 AI 响应文本 Args: result: invoke 或 stream 的结果 Returns: AI 响应文本
src/langchain_skills/agent.py:711
↓ 2 callers
Method
invoke
同步调用 Agent Args: message: 用户消息 thread_id: 会话 ID(用于多轮对话) Returns: Agent 响应
src/langchain_skills/agent.py:438
↓ 2 callers
Function
openai_compatible_chat_server
()
tests/test_agent.py:16
↓ 2 callers
Method
stream
流式调用 Agent (state 级别) Args: message: 用户消息 thread_id: 会话 ID Yields: 流式响应块 (完整状态更新)
src/langchain_skills/agent.py:459
↓ 2 callers
Function
submit
()
web/src/components/Composer.tsx:11
↓ 2 callers
Method
to_prompt_line
生成 system prompt 中的单行描述
src/langchain_skills/skill_loader.py:56
↓ 2 callers
Method
tool_result
工具结果事件
src/langchain_skills/stream/emitter.py:37
↓ 1 callers
Function
_build_provider_env
(provider: str)
tests/test_e2e_live.py:25
↓ 1 callers
Method
_build_system_prompt
构建 system prompt 这是 Level 1 的核心:将所有 Skills 的元数据注入到 system prompt。 每个 skill 约 100 tokens,启动时一次性加载。
src/langchain_skills/agent.py:317
↓ 1 callers
Method
_create_agent
创建 LangChain Agent 使用 LangChain 1.0 的 create_agent API: - model: 可以是字符串 ID 或 model 实例 - tools: 工具列表 - system
src/langchain_skills/agent.py:336
↓ 1 callers
Method
_extract_reasoning_tokens
从 OpenAI chunk 的 usage_metadata 中提取 reasoning token 数量
src/langchain_skills/agent.py:704
↓ 1 callers
Method
_format_text
格式化普通文本输出
src/langchain_skills/stream/formatter.py:181
↓ 1 callers
Method
_is_error
检查是否是错误内容
src/langchain_skills/stream/formatter.py:120
↓ 1 callers
Method
_is_markdown
检查是否是 Markdown
src/langchain_skills/stream/formatter.py:129
↓ 1 callers
Function
_parse_bool_env
解析布尔环境变量
src/langchain_skills/agent.py:74
↓ 1 callers
Method
_parse_skill_metadata
解析 SKILL.md 的 YAML frontmatter SKILL.md 格式: --- name: skill-name description: Brief description
src/langchain_skills/skill_loader.py:150
↓ 1 callers
Method
_process_chunk_content
处理 chunk 的 content
src/langchain_skills/agent.py:574
↓ 1 callers
Method
_process_tool_calls
处理 chunk.tool_calls - 立即发送 tool_call 事件 避免重复发送(同一 tool 可能通过 tool_use block 已发送)。
src/langchain_skills/agent.py:665
↓ 1 callers
Method
_process_tool_result
处理工具结果
src/langchain_skills/agent.py:682
↓ 1 callers
Function
_resolve_model_name
解析模型名称,兼容旧环境变量
src/langchain_skills/agent.py:153
↓ 1 callers
Function
_stream_text
(events: Iterator[dict])
tests/test_e2e_live.py:64
↓ 1 callers
Function
applyDoneEvent
( assistant: AssistantEntry, event: DoneEvent, )
web/src/state/chatReducer.ts:294
↓ 1 callers
Function
applyErrorEvent
( assistant: AssistantEntry, event: ErrorEvent, )
web/src/state/chatReducer.ts:305
↓ 1 callers
Function
applyTextEvent
( assistant: AssistantEntry, event: TextEvent, )
web/src/state/chatReducer.ts:283
↓ 1 callers
Function
applyThinkingEvent
( assistant: AssistantEntry, event: ThinkingEvent, )
web/src/state/chatReducer.ts:272
↓ 1 callers
Function
applyToolResult
( tools: ToolCallView[], event: ToolResultEvent, )
web/src/state/chatReducer.ts:231
↓ 1 callers
Function
chat
交互式对话(流式输出版本)
examples/interactive_chat.py:105
↓ 1 callers
Method
clear
清空追踪器
src/langchain_skills/stream/tracker.py:140
↓ 1 callers
Function
cmd_run
执行单次请求,支持流式输出和 thinking 显示 Args: prompt: 用户请求 enable_thinking: 是否启用 thinking 显示
src/langchain_skills/cli.py:537
↓ 1 callers
Function
demo_level1
演示 Level 1: Skills 发现 启动时自动扫描 Skills 目录,解析 YAML frontmatter, 将元数据(name + description)注入 system prompt。 Token 消耗:约 100 tokens/skill
examples/langchain_demo.py:38
↓ 1 callers
Function
demo_level2
演示 Level 2: 加载 Skill 详细指令 当用户请求匹配 Skill 描述时, LLM 调用 load_skill 工具读取 SKILL.md 完整内容。 Token 消耗:约 5k tokens
examples/langchain_demo.py:106
↓ 1 callers
Function
demo_level3
演示 Level 3: 脚本执行 LLM 按照 Skill 指令调用 bash 工具执行脚本。 脚本代码不进入上下文,只有输出进入。 这是 Skills 高效的关键:大量代码被封装在脚本中, 不占用上下文空间。
examples/langchain_demo.py:156
↓ 1 callers
Function
demo_streaming_with_thinking
演示流式输出和 thinking 功能
examples/basic_usage.py:39
↓ 1 callers
Function
demo_token_analysis
Token 消耗分析
examples/langchain_demo.py:203
↓ 1 callers
Function
discover_skills
便捷函数:发现所有 Skills
src/langchain_skills/skill_loader.py:286
↓ 1 callers
Method
emit_all_pending
发送所有待处理的工具调用并标记
src/langchain_skills/stream/tracker.py:133
↓ 1 callers
Function
event_stream
()
src/langchain_skills/web_api.py:110
↓ 1 callers
Function
extract_article
使用 news-extractor Skill 提取文章
examples/extract_article.py:49
next →
1–100 of 280, ranked by callers