Skill · #356 trending skills repo
Guncat-Work-for-hmos
zhubowen-bot/Guncat-Work-for-hmos
鸿蒙原生 AI 工作台|不止电脑,鸿蒙手机也能用:鸿蒙原生 shell 容器(命令是 HarmonyOS .so,不经虚拟机)+ 鸿蒙原生编译 CPython 3.12(numpy/pandas/scipy/matplotlib 全离线)+ 47 工具 + 32 Skill + Agent Loop;Intelligent UI(一句话直出界面)与 Harness(多轮工具+沙箱)真机跑通,PPT/Word/Excel/绘图端侧直出。
- Stars
- 12
- This week
- —
- Forks
- 1
- Open issues
- 0
- Skills inside
- 40
Get started
Install the skills
npx skills add zhubowen-bot/Guncat-Work-for-hmosInstalls into Claude Code, Codex, Cursor, OpenCode and the other agents it finds on your machine.
git clone --depth 1 https://github.com/zhubowen-bot/Guncat-Work-for-hmos.git /tmp/guncat-work-for-hmos
cp -r /tmp/guncat-work-for-hmos ~/.claude/skills/guncat-work-for-hmosClaude Code reads ~/.claude/skills/ (or .claude/skills/ in a project). Other agents read the same SKILL.md format from their own skills folder.
Inside this repo
40 skills
entry/src/main/resources/rawfile/skills/academic-publishingjournal-format用于对学术论文类 Word/DOCX 文档进行期刊、学校、会议或课程要求的格式排版与修复。当用户需要把论文原稿套用.docx 模板或明确格式规则、或提到论文排版、期刊投稿格式、学位论文格式、会议论文模板、时使用;如果同一请求同时包含论文 Word 排版和任何非排版任务,必须先停止并询问用户选择“只做格式排版”还是“作为复合任务拆分处理”,在用户明确选择前不得执行排版。不用于论文写作、润色、降重、翻译、代写、文献检索、补引用、验证引用、伪造数据/引用,或普通非论文 Word 文档套模板;entry/src/main/resources/rawfile/skills/academic-publishing/journal-formatpaper-close-reading用于用户提供一篇或少量学术论文后,进行专业深度精读,讲清研究问题、研究故事、方法或理论机制、关键证据、实验结果、可信边界、复现风险与研究启示,并生成高级 Markdown 报告(可按需 Word)。用户要求“论文精读”“深度解读”“分析方法与实验”“判断论文价值或局限”时使用。开放主题综述、单纯题录核验、论文代写或语言润色时不使用。entry/src/main/resources/rawfile/skills/academic-publishing/paper-close-readingpaper-rebuttal以论文作者身份完成学术审稿 rebuttal 全流程。当用户提供审稿意见(reviewer comments / reviews / meta-review)和论文文件(PDF/LaTeX/DOCX/Markdown),需要分析审稿意见、判断是否需要修改论文、修改论文并撰写给审稿人的逐条回复(rebuttal / response letter / author response)时使用。触发词包括:rebuttal、审稿意见回复、回复审稿人、response to reviewers、审稿人意见、major/minor revision 回复。entry/src/main/resources/rawfile/skills/academic-publishing/paper-rebuttalpaper-reviewer专业学术论文审稿 skill。以领域专家视角对学术论文(本地 PDF、arXiv ID/URL、粘贴文本)进行系统评审,自动识别论文学科与贡献类型并切换对应领域专家标准,输出顶会 OpenReview 风格(NeurIPS/ICLR/ICML)的标准 review 意见:Summary、Strengths、Weaknesses、Questions to Authors、Overall Score (1-10)、Confidence。输出语言跟随论文语言。触发场景包括:审论文、审稿、论文评审、review this paper、peer review、写评审意见、帮我看看这篇论文能不能中、rebentry/src/main/resources/rawfile/skills/academic-publishing/paper-reviewerpaper把综述/散文/笔记/报告/讲义/对话/博客等非论文文体改写为规范学术论文,或论文扩写/润色/重构时加载:源文体诊断、八项改写参数(论文类型/改写模式/扩充策略/学术深度/字数策略/引用格式/语言风格/输出粒度)、分文体改写策略与质量自检清单。entry/src/main/resources/rawfile/skills/academic-publishing/paperreference-audit用于用户提交论文、学位论文或参考文献清单后,系统审查参考文献真实性、题录准确性、文内—文后对应关系以及正文主张是否得到被引文献支持,并生成专业、清晰、可直接指导修改的论文引用审计报告(Markdown/Word)。用户要求“论文审计”“参考文献检查”“引用核对”“引用是否支持观点”“检查错引、过度推断或二手转引”时使用。开放主题综述、普通论文精读、论文代写或仅做语言润色时不使用。entry/src/main/resources/rawfile/skills/academic-publishing/reference-auditresearch-proposal用于国自然、国社科等基金申请、开题报告、博士后/人才计划、研究计划书等学术提案的撰写、审查和优化;当用户需要基于已有研究成果形成立项书、区分事实与 AI 建议、检查任务书一致性、补强论证逻辑时使用。entry/src/main/resources/rawfile/skills/academic-publishing/research-proposalai-tooling【新增】主 Skill(路由入口)。用户请求属于 AI 工程辅助——写/优化/调试 AI 提示词、系统提示词、自定义指令、Agent 技能说明,或对代码变更做只读代码评审——时,先加载本技能做意图判别与分支分流,再 load_skill 对应分支 Skill(prompt-engineering/review-agent)。大模型评测选型转 research-intelligence。entry/src/main/resources/rawfile/skills/ai-toolingprompt-engineeringAdvanced expert in prompt engineering, custom instructions design, and prompt optimization for AI agentsentry/src/main/resources/rawfile/skills/ai-tooling/prompt-engineeringreview-agentPerform a read-only, defect-first review of a specified code change and return every actionable finding. Use when another agent delegates review of uncommitted changes, a base-branch diff, a commit, or custom review instructions.entry/src/main/resources/rawfile/skills/ai-tooling/review-agentcontent-writing【新增】主 Skill(路由入口)。用户请求属于内容创作与营销文案——公众号长文、小红书/短视频、多平台改写分发、去 AI 味、营销策划方案——时,先加载本技能做意图判别与分支分流,再 load_skill 对应分支 Skill(khazix-writer/newmedia-writing/content-rewrite/humanizer/marketing-plan)。营销素材合规审核转 legal-ip。entry/src/main/resources/rawfile/skills/content-writingcontent-rewrite基于用户提供的已有素材(母稿、文章、新闻稿、活动稿、产品稿、报告摘要、访谈素材、口播稿、散乱素材等),改写成可发布的多平台分发版本,标准场景为≥2个平台,有素材的单平台改写也可支持,覆盖微信公众号、短视频脚本、微博等平台。当用户提到"一稿多发""多平台分发""内容矩阵""跨平台改写""同一内容发多个平台""分发执行包",或提供母稿并说"适合不同平台""不同平台都能发""平台化处理""适合平台传播""改成某平台版"时触发。不适用场景包括:单平台从零创作、无素材自由发挥、论文及学术写作、短剧小说代写、纯润色翻译摘要选题库slogan、要求实际发布排期私信评论等执行动作。最终必须创建并交付Markdentry/src/main/resources/rawfile/skills/content-writing/content-rewritehumanizer需要去除 AI 写作痕迹、让文本更自然更像真人、或对成稿做拟人化/可读性改写时加载:24 项通用 AI 模式库(完整 before/after)、社媒 16 项检测清单、可读性四规则。触发词:去 AI 味、AI 味太重、太像 AI 写的、自然一点、像人写的。entry/src/main/resources/rawfile/skills/content-writing/humanizerkhazix-writer- 数字生命卡兹克(Khazix)的公众号长文写作skill。当用户需要撰写公众号文章、写稿子、续写文章、根据素材产出长文时使用。触发词包括但不限于:写文章、写稿子、帮我写、续写、扩写、公众号文章、长文、出稿、按我的风格写。即使用户只是说"帮我把这个写成文章"或"用我的风格写一下",只要上下文涉及内容创作和公众号输出,都应该触发。也适用于用户丢过来一个PDF、brief、新闻链接、语音转文字或任何素材说"帮我写篇文章"的场景。不要用于短内容(小红书帖子、推特、朋友圈)或纯标题摘要生成(此类可用独立的标题生成类技能处理)。entry/src/main/resources/rawfile/skills/content-writing/khazix-writermarketing-plan首席营销策划官。用于生成、改写、优化并以 Markdown/Word 文档交付,把用户模糊的业务诉求转化为资深操盘手会交付的实战级方案。entry/src/main/resources/rawfile/skills/content-writing/marketing-plannewmedia-writing用于生成、改写、优化并以 Markdown/Word 文档交付中文新媒体内容,覆盖小红书图文笔记、微信公众号文章、3 分钟以内短视频分镜脚本,以及上述类型的复合创作方案;明确命中创作类型后必须创建并交付 Markdown/Word 文档。entry/src/main/resources/rawfile/skills/content-writing/newmedia-writingdata处理表格/结构化数据时加载——CSV/JSON 清洗、去重、拆列、合并、正则提取、格式互转(CSV/TSV/JSON/Markdown 表格/XLSX)、大文件本地转换,或任何 transform_file 任务开始前。管道 ops 与表达式完整语法、三类场景配方、限额与自检清单。entry/src/main/resources/rawfile/skills/datadocx用 Doc JSON 制作与编辑 Word 文档(write_docx / read_docx / edit_docx)。V3:全量加载所有 reference、新建前 ask_user_question 前置提问、强制 docx_qa_report.md 自检报告。entry/src/main/resources/rawfile/skills/docxhtml专门设计、生成和修改可直接在浏览器中打开的 HTML 页面。交付物以独立 .html 文件为主,可包含内联或本地 CSS、JavaScript,支持页面布局、视觉样式、交互效果、响应式适配、组件设计和内容展示。适用于静态网页、单页展示、活动页、原型页、HTML 模板及页面片段。不处理前后端工程、应用框架、服务端接口、数据库、用户系统、构建部署或运营数据。entry/src/main/resources/rawfile/skills/htmllegal-ip【新增】主 Skill(路由入口)。用户请求属于法律/IP/合规——法律案例分析、专利申请文件撰写、法律翻译、营销素材合规审核——时,先加载本技能做意图判别与分支分流,再 load_skill 对应分支 Skill(law/patent-drafting/translation/marketing-material-review)。entry/src/main/resources/rawfile/skills/legal-iplaw分析企业法律案例/纠纷并输出结构化法律意见书时加载,尤其国企国资监管、股权转让、合同纠纷、合规与责任认定:合同解释五法、法理分析工具箱、六条深度推理链、法律时效性铁律与法律意见书模板。entry/src/main/resources/rawfile/skills/legal-ip/lawmarketing-material-review营销素材审核。当用户上传待审核的广告宣传语、营销海报、社交媒体推广文案、直播话术等营销素材时,从虚假宣传、夸大宣传、绝对化用语、比较广告、引证数据真实准确性、价格违规、有奖营销、知识产权、风险行业违规宣传(如金融、医疗、三品一械、教育等特殊监管行业)、数据对外披露、不当承诺或表达等维度开展全面审查与风险扫描,对违规点归类、逐条分析判断并直接给出修改建议。当用户提到"营销素材审核""广告文案合规审查""宣传语合规""看看这段宣传/文案有没有问题""海报/直播话术审核""广告法审查""促销价格合规""有奖活动规则审查",或直接粘贴/上传营销宣传内容要求把关时,请优先使用本技能。entry/src/main/resources/rawfile/skills/legal-ip/marketing-material-reviewpatent-drafting用户要求基于技术交底书撰写或修改中国发明、实用新型专利申请文件,或者审查已有权利要求书时使用。典型触发包括“专利撰写”“专利申请”“技术交底书”“权利要求”“说明书”“实用新型”“发明专利”。专利检索、FTO/侵权分析、无效宣告、审查意见答复、商标或著作权是相邻业务:用户只提这些时不适用本流程;与撰写需求混在一起提出时,撰写照常进行,但最终回复必须对其中每一项其他诉求逐一说明处理情况——漏掉任何一项,这次交付就是不完整的。entry/src/main/resources/rawfile/skills/legal-ip/patent-draftingclaimsdoubao-patent-drafting 阶段二,权利要求书撰写。由根 skill 在材料审计完成后调用,不独立触发。核心任务:必要特征判定、有据上位化、独权/从权构建、权项数量由内容决定、发明与实用新型的类型规则、术语与说明书一致性。entry/src/main/resources/rawfile/skills/legal-ip/patent-drafting/sub-skills/claimsintake-auditdoubao-patent-drafting 阶段一,材料审计。由根 skill 在判定为撰写或修改任务后调用,不独立触发。entry/src/main/resources/rawfile/skills/legal-ip/patent-drafting/sub-skills/intake-auditspecificationdoubao-patent-drafting 阶段三,说明书与摘要撰写,并汇总为 draft.md 交付草稿。由根 skill 在权利要求定稿后调用,不独立触发。覆盖背景技术、发明内容(技术问题/技术方案/有益效果)、具体实施方式、附图说明、摘要五个部分,末尾给出 draft.md 固定骨架。entry/src/main/resources/rawfile/skills/legal-ip/patent-drafting/sub-skills/specificationtranslation将中文法律文书翻译为英文或中英双语,执行术语审校与一致性检查,生成双语对照Word。触发:翻译法律文书、审校法律英译、起草英文版、制作双语Word、统一术语。不触发:纯中文文书起草、非法律文本翻译、英文合同起草(无中文原文)。entry/src/main/resources/rawfile/skills/legal-ip/translationpdf处理 PDF 的读取/搜索/扫描件阅读时加载:parse_document 按页解析文字层、search_pdf 定位关键词、pdf_to_images + view_image 读扫描件/版式,长 PDF 分块与目标定位策略。内置工具不支持创建/编辑/合并/拆分/旋转/水印/表单填写/OCR 文字层(这类操作只能用 run_python 自己写脚本,不在本技能承诺内)。触发词:读 PDF、解析 PDF、PDF 里找 XX、扫描件 PDF、提取 PDF 文字。entry/src/main/resources/rawfile/skills/pdfppt用 Deck JSON 制作与编辑 PPT(write_pptx / read_ppt / edit_ppt)。V3:全量加载所有 reference、新建前 ask_user_question 前置提问、默认 20+ 页、每页 SVG 装饰、强制自检报告。entry/src/main/resources/rawfile/skills/pptresearch-intelligence【新增】主 Skill(路由入口)。用户请求需要联网检索、溯源、验证、调研、舆情、行业研究、模型评测或用户研究并产出分析/报告时,先加载本技能做意图判别与分支分流,再 load_skill 对应分支 Skill(research/sift/llm-eval/sentiment-tracker/industry-analysis/research-lineage-map/questionnaire)。涉及论文/学术写作与引用审计的任务,先转 academic-publishing。entry/src/main/resources/rawfile/skills/research-intelligenceindustry-analysis针对某一行业(半导体、新能源、医药、消费等)的中长期基本面与产业研究,覆盖行业定义与规模、产业链与竞争格局、政策与驱动力、景气周期、趋势研判与三情景、盈利质量与落地建议。先想清楚这篇报告要证明什么判断(判断主线),再用三级数据分级取证、按固定五大板块写透,最终交付一份可直接用于战略规划、投资决策与商业化落地的 Markdown/Word 深度报告。对于一句话能答的问题,不要凭训练记忆或随手搜索口头作答,一律走本 Skill 的结构化多源论证。不触发并转其他场景:问该行业今天涨跌/热度/资金流/龙头股;问某个具体公司;问宏观事件对市场影响;问行业内某公司的财报。entry/src/main/resources/rawfile/skills/research-intelligence/industry-analysisllm-eval对比/评估/选型大模型时加载——"XX相当于什么模型""XX与YY谁强""推荐哪个模型"、benchmark分数解读、模型推荐:信源分级(Tier 1-6)与引用前检查门、版本时间戳校验与跨版本比较禁令、代际确认与知识库对标约束、能力维度拆解(代码能力主权重)、对标类问题强制自检清单。entry/src/main/resources/rawfile/skills/research-intelligence/llm-evalquestionnaire用户研究一站式助手,覆盖四大能力:①问卷设计(按调研目标产出可落地问卷,含试填优化,交付 Word/Markdown/Word 文档);②访谈提纲(题量按诉求动态确定、含追问轮次/方向/触发条件的深访提纲);③开放题原声打标(五步工作流建立标签体系并批量标注);④定量问卷分析(仅需回收数据,自动识别题型、自动清洗、直接出关键发现/画像/详细发现/原声引用报告)。触发词:设计问卷、写问卷、满意度调研、NPS、访谈提纲、深访提纲、开放题打标、原声编码、VOC 分析、问卷分析、定量分析。One-stop user-research assistant: questionnaire design, ientry/src/main/resources/rawfile/skills/research-intelligence/questionnaireresearch-lineage-map绘制研究领域或技术主题的谱系脉络与历史演进图,可视化思想的演化路径,展示早期工作中的技术难题如何被后续研究逐步解决。当用户想了解某个主题的发展轨迹、某个模型或技术的"家族树"(family tree)、某条研究线索在多年间的演进路线、技术迭代脉络、论文/模型谱系,或询问"X 是如何一步步发展来的""X 解决了前人的什么问题""梳理 X 的发展历史"时触发。产出为嵌入 Mermaid 图表的 Markdown 文件(演进图 + 节点明细表 + 阶段叙事),可直接粘贴至 Mermaid 查看器或提交至代码仓库。entry/src/main/resources/rawfile/skills/research-intelligence/research-lineage-mapresearch对任何主题做事实核查、深度调研、多源交叉验证并产出结构化研究报告时加载:4-6轮检索验证流程、术语精细辨析、多源体系化解释、分析工具箱(因果链/利益相关方/反事实推演等)与研究报告模板。entry/src/main/resources/rawfile/skills/research-intelligence/researchsentiment-tracker当用户需要进行舆情监控、调研、社交媒体反馈收集、用户评价、品牌声量追踪时使用。支持微博、知乎、即刻、脉脉、B站、抖音等多平台的舆情搜索、内容筛选和原始帖子溯源,输出带一手信源链接的报告文档。entry/src/main/resources/rawfile/skills/research-intelligence/sentiment-trackersift查询"最新版本/最新状态/排名对比"等时效敏感信息,需甄别AI生成内容与营销文、锚定官方一手来源时加载:九步深度搜索法(官方渠道溯源→实体状态锚定→AI内容识别过滤→整合输出)、来源分级与时效标记规范。entry/src/main/resources/rawfile/skills/research-intelligence/siftsvg需要生成图片时加载——图标、徽标、示意图、流程图、架构图、信息图、插画、装饰图形,或任务要求"画图/生图/出图/配图"而工作区没有现成素材。任何 write_svg 任务开始前先加载:SVG 绘制规范、预览迭代工作流、可直接套用的配方。entry/src/main/resources/rawfile/skills/svgxlsxExcel 表格制作/修改/分析技能: Workbook JSON 语法、公式优先、数字格式、编辑完整性。V3:全量加载所有 reference、新建前 ask_user_question 前置提问、强制 xlsx_qa_report.md 自检报告。任何 write_xlsx / read_xlsx / edit_xlsx 任务先加载。entry/src/main/resources/rawfile/skills/xlsxDocumentation
README
Guncat Work(鸿蒙版)
中文 | English
鸿蒙手机上的原生 AI 工作台 —— 用 ArkTS / ArkUI 从零构建,非套壳。鸿蒙手机可用,不止鸿蒙电脑:原生 shell(mksh + toybox/libarchive/git/ssh/node,命令是 HarmonyOS .so,不经虚拟机)与原生 CPython 3.12(编成 HarmonyOS .so 在进程内直跑,numpy / pandas / scipy / matplotlib 全离线)都在机内真跑,47 个工具 + 32 个技能的 Agent Loop 端侧闭环,Intelligent UI(一句话直出可操作界面)与 Harness(多轮工具循环 + 沙箱工作区)两种当红形态真机跑通,PPT / Word / Excel / 绘图端侧直出。
电脑版见 Guncat Work(电脑版)(Electron 38)。
安卓版见 Guncat Work(安卓版)(Java 壳 + WebView(SPA))。
交互模式首页 · 交互模式直出的可操作界面 · 工作模式长程任务交付 · run_js 设备内 JS 沙箱 (点击任意一张放大)
手机上真的能跑什么
- ⚡ 原生 shell,不是"模拟一个 shell":
shell工具的命令都是 HarmonyOS 原生.so(mksh、toybox、libarchive、git、dropbear、node),由 IEC 执行核 fork 后直接跑——没有虚拟机、没有指令翻译、不需要 JIT 权限;管道 / 重定向 / 通配符 /sed/awk/find/tar/git/ssh全是真的,单条命令 0.2~1.5 秒。工作目录与本会话工作区是同一份文件系统:cat data/a.csv与read_file("data/a.csv")读的是同一份内容,不是副本。 - 🐍 原生 CPython 3.12,不是仿真:解释器编成 HarmonyOS 原生
.so,在应用进程内直接跑(不经指令翻译,比早期的虚拟机解释执行快 2~3 个数量级);numpy / pandas / scipy / matplotlib / python-docx / python-pptx / reportlab / sympy 等随包离线可用,中文开箱能画。 - 🧠 端侧 AgentLoop:47 个内置工具 + 32 个技能,多轮工具循环、子代理并行派发、定时提醒 / 自主目标 / 会话事件检索、上下文三级压缩——长程任务在手机上自己跑完,产物落在沙箱工作区。
- 📊 端侧直出交付物:PPT / Word / Excel / SVG 由本地生成器产出(JSON 中间层,可无损读回、算子式编辑);PDF 与 Office 全部本地解析,不消耗多模态配额。
- ✦ Intelligent UI:一句话进来,一张能拖、能点、改参数即时重算的原生界面出去——图表、表格、指标卡、选项卡、表单控件全部原生渲染。
两个当红形态,都在端侧真机跑通
| 形态 | 对标 | 在 Guncat Work 里的样子 |
|---|---|---|
| ✦ 交互模式 | GPT 的 Intelligent UI | 一句话进来,一张能拖、能点、能改参数并即时重算的原生界面出去:图表 / 表格 / 指标卡 / 选项卡 / 表单控件全部原生渲染,默认零工具调用、一轮直出 |
| 🛠 工作模式 | DeepSeek Harness(dsh,Codex 式 Agent Loop) | 多轮工具循环 + 每会话独立沙箱工作区 + 47 个内置工具,长程任务自主执行,端侧直出 PPT / Word / Excel / SVG,产物卡片附行级 diff |
两个形态共用同一套 Agent Loop 与沙箱工作区,差别在行为纪律与下发的工具面——工作模式是「47 个内置工具全量 + 多轮工具循环 + 长程交付」,交互模式只下发 27 个(读素材 / 算真实数字 / 核实外部事实 / 出文件),长程工具(todo_write / goal_* / schedule_* / subagent …)根本不出现在它的请求里,所以是「快车道、一轮直出界面」。应用启动默认落在交互模式,空态大标题处的「交互模式 / 工作模式」胶囊可一键换挡。
两者底下是同一套端侧执行环境:需要真终端时落到完整 Linux shell,需要算数据时用原生 CPython,需要出文件时走本地 Office 生成器——全部在机内完成,不依赖任何远程执行服务。
交互模式复刻的是 GPT 那套 Intelligent UI 的交付方式:回答不再是纯文本,而是一份界面程序,由应用渲染成原生可操作界面——柱状 / 折线 / 面积 / 横向条 / 饼环 / 径向 / 雷达 / 堆叠条、表格、指标卡、图片墙、选项卡 / 折叠面板 / 步骤条 / 卡片块,以及整套表单控件(滑块 / 开关 / 单选 / 多选 / 下拉 / 标签选择 / 选项卡 / 输入框 / 文本域);控件的取值还能回传模型触发重算。工作模式则把 DeepSeek Harness(dsh)的核心 Agent Loop 完整移植到了端侧。
对上游的研究材料也在仓库里:open-intelligent-ui 规格 · openui-lang 规范。
这是什么
Guncat Work 是鸿蒙手机上的原生 AI 工作台:它不只负责对话,还把"干活需要的东西"搬进了手机——一个真正的 Linux、一个原生 Python、一套能读写工作区的工具,以及一条能把结果直接交付成文件的链路。
聊天模式内置通用、论文转换、法律 / 研究 / 筛滤检索与 LLM 评测等智能体;支持 Chat / Responses / Anthropic 三种主流协议接入、原生 Markdown(含 LaTeX 公式与 Mermaid 图表)、图片文档直传、CoreSpeechKit 朗读和原生语音输入等扩展 C 端功能。
工作模式带沙箱工作区与工具调用能力,包含 47 个内置工具,覆盖文件增删改查与模式匹配搜索、任务清单、图片查看、网络下载、PDF 解析、Office 生成与读写编辑(PPT / Word / Excel 各自基于 JSON 中间层,可无损读回、算子式编辑)、数据管道清洗转换与格式互转、基于 JSVM-API 的 JS 执行沙箱 run_js,设备内原生执行的 shell —— 命令都是 HarmonyOS 原生 .so(mksh、toybox、libarchive、git、dropbear、node),由 IEC 执行核 fork 后直接跑,没有虚拟机、没有指令翻译、不需要 JIT 权限,工作目录与本会话工作区是同一份文件系统;以及原生 CPython 的 run_python —— 解释器编成 HarmonyOS 原生 .so 在应用进程内直接跑(shell 里的 python3 也指向同一个解释器)。内置 32 个技能(5 个主 Skill 路由 + 7 个格式分支)把 PPT 设计规范、Doc JSON 语法、数据清洗配方等领域知识按需加载给模型。Office 文档与 PDF 全部本地解析,不消耗多模态配额。
界面在手机与桌面之间自适应:宽屏(≥700vp)展开「左侧栏 / 会话列 / 工作区详情列」三栏布局,窄屏回退单列加抽屉。工作区文件可原地预览、一键分享,生成与改动附行级 diff,对话历史、配置与朗读偏好均本地持久化。工程上采用 MVVM 分层,三协议 SSE 统一进协议适配层,每个文档生成器都配有针对性的离线验证环境(Node 构建 + Python 结构校验 + tsc 类型检查)。
当前应用版本:7.2.0 · 完整变更见 更新记录
能力概览
- 两种当红 Agent 形态:交互模式对标 GPT 的 Intelligent UI —— 一句话进来,一张能操作的界面出去,默认零工具调用、一轮直出,界面里的滑块、开关、下拉即时重算;工作模式是 DeepSeek Harness 的端侧移植 —— 多轮工具循环 + 沙箱工作区 + 长程交付(产物卡片附行级 diff)。
- 原生 shell(无虚拟机):
shell工具里的命令都是 HarmonyOS 原生.so(mksh、toybox、libarchive 的 tar/unzip/zip/cpio、git、ssh/scp、node),由 IEC 执行核 fork 后直接跑,管道 / 重定向 / 通配符 /sed/awk/find/tar/git全部是真的;工作目录与本会话工作区是同一份文件系统(cat data/a.csv与read_file("data/a.csv")是同一份文件)。无冷启动,单条命令 0.2~1.5 秒。 - 原生 CPython,不是仿真:
run_python把 CPython 3.12 编成 HarmonyOS 原生.so,在应用进程内直接跑;numpy / pandas / scipy / matplotlib / Pillow / lxml / sympy / python-docx / python-pptx / reportlab 等随包离线可用,中文开箱能画;shell 里的python3也指向同一个解释器(新进程,PYTHONHOME已接好)。 - 端侧直出 Office:PPT / Word / Excel / SVG 由本地生成器产出,基于 JSON 中间层,文档可无损读回、算子式编辑;PDF 与 Office 全部本地解析,不消耗多模态配额。
- 47 个内置工具:文件增删改查与模式匹配搜索、任务清单、图片查看、网络下载、PDF 解析、Office 读写、数据管道清洗转换与格式互转、JSVM-API 的
run_js代码沙箱(不联网、不读写文件系统,后台线程执行并带超时保护),以及上面那套shell/run_python执行能力。 - 用量与成本:本地逐请求记账、按日聚合为 53 周热力图;内置 DeepSeek 峰谷价与 OpenCode 额度统计,支持月预算、CSV 导出与清空,记账只在响应结束时做 O(1) 归一化,不进入流式热路径。
- 独立设置页:模型配置 / 高级参数 / 用量与成本 / 本地联网搜索 / 多模态解析 / 朗读 / 终端 / 工具目录 / 检查更新;修改自动防抖保存,返回或切换方案前再同步一次,不丢输入。
- 三协议接入:OpenAI Completions(
/chat/completions)、OpenAI Responses(/responses)、Anthropic Messages(/messages),均支持图片直传;深度思考与联网搜索按各协议显式控制。 - 内置本地联网搜索:软件内置、无需手动开关,工作模式与聊天模式都能调用,不受制于服务端联网开关。
- 32 个技能:5 个主 Skill 路由 + 7 个格式分支,命中即按需加载;PPT / Word / Excel 三个技能采用「门」式约束,交付前生成可核对的自检报告。
- 原生 Markdown:CommonMark 与 GFM 常用语法、代码高亮、表格、任务列表、LaTeX 行内与块级公式、Mermaid 图表,深浅色主题自动适配。
- 附件与分享:图片 / 文档直传或预解析、256px 缩略图、快捷拍照、导出 Markdown 回答为 Word(含 LaTeX → OMML 原生公式)、接收 HarmonyOS 系统分享。
- 语音:CoreSpeechKit 朗读(可切换系统音色与倍速、支持锁屏与后台继续、控制条可拖动)与原生语音输入。
- 自适应界面:宽屏三栏、窄屏单列加抽屉;跟随系统切换深浅色主题,并同步状态栏、导航栏与 Markdown 样式。
完整功能清单与实现细节见 主要功能。
快速开始
环境要求
- DevEco Studio 6.1.1 或兼容版本
- HarmonyOS SDK API 24(
6.1.1) - HarmonyOS 手机真机(平板 / 2in1 亦可,宽屏自动展开三栏布局)
构建
使用 DevEco Studio 打开项目后,配置签名并运行 entry 模块即可。命令行构建示例:
hvigorw --mode module -p product=default -p module=entry@default -p buildMode=debug assembleHap
构建步骤:
- 克隆或下载项目。
- 还原大体积随包库:
bash scripts/prepare-big-libs.sh(仓库里libnode.so存为libnode.so.xz,约 23MB;GitHub 拒绝 >100MB 单文件。跑过build_node.sh的 可跳过,已存在的.so不会被覆盖)。 - 使用 DevEco Studio 打开仓库根目录。
- 安装并选择 HarmonyOS SDK API 24。
- 配置调试或发布签名。
- 连接 HarmonyOS 真机。
- 运行
entry模块,或使用上述命令构建 HAP。
Shell 工具(IEC 原生执行核)的额外产物
shell 工具依赖随包的 HarmonyOS 原生 .so(已入库,随 HAP 的 libs/arm64-v8a/ 分发)。
执行核本身是 libiec_server.so(exec/tty 服务、loader、shim);命令 → .so → 入口与
IecRuntime.ets 的 add(...) 一一对应:
| 命令 | 随包 .so |
入口 |
|---|---|---|
sh / mksh |
libmksh.so |
main |
toybox 及 70+ applet(ls/cat/grep/sed/awk/find/xargs/…) |
libtoybox.so |
bsh_toybox_main |
tar / bsdtar |
libbsdtar.so |
iec_bsdtar_main |
unzip |
libbsdunzip.so |
iec_bsdunzip_main |
cpio / bsdcpio |
libbsdcpio.so |
iec_bsdcpio_main |
zip |
libzipcmd.so |
iec_zip_main |
git / git-upload-pack / git-receive-pack / git-upload-archive |
libgit.so |
iec_git_main |
git-remote-http / git-remote-https |
libgit-remote-http.so |
iec_git_remote_http_main |
ssh / scp / ssh-keygen / dbclient / dropbearkey / dropbearconvert / dropbear |
libdropbear.so |
iec_dropbear_main |
sftp |
libsftpcmd.so |
iec_sftp_main |
jq |
libjqcmd.so |
iec_jq_main |
curl |
libcurlcmd.so |
iec_curl_main |
bc |
libbccmd.so |
iec_bc_main |
nc |
libnc.so |
iec_nc_main |
hexdump / hd |
libhexdump.so |
iec_hexdump_main |
diff(后端是随包 git) |
libdiff.so |
iec_diff_main |
node / nodejs |
libnode.so |
iec_node_main |
npm |
libnode.so |
iec_npm_main |
npx |
libnode.so |
iec_npx_main |
python3 / python |
libpycmd.so + libpython3.12.so |
iec_python_main |
libnode.so 是 node 22.19;npm 的纯 JS 树在 rawfile/tools/npm.tar.gz,首次启动解到资源根。
python3 / python 与 run_python 共用同一个 libpython3.12.so,但由独立的 python runner
进程承载(libpycmd.so 只是 UDS 客户端)。
在 WSL2 + Linux 版 HarmonyOS SDK 下重建(脚本会按需拉取源码、交叉编译并直接放进 HAR 的 libs/):
export OHOS_SDK=/opt/ohos-cmdline/command-line-tools/sdk/default/openharmony
tools/build-iec-runtime.sh # zlib → openssl → pcre2 → curl → libarchive → git → dropbear
tools/build-iec-runtime.sh node # V8,最久(约 85MB 源码)
GitHub 直连在 WSL 里通常不通(codeload 可用):pcre2 / git / dropbear 的源码需先在
Windows 侧 git clone 到 third_party/bettersh/iec/thirdparty/ 下。
node 另有两个宿主前提:Python 3.8–3.13(3.14 可临时放宽 configure 的版本表)和
GCC ≤13——node 22 的 V8 在 GCC 15 下编不过(std::formatter<subrange>/ranges 报错)。
当前仓库已随包 libnode.so(node 22.19);只有重建时才需要满足上述宿主条件。
HAP 约 420 MiB(未签名;签名包约 429 MiB。精确字节数随构建与签名变化;原生命令集 + CPython + 运行库)。某个 .so 缺失时,对应的 launcher 不会注册,
命令会干净地报 command not found,不影响其它命令。
首次配置
设置页支持多套 API 配置,修改会自动保存(无需手动点保存):
- 接入方式(
openai-completions/openai-responses/anthropic-messages) - Base URL
- API Key
- Model
- Temperature、Top P、最大输出 Token 等可选参数
- 额外请求参数
常用兼容地址:
- DeepSeek Responses:
https://api.deepseek.com - DeepSeek Anthropic:
https://api.deepseek.com/anthropic,也可直接填https://api.deepseek.com(应用自动补全/anthropic/v1/messages) - 火山方舟 Responses:
https://ark.cn-beijing.volces.com/api/v3 - Anthropic Messages:
https://api.anthropic.com/v1
多模态预解析可单独配置模型、地址和 API Key。
验证
- 一键本地检查(推荐):
bash scripts/check-all.sh(--fast跳过较慢/依赖环境的项,--list查看 18 项清单) - IEC hexdump 属性对拍:
bash third_party/bettersh/iec/tests/hexdump_fuzz/run.sh(200 组随机输入 ×-C/-b/-c/-x/-d/-o×-n/-s/-v,与系统hexdump逐字节比较;已接入check-all.sh,没有系统hexdump时 SKIP) - IEC nc 属性/边界:
bash third_party/bettersh/iec/tests/nc_fuzz/run.sh(10MB 双向、两个方向半关闭、并发、端口复用、SIGTERM、二进制安全) - IEC diff 属性/边界:
bash third_party/bettersh/iec/tests/diff_fuzz/run.sh(100 对随机文件与git diff --no-index逐字节对拍,加选项/路径/权限/8MB) - mksh 64 位算术回归:
bash third_party/bettersh/iec/tests/mksh_arith/run.sh(同一份源码编 64/32 位对照 + Python 大整数对拍;已接入check-all.sh) - toybox 解析交叉验证:
bash third_party/bettersh/iec/tests/toybox_parse/run.sh(宿主编 toybox 拿真实 applet 输出,验证显式命令不被覆盖) - CA bundle 可用性:
bash third_party/bettersh/iec/tests/ca_bundle/run.sh(121 张根证书、CMake/ArkTS 接线,curl/python/git 用空 capath 做真握手;无网 SKIP) - npm 解包宿主回归:
bash third_party/bettersh/iec/tests/npm_unpack/run.sh(2697 条目与 bsdtar 参考树逐文件比对,截断/只读失败路径) - IEC 原生代码宿主回归:
bash third_party/bettersh/iec/scripts/test_iec_native_host.sh(exec 路由 / cwd 校验 / NCP 拒绝分类 / fs shim 路径映射;已接入check-all.sh,不需要设备或 OHOS SDK) - IEC exec 会话压测:
bash third_party/bettersh/iec/scripts/stress_exec_session.sh(8 路并发整条流上限 / 中途终止 / 50 轮 fd 与 RSS / 200 次短会话 / 0-1-50ms 超时;已接入check-all.sh,--fast跳过,不需要设备或 OHOS SDK) - 纯逻辑回归(当前 760 项全绿):
cd test/guncat-harness && node setup.mjs && node test-core.mjs - 用量账本纯逻辑回归:
cd test/usage-harness && npx -y -p typescript@5.5.4 tsc -p tsconfig.json && node out/test/usage-harness/usage-test.js(CI 已接入) - 服务层类型检查:
cd test/guncat-harness && node check-setup.mjs && npx -y -p typescript@5.5.4 tsc -p check/tsconfig.json - PPT / Word / Excel 离线验证环境:
test/pptx-harness、test/docx-harness、test/xlsx-harness - 真机验收(装一次 HAP,逐项确认 shell / IEC):真机验收清单
- 真实 ArkTS 编译(需本机 DevEco):
powershell -ExecutionPolicy Bypass -File tools/build-check.ps1
最后一层不能省:ArkUI 有一批只有编译器才知道的规则(@Builder 方法体内不允许声明局部变量、自定义组件属性名不能与内置属性同名、@Prop 的 null 需要显式联合类型),而 node 侧 harness 只覆盖 common/** 与 service/** 的纯 TS,不解析 .ets。
纯逻辑 / 类型检查、界面文案护栏、用量账本、IEC 静态一致性、文档链接 / 许可与三个 Office 生成器验证已接 CI,每次 push 与 PR 自动跑(见顶部 CI 徽章);第三层需要本机 DevEco Studio,请在提交前自行跑一次。
文档
| 文档 | 内容 |
|---|---|
| 主要功能 | 全部客户端功能与工程约定 |
| 工作模式架构与维护指南 | Agent Loop、47 个工具、PPT / Word 生成链路、技能系统、run_js 沙箱、ArkTS 落地约束 |
| Shell 工具:IEC 原生执行核 | 命令 so 的 fork 执行、exec 会话 API、工作区一致性、并发与生命周期、构建链 |
| 原生 Python 与跨域桥(历史) | CPython 交叉编译、run_python 执行模型、npy 桥协议与性能数据(虚拟机方案已删除) |
| 交互模式架构(Intelligent UI) | 提示词分叉、guncat-ui lang 契约、流式成形、交互闭环、扩展入口 |
| 项目结构 | 目录布局、数据流、核心组件 |
| 使用指南 | 分场景操作步骤 |
| 常见问题 | 排障与已知行为 |
| 内置智能体 | 智能体清单与差异 |
| 持久化与主题系统 | 本地存储与主题实现 |
| 工作区与会话数据的生命周期 | 磁盘布局、删除会话时的连带清理、启动清扫与四类残留对策 |
| 真机验收清单(shell / IEC) | 安装、自检、逐项命令、补测项与故障对照 |
| 后台保活策略 | 短时 / 长时任务分层、落盘时机、系统约束与排障 |
| 发版前检查清单 | 快速门槛、Python 运行库 24 项、体积与版本号同步 |
| 三端实现对照与对齐现状 | 电脑版 / 安卓版 / 鸿蒙版逐项对照:外壳、命令执行、JS/Python、PDF、工作区、语音、后台,以及刻意的差异 |
| 后台任务方案 | run_in_background / job_* 在手机端的可行性评估(暂缓) |
| 更新记录 | 4.2.0 → 7.2.0 全部版本变更 |
| openui-lang 规范 | guncat-ui lang 所对齐的上游语言实现级规范 |
| open-intelligent-ui 规格 | 交互模式所对齐的上游 Generated-Answer UI 规格 |
权限与系统能力
ohos.permission.INTERNET:访问模型 API。ohos.permission.MICROPHONE:语音输入。ohos.permission.KEEP_BACKGROUND_RUNNING:朗读后台音频,以及 AI 回复 / Agent 循环的短时与长时任务保活(audioPlayback/dataTransfer/taskKeeping)。- 工作模式:文件读写全部在应用沙箱(
filesDir/workspaces/)内完成,文件选择/保存走系统安全组件(DocumentViewPicker),未新增任何权限。 - Shell 工具(IEC 原生执行核):命令是随包的 HarmonyOS 原生
.so,由 exec 服务 fork 后直接跑,不需要 JIT/可执行内存等受限权限;没有虚拟机、没有对外监听端口,网络走应用已有的INTERNET;命令只能看到本会话工作区,看不到手机其它目录。 - Share Kit:接收其他应用分享的图片和文件。
- CoreSpeechKit:文本朗读与语音识别。
- AVSession Kit:后台媒体会话。
- ArkData Preferences:本地配置持久化;对话历史存沙箱文件
filesDir/guncat_conversations.json(主文件 +.bak+.tmp三段式,启动时自动恢复),用量账本存filesDir/guncat_usage.json。
隐私说明
- API Key 和应用配置保存在应用本地沙箱。
- 聊天请求和附件只会发送到用户配置的模型服务。
- 从系统分享接收的内容不会自动发送,必须由用户主动点击发送。
- 原始附件不会作为永久文件复制到应用数据中。
- 网络请求使用 HTTPS,实际数据处理政策以所配置的模型服务商为准。
常见问题
遇到问题先看 常见问题,涵盖 API Key 无效、文件解析失败、流式输出中断、图库分享列表缺失、交互模式界面没出来 / 只出一部分 / 参数调了数字没变等。
贡献
欢迎提交 Issue 和 Pull Request。开发环境、编码规范(ArkTS 硬约束)、三层验证怎么跑、PR 流程 → CONTRIBUTING.md。
- Fork 仓库。
- 创建功能分支。
- 遵循 ArkTS 编码规范完成修改。
- 确保项目通过类型检查和 HAP 构建。
- 提交 Pull Request,并说明修改内容及验证方式。
说明
本次版本不包含曾经评估或试验过、但最终撤回的本地 TTS 模型方案;README 仅描述当前代码中实际保留的功能。
本项目基于 Apache License 2.0 开源。
第三方组件声明:shell 工具内含 IEC 执行核(MIT,BetterSH 的 iec)、mksh(MirOS)、toybox(0BSD)、libarchive(BSD-2-Clause)、git(GPL-2.0)、dropbear(MIT)、Node.js(MIT)等,均以独立 .so 分发;
逐项清单、源码获取方式与完整许可原文见 THIRD_PARTY_NOTICES.md 与 LICENSES/(同一份声明也打进 HAP 的 rawfile/licenses/)。
Releases



