kurihada
|
bfe3bc63b3
|
feat: 添加 /agent 命令支持交互式切换 Agent 模式
- 在 AgentRegistry 添加 listPrimaryAgents() 方法
- 在 Agent 类添加 setAgentMode/getAgentMode 方法
- 在 TerminalUI 实现 /agent 命令:
- /agent 显示当前模式和可用列表
- /agent <name> 切换到指定 Agent
- /agent default 切换回默认模式
- 提示符显示当前 Agent 模式(如 @plan You >)
- 为 build Agent 添加 prompt 配置
|
2025-12-11 13:19:58 +08:00 |
|
kurihada
|
82f0a0ccde
|
feat: 添加多代理系统和 Task 子任务功能
Agent 模块:
- types.ts: Agent 类型定义 (AgentInfo, AgentPermission 等)
- permission-merger.ts: 三级权限合并逻辑 (系统->全局->Agent)
- config-loader.ts: 支持 YAML/JSON 配置文件加载
- registry.ts: Agent 注册表,管理预设和自定义 Agent
- executor.ts: Agent 执行器,支持工具过滤和权限控制
- presets/: 预设 Agent (general, explore, code-reviewer, build, plan)
Task 工具:
- task.ts: 执行子任务,委派给指定 Agent 处理
- 支持子会话创建和管理
会话扩展:
- 支持父子会话关系 (parentId, agentName)
- 新增 createChildSession, saveChildSession 方法
配置:
- 支持 .ai-assist/agents.yaml 用户自定义 Agent
- 支持通配符模式的 Bash 权限规则
|
2025-12-11 11:21:08 +08:00 |
|
kurihada
|
c6f8ba95ec
|
feat: 添加对话压缩功能和上下文使用情况显示
- 新增 context 模块实现 Prune 和 Compaction 压缩策略
- Prune: 将旧工具调用结果替换为占位符
- Compaction: 使用 AI 生成对话摘要
- CLI 提示符显示上下文使用量 [used/available]
- 添加 /compact 命令手动压缩对话
- 添加 /context 命令查看上下文详情
- Agent 集成自动压缩 (85%阈值) 和强制压缩功能
|
2025-12-11 10:59:43 +08:00 |
|
kurihada
|
dddec9b6d5
|
feat: 添加 Git 工具集和重组描述文件目录结构
Git 工具集:
- 新增 10 个 Git 工具: status, diff, log, branch, add, commit, push, pull, checkout, stash
- 新增 GitPermissionChecker 权限检查器
- 读操作默认允许,写操作需要用户确认
目录结构优化:
- 重组 descriptions 目录,按工具类别分子目录 (shell, filesystem, web, git, todo)
- 更新 load_description.ts 支持子目录加载
- 更新 build 脚本支持递归复制描述文件
|
2025-12-11 10:30:40 +08:00 |
|
kurihada
|
43cfe483fb
|
feat: 添加 web_extract 网页内容提取工具
- 使用 Tavily Extract API 从 URL 提取网页内容
- 支持批量提取(最多 20 个 URL)
- 支持 basic/advanced 提取深度
- 支持 markdown/text 输出格式
- 可选提取图片列表
- 复用 WebPermissionChecker 进行权限管控
|
2025-12-11 10:09:19 +08:00 |
|
kurihada
|
3c922fe16c
|
feat: 添加 web_search 工具和权限管控
- 新增 web_search 工具,使用 Tavily SDK 进行网络搜索
- 支持搜索深度(basic/advanced)和主题(general/news/finance)配置
- 新增 WebPermissionChecker 权限检查器
- 搜索操作默认需要用户确认,支持会话级权限记忆
- 配置文件支持 tavilyApiKey 存储
|
2025-12-11 01:32:32 +08:00 |
|
kurihada
|
924fd7b9c6
|
fix: 修复会话历史丢失工具调用和 LSP 启动错误输出
- 保存完整的响应消息(包括工具调用和结果)到会话历史
- LSP 服务器未安装时静默忽略,不输出错误信息
|
2025-12-11 00:56:35 +08:00 |
|
kurihada
|
09839b15a0
|
feat: 添加文件写入 diff 预览和 LSP 诊断优化
- 文件写入/编辑前显示 diff 对比供用户确认
- LSP 诊断只显示错误和警告,忽略 hint/info
- 优化 LSP 等待时间:首次启动 2s,后续 300ms
|
2025-12-11 00:44:42 +08:00 |
|
kurihada
|
929f6f7850
|
feat: 添加 LSP 代码诊断功能
- 实现 LSP 客户端,支持与语言服务器通信
- 支持多种语言: TypeScript, Python, Go, Rust, C/C++ 等
- write_file/edit_file 工具集成 LSP 诊断,写入后自动检查代码错误
- 添加 CLI 命令管理语言服务器 (ai-assist lsp list/install/info)
- 智能等待机制:首次启动 LSP 等待 2s,后续仅需 300ms
- 将 read_file/write_file/edit_file 设为核心工具,确保文件操作使用正确的工具
- 更新系统提示词,引导 AI 使用文件工具而非 bash 命令
|
2025-12-11 00:01:58 +08:00 |
|
kurihada
|
1e0ecc2de7
|
feat: 添加会话持久化和 Todo 工具
会话持久化:
- 新增 SessionManager 和 SessionStorage,支持会话自动保存和恢复
- 会话数据存储在 ~/.local/share/ai-assist/,遵循 XDG 规范
- 支持对话历史、已发现工具、待办事项的持久化
- 启动时自动恢复同一工作目录的上次会话
- 支持会话归档和历史会话管理
Todo 工具:
- 新增 todoread 工具:读取当前会话的待办事项列表
- 新增 todowrite 工具:创建和更新待办事项
- 支持 pending/in_progress/completed 三种状态
- 待办事项随会话自动持久化
其他改进:
- ToolResult 类型新增可选的 metadata 字段
- Agent 支持会话管理器集成
- clearHistory 改为异步方法
|
2025-12-10 22:55:37 +08:00 |
|
kurihada
|
bc1ece3dad
|
feat: 实现 Tool Search Tool 动态工具发现机制
- 新增 ToolRegistry 工具注册表,支持核心工具和延迟加载工具分离
- 新增 tool_search 元工具,支持关键词搜索发现可用工具
- 新增基于关键词的搜索算法,按相关度评分排序
- 为所有工具添加 metadata(分类、关键词、延迟加载标识)
- 修改 Agent 支持动态工具注入,tool_search 结果自动添加到可用工具
- 核心工具(tool_search, bash)始终加载,其他工具按需发现
|
2025-12-10 19:51:25 +08:00 |
|
kurihada
|
e435b2f8f8
|
feat: 新增 6 个工具并重组目录结构
新增工具:
- grep_content: 在文件内容中搜索文本/正则表达式
- get_file_info: 获取文件元信息(大小、权限、时间等)
- move_file: 移动或重命名文件/目录
- copy_file: 复制文件或目录(支持递归)
- delete_file: 删除文件或目录
- create_directory: 创建目录
目录重组:
- src/tools/shell/ - Shell 相关工具(bash)
- src/tools/filesystem/ - 文件系统工具(12个)
- 每个子目录有独立的 index.ts 导出
权限系统扩展:
- 新增操作类型: grep, info, move, copy, mkdir
- 读取类操作默认允许,写入类操作需要确认
|
2025-12-10 18:32:39 +08:00 |
|
kurihada
|
60a046357b
|
feat: 添加权限管理系统
- 实现 tree-sitter 解析 bash 命令,准确识别管道、&&、子shell 等复杂命令
- 新增权限检查器模式,支持 allow/deny/ask 三级权限控制
- BashPermissionChecker: 支持命令模式匹配和外部目录访问检测
- FilePermissionChecker: 支持文件操作分级(read/write/edit/list/search/delete)
- 敏感路径规则:系统目录拒绝,SSH/AWS 等凭证目录需确认
- 会话级权限记忆,用户决定可在当前会话内生效
- 所有工具(bash、read_file、write_file、edit_file、list_directory、search_files)已集成权限检查
|
2025-12-10 18:32:26 +08:00 |
|
kurihada
|
af1185c4d7
|
优化工具
|
2025-12-10 17:11:46 +08:00 |
|
kurihada
|
4b451b2d58
|
支持多轮工具调用
|
2025-12-10 16:40:48 +08:00 |
|
kurihada
|
9973e8ec06
|
修复多轮对话bug
|
2025-12-10 16:35:04 +08:00 |
|
kurihada
|
a53bf1d6e4
|
支持DeepSeek
|
2025-12-10 16:24:06 +08:00 |
|
kurihada
|
ff3ec65139
|
Initial commit
|
2025-12-10 16:04:26 +08:00 |
|