Adnify-Cli
Health Warn
- No license — Repository has no license file
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Low visibility — Only 5 GitHub stars
Code Warn
- process.env — Environment variable access in src/application/i18n/AppI18n.ts
Permissions Pass
- Permissions — No dangerous permissions requested
This is an AI-powered command-line programming assistant built with TypeScript. It acts as an interactive terminal workspace that integrates with multiple LLM providers to help developers plan, chat, and execute coding tasks via natural language and standard commands.
Security Assessment
Overall Risk: Low. The tool requires no dangerous system permissions. It accesses environment variables (e.g., `ADNIFY_API_KEY`, `ADNIFY_PROVIDER`) strictly for standard configuration and routing API calls to your chosen LLM provider. Based on the repository structure, there is no evidence of hardcoded secrets, malicious data exfiltration, or unexpected shell execution. The only network requests you should expect are the standard API calls made directly to the AI models you configure.
Quality Assessment
The project is structurally sound and utilizes modern technologies (Bun, Ink, DDD architecture). It is actively maintained, with the most recent code push occurring today. However, there are two major caveats: it is a very new, highly experimental tool with virtually no community adoption (only 5 GitHub stars), and the repository completely lacks an open-source license. While the code may be public, the absence of a license means you technically do not have legal permission to use, modify, or distribute it.
Verdict
Use with caution: the underlying code appears safe, but the lack of a defined software license makes it legally ambiguous for professional or commercial use.
Adnify-Cli 是一个面向未来的 CLI AI 编程助手,融合 Bun 的速度、Ink 的交互力与 DDD 的结构美学,为终端开发带来更稳、更快、更聪明的协作体验
Adnify-Cli
Command AI Into Real Work.
一个兼具品牌感、执行力与工程纪律的下一代 AI 编程终端。
Adnify-Cli 不是把聊天框塞进命令行,也不是“能跑就行”的 AI 工具壳。
它是一台真正面向开发工作的智能终端: 既能保持终端体验该有的速度、直接与掌控感,也能承接 AI 编程助手该有的上下文理解、模式切换、命令系统、工具扩展与长期演进能力。
如果你想要的不是“会回复”,而是“会推进任务、会保持秩序、会随着项目一起成长”,那 Adnify-Cli 就是为这种体验准备的。
产品简介
Adnify-Cli 想做的,不是一个普通 CLI,而是一套真正能进入开发者工作流的 AI 编程工作台。
它强调三件事:
产品感
终端不该只是冰冷的文本堆叠。它也可以有节奏、有布局、有识别度,有一种打开之后就想继续用下去的气质。执行力
AI 不应该只负责解释、总结和“给建议”。它应该能够围绕真实任务推进结果,承接命令、模式、上下文和后续工具能力。可成长
一个好的 AI CLI 不该越做越乱。它需要从第一天起就有清晰边界,能自然承接持久化、工具系统、权限审批、记忆、插件、多 Agent 等能力。
一句话概括:
Adnify-Cli 不是终端里的聊天机器人,而是一台真正面向工程交付的 AI 编程终端。
核心特性
1. 终端产品体验
- 更讲究布局与信息密度,不靠把所有状态塞满屏幕来制造“高级感”
- 让命令、会话、响应、配置和工作状态有清晰层次
- 追求耐看、耐用、耐长时间协作的终端观感
2. AI Agent 深度集成
- 支持
chat / agent / plan三种核心工作模式 - 让对话、执行、规划三类任务有清晰分工
- 后续可自然承接工具调用、权限审批与复杂任务分步执行
3. 命令与自然语言双通道
- 可以像传统 CLI 一样输入本地命令
- 也可以像 AI 助手一样直接描述任务
- 不强迫用户在“命令行工具”和“聊天窗口”之间来回切换
4. Prompt Pack 驱动
- 系统提示词
- 模式提示词
- 工具定义
- 本地命令说明
以上内容统一由 prompts/ 下的 Markdown 文件驱动,不再把大段 prompt 硬编码在业务代码中。
5. 多模型接入能力
当前已支持:
openai-compatibleopenai-responsesanthropicgoogle
并可通过本地配置与命令切换运行时模型。
6. 国际化基础设施
当前已支持:
zh-CNen
并且国际化并不只覆盖少量 UI 标签,而是已经开始向界面文案、命令输出、配置流程和运行时提示统一推进。
独特优势
真正适合长期演进
很多 AI CLI 一开始看起来很快能跑,但做一段时间后往往会出现这些问题:
- UI 文案分散在各处,越改越乱
- 会话、配置、命令、模型调用互相缠绕
- 想加一个功能,结果要改一大片
- 表面是产品,内部却只是临时拼装
Adnify-Cli 从一开始就避免走这条路。
它更在意:
- 是否有稳定的边界
- 是否能承接真正的工具系统
- 是否能让后续能力自然长出来
- 是否能在持续迭代后依然保持清晰
真正像一个“工作台”
Adnify-Cli 想解决的不是“AI 能不能回答问题”,而是:
- 能不能让人更快进入工作状态
- 能不能把终端从输入框升级成任务界面
- 能不能让 AI 编程协作变得有秩序,而不是越来越吵
真正有品牌识别度
不是千篇一律的通用 AI 工具壳,也不是只有技术没有气质的命令行项目。Adnify-Cli 追求的是一种明确的产品角色:
- 冷静
- 直接
- 有执行力
- 有审美控制
- 有工程底线
适合谁
- 想做一个真正有产品气质的 AI CLI
- 想做一个能长期演进的编程助手内核
- 想兼顾界面体验、工程质量和后续扩展性
- 想让终端里的 AI 协作不再停留在“对话演示”层面
当前已落地能力
- Bun + TypeScript + Ink 基础工程
- 清晰的
domain / application / infrastructure / presentation分层 - 会话聚合根与消息流模型
- 本地命令系统
- 命令建议与命令面板基础能力
- 流式响应链路
- 模型配置向导
- 多 Provider 模型接入
- Markdown Prompt Pack
- 中英文国际化基础设施
当前真实存储设计
这部分不是概念图,而是当前代码里已经真实落地的存储方式。
会话存储
当前会话仓储实现:
当前特点:
- 使用内存
Map存储ConversationSessionSnapshot - 只在当前进程生命周期内有效
- 关闭 CLI 后不会保留历史会话
这意味着当前已经具备稳定的仓储边界,但还没有接入文件、SQLite 或远程持久化实现。
配置存储
当前模型配置读写位于:
实际文件位置:
~/.adnify-cli/config.json
当前读取优先级:
- 环境变量
~/.adnify-cli/config.json- 默认值
当前主要环境变量:
ADNIFY_PROVIDERADNIFY_API_KEYADNIFY_BASE_URLADNIFY_MODELADNIFY_LOCALE
Prompt / 工具 / 命令定义存储
当前这些定义统一放在 Markdown Prompt Pack 中:
- prompts/assistant/profile.md
- prompts/system/core.md
- prompts/system/modes/chat.md
- prompts/system/modes/agent.md
- prompts/system/modes/plan.md
- prompts/tools/
- prompts/commands/local-commands.md
加载入口:
快速开始
安装依赖:
bun install
开发运行:
bun run dev
构建:
bun run build
测试:
bun test
类型检查:
bunx tsc --noEmit
配置示例
~/.adnify-cli/config.json
{
"model": {
"provider": "openai-compatible",
"apiKey": "your-api-key",
"baseUrl": "https://api.openai.com/v1",
"model": "gpt-5",
"maxTokens": 4096,
"temperature": 0.7,
"timeoutMs": 60000
},
"providers": {
"openai": {
"provider": "openai-compatible",
"apiKey": "your-api-key",
"baseUrl": "https://api.openai.com/v1",
"models": ["gpt-5", "gpt-4o"]
},
"deepseek": {
"provider": "openai-compatible",
"apiKey": "your-api-key",
"baseUrl": "https://api.deepseek.com/v1",
"models": ["deepseek-chat", "deepseek-reasoner"]
}
}
}
本地命令
:help:mode chat:mode agent:mode plan:workspace:tools:model [provider] [model]:config:config init:clear:exit
架构概览
分层结构
| 层级 | 职责 |
|---|---|
src/domain |
核心领域模型与聚合根 |
src/application |
用例编排、端口、DTO、国际化与应用支持逻辑 |
src/infrastructure |
配置、模型网关、日志、工作区探测、存储实现 |
src/presentation |
Ink UI、输入处理、CLI 状态桥接 |
关键上下文
assistantsessiontoolingworkspace
目录结构
Adnify-Cli/
├─ .rules/
├─ prompts/
├─ src/
│ ├─ application/
│ ├─ domain/
│ ├─ infrastructure/
│ ├─ presentation/
│ └─ main.tsx
├─ package.json
├─ tsconfig.json
└─ README.md
路线图
下一阶段
- 工具注册中心
- 文件 / 搜索 / Shell / Git 工具协议
- 权限审批层
- 会话持久化
- 工作区记忆
- 更完整的品牌化终端体验
中长期
- 多 Agent
- 插件系统
- MCP 集成
- 更强的上下文压缩与检索增强
开发规范
仓库内置了 .rules/,用于约束 vibecoding 过程中的结构质量与协作方式:
- Rules Index
- Core Rules
- Architecture Rules
- Coding Style Rules
- Delivery Workflow Rules
- AI Collaboration Rules
项目信息
- 项目名:
Adnify-Cli - 作者:
adnaan - 包管理:
bun - 终端 UI: Ink
Adnify-Cli 当前最有价值的地方,不是“已经做完了多少功能”,而是它已经具备了一个优秀产品应有的方向感。
接下来要做的,是继续把这份方向感打磨成真正让人上瘾的终端体验。
Reviews (0)
Sign in to leave a review.
Leave a reviewNo results found