代码片段管理工具:rofi前端+Java守护进程

This commit is contained in:
2025-10-05 00:30:37 +08:00
commit a6b2905ad2
49 changed files with 3058 additions and 0 deletions

BIN
doc/resource/add.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 75 KiB

BIN
doc/resource/empty-add.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 55 KiB

81
doc/接口说明.md Normal file
View File

@@ -0,0 +1,81 @@
## 接口说明
### 添加片段
#### 请求示例
```json
{
"action": "ADD",
"data": {
"name": "ExtractJson", //片段名称
"language": "Java", //代码片段语言
"content": "public static String extractJson(String jsonStr) {\n jsonStr = jsonStr.replace(\"“\", \"\\\"\").replace(\"”\", \"\\\"\");\n int start = jsonStr.indexOf(\"{\");\n int end = jsonStr.lastIndexOf(\"}\");\n if (start != -1 && end != -1 && start < end) {\n return jsonStr.substring(start, end + 1);\n }\n return jsonStr;\n}"
}
}
```
#### 响应示例
```json
{
"data" : "代码片段已添加, 路径: /home/slhaf/Documents/code-snippet/java/ExtractJson.md",
"status" : "SUCCESS"
}
```
### 编辑片段
> 该部分字段中,除`id`, `path`以外,都可进行编辑
#### 请求示例
```json
{
"action": "EDIT",
"data": {
"id": "1", //代码片段id
"path": "$CODE_SNIPPET_DIR/java/ExtractJson.md", //代码片段的实际存储路径
"tags": "[JSON处理, 字符串操作, 文本提取]" //代码片段的标签
"description": "从字符串中提取JSON内容的工具方法支持处理中文引号并定位JSON对象的起始和结束位置", //代码片段描述
"content": "public static String extractJson(String jsonStr) {\n jsonStr = jsonStr.replace(\"“\", \"\\\"\").replace(\"”\", \"\\\"\");\n int start = jsonStr.indexOf(\"{\");\n int end = jsonStr.lastIndexOf(\"}\");\n if (start != -1 && end != -1 && start < end) {\n return jsonStr.substring(start, end + 1);\n }\n return jsonStr;\n}"
}
}
```
#### 响应示例
```json
{
"data" : "文件编辑成功: /home/slhaf/Documents/code-snippet/java/ExtractJson.md",
"status" : "SUCCESS"
}
```
### 删除片段
#### 请求示例
```json
{
"action": "DELETE",
"data": "$CODE_SNIPPET_DIR/java/ExtractJson.md" //待删除的文件
}
```
#### 响应示例
```json
{
"data" : "删除成功: /home/slhaf/Documents/code-snippet/java/ExtractJson.md",
"status" : "SUCCESS"
}
```
### 搜索片段
> 搜索片段时,输入内容可由空格分隔开表明为多个匹配内容,可匹配`name`、`tags`、`description`、`language`多个字段权重依次递减分别为5、4、3、2、1匹配到多个字段时分值累加最终返回的列表将依此进行由高到低的排序
#### 请求示例
```json
{
"action": "LIST",
"data": "json extract "
}
```
#### 响应示例
```json
{
"data" : "[{\"id\":\"1\",\"name\":\"ExtractJson\",\"path\":\"/home/slhaf/Documents/code-snippet/java/ExtractJson.md\",\"score\":14}]",
"status" : "SUCCESS"
}
```

34
doc/模板说明.md Normal file
View File

@@ -0,0 +1,34 @@
## 模板说明
### 添加片段
```markdown
## Snippet
```[Language]
<代码片段内容>
```
## MetaData
- Name
- <代码片段名称>
- Language
- <代码片段所用语言>
```
### 编辑片段
```markdown
## Snippet
```[Language]
<代码片段内容>
```
## MetaData
- Tags
- <代码片段标签>
- <可以为多个>
- <初次添加本片段时无需手动填写由配置的LLM自动生成>
- Description
- <代码片段描述内容默认也由LLM自动生成>
```