python用ollama给本地AI开放cmd权限 极简版
·
python用ollama给本地AI开放cmd权限 极简版
- 前言
- 用法
- 代码
前言
python通过引入os用os.popen执行cmd命令,多条命令用"& ^"连接。通过ollama引入AI大语言模型,这里用的是qwen3.5。通过AI回复的cmd代码块执行命令。请谨慎操作,避免被AI一键格式化磁盘。
用法
复制代码后直接运行,需要先部署运行ollama才能正常运行,通过input命令输入。可以在控制面板输入。也可以用cmd通过python运行后直接在cmd输入。运行后可以输入"开始"给出前置条件。
代码
import ollama
import os
# 初始化消息列表
messages = []
def run(s):
if "```cmd" in s:
p = s.find("```cmd") + 7
cmd = s[p:s.find("```", p)]
cmd = cmd.strip("\n")
cmd = cmd.replace("\n", " & ")
pipe = os.popen(cmd) # 实际显示的是 D 盘当前工作目录,如需根目录用 'dir D:\\'
# 读取原始字节(避免 text mode 解码错误)
raw_output = pipe.buffer.read()
# 用 GBK 解码(Windows 中文版 cmd 默认编码)
try:
output = raw_output.decode('gbk')
except:
output = raw_output.decode('utf-8', errors='replace')
pipe.close()
print(output)
return output
return None
start = """
希望你回复时每次不超过50字
记住
请用```cmd```标记代码块
示例:
```cmd
dir d:\
/```
千问网站是https://www.qianwen.com/
b站搜索【搜索内容】直接start https://search.bilibili.com/all?from_source=web_search^&keyword=【搜索内容】
以后将 D:\AI\JustDoStudio 作为你的工作路径,所有文件默认在这个路径下操作
之后所有操作默认用cmd
如果要将代码写入文件,代码一般单个文件最大150行代码
通过刚刚生成的p.py获取哔哩哔哩html页面内容,示例:python p.py https://www.bilibili.com
通过写入文件示例
```cmd
cd D:\AI\JustDoStudio
echo import requests > p.py
echo from bs4 import BeautifulSoup >> p.py
echo print('获取成功') >> p.py
/```
用来将内容写入文件
用中文回答,希望你回复时每次不超过50字
明白了吗。
"""
while True:
text = input("input: ")
if text == "exit":
break
if text == "开始":
text = start
# 将用户消息加入列表
messages.append({'role': 'user', 'content': text})
# 流式输出
stream = ollama.chat(
model='qwen3.5-4b-local',
messages=messages,
stream=True,
keep_alive=-1
)
# 收集完整响应
full_response = ""
for chunk in stream:
content = chunk['message']['content']
print(content, end='', flush=True)
full_response += content
print() # 换行
out = run(full_response)
# 将助手的回复加入消息列表
messages.append({'role': 'assistant', 'content': full_response})
if out:
messages.append({'role': 'system', 'content': out})
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐

所有评论(0)