Skip to content

工具与权限

NeoCode 通过工具与你的项目交互。只读操作通常自动执行;写入文件、编辑文件或执行有风险的命令时,会先让你确认。

Agent 能做什么

能力工具通常是否需要确认
读取文件filesystem_read_file
搜索文件内容filesystem_grep
搜索文件路径filesystem_glob
写入文件filesystem_write_file
编辑文件filesystem_edit
执行命令bash视风险而定
抓取网页webfetch视域名策略而定
管理任务列表todo_write
保存/读取/删除记忆memo_*
启动子代理spawn_subagent

通过 MCP 配置注册的外部工具也会出现在列表中,命名空间为 mcp.<server-id>.<tool>。接入方式见 MCP 工具接入

权限确认

当 Agent 请求写入文件或执行命令时,NeoCode 会弹出确认界面:

text
Permission request: filesystem_write_file (write_file)
Target: src/main.go

Use Up/Down to choose, Enter to confirm (shortcuts: y=once, a=session, n=reject)
> Allow once    - Approve this request once
  Allow session - Approve similar requests for this session
  Reject        - Reject this request
选择含义适合场景
Allow once只批准本次请求一次性写入、单次测试,或仍想逐项确认
Allow session批准当前会话内相似请求已确认安全的连续修改或重复测试
Reject拒绝本次请求路径不对、命令危险、范围失控

怎么判断

场景建议
读取文件、搜索代码通常可以放行
写测试、改小范围代码先检查路径,安全时选 Allow once;连续重复操作可选 Allow session
运行项目已有测试命令通常可以允许
删除文件、重置 Git、批量改写要求解释,确认后通常只对明确安全的单次请求选 Allow once
涉及密钥、本地配置或不想改的目录Reject

WebFetch 域名策略

webfetch 用来抓取 HTTP/HTTPS 网页内容。当前推荐策略默认允许 github.com*.github.com,其他外部域名会触发权限确认。

工具自身也有安全边界:它只支持 httphttps,会阻止 localhost、私网、链路本地等目标,并阻止自动重定向绕过校验。也就是说,权限确认决定是否允许访问外部域名,工具仍会拦截明显不安全的目标。

Full Access 模式

Ctrl+F 可以进入 Full Access 风险确认流程。启用后,工具审批会自动通过。

WARNING

Full Access 会跳过审批。只在你明确了解当前任务风险、信任工作区内容、并能接受文件或命令副作用时使用。

命令风险分类

命令不是一律审批。NeoCode 会按风险分类处理:

分类示例处理方式
只读git statusgit logls自动放行
本地变更git commitgo build需要确认
远端交互git pushgit fetch需要确认
破坏性git reset --hardrm需要确认
无法判断复合命令、解析失败需要确认

文件操作范围

文件操作默认限制在当前工作区内,路径穿越和符号链接逃逸会被拦截。

当前工作区可以通过 Slash 指令查看:

text
/cwd

下一步

围绕安装、配置、日常使用、扩展能力和排障整理的 NeoCode 用户指南。