refactor: 删除 config.json + 内置工具抽离 + 统一接口
删除:
- config.rs / config.json(AppConfig/LmStudioConfig)
- LM Studio 残留(lmstudio.rs 已在之前删除)
- main.rs 中散落的内置工具 match arms
新增:
- src/tools/builtin.rs — BuiltinRegistry 统一切入
get_current_datetime、manage_memos 为核心内置工具
统一参数校验、风险等级、错误返回
改动:
- 模型名直接从 DEEPSEEK_MODEL 环境变量读取
- builtin 工具与 skills 工具统一经过 SkillRegistry 审批
- query_capabilities 合并内置 + 外部技能列表
This commit is contained in:
@@ -1,26 +1,8 @@
|
||||
# get_current_datetime
|
||||
|
||||
获取当前日期时间(北京时间 UTC+8)。
|
||||
|
||||
获取当前日期时间(UTC+8)。内置 Rust 实现,无脚本依赖。
|
||||
## Risk Level
|
||||
Low
|
||||
|
||||
## Parameters
|
||||
```json
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"format": {
|
||||
"type": "string",
|
||||
"description": "时间格式: full | date | time",
|
||||
"enum": ["full", "date", "time"],
|
||||
"default": "full"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## Execute
|
||||
```bash
|
||||
scripts/datetime.sh
|
||||
# Builtin: Rust
|
||||
```
|
||||
|
||||
@@ -1,16 +0,0 @@
|
||||
#!/bin/bash
|
||||
# 读取 stdin JSON 参数
|
||||
read -r input
|
||||
format=$(echo "$input" | python3 -c "
|
||||
import sys, json
|
||||
try:
|
||||
d = json.load(sys.stdin)
|
||||
print(d.get('format', 'full'))
|
||||
except: print('full')
|
||||
" 2>/dev/null || echo "full")
|
||||
|
||||
case "$format" in
|
||||
date) TZ='Asia/Shanghai' date '+{"datetime": "%Y-%m-%d"}' ;;
|
||||
time) TZ='Asia/Shanghai' date '+{"datetime": "%H:%M:%S"}' ;;
|
||||
*) TZ='Asia/Shanghai' date '+{"datetime": "%Y-%m-%d %H:%M:%S"}' ;;
|
||||
esac
|
||||
@@ -1,36 +1,8 @@
|
||||
# manage_memos
|
||||
|
||||
管理备忘录:添加、列出、删除。
|
||||
|
||||
备忘录存储在 `.data/memos.json` 文件中。
|
||||
|
||||
管理备忘录(添加/列出/删除)。内置 Rust 实现,无脚本依赖。
|
||||
## Risk Level
|
||||
High
|
||||
|
||||
## Parameters
|
||||
```json
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"action": {
|
||||
"type": "string",
|
||||
"description": "操作类型",
|
||||
"enum": ["add", "list", "delete"]
|
||||
},
|
||||
"content": {
|
||||
"type": "string",
|
||||
"description": "备忘内容(add 时需要)"
|
||||
},
|
||||
"id": {
|
||||
"type": "integer",
|
||||
"description": "备忘编号(delete 时需要)"
|
||||
}
|
||||
},
|
||||
"required": ["action"]
|
||||
}
|
||||
```
|
||||
|
||||
## Execute
|
||||
```bash
|
||||
scripts/memo.sh
|
||||
# Builtin: Rust
|
||||
```
|
||||
|
||||
@@ -1,58 +0,0 @@
|
||||
#!/bin/bash
|
||||
# 备忘录管理 — 存储 .data/memos.json
|
||||
MEMO_FILE=".data/memos.json"
|
||||
mkdir -p "$(dirname "$MEMO_FILE")"
|
||||
[ ! -f "$MEMO_FILE" ] && echo '[]' > "$MEMO_FILE"
|
||||
|
||||
read -r INPUT
|
||||
export MEMO_INPUT="$INPUT"
|
||||
|
||||
python3 - "$MEMO_FILE" << 'PYEOF'
|
||||
import sys, json, os, datetime
|
||||
|
||||
path = sys.argv[1]
|
||||
input_raw = os.environ.get('MEMO_INPUT', '{}')
|
||||
|
||||
try: req = json.loads(input_raw)
|
||||
except:
|
||||
print('无效的 JSON 输入')
|
||||
sys.exit(1)
|
||||
|
||||
action = req.get('action', 'list')
|
||||
content = req.get('content', '')
|
||||
memo_id = req.get('id', '')
|
||||
|
||||
data = json.load(open(path)) if os.path.exists(path) and os.path.getsize(path) > 0 else []
|
||||
|
||||
if action == 'add':
|
||||
if not content:
|
||||
print('请提供 content 参数')
|
||||
sys.exit(1)
|
||||
next_id = max([m.get('id', 0) for m in data], default=0) + 1
|
||||
data.append({'id': next_id, 'content': content, 'created_at': datetime.datetime.now().isoformat()})
|
||||
json.dump(data, open(path, 'w'), ensure_ascii=False, indent=2)
|
||||
print(f'已添加备忘录 #{next_id}')
|
||||
|
||||
elif action == 'list':
|
||||
if not data:
|
||||
print('暂无备忘录')
|
||||
else:
|
||||
for m in data:
|
||||
ts = m.get('created_at', '?')[:16]
|
||||
print(f"#{m['id']} [{ts}] {m['content']}")
|
||||
|
||||
elif action == 'delete':
|
||||
if not memo_id:
|
||||
print('请提供 id 参数')
|
||||
sys.exit(1)
|
||||
new = [m for m in data if str(m.get('id', '')) != str(memo_id)]
|
||||
if len(new) == len(data):
|
||||
print(f'未找到备忘 #{memo_id}')
|
||||
else:
|
||||
json.dump(new, open(path, 'w'), ensure_ascii=False, indent=2)
|
||||
print(f'已删除备忘 #{memo_id}')
|
||||
|
||||
else:
|
||||
print(f'未知操作: {action}(支持: add, list, delete)')
|
||||
sys.exit(1)
|
||||
PYEOF
|
||||
Reference in New Issue
Block a user