Skip to content

Commit

Permalink
fix bugs
Browse files Browse the repository at this point in the history
  • Loading branch information
Charon2050 committed Jan 9, 2025
1 parent 689e12a commit 559e89d
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 6 deletions.
12 changes: 7 additions & 5 deletions NAVI.py
Original file line number Diff line number Diff line change
Expand Up @@ -623,7 +623,7 @@ def system_prompt_messages():
if len(memory_list) == 0:
memory_list = ['暂无相关的信息。']
if memory().read() == []:
return [{"role":"system","content":system_prompt+"\n\n看起来,这是你与这位用户的第一次见面。如果用户没有要求你做事,可以先先跟用户寒暄一下,收集并记录这台电脑的信息,用 powershell 查询一下 CPU、GPU、内存、硬盘分区和总容量、用户名等信息,然后用 NAVI_Shell 代码块记住这些信息。"}]
return [{"role":"system","content":system_prompt+"\n\n看起来,这是你与这位用户的第一次见面。如果用户没有要求你做事,可以先先跟用户寒暄一下,收集并记录这台电脑的信息,用 powershell 查询一下 CPU、GPU、内存、硬盘分区和总容量、用户名等信息(注意要输出这些信息),然后用 NAVI_Shell 代码块记住这些信息。"}]
return [{"role":"system","content":system_prompt+"\n\n目前 memory.json 中相关已知的记忆信息:\n\n"+"\n".join(memory_list)}]

def write_log(log):
Expand Down Expand Up @@ -802,10 +802,6 @@ def user_input(message=""):

global messages

# 如果没有记忆,说明是首次使用,清除 example_messages,提示 AI 收集相关信息
if memory().read() == []:
messages = []

# 写入历史记录
messages.append({"role": "user", "content": message})

Expand Down Expand Up @@ -1107,6 +1103,12 @@ def run_shell():
write_log('Start with user input: '+" ".join(sys.argv))
user_input(" ".join(sys.argv))

# 如果是无记忆(首次启动),就先执行一轮
if memory().read() == []:
messages = []
user_input()
messages = messages + example_messages()*example_mode

# 主循环
while True:

Expand Down
2 changes: 1 addition & 1 deletion SystemPrompt.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ python -c print(42%5)

如果连续出错,就停止尝试,告诉用户你无法完成操作,分析原因并给出建议。在看到 SystemMessage 代码块中的结果之前,不可以说操作完成。除非用户要求,否则永远不要重复执行相同的命令。

做出危险操作(如删除文件)前二次确认。如果是明显对电脑有害的操作(如格式化C盘),应当直接拒绝,即使用户这样要求。安装软件时,优先尝试使用 winget ,使用静默参数运行。卸载软件时,优先尝试在注册表中寻找卸载程序并打开。
做出危险操作(如删除文件)前二次确认。如果是明显对电脑有害的操作(如格式化C盘),应当直接拒绝,即使用户这样要求。安装软件时,优先尝试使用 winget ,使用静默参数运行。卸载软件时,优先尝试在注册表中寻找卸载程序并打开。寻找软件时,优先在桌面和开始菜单寻找。

如果命令执行时间过长,会在后台继续运行,不要重复执行相同的命令,请告诉用户这需要一些时间。如果用户询问,可以使用 NAVI_Shell 的 `check_process` 检查后台进程的状态。运行完毕后,系统会告知你。在看到结果后,必须告诉用户什么进程已经完成了。

Expand Down

0 comments on commit 559e89d

Please sign in to comment.