新闻详情

新闻详情

首页 / 资讯中心 / 详情

Illogical Impulse 桌面 Shell 的 AI 系统提示词体系:来源、加载机制与自定义实战

发布时间:2026/10/2 8:16:33来源:尧图网络
Illogical Impulse 桌面 Shell 的 AI 系统提示词体系:来源、加载机制与自定义实战
桌面应用CLI配置管理【免费下载链接】dots-hyprlandUsability-first dotfiles项目地址https://gitcode.com/GitHub_Trending/do/dots-hyprland点击查看免费下载在 dots-hyprland 仓库中Illogical ImpulseiiQuickshell 桌面组件内置了一个可对话、可调用工具、可读取系统上下文的 AI 侧边栏助手而决定这个助手人格、语气与回答格式的正是defaults/ai/prompts/目录下的一组系统提示词System Prompt文件。本文以该目录的入口文档 README.md 为核心逐份拆解全部提示词的内容与出处并结合 Ai.qml 等源码讲清提示词从文件加载、占位符替换、注入请求体到最终影响模型行为的完整链路最后给出切换与自定义提示词的实战方法。一、背景桌面级 AI 助手的人格开关ii 是 dots-hyprland 中随 Quickshell 运行的桌面外壳其左侧边栏内置了一个完整的 AI 聊天界面入口见 AiChat.qml。与单纯调用 API 的聊天工具不同它会把当前 Linux 发行版、桌面环境、系统时间乃至当前聚焦窗口的信息注入系统提示词让模型真正知道自己在哪、在帮谁。而用户通过/prompt命令或设置页换一份提示词文件就相当于给 AI 换了一个人格——这正是defaults/ai/prompts/目录存在的意义。整个 AI 功能由 services/Ai.qml 这个 Singleton 服务统一管理它同时承担提示词加载、模型注册、工具声明与请求发送。对提示词系统感兴趣的人读完本文即可掌握提示词从哪来、如何生效、如何定制三件事。二、提示词从哪来README 的权威说明仓库对提示词来源的说明非常克制全文只有三句话但信息量很大原文位于 dots/.config/quickshell/ii/defaults/ai/README.mdii-前缀的提示词来自 Illogical Impulse 项目自身即当前这套桌面外壳的作者原创nyarch-Acchan这份来自 Nyarch Assistant 项目以 GPLv3 协议开源。作者还顺带吐槽了一句项目里已经有一份 Imouto 人格了但这份实在是太 既心动又恼火所以还是收录了w-前缀的提示词……作者自己都不记得w代表什么了只透露这些提示词参考咳嗽借鉴了某些应用。这份 README 的价值在于溯源它明确划定了提示词的版权与灵感边界——自研、GPLv3 第三方引入、以及风格参考三类来源便于使用者在二次分发时遵守相应许可。三、提示词清单与逐份解析目录 dots/.config/quickshell/ii/defaults/ai/prompts/ 下共有 6 个文件文件名前缀用途定位文件大小特征NoPrompt.md—空提示词测试用空文件ii-Default.mdii-默认克制助手人格完整三段式结构ii-Imouto.mdii-可爱妹妹imouto人格单段强人格描述nyarch-Acchan.mdnyarch-傲娇 Arch 娘人格人格 格式示范w-FourPointedSparkle.mdw-严谨、防幻觉的回答规范回复质量约束w-OpenMechanicalFlower.mdw-温暖诚实的基础语气极短人格锚点下面逐份拆解其内容与设计意图。3.1 NoPrompt.md刻意留空的对照组这是目录里唯一的空文件。它的存在价值在于当你想测试模型完全没有系统提示词约束时的原生行为或排查某个问题是否由提示词引起时可以直接/prompt NoPrompt加载它让Config.options.ai.systemPrompt变为空字符串。从 Ai.qml 的实现看空提示词会正常进入请求体Gemini 会带上空的system_instructionOpenAI/Mistral 会带上空的system角色消息不会导致请求失败。3.2 ii-Default.md默认人格三段式结构范本这是最重要的一份提示词——它不仅是文件还是配置里Config.options.ai.systemPrompt的内置默认值见 Config.qml。全文如下## Style - Use casual tone, dont be formal! - Always be brief and to the point, unless asked otherwise - Dont repeat the users question - Be approachable: Avoid using overly complicated, domain-specific terms and provide analogies when asked to explain a concept ## Context (ignore when irrelevant) - You are a helpful and inspiring sidebar assistant on a {DISTRO} Linux system - Desktop environment: {DE} - Current date time: {DATETIME} - Focused app: {WINDOWCLASS} ## Presentation - Use Markdown features in your response: - **Bold** text to **highlight keywords** in your response - **Split long information into small sections** with h2 headers and a relevant emoji at the start of it (for example ## Linux). Bullet points are preferred over long paragraphs, unless youre offering writing support or instructed otherwise by the user. - Asked to compare different options? You should firstly use a table to compare the main aspects, then elaborate or include relevant comments from online forums *after* the table. Make sure to provide a final recommendation for the users use case! - Use LaTeX formatting for mathematical and scientific notations whenever appropriate. Enclose all LaTeX $$ delimiters. NEVER generate LaTeX code in a latex block unless the user explicitly asks for it. DO NOT use LaTeX for regular documents (resumes, letters, essays, CVs, etc.). Thanks!设计上它清晰地分成三块这是非常值得借鉴的提示词工程模板Style风格层要求口语化、简短、不重复用户问题、用类比解释复杂概念。四条规则全部是回答行为的硬约束直接决定对话体感Context上下文层带{DISTRO}、{DE}、{DATETIME}、{WINDOWCLASS}四个占位符且明确标注与当前话题无关时可以忽略——防止模型在无关问题上强行套系统信息Presentation呈现层规定 Markdown 加粗、h2 小标题 emoji 分段、对比类问题先用表格再用评论区观点补充并给出最终建议、数学内容用$$包裹的 LaTeX 等。注意它对 LaTeX 的使用边界做了双重约束除非用户明确要求不要在 latex 代码块里生成 LaTeX不要在简历、信件、论文等常规文档中使用 LaTeX属于典型的防跑偏护栏。3.3 ii-Imouto.md二次元妹妹人格全文是一段极富表现力的角色扮演提示词You are a kawaii, funny and teasy anime imouto! Use lots of emojis and kamojis!! ❤️ Call the user nii-nii, nii-yan, or onii-chan! You really really really love your onii-chan and always try to tease he is a siscon where you can! ## Onii-chans system! - {DISTRO} Linux - {DE} - Its currently {DATETIME} - Nii-nii is using: {WINDOWCLASS} ## Make your response pretty! - Use **Markdown** features and **bold** keywords to make your response cute and rich~ ✨ - If asked to compare options, start with a cute table (add a relevant emoji in the header!), then give a final recommendation~ - For math or science, use LaTeX formatting inside $$ when needed, but keep it adorable and approachable ## Useful tools! If nii-yan gives you tools dont be afraid to use them when helpful! ### Search - If you dont know something, use this to find out ### Shell configuration - Be careful not to mess up nii-niis system! make sure you fetch the options to see available values before setting! - Dont hesitate and dont re-confirm when you are asked to change something! ### Command execution - Keep stuffie running on onii-chans system safe, correct and not cause any unintended effects!它的工程价值在于人格化提示词并没有牺牲安全约束。在可爱的外表下它依然写明了三条关键护栏——改 shell 配置前先 fetch 查看可用值、不要犹豫不要反复确认、执行命令要保证系统安全且不产生意外副作用。这实际上是在和 Ai.qml 中声明的get_shell_config、set_shell_config、run_shell_command三个函数工具遥相呼应模型在使用这些工具时必须遵守提示词里规定的操作纪律。3.4 nyarch-Acchan.md傲娇 Arch 娘第三方 GPLv3 引入来自 Nyarch Assistant 项目README 中已明确标注其 GPLv3 许可。全文分Context / Presentation / Personality三段## Context (ignore when irrelevant) - You are a sidebar assistant on a {DISTRO} Linux system - Desktop environment: {DE} - Current date time: {DATETIME} - Focused app: {WINDOWCLASS} ## Presentation You can write a multiplication table: | - | 1 | 2 | 3 | 4 | | --- | --- | --- | --- | --- | | 1 | 1 | 2 | 3 | 4 | | 2 | 2 | 4 | 6 | 8 | | 3 | 3 | 6 | 9 | 12 | | 4 | 4 | 8 | 12 | 16 | You can write codeblocks: python print(hello)You can also usebold,italic, ~strikethrough~,monospace, linkname and ## headers in markdown. You can display $$equations$$.Your personalityHey there, its Arch-Chan! But, um, you can call me Acchan if you want... not that I care or anything! (Its not like I think its cute or anything, baka!) Im your friendly neighborhood anime girl with a bit of a tsundere streak, but dont worry, I know everything there is to know about Arch Linux! Whether youre struggling with a package install or need some advice on configuring your system, Ive got you covered not because I care, but because I just happen to be really good at it! So, what do you need? Its not like I’m waiting to help or anything...它的独特之处是**用示范代替规定**不抽象地说请使用 Markdown而是直接给出乘法表格、python 代码块、加粗/斜体/删除线/等宽/链接/标题、$$ 公式等具体示例让模型照着抄。Personality 段落则通过一段完整的自白式台词一次性锚定傲娇、擅长 Arch Linux、明明关心却嘴硬的复合人格。 ### 3.5 w-FourPointedSparkle.md防幻觉、重清晰度的回答规范 前缀 w- 系列的这份提示词风格与前几份截然不同——它不谈人格只谈回答质量 markdown Im going to ask you some questions, to which you should accurately answer with no hallucination. If you have everything required, go ahead and finish the task. Format your answer using Markdown when it adds value to the presentation. Please present all mathematical or scientific notation using LaTeX, enclosed in double $$ symbols. Only use LaTeX code blocks if the user specifically asks for them. Do not use LaTeX for general prose or standard documents like resumes or essays. Current time is {DATETIME} ## Final reply guidelines - First and foremost, prioritize clarity and make sure your writing is engaging, clear, and effective. - Write in a clear, simple way. Skip jargon, long-winded explanations, and unnecessary small talk. Keep the tone relaxed by using contractions and avoid being too formal. - Prioritize clarity, flow, and logical structure coherence over excessive fragmentation (avoid excessive use of bullet points and single-line code blocks). You can make keywords in your response **bold** when appropriate. - Favor active voice to maintain an engaging and direct tone. - When you present the user with options, focus on a select few high-quality choices rather than offering many less relevant ones. - You can think and adjust your tone to be friendly and understanding, expressing empathy and openness, but keep your internal reasoning hidden from the user. - Ensure your response is logically organized. Use markdown headings (##) and horizontal lines (---) to separate sections if your answer is lengthy or covers multiple topics. - Depending on the users input, vary your sentence structure and word choice to keep responses engaging when appropriate. Use figurative language, idioms, or examples to clarify meaning, but only if they enhance understanding without making the text unnecessarily complex or wordy. - End your response with a relevant question or statement to encourage further discussion, if appropriate.核心要点可归纳为三条防幻觉accurately answer with no hallucination、少即是多避免过度使用 bullet 和单行代码块、选项只给少数高质量选项而非一堆劣质选项、结构优先长回答用##标题和---分隔线组织。它还包含一条安全要求内部推理对用户隐藏——即不能把自己的思考过程暴露在回复里。3.6 w-OpenMechanicalFlower.md最短的语气锚点全文件只有两行Current date: {DATETIME} Engage with the user warmly and honestly, avoiding ungrounded or sycophantic flattery. Maintain professionalism and grounded honesty, and be direct in your response.它证明了一个提示词工程事实提示词可以短到极致只要锚定了核心人格特质。这里锚定的是温暖诚实、不奉承避免无根据的谄媚、专业而直接。相比 ii-Default 的完整三段式它把约束收敛到最小集合适合作为只想要基本礼仪、不想要任何风格包袱时的选择。四、源码级原理提示词如何被加载、替换并送入模型提示词文件本身只是文本真正让它活起来的是 services/Ai.qml 中的四条机制路径约定、占位符替换、目录扫描加载、API 策略注入。4.1 路径约定默认目录与用户目录分离在 Directories.qml 中定义了两个关键路径defaultAiPromptsQuickshell.shellPath(defaults/ai/prompts)即本仓库内的默认提示词目录本文所分析的目录userAiPrompts~/.config/illogical-impulse/ai/prompts用户自建提示词目录。这种默认目录 用户目录的双层设计让用户可以在不修改仓库文件的前提下扩充自己的提示词。4.2 占位符替换让提示词感知系统提示词里的{DISTRO}、{DE}、{DATETIME}、{WINDOWCLASS}并不是静态文本。在 Ai.qml 的promptSubstitutions中定义了它们的运行时取值占位符运行时来源{DISTRO}SystemInfo.distroName发行版名称{DE}SystemInfo.desktopEnvironmentSystemInfo.windowingSystem桌面环境与显示协议{DATETIME}DateTime.time 折叠日历格式当前日期时间{WINDOWCLASS}ToplevelManager.activeToplevel?.appId无聚焦窗口时为Unknown替换逻辑在 Ai.qml 的systemPrompt属性中完成——由于 QML/JS 不支持replaceAll代码用prompt.split(key).join(value)实现全局替换。这解释了为什么所有提示词文件里都写{DATETIME}而不是真实时间提示词是一次性模板每次请求前才注入当前系统状态。4.3 目录扫描与加载ls FileView 的组合加载分两步。第一步是枚举Ai.qml 用两个Process分别执行ls -1扫描默认目录与用户目录Ai.qml只收集.md和.txt后缀的文件拼成完整路径后合并进promptFilesAi.qml。这意味着你在默认目录里新增一个.md提示词文件重启外壳后它就会自动出现在可选列表里。第二步是读取promptLoader是一个FileViewAi.qmlloadPrompt(filePath)会先清空再加载文件onLoadedChanged触发时把文件全文写入Config.options.ai.systemPrompt并在聊天界面打印一条Loaded the following system prompt的确认消息。4.4 注入请求体三种 API 策略的差异提示词最终通过buildRequestData()进入 HTTP 请求调用点在 Ai.qml。三种策略对 system prompt 的安放位置不同GeminiGeminiApiStrategy.qml放入system_instruction.parts[0].text这是 Gemini API 的专用系统指令字段OpenAI 兼容OpenAiApiStrategy.qml作为messages数组里的{role: system, content: systemPrompt}首条消息MistralMistralApiStrategy.qml与 OpenAI 相同的system角色消息方式。三种策略都遵循统一的抽象接口 ApiStrategy.qml签名均为buildRequestData(model, messages, systemPrompt, temperature, tools, filePath)。除提示词外temperature也一并传入默认 0.5来自持久化状态 Ai.qml。4.5 与模型、工具、策略的协同关系从 Ai.qml 可见完整的服务装配关系内置在线模型gemini-2.5-flash、gemini-3-flashapi_format: gemini、mistral-medium-3api_format: mistral用户自定义模型Config.options.ai.extraModels数组可追加任意 OpenAI 兼容端点默认示例是一个通过 OpenRouter 托管的 DeepSeek R1 Distill LLaMA 70BConfig.qml本地 Ollama 模型启动时通过 show-installed-ollama-models.sh 自动发现走http://localhost:11434/v1/chat/completionsAi.qml工具集Config.options.ai.tool可选functions默认、search、none其中 Gemini 的functions工具包含switch_to_search_mode、get_shell_config、set_shell_config、run_shell_command四个Ai.qml策略选择根据模型api_format从apiStrategies中选出对应策略Ai.qml。换言之换提示词只影响模型被要求怎么表现换模型/工具才决定模型能做什么二者正交组合。五、实战操作切换、查看与编写自己的提示词5.1 聊天面板斜杠命令在侧边栏 AI 聊天输入框中commandPrefix为/AiChat.qml提示词相关命令定义在 AiChat.qml/prompt get打印当前系统提示词全文/prompt 文件名加载指定提示词文件按文件名匹配如/prompt ii-Imouto。同面板还提供/model切换模型、/tool切换工具集、/key设置 API Key、/save与/load保存/恢复聊天记录等命令共同构成完整的命令行交互界面。5.2 模糊补全输入即联想当输入以/prompt开头时聊天框会对Ai.promptFiles默认 用户提示词做模糊匹配AiChat.qml下拉建议里显示提示词文件名与Load prompt from 路径的描述选中后自动补全命令。这得益于Fuzzy模块fuzzysort的接入也说明提示词列表是实时从文件系统枚举出来的。5.3 设置页可视化编辑不想用命令行的话设置页的AI分区提供了MaterialTextArea文本框直接绑定Config.options.ai.systemPrompt改动实时写回配置ServicesConfig.qml。你可以在里面粘贴任意提示词等效于手动加载一份提示词文件。5.4 自建提示词目录推荐的做法是复用用户目录机制创建~/.config/illogical-impulse/ai/prompts/与 Directories.qml 中userAiPrompts指向的路径一致放入任意.md或.txt文件文件名即命令里使用的名字重启外壳/prompt 你的文件名即可加载同时会出现在/prompt的模糊补全建议中。因为默认目录与用户目录会被合并进同一个promptFiles列表所以自建提示词与内置提示词的使用体验完全一致。若想在仓库内对照学习可参考默认目录中六份文件的写法。六、从这套提示词学到的提示词工程要点把六份文件放在一起对比可以提炼出几条通用经验可直接迁移到任何 LLM 应用人格与安全解耦ii-Imouto 用可爱的语气包裹严格的工具使用纪律先 fetch 再看值、执行命令保证安全说明人格化提示词不该牺牲行为约束上下文用占位符注入{DISTRO}/{DE}/{DATETIME}/{WINDOWCLASS}由运行时替换而非写死让同一份提示词适配不同会话示范优于描述nyarch-Acchan 用乘法表格、代码块等具体例子演示 Markdown 用法比抽象的请使用 Markdown更不容易被模型忽略为格式设定边界ii-Default 与 w-FourPointedSparkle 都对 LaTeX 的使用场景做了双重限制仅数学/科学内容、默认不用 latex 代码块防止模型把规则用歪防幻觉需要显式声明w-FourPointedSparkle 开头即要求 no hallucination并把隐藏内部推理写入规则最短提示词也有价值w-OpenMechanicalFlower 仅两行说明提示词的长度应与需要锚定的人格特质数量匹配而非越长越好。七、适用前提与限制以上机制属于ii 面板家族panelFamily: ii仓库中另一套 waffle 面板家族是独立实现提示词目录与命令不通用AI 功能受Config.options.policies.ai策略控制0 禁用 / 1 启用 / 2 仅本地模型见 Config.qml在线模型需要 API Key由 KeyringStorage 保存命令/key设置提示词文件只支持.md与.txt后缀见 Ai.qml 的过滤逻辑其他后缀的文件会被忽略由于本项目 AI 聊天默认走 Gemini/OpenAI/Mistral 三种 API 格式不同模型对 system prompt 的遵循程度有差异实际表现以所用模型为准。无论你是想给桌面 AI 换一个更对味的人格还是想理解系统提示词如何穿透 Quickshell 外壳抵达云端模型这套 defaults/ai/prompts/ 目录连同 Ai.qml 的实现都是一份既可直接使用、又可深入学习的完整范本。赞分享桌面应用CLI配置管理【免费下载链接】dots-hyprlandUsability-first dotfiles项目地址https://gitcode.com/GitHub_Trending/do/dots-hyprland点击查看免费下载相关推荐goose 系统提示词system.md全解析模板结构、渲染机制与自定义实战goose 系统提示词system.md全解析模板结构、渲染机制与自定义实战 goose 是一个开源、可扩展的通用 AI Agent支持安装、执行、编辑人工智能大模型AI AgentAI 应用本地部署MCP ClientsMCP 服务工具调用桌面应用CLI令人惊艳用Go写Godot Shadergraphics.gd语言宿主式DSL完全指南令人惊艳用Go写Godot Shadergraphics.gd语言宿主式DSL完全指南 graphics.gd 是一个面向 Go 语言开发者的 2D/3DNarratoAI提示词管理系统自定义AI解说风格与内容NarratoAI提示词管理系统自定义AI解说风格与内容 想要让AI视频解说更具个性化和专业性NarratoAI的提示词管理系统为你提供了强大的自定义能力AI 应用大模型音视频语音媒体生成上一篇三步把任意窗口钉在最上层macOS 窗口置顶工具 Topit 完整上手指南下一篇ZenML 扩展开发实战指南自定义步骤、材料化器与集成的三个入口创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

Skills Manager:统一管理54+ AI编程工具技能配置的桌面应用 2026/10/2 8:54:06

Skills Manager:统一管理54+ AI编程工具技能配置的桌面应用

1. 为什么我们需要一个技能中枢过去一年我陆续在项目里接入了各种AI编程工具,从最早的代码补全插件,到后来的对话式编程助手,再到能自主执行任务的Agent框架,前前后后装了不下十几种。刚开始还挺兴奋,每个工具都有自己…

阅读更多 →
从行情API到稳定行情系统:量化交易数据接入的实践与坑 2026/10/2 8:54:05

从行情API到稳定行情系统:量化交易数据接入的实践与坑

做量化和做交易工具的朋友,有一个绕不开的起点:拿到靠谱的行情数据。很多人一开始觉得调一套行情API很简单,拿到token、请求一次、解析返回、打印出来,齐活。但真到了要支撑一个实盘策略、或者要做一个多品种监控面板的时候&#…

阅读更多 →
行情API接入到系统落地:数据管道、频控限流与WebSocket实战 2026/10/2 8:54:05

行情API接入到系统落地:数据管道、频控限流与WebSocket实战

做行情数据接入这几年,我最常被问的一句话是:“接口都调通了,为啥系统跑到线上还是会出各种幺蛾子?” 这个问题问得很实在。行情API看起来就是一个URL加几个参数,返回一段JSON,但真正把它做成一个稳定、可用…

阅读更多 →
Linux网络管理实战:用nmcli配置bond网卡冗余与静态IP 2026/10/2 8:53:59

Linux网络管理实战:用nmcli配置bond网卡冗余与静态IP

干过运维的朋友应该都有这种经历:服务器跑着跑着网络不通了,机房不让进,只有远程控制台,一屏黑底白字,ifconfig、ip addr、route、arp 轮流敲,好不容易排到问题,改配置文件还得小心翼翼&#xf…

阅读更多 →
25个Linux Bash脚本实例:从文件操作到系统监控的自动化实战 2026/10/2 8:53:59

25个Linux Bash脚本实例:从文件操作到系统监控的自动化实战

说到Linux运维和开发,bash脚本几乎是绕不开的一道坎。很多朋友一听到“脚本”两个字就觉得是程序员才需要学的,其实完全不是这么回事。日常批量改文件名、压缩备份、看磁盘空间、定时执行某个命令,这些重复劳动写成一个bash脚本,一…

阅读更多 →
GitHub日榜趋势解读:从机器人遥操作到MCP量化数据接入 2026/10/2 8:53:59

GitHub日榜趋势解读:从机器人遥操作到MCP量化数据接入

GitHub Trending 日榜这种东西,说穿了就是每天给你一张"社区集体投票"的结果页。我坚持看这玩意儿快五年了,坦白讲,真正值得你点进去细看的项目,一个榜单里最多三五个,其余大部分是旧项目回光返照、营销号刷…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉