Documentation
¶
Overview ¶
Package toolcall provides toolcall framework
Example (SkillUsage) ¶
ExampleSkillUsage 示例:如何使用Skills系统
{
// 这个示例展示了Skills系统的基本用法
// 1. 连接到数据库
dbPath := "/home/nanjj/.dscli/sqlite.db"
db, err := sqlite.OpenDB(dbPath)
if err != nil {
fmt.Printf("连接数据库失败: %v\n", err)
return
}
defer db.Close()
// 2. 查询技能
rows, err := db.Query(`
SELECT name, description, category, priority
FROM skills
WHERE is_global = 1
ORDER BY priority DESC
`)
if err != nil {
fmt.Printf("查询技能失败: %v\n", err)
return
}
defer rows.Close()
// 3. 显示技能
fmt.Println("全局技能列表:")
for rows.Next() {
var name, description, category string
var priority int
err := rows.Scan(&name, &description, &category, &priority)
if err != nil {
fmt.Printf("读取技能失败: %v\n", err)
continue
}
fmt.Printf(" - %s (%s): %s (优先级: %d)\n",
name, category, description, priority)
}
// 输出:
// 全局技能列表:
// - Go测试规范 (go): Go语言测试最佳实践 (优先级: 90)
// - Git提交规范 (git): Git提交信息编写规范 (优先级: 85)
// - Markdown到Org转换 (markdown): Markdown到Org模式转换规则 (优先级: 80)
}
Index ¶
- Variables
- func AllExampleNames() []string
- func ArrangeArgs(ctx context.Context, cacheFile string) (context.Context, bool)
- func ContentLikePattern(maxLength int) string
- func CreateOrGetSessionID(ctx context.Context) (sessionID int64, err error)
- func CreateProjectSkill(ctx context.Context, id int64) (err error)
- func CreateSegment(domainID, modelID int64, name, content string, sortOrder int) (err error)
- func CreateSkill(ctx context.Context, skill *Skill) error
- func Error(err error) string
- func ExampleUsage() string
- func FixBrokenJSON(broken string) (result string)
- func GetCurrentDomainID(ctx context.Context) int64
- func GetCurrentModelID(ctx context.Context) int64
- func GetCurrentSessionID(ctx context.Context) (sessionID int64)
- func GetEnhancedSystemPrompt(ctx context.Context) string
- func GetExampleSegment(name string) string
- func GetOrCreateCacheFile(ctx context.Context, script string) (cacheFile string, err error)
- func GetOrCreateTool(name, description, category string) (int64, error)
- func GetSystemPrompt(ctx context.Context) string
- func GetTemplateSystemPrompt(ctx context.Context) string
- func GetTokenFromNetrc(host string) (string, error)
- func GetToolDisplayName(name string) string
- func GuessLanguage(path string) string
- func HandleToolCall(ctx context.Context, toolName string, argsRaw string) (result string, user string, err error)
- func JudgeHistory(messages []*Message)
- func OpenEditor(ctx context.Context, initialContent string) (content string, err error)
- func RecordSkillUsage(skillID int64, projectPath string) error
- func RecordToolUsage(ctx context.Context, toolID int64, success bool, errorMsg string) error
- func RegisterTool(tool ToolDef)
- func RunShell(ctx context.Context, script string) (result string, err error)
- func SafeAsyncRecordUsage(skillID int64, projectPath string)
- func SaveMessages(ctx context.Context, msgs ...Message) error
- func Shebang(script string) (name string, arg []string)
- func ShellExec(ctx context.Context, script string) (out string, err error)
- func ShortenShellScript(ctx context.Context, script string) string
- func TitleLikePattern(maxLength int) string
- func ToArrayType[T PrimitiveType](anyValues []any, anyValuesLen int) []T
- func ToSQLNullString(tcs []ToolCall) (toolCalls sql.NullString)
- func ToolArgsValue[T Primitive](args ToolArgs, key string, defaultValue T) T
- func ToolCallsID(tcs []ToolCall) string
- func TruncateHead(s string, maxLen int) string
- func TruncateHeadTail(s string, maxLen int) string
- func TruncateJSON(content string, maxRunes int) string
- func TruncateMarkdown(content string, maxRunes int) string
- func TruncateString(s string, maxLen int) string
- func TruncateSummary(result string, maxRunes int) string
- func TruncateTail(s string, maxLen int) string
- func TruncateToolResult(result string) string
- func UpdateContent(ctx context.Context, id int64, content string) (err error)
- func UpdateHistory(ctx context.Context, id int64) (err error)
- func UpdateSegmentContent(id int64, content string) (err error)
- func UpdateToolCalls(ctx context.Context, id int64, tcs []ToolCall) (err error)
- type ArrayType
- type Domain
- type FileStructure
- type Function
- type Message
- func BuildSystemMessages(ctx context.Context) ([]Message, error)
- func BuildSystemMessagesWithSegments(ctx context.Context) ([]Message, error)
- func CleanupReverse(messages []Message) (cleaned []Message)
- func HandleToolCalls(ctx context.Context, tcs []ToolCall) (inputs []Message)
- func ListHistory(ctx context.Context) ([]*Message, error)
- func LoadEnhancedPrompts(ctx context.Context) ([]Message, error)
- func LoadHistory(ctx context.Context) ([]Message, error)
- func LoadPrompts(ctx context.Context) ([]Message, error)
- func LoadSkills(ctx context.Context) (messages []Message, err error)
- func ShowMessage(ctx context.Context, id int64) (message *Message, err error)
- type NetrcEntry
- type Primitive
- type PrimitiveType
- type ProjectDomain
- type ProjectSkill
- type PromptSegment
- type SegmentManager
- func (sm *SegmentManager) CreateSegment(ctx context.Context, domainID, modelID int64, name, content string, ...) error
- func (sm *SegmentManager) DeleteSegment(ctx context.Context, id int64) error
- func (sm *SegmentManager) GetDomainByID(ctx context.Context, id int64) (*Domain, error)
- func (sm *SegmentManager) GetSegmentByID(ctx context.Context, id int64) (*PromptSegment, error)
- func (sm *SegmentManager) GetSegmentsForPrompt(ctx context.Context, modelID int64, domainID int64) ([]PromptSegment, error)
- func (sm *SegmentManager) GetSystemPrompt(ctx context.Context, modelID int64, domainID int64) (string, error)
- func (sm *SegmentManager) ListDomains(ctx context.Context) ([]Domain, error)
- func (sm *SegmentManager) ListSegments(ctx context.Context) ([]PromptSegment, error)
- func (sm *SegmentManager) RenderSystemPrompt(ctx context.Context, modelID int64, domainID int64, config *SystemPromptConfig) (string, error)
- func (sm *SegmentManager) UpdateSegment(ctx context.Context, id int64, name, content string, sortOrder int, ...) error
- type SegmentTemplateRenderer
- type Skill
- type Symbol
- type SystemPromptConfig
- type SystemPromptTemplate
- type TemplateData
- type TemplateVariable
- type Tool
- type ToolArgs
- type ToolCall
- type ToolCallFunction
- type ToolContent
- type ToolDef
- type ToolDesc
- type ToolResultTruncator
- type ToolUsage
- type ToolUsageStat
Examples ¶
Constants ¶
This section is empty.
Variables ¶
var DefaultToolResultTruncator = &ToolResultTruncator{ MaxRunes: 8000, MaxBytes: 16000, KeepBothEnds: true, TruncationMarker: "\n\n[...内容已截断...]\n\n", }
DefaultToolResultTruncator 默认工具结果截断器
var SegmentExamples = map[string]string{
"programming_general": `## 编程指导原则
1. 编写清晰、可维护的代码
2. 遵循{{if .IsGoProject}}Go语言{{else}}项目{{end}}的最佳实践
3. 添加必要的注释和文档
4. 考虑边界条件和错误处理`,
"go_specific": `## Go项目特定要求
{{if .IsGoProject}}
1. 遵循Go的代码规范(gofmt, go vet)
2. 使用适当的错误处理模式
3. 编写可测试的代码
4. 合理使用接口和组合
{{else}}
(此指导仅适用于Go项目)
{{end}}`,
"git_workflow": `## Git工作流程
{{if .GitUserName}}
当前用户:{{.GitUserName}}
{{end}}
{{if .IsGitClean}}
✅ 工作区干净,可以开始新任务
{{else}}
⚠️ 工作区有未提交的更改,建议先提交或暂存
{{end}}
最佳实践:
1. 提交前运行测试
2. 编写有意义的提交信息
3. 保持提交小而专注`,
"project_context": `## 项目上下文
项目:{{.ProjectName}} ({{.ProjectType}})
日期:{{.FormatDate}}
{{if .WorkingDirectory}}
工作目录:{{.WorkingDirectory}}
{{end}}
注意事项:
1. 了解项目结构和约定
2. 遵循团队编码规范
3. 考虑项目特定的约束条件`,
"code_review": `## 代码审查指导
审查代码时关注:
1. 功能正确性
2. 代码可读性
3. 性能影响
4. 安全性考虑
5. 测试覆盖率
{{if .IsGoProject}}
Go特定审查点:
- 错误处理是否恰当
- 并发安全性
- 内存管理
- 接口设计
{{end}}`,
"debugging_help": `## 调试指导
调试步骤:
1. 重现问题
2. 定位问题范围
3. 分析根本原因
4. 验证修复方案
可用工具:
{{if .IsGoProject}}
- go test -v (测试)
- go vet (静态分析)
- delve (调试器)
- pprof (性能分析)
{{else}}
- 项目特定的测试工具
- 日志分析
- 调试器
{{end}}`,
"documentation": `## 文档编写指导
编写高质量文档:
1. 明确目标读者
2. 结构清晰
3. 示例丰富
4. 及时更新
{{if .ProjectName}}
**{{.ProjectName}}** 项目文档应包含:
- README.md(项目概述)
- API文档
- 使用示例
- 贡献指南
{{end}}`,
}
SegmentExamples 段落示例
Functions ¶
func CreateOrGetSessionID ¶
CreateOrGetSessionID 获取或创建会话ID
func CreateSegment ¶
CreateSegment 创建新段落
func GetCurrentDomainID ¶
GetCurrentDomainID 获取当前项目的领域ID
func GetCurrentModelID ¶
GetCurrentModelID 获取当前模型ID
func GetEnhancedSystemPrompt ¶
GetEnhancedSystemPrompt 获取增强的系统提示词
func GetOrCreateCacheFile ¶
func GetOrCreateTool ¶
GetOrCreateTool 获取或创建工具
func GetTemplateSystemPrompt ¶
GetTemplateSystemPrompt 获取模板化的系统提示词(兼容旧代码)
func GetTokenFromNetrc ¶
GetTokenFromNetrc 从.netrc文件获取指定主机的token
func HandleToolCall ¶
func HandleToolCall(ctx context.Context, toolName string, argsRaw string) (result string, user string, err error)
HandleToolCall 处理工具调用(带统计和超时)
func OpenEditor ¶
func RecordSkillUsage ¶
RecordSkillUsage 记录技能使用
func RecordToolUsage ¶
RecordToolUsage 记录工具使用
func SafeAsyncRecordUsage ¶
safeAsyncRecordUsage 安全的异步记录技能使用
func SaveMessages ¶
SaveMessages 保存消息(事务)
func ShellExec ¶
ShellExec 是混合实现的 Shell 执行函数 对于 shell 命令使用新的 internal/shell 包 对于非 shell 命令回退到原始的 os/exec 实现
func ShortenShellScript ¶
ShortenShellScript 生成脚本的简短摘要
func ToArrayType ¶
func ToArrayType[T PrimitiveType](anyValues []any, anyValuesLen int) []T
func ToSQLNullString ¶
func ToSQLNullString(tcs []ToolCall) (toolCalls sql.NullString)
func ToolArgsValue ¶
ToolArgsValue 安全获取类型化参数值
func TruncateHead ¶
TruncateHead 截取字符串头部,超出部分用省略号代替。 若原字符串长度 <= maxLen,直接返回原串。 若 maxLen <= 省略号长度,返回省略号的前 maxLen 个字符。 否则返回 "原串前若干字符" + "..."
func TruncateHeadTail ¶
TruncateHeadTail 截取字符串头部和尾部,中间用省略号连接。 若原字符串长度 <= maxLen,直接返回原串。 若 maxLen <= 省略号长度,返回省略号的前 maxLen 个字符。 否则将可用字符数(maxLen - 省略号长度)平均分配给头尾(尾部可能多一个字符),返回 "头" + "..." + "尾"
func TruncateMarkdown ¶
TruncateMarkdown 截断Markdown内容
func TruncateString ¶
TruncateString 截断字符串,并在末尾添加省略号 参数:
s: 要截断的字符串 maxLen: 截断后的最大字符数(包括省略号)
返回值:
截断后的字符串。如果字符串长度不超过maxLen,则返回原字符串。 如果maxLen小于3,返回空字符串。 否则返回前(maxLen-3)个字符加上"..."。
注意:
- 使用[]rune处理Unicode字符,避免截断时出现乱码
- 省略号"..."占用3个字符位置
- 当maxLen < 3时,无法添加省略号,返回空字符串
示例:
TruncateString("Hello World", 8) // 返回 "Hello..."
TruncateString("你好世界", 4) // 返回 "你好世界"
TruncateString("Test", 2) // 返回 "" (maxLen < 3)
func TruncateSummary ¶
TruncateSummary 智能截断并添加摘要
func TruncateTail ¶
TruncateTail 截取字符串尾部,超出部分用省略号代替。 若原字符串长度 <= maxLen,直接返回原串。 若 maxLen <= 省略号长度,返回省略号的前 maxLen 个字符。 否则返回 "..." + "原串后若干字符"
func UpdateContent ¶
UpdateContent update message content
func UpdateHistory ¶
UpdateHistory update message session_id to 0
func UpdateSegmentContent ¶
UpdateSegmentContent 更新段落内容(支持模板)
Types ¶
type ArrayType ¶
type Domain ¶
type Domain struct {
ID int64 `json:"id"`
Name string `json:"name"`
Description string `json:"description"`
CreatedAt time.Time `json:"created_at"`
}
Domain 领域定义
type FileStructure ¶
type FileStructure struct {
Language string `json:"language"`
FilePath string `json:"file_path"`
Package string `json:"package,omitempty"`
Functions []*Symbol `json:"functions"`
Classes []*Symbol `json:"classes"`
Imports []string `json:"imports"`
Errors []string `json:"errors,omitempty"`
}
FileStructure 表示文件结构
type Function ¶
type Message ¶
type Message struct {
ID int64 `json:"-"`
SessionID int64 `json:"-"`
ModelID int64 `json:"-"`
Role string `json:"role"`
ReasoningContent string `json:"reasoning_content,omitempty"`
Content string `json:"content"` // 始终输出,即使为空字符串
ToolCalls []ToolCall `json:"tool_calls,omitempty"` // 仅当有工具调用时输出
ToolCallID string `json:"tool_call_id,omitempty"` // 仅当 role="tool" 时输出
CreatedAt time.Time `json:"-"`
OK bool `json:"-"`
// contains filtered or unexported fields
}
Message 扩展,支持工具调用(注意:Content 字段不再使用 omitempty)
func BuildSystemMessages ¶
BuildSystemMessages 构建系统消息
func BuildSystemMessagesWithSegments ¶
BuildSystemMessagesWithSegments 构建包含段落的系统消息
func CleanupReverse ¶
CleanupReverse - make the messages clean, remove the mistake message
func HandleToolCalls ¶
HandleToolCalls 处理工具调用(带统计)
func ListHistory ¶
ListHistory 加载指定会话的所有历史消息,按时间升序返回
func LoadEnhancedPrompts ¶
LoadEnhancedPrompts 加载增强的提示词
func LoadHistory ¶
LoadHistory 加载指定会话的所有历史消息,按时间升序返回
func LoadSkills ¶
LoadSkills 加载技能到系统提示词中
type NetrcEntry ¶
NetrcEntry 表示.netrc文件中的一个条目
func ParseNetrc ¶
func ParseNetrc(path string) ([]NetrcEntry, error)
ParseNetrc 解析.netrc文件,支持单行格式:machine host login user password token
type Primitive ¶
type Primitive interface {
PrimitiveType | ArrayType
}
type PrimitiveType ¶
type ProjectDomain ¶
type ProjectDomain struct {
ID int64 `json:"id"`
ProjectRoot string `json:"project_path"`
DomainID int64 `json:"domain_id"`
CreatedAt time.Time `json:"created_at"`
}
ProjectDomain 项目领域关联
type ProjectSkill ¶
type ProjectSkill struct {
ProjectPath string
SkillID int64
IsEnabled bool
EnabledAt time.Time
LastUsed sql.NullTime
}
ProjectSkill 表示项目与技能的关联
type PromptSegment ¶
type PromptSegment struct {
ID int64 `json:"id"`
DomainID int64 `json:"domain_id"`
ModelID int64 `json:"model_id"` // -1=通用, 0=deepseek-chat, 1=deepseek-reasoner
Name string `json:"name"`
Content string `json:"content"`
SortOrder int `json:"sort_order"`
Enabled bool `json:"enabled"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
}
PromptSegment 提示词段落
type SegmentManager ¶
type SegmentManager struct{}
SegmentManager 段落管理器
func (*SegmentManager) CreateSegment ¶
func (sm *SegmentManager) CreateSegment(ctx context.Context, domainID, modelID int64, name, content string, sortOrder int) error
CreateSegment 创建段落
func (*SegmentManager) DeleteSegment ¶
func (sm *SegmentManager) DeleteSegment(ctx context.Context, id int64) error
DeleteSegment 删除段落
func (*SegmentManager) GetDomainByID ¶
GetDomainByID 根据ID获取领域
func (*SegmentManager) GetSegmentByID ¶
func (sm *SegmentManager) GetSegmentByID(ctx context.Context, id int64) (*PromptSegment, error)
GetSegmentByID 根据ID获取段落
func (*SegmentManager) GetSegmentsForPrompt ¶
func (sm *SegmentManager) GetSegmentsForPrompt(ctx context.Context, modelID int64, domainID int64) ([]PromptSegment, error)
GetSegmentsForPrompt 获取用于生成提示词的段落
func (*SegmentManager) GetSystemPrompt ¶
func (sm *SegmentManager) GetSystemPrompt(ctx context.Context, modelID int64, domainID int64) (string, error)
GetSystemPrompt 获取系统提示词
func (*SegmentManager) ListDomains ¶
func (sm *SegmentManager) ListDomains(ctx context.Context) ([]Domain, error)
ListDomains 列出所有领域
func (*SegmentManager) ListSegments ¶
func (sm *SegmentManager) ListSegments(ctx context.Context) ([]PromptSegment, error)
ListSegments 列出所有段落
func (*SegmentManager) RenderSystemPrompt ¶
func (sm *SegmentManager) RenderSystemPrompt(ctx context.Context, modelID int64, domainID int64, config *SystemPromptConfig) (string, error)
RenderSystemPrompt 渲染系统提示词
type SegmentTemplateRenderer ¶
type SegmentTemplateRenderer struct {
// contains filtered or unexported fields
}
SegmentTemplateRenderer 段落模板渲染器
func NewSegmentTemplateRenderer ¶
func NewSegmentTemplateRenderer(ctx context.Context) *SegmentTemplateRenderer
NewSegmentTemplateRenderer 创建段落模板渲染器
func (*SegmentTemplateRenderer) GetSegmentsForProject ¶
func (r *SegmentTemplateRenderer) GetSegmentsForProject() (segment []PromptSegment, err error)
GetSegmentsForProject 获取项目的提示词段落
func (*SegmentTemplateRenderer) RenderAllSegments ¶
func (r *SegmentTemplateRenderer) RenderAllSegments() (string, error)
RenderAllSegments 渲染所有段落
func (*SegmentTemplateRenderer) RenderSegment ¶
func (r *SegmentTemplateRenderer) RenderSegment(content string) (string, error)
RenderSegment 渲染单个段落
type Skill ¶
type Skill struct {
ID int64
Name string
Description string
Content string
Category string
Priority int
IsGlobal bool
UsageCount int
CreatedAt time.Time
UpdatedAt time.Time
}
Skill 表示一个技能
type Symbol ¶
type Symbol struct {
Name string `json:"name"`
Type string `json:"type"` // "function", "method", "struct", "interface", "type"
Line int `json:"line"`
Column int `json:"column"`
EndLine int `json:"end_line"`
EndColumn int `json:"end_column"`
Signature string `json:"signature,omitempty"` // 函数签名
Receiver string `json:"receiver,omitempty"` // 方法接收者
}
Symbol 表示一个代码符号(函数/类)
type SystemPromptConfig ¶
type SystemPromptConfig struct {
// 基础信息
CurrentDate string
ProjectRoot string
ConfigDir string
// Git信息
GitUserName string
GitUserEmail string
GitBranch string
GitStatus string
// 项目信息
ProjectName string
ProjectType string
// 环境信息
WorkingDirectory string
Hostname string
Username string
// 模型特定配置
ModelID int64
}
SystemPromptConfig 系统提示词配置
func GetSystemPromptConfig ¶
func GetSystemPromptConfig(ctx context.Context) *SystemPromptConfig
GetSystemPromptConfig 获取系统提示词配置
func NewSystemPromptConfig ¶
func NewSystemPromptConfig(ctx context.Context) *SystemPromptConfig
NewSystemPromptConfig 创建系统提示词配置
func (*SystemPromptConfig) FormatDate ¶
func (c *SystemPromptConfig) FormatDate() string
辅助函数:在模板中可用的函数
func (*SystemPromptConfig) GeneratePrompt ¶
func (c *SystemPromptConfig) GeneratePrompt() string
GeneratePrompt 生成系统提示词(已弃用,请使用GeneratePromptWithTemplate)
func (*SystemPromptConfig) GeneratePromptWithTemplate ¶
func (c *SystemPromptConfig) GeneratePromptWithTemplate() string
GeneratePromptWithTemplate 使用模板生成提示词
func (*SystemPromptConfig) IsGitClean ¶
func (c *SystemPromptConfig) IsGitClean() bool
func (*SystemPromptConfig) IsGoProject ¶
func (c *SystemPromptConfig) IsGoProject() bool
type SystemPromptTemplate ¶
SystemPromptTemplate 系统提示词模板
func GetTemplateForModel ¶
func GetTemplateForModel(modelID int64) *SystemPromptTemplate
GetTemplateForModel 获取指定模型的模板
func (*SystemPromptTemplate) Render ¶
func (t *SystemPromptTemplate) Render(data *TemplateData) (string, error)
Render 渲染模板
type TemplateData ¶
type TemplateData struct {
// 基础信息
CurrentDate string
ProjectRoot string
ConfigDir string
// Git信息
GitUserName string
GitUserEmail string
GitBranch string
GitStatus string
// 项目信息
ProjectName string
ProjectType string
// 环境信息
WorkingDirectory string
Hostname string
Username string
// 模型特定配置
ModelID int64
}
TemplateData 模板数据
func NewTemplateData ¶
func NewTemplateData(config *SystemPromptConfig) *TemplateData
NewTemplateData 从SystemPromptConfig创建模板数据
type TemplateVariable ¶
TemplateVariable 模板变量信息
func GetTemplateVariables ¶
func GetTemplateVariables() []TemplateVariable
GetTemplateVariables 获取可用的模板变量
type Tool ¶
type Tool struct {
Type string `json:"type"`
Function Function `json:"function"`
// contains filtered or unexported fields
}
Tool 定义可调用的工具
type ToolCall ¶
type ToolCall struct {
ID string `json:"id"`
Type string `json:"type"`
Function ToolCallFunction `json:"function"`
}
type ToolCallFunction ¶
type ToolContent ¶
type ToolContent struct {
Result string `json:"result,omitzero"`
Error string `json:"error,omitzero"`
Suggestion string `json:"suggestion,omitzero"`
}
func (*ToolContent) String ¶
func (tc *ToolContent) String() (content string)
type ToolDef ¶
type ToolDef struct {
Name string
DisplayName string
Description string
Strict bool
Parameters map[string]any
Category string
Timeout time.Duration // 工具执行超时时间
Handler func(ctx context.Context, args ToolArgs) (string, string, error)
}
ToolDef 工具定义
type ToolDesc ¶
type ToolDesc struct {
ID int64
Name string
Description string
Category string
UsageCount int
CreatedAt time.Time
UpdatedAt time.Time
}
ToolDesc 表示一个工具
type ToolResultTruncator ¶
type ToolResultTruncator struct {
// 最大字符数(rune数量)
MaxRunes int
// 最大字节数
MaxBytes int
// 是否保留开头和结尾
KeepBothEnds bool
// 截断标记
TruncationMarker string
}
ToolResultTruncator 工具结果截断器
func (*ToolResultTruncator) Truncate ¶
func (t *ToolResultTruncator) Truncate(result string) string
Truncate 截断字符串
type ToolUsage ¶
type ToolUsage struct {
ID int64
ProjectPath string
ToolID int64
UsedAt time.Time
Success bool
ErrorMsg string
}
ToolUsage 表示工具使用记录
Source Files
¶
- editor.go
- message.go
- netrc.go
- parse.go
- prompt.go
- segment.go
- segment_examples.go
- segment_init.go
- segment_manager.go
- segment_template.go
- session.go
- shell.go
- skill.go
- skill_sql.go
- system_prompt.go
- system_prompt_template.go
- tool.go
- tool_def.go
- truncate.go
Directories
¶
| Path | Synopsis |
|---|---|
|
Package alltools to load all tools
|
Package alltools to load all tools |
|
Package file provides file ops tool calls
|
Package file provides file ops tool calls |
|
Package git provides git tool for LLM to use.
|
Package git provides git tool for LLM to use. |
|
Package issue to address issue create, list, show, assign, close
|
Package issue to address issue create, list, show, assign, close |
|
Package shell for shell tools like shell and python
|
Package shell for shell tools like shell and python |