Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/Louisym/MiniCC
/ types & classes
Types & classes
498 in github.com/Louisym/MiniCC
⨍
Functions
1,659
◇
Types & classes
498
↓ 8 callers
Class
ContentBlock
内容块
tutorials/16_prompt_building_and_compaction.py:405
↓ 7 callers
Class
AssistantEvent
AI 返回的一个事件。 AI 的回复不是一次性返回的,而是一个个事件: TextDelta("让我") → TextDelta("算一下") → ToolUse("add", "2,2") → Usage(...) → Stop 这就像看直播一样,内容一点一
tutorials/05_agentic_loop_complete.py:159
↓ 7 callers
Class
ConfigError
mini_claude_code/config.py:61
↓ 7 callers
Class
ConversationMessage
tutorials/16_prompt_building_and_compaction.py:417
↓ 6 callers
Class
ContentBlock
消息内容块。 对应源码: session.rs:18-33 pub enum ContentBlock { Text { text: String }, ToolUse { id, name, input },
tutorials/12_session_persistence.py:73
↓ 6 callers
Class
ContextFile
指令文件 — 源码 prompt.rs:42-45
tutorials/16_prompt_building_and_compaction.py:52
↓ 6 callers
Class
HttpApiError
HTTP 状态码错误(来自 API 服务器的响应)。 对应源码: api/error.rs:14-20 Api { status: reqwest::StatusCode, error_type: Option<St
tutorials/11_error_recovery_and_retry.py:72
↓ 6 callers
Class
PortRuntime
src/runtime.py:89
↓ 6 callers
Class
RuntimeError
rust/crates/runtime/src/conversation.rs:65
↓ 6 callers
Class
SandboxConfig
沙箱配置 — 源码 sandbox.rs:27-34 来源: 用户的 .claude/settings.json 或项目的 .claude/settings.json 所有字段都是 Optional,用 None 表示"使用默认值"
tutorials/14_bash_engine_deep_dive.py:55
↓ 5 callers
Class
AssistantEvent
给 Agentic Loop 用的精简事件。 对应源码: conversation.rs:23-32
tutorials/10_sse_streaming.py:380
↓ 5 callers
Class
ConfigEntry
mini_claude_code/config.py:46
↓ 5 callers
Class
ConfigEntry
一个配置文件的位置和来源
tutorials/09_config_system.py:56
↓ 5 callers
Class
ConversationMessage
tutorials/07_auto_compaction.py:69
↓ 5 callers
Class
ConversationMessage
一条完整的对话消息。 和 Tutorial 01 里简单的 Message 不同,这里: - content 不再是一个字符串,而是一个 ContentBlock 列表 - 多了 usage 字段来追踪 token 消耗 对应源码: session.rs
tutorials/02_session_and_messages.py:150
↓ 5 callers
Class
HookCommandOutcome
tutorials/19_process_and_pipe_communication.py:597
↓ 5 callers
Class
HookConfig
Hook 配置 —— 告诉 HookRunner 有哪些 hook 命令。 pre_tool_use: 工具执行前要运行的 shell 命令列表 post_tool_use: 工具执行后要运行的 shell 命令列表 对应源码: config.rs:48-52
tutorials/08_hook_system.py:103
↓ 5 callers
Class
HookRunner
Hook 执行引擎。 负责在工具执行前后运行 hook 命令,收集结果。 对应源码: hooks.rs:49-206
tutorials/08_hook_system.py:116
↓ 5 callers
Class
PermissionPolicy
权限策略 — 源码 permissions.rs:50-135 这是权限系统的核心。它管理: 1. 当前活跃的权限模式 2. 每个工具的所需权限级别(注册表) 3. authorize() 决策逻辑
tutorials/15_permission_and_hook_pipeline.py:112
↓ 5 callers
Class
PermissionResult
带原因的权限结果
tutorials/15_permission_and_hook_pipeline.py:91
↓ 5 callers
Class
_HookCommandOutcome
mini_claude_code/hooks.py:71
↓ 4 callers
Class
AgentMessage
Agent 间传递的消息
tutorials/13_multi_agent_coordination.py:126
↓ 4 callers
Class
ApiResponse
模拟的 API 响应
tutorials/11_error_recovery_and_retry.py:250
↓ 4 callers
Class
ConversationMessage
对话消息。 对应源码: session.rs:36-46 pub struct ConversationMessage { pub role: MessageRole, pub blocks: Vec<Content
tutorials/12_session_persistence.py:139
↓ 4 callers
Class
HookOutcome
带消息的 Hook 结果
tutorials/15_permission_and_hook_pipeline.py:255
↓ 4 callers
Class
Message
一条对话消息,就像聊天记录里的一条。
tutorials/01_agentic_loop_basics.py:32
↓ 4 callers
Class
PermissionDecision
用户的决定 —— 允许还是拒绝。
tutorials/04_permission_system.py:84
↓ 4 callers
Class
RetryConfig
重试策略配置。 对应源码: api/client.rs:104-111 (AnthropicClient 字段)
tutorials/11_error_recovery_and_retry.py:238
↓ 4 callers
Class
TextBlock
tutorials/07_auto_compaction.py:42
↓ 4 callers
Class
TextBlock
文字块 —— AI 说的话。 例子:TextBlock(text="答案是 42")
tutorials/02_session_and_messages.py:62
↓ 4 callers
Class
TextContentBlock
mini_claude_code/models.py:13
↓ 4 callers
Class
ToolSpec
工具的"说明书"。 这个东西会被发送给 AI,让 AI 知道有哪些工具可以用。 对应源码: tools/src/lib.rs 的 ToolSpec 结构体
tutorials/03_tool_system.py:39
↓ 4 callers
Class
Usage
rust/crates/api/src/types.rs:141
↓ 3 callers
Class
BashCommandInput
Bash 命令输入 — 源码 bash.rs:18-34 这是模型(AI)发送过来的工具调用参数。 注意有多个沙箱相关的字段——模型可以精细控制沙箱行为。
tutorials/14_bash_engine_deep_dive.py:370
↓ 3 callers
Class
BashCommandOutput
Bash 命令输出 — 源码 bash.rs:36-65 注意这个输出有多丰富。不只是 stdout/stderr, 还有中断标记、后台任务ID、沙箱状态、持久化路径等。 这些信息让模型能理解命令执行的完整上下文: - interrupted=True → 超时了
tutorials/14_bash_engine_deep_dive.py:388
↓ 3 callers
Class
ContentBlock
消息中的内容块
tutorials/10_sse_streaming.py:529
↓ 3 callers
Class
ConversationMessage
tutorials/05_agentic_loop_complete.py:65
↓ 3 callers
Class
HookRunner
mini_claude_code/hooks.py:89
↓ 3 callers
Class
HookRunner
Hook 运行器 — 源码 hooks.rs:54-206 职责: 按顺序运行所有注册的 Hook 命令, 任何一个返回 deny 就立即中止。
tutorials/15_permission_and_hook_pipeline.py:261
↓ 3 callers
Class
PermissionPolicy
权限策略 —— 决定哪些工具可以执行。 对应源码: permissions.rs:49-134
tutorials/04_permission_system.py:140
↓ 3 callers
Class
PrefetchResult
src/prefetch.py:8
↓ 3 callers
Class
RuntimeModeReport
src/remote_runtime.py:7
↓ 3 callers
Class
Session
会话:消息的有序集合。 对应源码: session.rs:42-46 pub struct Session { pub version: u32, pub messages: Vec<ConversationMess
tutorials/12_session_persistence.py:201
↓ 3 callers
Class
SseParser
SSE 增量解析器。 核心思路:维护一个字符串缓冲区。 每次收到新数据就追加到缓冲区,然后尝试从中提取完整的事件。 对应源码: api/sse.rs:5-61 (SseParser) runtime/sse.rs:12-97 (Inc
tutorials/10_sse_streaming.py:129
↓ 3 callers
Class
TextBlock
tutorials/05_agentic_loop_complete.py:35
↓ 3 callers
Class
TokenUsage
mini_claude_code/runtime.py:50
↓ 3 callers
Class
TokenUsage
tutorials/05_agentic_loop_complete.py:57
↓ 3 callers
Class
TokenUsage
Token 使用统计 —— 用来追踪花了多少"钱"。
tutorials/02_session_and_messages.py:131
↓ 2 callers
Class
AgentIdentity
Agent 的身份信息。 格式:{name}@{team_name} 例如:researcher@my-project, team-lead@my-project 对应 Reference: EP08 §5
tutorials/13_multi_agent_coordination.py:82
↓ 2 callers
Class
CliPermissionPrompter
源码: main.rs:2338-2382
mini_claude_code/main.py:110
↓ 2 callers
Class
CommandExecution
src/commands.py:14
↓ 2 callers
Class
CompactionConfig
mini_claude_code/compact.py:27
↓ 2 callers
Class
CompactionConfig
压缩配置 — 源码 compact.rs:5-16 preserve_recent_messages: 保留最近 N 条消息(默认 4) max_estimated_tokens: token 估算超过这个值才压缩(默认 10000)
tutorials/16_prompt_building_and_compaction.py:387
↓ 2 callers
Class
CompactionConfig
压缩配置。 preserve_recent_messages: 保留最近几条消息(不压缩它们) max_estimated_tokens: 超过多少 token 就触发压缩 对应源码: compact.rs:4-16
tutorials/07_auto_compaction.py:133
↓ 2 callers
Class
CompactionResult
mini_claude_code/compact.py:37
↓ 2 callers
Class
CompactionResult
压缩结果
tutorials/16_prompt_building_and_compaction.py:708
↓ 2 callers
Class
CompactionResult
压缩结果
tutorials/07_auto_compaction.py:287
↓ 2 callers
Class
ConversationRuntime
对话运行时 —— 把 API、工具、权限、Session 全部组合在一起。 这就是 Claude Code 的核心引擎。 对应源码: conversation.rs:100-168 在 Rust 源码里它是泛型的:ConversationRuntime<C, T
tutorials/05_agentic_loop_complete.py:232
↓ 2 callers
Class
ConversationRuntime
注意: __init__ 不创建任何依赖, 全部从外部接收。 这就是依赖注入——"把依赖注入进来, 而不是自己造"。
tutorials/18_design_patterns_for_agents.py:246
↓ 2 callers
Class
DemoApiClient
模拟 API 客户端 —— 按剧本回复。 场景:用户问 "当前目录有什么文件?" AI 第一次回复:要用 bash 工具执行 ls AI 第二次回复:根据工具结果总结
tutorials/05_agentic_loop_complete.py:393
↓ 2 callers
Class
DialogLauncher
src/dialogLaunchers.py:7
↓ 2 callers
Class
DirectModeReport
src/direct_modes.py:7
↓ 2 callers
Class
HookResult
mini_claude_code/hooks.py:42
↓ 2 callers
Class
HookRunResult
Hook 执行结果 — 源码 hooks.rs:22-27 denied + messages 的组合让 Hook 可以: - 允许 + 无消息: 静默通过 - 允许 + 有消息: 通过但附加反馈(模型能看到) - 拒绝 + 有消息: 阻止并告知原因
tutorials/15_permission_and_hook_pipeline.py:228
↓ 2 callers
Class
HookRunResult
Hook 执行后的结果。 denied: 是否阻止了工具执行 messages: Hook 输出的消息列表(会显示给用户看) 对应源码: hooks.rs:24-47
tutorials/08_hook_system.py:58
↓ 2 callers
Class
Message
mini_claude_code/models.py:36
↓ 2 callers
Class
MockApi
tutorials/18_design_patterns_for_agents.py:300
↓ 2 callers
Class
PermissionRequest
权限请求 —— 告诉用户 "谁要做什么"。
tutorials/04_permission_system.py:75
↓ 2 callers
Class
PermissionResult
mini_claude_code/permissions.py:75
↓ 2 callers
Class
PortingBacklog
src/models.py:41
↓ 2 callers
Class
PortingModule
src/models.py:15
↓ 2 callers
Class
PrintToolExecutor
tutorials/18_design_patterns_for_agents.py:306
↓ 2 callers
Class
ProjectContext
项目上下文 — 源码 prompt.rs:48-55 每次会话启动时收集一次。包含: - 工作目录、日期 - Git 状态快照(branch、modified files) - Git diff(staged + unstaged) - 发现的 CLAUDE
tutorials/16_prompt_building_and_compaction.py:59
↓ 2 callers
Class
RealApiClient
tutorials/18_design_patterns_for_agents.py:97
↓ 2 callers
Class
RuntimeConfig
mini_claude_code/config.py:162
↓ 2 callers
Class
Session
mini_claude_code/models.py:50
↓ 2 callers
Class
Session
tutorials/05_agentic_loop_complete.py:86
↓ 2 callers
Class
Session
tutorials/07_auto_compaction.py:94
↓ 2 callers
Class
StoredSession
src/session_store.py:9
↓ 2 callers
Class
SystemPromptBuilder
系统提示词构建器 — 源码 prompt.rs:84-185 这是一个 Builder 模式。最终 build() 返回 Vec<String>, 不是一个大字符串。每个 section 是一个独立的字符串。 为什么分成多个 section? 因为 Anthrop
tutorials/16_prompt_building_and_compaction.py:213
↓ 2 callers
Class
ToolContentBlock
mini_claude_code/models.py:7
↓ 2 callers
Class
ToolDefinition
src/Tool.py:7
↓ 2 callers
Class
ToolExecution
src/tools.py:15
↓ 2 callers
Class
ToolRegistry
工具注册表 核心数据结构: dict[str, Callable] 对应 Rust: BTreeMap<String, Box<dyn FnMut(&str) -> Result<String, ToolError>>>
tutorials/18_design_patterns_for_agents.py:630
↓ 2 callers
Class
ToolResultBlock
工具结果块 —— 工具执行后的返回结果。 例子:ToolResultBlock(tool_use_id="tool-1", tool_name="bash", output="file1.py\nfile2.py", is_error=False) 参数:
tutorials/02_session_and_messages.py:91
↓ 2 callers
Class
ToolUseBlock
工具调用块 —— AI 说"我要用某个工具"。 例子:ToolUseBlock(id="tool-1", name="bash", input='{"command": "ls"}') 参数: id: 每次工具调用的唯一标识(就像快递单号,用来匹配结果)
tutorials/02_session_and_messages.py:73
↓ 2 callers
Class
TurnResult
src/query_engine.py:25
↓ 2 callers
Class
UsageSummary
src/models.py:29
↓ 1 callers
Class
AgentJob
mini_claude_code/multi_agent.py:57
↓ 1 callers
Class
AgentManifest
mini_claude_code/multi_agent.py:35
↓ 1 callers
Class
AgenticRuntime
对应 conversation.rs:100-283 的 ConversationRuntime 所有依赖从外部注入, 内部只有"循环"逻辑
tutorials/18_design_patterns_for_agents.py:953
↓ 1 callers
Class
AllowList
AllowList 模式: 只允许白名单路径
tutorials/18_design_patterns_for_agents.py:822
↓ 1 callers
Class
AlwaysAllowPrompter
总是允许 —— 用于测试或信任环境。
tutorials/04_permission_system.py:105
↓ 1 callers
Class
AlwaysDenyPrompter
总是拒绝 —— 用于测试。
tutorials/04_permission_system.py:111
↓ 1 callers
Class
ApiRequest
发给 AI 的请求
tutorials/05_agentic_loop_complete.py:153
↓ 1 callers
Class
AssistantMessage
AI 的回复
tutorials/11_error_recovery_and_retry.py:358
↓ 1 callers
Class
AssistantMessage
完整的 AI 回复消息
tutorials/10_sse_streaming.py:539
↓ 1 callers
Class
AuthError
认证错误(API Key 无效或缺失)
tutorials/11_error_recovery_and_retry.py:123
↓ 1 callers
Class
AutoAllowPrompter
tutorials/05_agentic_loop_complete.py:100
↓ 1 callers
Class
AutoApprovePrompter
自动批准提示器
tutorials/15_permission_and_hook_pipeline.py:723
next →
1–100 of 498, ranked by callers